@razorpay/blade 11.39.0 → 12.0.1

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 (647) hide show
  1. package/build/lib/native/components/Accordion/Accordion.js +2 -2
  2. package/build/lib/native/components/Accordion/Accordion.js.map +1 -1
  3. package/build/lib/native/components/Accordion/AccordionButton.native.js +8 -10
  4. package/build/lib/native/components/Accordion/AccordionButton.native.js.map +1 -1
  5. package/build/lib/native/components/Accordion/AccordionItemBody.js +7 -8
  6. package/build/lib/native/components/Accordion/AccordionItemBody.js.map +1 -1
  7. package/build/lib/native/components/Accordion/AccordionItemHeader.js +3 -8
  8. package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
  9. package/build/lib/native/components/Accordion/commonStyles.js +1 -1
  10. package/build/lib/native/components/Accordion/commonStyles.js.map +1 -1
  11. package/build/lib/native/components/ActionList/ActionList.js +1 -1
  12. package/build/lib/native/components/ActionList/ActionList.js.map +1 -1
  13. package/build/lib/native/components/ActionList/ActionListItem.js +9 -8
  14. package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
  15. package/build/lib/native/components/ActionList/ActionListNoResults.js +2 -1
  16. package/build/lib/native/components/ActionList/ActionListNoResults.js.map +1 -1
  17. package/build/lib/native/components/Alert/Alert.js +4 -3
  18. package/build/lib/native/components/Alert/Alert.js.map +1 -1
  19. package/build/lib/native/components/Amount/Amount.js +4 -2
  20. package/build/lib/native/components/Amount/Amount.js.map +1 -1
  21. package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js +11 -0
  22. package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js.map +1 -0
  23. package/build/lib/native/components/Badge/Badge.js +10 -9
  24. package/build/lib/native/components/Badge/Badge.js.map +1 -1
  25. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +11 -10
  26. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  27. package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +8 -6
  28. package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
  29. package/build/lib/native/components/BottomNav/BottomNav.native.js +4 -10
  30. package/build/lib/native/components/BottomNav/BottomNav.native.js.map +1 -1
  31. package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  32. package/build/lib/native/components/Box/Box.js +1 -1
  33. package/build/lib/native/components/Box/Box.js.map +1 -1
  34. package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
  35. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  36. package/build/lib/native/components/Card/Card.js +1 -1
  37. package/build/lib/native/components/Card/Card.js.map +1 -1
  38. package/build/lib/native/components/Card/CardFooter.js +4 -8
  39. package/build/lib/native/components/Card/CardFooter.js.map +1 -1
  40. package/build/lib/native/components/Card/CardHeader.js +5 -9
  41. package/build/lib/native/components/Card/CardHeader.js.map +1 -1
  42. package/build/lib/native/components/Card/CardRoot.native.js +1 -1
  43. package/build/lib/native/components/Card/CardRoot.native.js.map +1 -1
  44. package/build/lib/native/components/Carousel/Carousel.native.js +1 -1
  45. package/build/lib/native/components/Carousel/Carousel.native.js.map +1 -1
  46. package/build/lib/native/components/Carousel/Indicators/StyledIndicatorButton.native.js +1 -1
  47. package/build/lib/native/components/Carousel/Indicators/StyledIndicatorButton.native.js.map +1 -1
  48. package/build/lib/native/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
  49. package/build/lib/native/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
  50. package/build/lib/native/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
  51. package/build/lib/native/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
  52. package/build/lib/native/components/Checkbox/Checkbox.js +6 -4
  53. package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
  54. package/build/lib/native/components/Checkbox/CheckboxIcon/Fade.native.js +1 -1
  55. package/build/lib/native/components/Checkbox/CheckboxIcon/Fade.native.js.map +1 -1
  56. package/build/lib/native/components/Chip/Chip.js +5 -3
  57. package/build/lib/native/components/Chip/Chip.js.map +1 -1
  58. package/build/lib/native/components/Chip/ChipGroup.js +4 -3
  59. package/build/lib/native/components/Chip/ChipGroup.js.map +1 -1
  60. package/build/lib/native/components/Chip/chipTokens.js +1 -1
  61. package/build/lib/native/components/Chip/chipTokens.js.map +1 -1
  62. package/build/lib/native/components/Collapsible/Collapsible.js +2 -2
  63. package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
  64. package/build/lib/native/components/Collapsible/commonStyles.js +1 -1
  65. package/build/lib/native/components/Collapsible/commonStyles.js.map +1 -1
  66. package/build/lib/native/components/Counter/Counter.js +13 -12
  67. package/build/lib/native/components/Counter/Counter.js.map +1 -1
  68. package/build/lib/native/components/Divider/Divider.js +2 -2
  69. package/build/lib/native/components/Divider/Divider.js.map +1 -1
  70. package/build/lib/native/components/Drawer/Drawer.native.js +4 -10
  71. package/build/lib/native/components/Drawer/Drawer.native.js.map +1 -1
  72. package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js +4 -9
  73. package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js.map +1 -1
  74. package/build/lib/native/components/Dropdown/Dropdown.js +2 -1
  75. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  76. package/build/lib/native/components/Fade/Fade.native.js +11 -0
  77. package/build/lib/native/components/Fade/Fade.native.js.map +1 -0
  78. package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js +3 -9
  79. package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
  80. package/build/lib/native/components/Form/FormLabel.js +10 -10
  81. package/build/lib/native/components/Indicator/Indicator.js +7 -6
  82. package/build/lib/native/components/Indicator/Indicator.js.map +1 -1
  83. package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js +1 -1
  84. package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js.map +1 -1
  85. package/build/lib/native/components/Input/BaseInput/BaseInput.js +2 -1
  86. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  87. package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js +3 -3
  88. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +8 -10
  89. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  90. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +9 -8
  91. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
  92. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
  93. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  94. package/build/lib/native/components/Link/BaseLink/BaseLink.js +1 -1
  95. package/build/lib/native/components/Link/BaseLink/BaseLink.js.map +1 -1
  96. package/build/lib/native/components/List/List.js +1 -1
  97. package/build/lib/native/components/List/List.js.map +1 -1
  98. package/build/lib/native/components/List/ListItem.js +8 -10
  99. package/build/lib/native/components/List/ListItem.js.map +1 -1
  100. package/build/lib/native/components/List/ListItemCode.js +3 -9
  101. package/build/lib/native/components/List/ListItemCode.js.map +1 -1
  102. package/build/lib/native/components/List/ListItemText.js +3 -8
  103. package/build/lib/native/components/List/ListItemText.js.map +1 -1
  104. package/build/lib/native/components/Menu/Menu.native.js +4 -10
  105. package/build/lib/native/components/Menu/Menu.native.js.map +1 -1
  106. package/build/lib/native/components/Menu/MenuItem.native.js +4 -10
  107. package/build/lib/native/components/Menu/MenuItem.native.js.map +1 -1
  108. package/build/lib/native/components/Menu/MenuOverlay.native.js +4 -10
  109. package/build/lib/native/components/Menu/MenuOverlay.native.js.map +1 -1
  110. package/build/lib/native/components/Menu/VisualSubComponents/MenuDivider.native.js +4 -10
  111. package/build/lib/native/components/Menu/VisualSubComponents/MenuDivider.native.js.map +1 -1
  112. package/build/lib/native/components/Menu/VisualSubComponents/MenuHeaderFooter.native.js +4 -10
  113. package/build/lib/native/components/Menu/VisualSubComponents/MenuHeaderFooter.native.js.map +1 -1
  114. package/build/lib/native/components/Modal/Modal.native.js +4 -9
  115. package/build/lib/native/components/Modal/Modal.native.js.map +1 -1
  116. package/build/lib/native/components/Modal/ModalBody.native.js +3 -8
  117. package/build/lib/native/components/Modal/ModalBody.native.js.map +1 -1
  118. package/build/lib/native/components/Modal/ModalFooter.native.js +3 -8
  119. package/build/lib/native/components/Modal/ModalFooter.native.js.map +1 -1
  120. package/build/lib/native/components/Modal/ModalHeader.native.js +3 -8
  121. package/build/lib/native/components/Modal/ModalHeader.native.js.map +1 -1
  122. package/build/lib/native/components/Morph/Morph.native.js +11 -0
  123. package/build/lib/native/components/Morph/Morph.native.js.map +1 -0
  124. package/build/lib/native/components/Move/Move.native.js +11 -0
  125. package/build/lib/native/components/Move/Move.native.js.map +1 -0
  126. package/build/lib/native/components/Popover/PopoverContent.js +6 -8
  127. package/build/lib/native/components/Popover/PopoverContent.js.map +1 -1
  128. package/build/lib/native/components/Popover/PopoverContentWrapper.native.js +1 -1
  129. package/build/lib/native/components/Popover/PopoverContentWrapper.native.js.map +1 -1
  130. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js +7 -9
  131. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js.map +1 -1
  132. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js +3 -8
  133. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js.map +1 -1
  134. package/build/lib/native/components/ProgressBar/ProgressBar.js +2 -2
  135. package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
  136. package/build/lib/native/components/Radio/Radio.js +2 -1
  137. package/build/lib/native/components/Radio/Radio.js.map +1 -1
  138. package/build/lib/native/components/Radio/RadioIcon/Fade.native.js +1 -1
  139. package/build/lib/native/components/Radio/RadioIcon/Fade.native.js.map +1 -1
  140. package/build/lib/native/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
  141. package/build/lib/native/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
  142. package/build/lib/native/components/Scale/Scale.native.js +11 -0
  143. package/build/lib/native/components/Scale/Scale.native.js.map +1 -0
  144. package/build/lib/native/components/SideNav/SideNav.native.js +4 -10
  145. package/build/lib/native/components/SideNav/SideNav.native.js.map +1 -1
  146. package/build/lib/native/components/SideNav/SideNavBody.native.js +4 -10
  147. package/build/lib/native/components/SideNav/SideNavBody.native.js.map +1 -1
  148. package/build/lib/native/components/SideNav/SideNavFooter.native.js +4 -10
  149. package/build/lib/native/components/SideNav/SideNavFooter.native.js.map +1 -1
  150. package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js +4 -10
  151. package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js.map +1 -1
  152. package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js +4 -10
  153. package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js.map +1 -1
  154. package/build/lib/native/components/SideNav/SideNavLevel.native.js +4 -10
  155. package/build/lib/native/components/SideNav/SideNavLevel.native.js.map +1 -1
  156. package/build/lib/native/components/SideNav/SideNavSection.native.js +4 -10
  157. package/build/lib/native/components/SideNav/SideNavSection.native.js.map +1 -1
  158. package/build/lib/native/components/SideNav/tokens.js.map +1 -1
  159. package/build/lib/native/components/Skeleton/PulseAnimation.native.js +1 -1
  160. package/build/lib/native/components/Skeleton/PulseAnimation.native.js.map +1 -1
  161. package/build/lib/native/components/Skeleton/Skeleton.js +2 -2
  162. package/build/lib/native/components/Skeleton/Skeleton.js.map +1 -1
  163. package/build/lib/native/components/Slide/Slide.native.js +11 -0
  164. package/build/lib/native/components/Slide/Slide.native.js.map +1 -0
  165. package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js +4 -3
  166. package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  167. package/build/lib/native/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
  168. package/build/lib/native/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
  169. package/build/lib/native/components/Spinner/Spinner/Spinner.js +2 -1
  170. package/build/lib/native/components/Spinner/Spinner/Spinner.js.map +1 -1
  171. package/build/lib/native/components/Stagger/Stagger.native.js +11 -0
  172. package/build/lib/native/components/Stagger/Stagger.native.js.map +1 -0
  173. package/build/lib/native/components/StepGroup/StepGroup.native.js +4 -10
  174. package/build/lib/native/components/StepGroup/StepGroup.native.js.map +1 -1
  175. package/build/lib/native/components/StepGroup/StepItem.native.js +4 -10
  176. package/build/lib/native/components/StepGroup/StepItem.native.js.map +1 -1
  177. package/build/lib/native/components/Switch/Switch.js +2 -1
  178. package/build/lib/native/components/Switch/Switch.js.map +1 -1
  179. package/build/lib/native/components/Switch/getTrackStyles.js +1 -1
  180. package/build/lib/native/components/Switch/getTrackStyles.js.map +1 -1
  181. package/build/lib/native/components/Switch/switchTokens.js +1 -1
  182. package/build/lib/native/components/Switch/switchTokens.js.map +1 -1
  183. package/build/lib/native/components/Table/Table.native.js +4 -9
  184. package/build/lib/native/components/Table/Table.native.js.map +1 -1
  185. package/build/lib/native/components/Table/TableBody.native.js +3 -8
  186. package/build/lib/native/components/Table/TableBody.native.js.map +1 -1
  187. package/build/lib/native/components/Table/TableEditableCell.native.js +3 -9
  188. package/build/lib/native/components/Table/TableEditableCell.native.js.map +1 -1
  189. package/build/lib/native/components/Table/TableFooter.native.js +3 -8
  190. package/build/lib/native/components/Table/TableFooter.native.js.map +1 -1
  191. package/build/lib/native/components/Table/TableHeader.native.js +3 -8
  192. package/build/lib/native/components/Table/TableHeader.native.js.map +1 -1
  193. package/build/lib/native/components/Table/TablePagination.native.js +3 -8
  194. package/build/lib/native/components/Table/TablePagination.native.js.map +1 -1
  195. package/build/lib/native/components/Table/TableToolbar.native.js +3 -8
  196. package/build/lib/native/components/Table/TableToolbar.native.js.map +1 -1
  197. package/build/lib/native/components/Table/tokens.js.map +1 -1
  198. package/build/lib/native/components/Tabs/Tabs.native.js +6 -8
  199. package/build/lib/native/components/Tabs/Tabs.native.js.map +1 -1
  200. package/build/lib/native/components/Tag/AnimatedTag.native.js +1 -1
  201. package/build/lib/native/components/Tag/AnimatedTag.native.js.map +1 -1
  202. package/build/lib/native/components/Tag/Tag.js +3 -2
  203. package/build/lib/native/components/Tag/Tag.js.map +1 -1
  204. package/build/lib/native/components/Tooltip/TooltipContent.js +8 -8
  205. package/build/lib/native/components/Tooltip/TooltipContentWrapper.native.js +1 -1
  206. package/build/lib/native/components/Tooltip/TooltipContentWrapper.native.js.map +1 -1
  207. package/build/lib/native/components/TopNav/TabNav/TabNav.native.js +4 -10
  208. package/build/lib/native/components/TopNav/TabNav/TabNav.native.js.map +1 -1
  209. package/build/lib/native/components/TopNav/TabNav/TabNavItem.native.js +4 -10
  210. package/build/lib/native/components/TopNav/TabNav/TabNavItem.native.js.map +1 -1
  211. package/build/lib/native/components/TopNav/TopNav.native.js +4 -10
  212. package/build/lib/native/components/TopNav/TopNav.native.js.map +1 -1
  213. package/build/lib/native/components/Typography/Code/Code.js +1 -1
  214. package/build/lib/native/components/Typography/Code/Code.js.map +1 -1
  215. package/build/lib/native/components/Typography/Display/Display.js +2 -2
  216. package/build/lib/native/components/Typography/Display/Display.js.map +1 -1
  217. package/build/lib/native/components/Typography/Heading/Heading.js +2 -2
  218. package/build/lib/native/components/Typography/Heading/Heading.js.map +1 -1
  219. package/build/lib/native/components/Typography/Text/Text.js +2 -2
  220. package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
  221. package/build/lib/native/components/index.js +7 -0
  222. package/build/lib/native/components/index.js.map +1 -1
  223. package/build/lib/native/tokens/global/motion.js +1 -1
  224. package/build/lib/native/tokens/global/motion.js.map +1 -1
  225. package/build/lib/native/utils/getMotionRefs.js +4 -0
  226. package/build/lib/native/utils/getMotionRefs.js.map +1 -0
  227. package/build/lib/web/development/components/Accordion/Accordion.js +6 -3
  228. package/build/lib/web/development/components/Accordion/Accordion.js.map +1 -1
  229. package/build/lib/web/development/components/Accordion/commonStyles.js +1 -1
  230. package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
  231. package/build/lib/web/development/components/ActionList/ActionList.js +3 -0
  232. package/build/lib/web/development/components/ActionList/ActionList.js.map +1 -1
  233. package/build/lib/web/development/components/Alert/Alert.js +6 -3
  234. package/build/lib/web/development/components/Alert/Alert.js.map +1 -1
  235. package/build/lib/web/development/components/Amount/Amount.js +3 -2
  236. package/build/lib/web/development/components/Amount/Amount.js.map +1 -1
  237. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractions.web.js +37 -0
  238. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractions.web.js.map +1 -0
  239. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js +12 -0
  240. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
  241. package/build/lib/web/development/components/AnimateInteractions/index.js +2 -0
  242. package/build/lib/web/development/components/AnimateInteractions/index.js.map +1 -0
  243. package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.js +30 -0
  244. package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.js.map +1 -0
  245. package/build/lib/web/development/components/Badge/Badge.js +4 -2
  246. package/build/lib/web/development/components/Badge/Badge.js.map +1 -1
  247. package/build/lib/web/development/components/BaseMotion/BaseMotion.js +123 -0
  248. package/build/lib/web/development/components/BaseMotion/BaseMotion.js.map +1 -0
  249. package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js +60 -0
  250. package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js.map +1 -0
  251. package/build/lib/web/development/components/BaseMotion/index.js +3 -0
  252. package/build/lib/web/development/components/BaseMotion/index.js.map +1 -0
  253. package/build/lib/web/development/components/BaseMotion/types.js +2 -0
  254. package/build/lib/web/development/components/BaseMotion/types.js.map +1 -0
  255. package/build/lib/web/development/components/BottomNav/BottomNav.web.js +4 -2
  256. package/build/lib/web/development/components/BottomNav/BottomNav.web.js.map +1 -1
  257. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +1 -1
  258. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
  259. package/build/lib/web/development/components/BottomSheet/BottomSheetBackdrop.web.js +1 -1
  260. package/build/lib/web/development/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
  261. package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  262. package/build/lib/web/development/components/Box/Box.js +2 -2
  263. package/build/lib/web/development/components/Box/Box.js.map +1 -1
  264. package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js +3 -1
  265. package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
  266. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +1 -1
  267. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  268. package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js +1 -1
  269. package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
  270. package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js +3 -2
  271. package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
  272. package/build/lib/web/development/components/Card/Card.js +3 -1
  273. package/build/lib/web/development/components/Card/Card.js.map +1 -1
  274. package/build/lib/web/development/components/Card/CardRoot.web.js +6 -4
  275. package/build/lib/web/development/components/Card/CardRoot.web.js.map +1 -1
  276. package/build/lib/web/development/components/Carousel/Carousel.web.js +6 -3
  277. package/build/lib/web/development/components/Carousel/Carousel.web.js.map +1 -1
  278. package/build/lib/web/development/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
  279. package/build/lib/web/development/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
  280. package/build/lib/web/development/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
  281. package/build/lib/web/development/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
  282. package/build/lib/web/development/components/Checkbox/Checkbox.js +13 -3
  283. package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
  284. package/build/lib/web/development/components/Checkbox/CheckboxIcon/Fade.web.js +2 -2
  285. package/build/lib/web/development/components/Checkbox/CheckboxIcon/Fade.web.js.map +1 -1
  286. package/build/lib/web/development/components/Chip/Chip.js +11 -2
  287. package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
  288. package/build/lib/web/development/components/Chip/ChipGroup.js +5 -2
  289. package/build/lib/web/development/components/Chip/ChipGroup.js.map +1 -1
  290. package/build/lib/web/development/components/Chip/chipTokens.js +1 -1
  291. package/build/lib/web/development/components/Chip/chipTokens.js.map +1 -1
  292. package/build/lib/web/development/components/Collapsible/Collapsible.js +6 -3
  293. package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
  294. package/build/lib/web/development/components/Collapsible/commonStyles.js +2 -2
  295. package/build/lib/web/development/components/Collapsible/commonStyles.js.map +1 -1
  296. package/build/lib/web/development/components/Counter/Counter.js +4 -2
  297. package/build/lib/web/development/components/Counter/Counter.js.map +1 -1
  298. package/build/lib/web/development/components/Divider/Divider.js +4 -2
  299. package/build/lib/web/development/components/Divider/Divider.js.map +1 -1
  300. package/build/lib/web/development/components/Drawer/Drawer.web.js +4 -4
  301. package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -1
  302. package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -3
  303. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  304. package/build/lib/web/development/components/Fade/Fade.web.js +62 -0
  305. package/build/lib/web/development/components/Fade/Fade.web.js.map +1 -0
  306. package/build/lib/web/development/components/Fade/index.js +2 -0
  307. package/build/lib/web/development/components/Fade/index.js.map +1 -0
  308. package/build/lib/web/development/components/FileUpload/FileUpload.web.js +11 -2
  309. package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
  310. package/build/lib/web/development/components/FileUpload/fileUploadTokens.js +1 -1
  311. package/build/lib/web/development/components/FileUpload/fileUploadTokens.js.map +1 -1
  312. package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js +1 -1
  313. package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js.map +1 -1
  314. package/build/lib/web/development/components/Indicator/Indicator.js +4 -2
  315. package/build/lib/web/development/components/Indicator/Indicator.js.map +1 -1
  316. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +3 -3
  317. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  318. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +21 -7
  319. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  320. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +2 -2
  321. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  322. package/build/lib/web/development/components/Link/BaseLink/BaseLink.js +1 -1
  323. package/build/lib/web/development/components/Link/BaseLink/BaseLink.js.map +1 -1
  324. package/build/lib/web/development/components/List/List.js +5 -3
  325. package/build/lib/web/development/components/List/List.js.map +1 -1
  326. package/build/lib/web/development/components/Modal/Modal.web.js +2 -2
  327. package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
  328. package/build/lib/web/development/components/Modal/ModalBackdrop.js +2 -2
  329. package/build/lib/web/development/components/Modal/ModalBackdrop.js.map +1 -1
  330. package/build/lib/web/development/components/Morph/Morph.web.js +48 -0
  331. package/build/lib/web/development/components/Morph/Morph.web.js.map +1 -0
  332. package/build/lib/web/development/components/Morph/index.js +2 -0
  333. package/build/lib/web/development/components/Morph/index.js.map +1 -0
  334. package/build/lib/web/development/components/Move/Move.web.js +66 -0
  335. package/build/lib/web/development/components/Move/Move.web.js.map +1 -0
  336. package/build/lib/web/development/components/Move/index.js +2 -0
  337. package/build/lib/web/development/components/Move/index.js.map +1 -0
  338. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js +1 -1
  339. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
  340. package/build/lib/web/development/components/ProgressBar/ProgressBar.js +8 -4
  341. package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
  342. package/build/lib/web/development/components/Radio/Radio.js +13 -3
  343. package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
  344. package/build/lib/web/development/components/Radio/RadioIcon/Fade.web.js +3 -3
  345. package/build/lib/web/development/components/Radio/RadioIcon/Fade.web.js.map +1 -1
  346. package/build/lib/web/development/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
  347. package/build/lib/web/development/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
  348. package/build/lib/web/development/components/Scale/Scale.web.js +47 -0
  349. package/build/lib/web/development/components/Scale/Scale.web.js.map +1 -0
  350. package/build/lib/web/development/components/Scale/index.js +2 -0
  351. package/build/lib/web/development/components/Scale/index.js.map +1 -0
  352. package/build/lib/web/development/components/SideNav/SideNav.web.js +7 -5
  353. package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
  354. package/build/lib/web/development/components/SideNav/tokens.js +1 -1
  355. package/build/lib/web/development/components/SideNav/tokens.js.map +1 -1
  356. package/build/lib/web/development/components/Skeleton/PulseAnimation.web.js +1 -1
  357. package/build/lib/web/development/components/Skeleton/PulseAnimation.web.js.map +1 -1
  358. package/build/lib/web/development/components/Skeleton/Skeleton.js +4 -1
  359. package/build/lib/web/development/components/Skeleton/Skeleton.js.map +1 -1
  360. package/build/lib/web/development/components/Slide/Slide.web.js +119 -0
  361. package/build/lib/web/development/components/Slide/Slide.web.js.map +1 -0
  362. package/build/lib/web/development/components/Slide/index.js +2 -0
  363. package/build/lib/web/development/components/Slide/index.js.map +1 -0
  364. package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js +6 -3
  365. package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  366. package/build/lib/web/development/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
  367. package/build/lib/web/development/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
  368. package/build/lib/web/development/components/Spinner/Spinner/Spinner.js +4 -1
  369. package/build/lib/web/development/components/Spinner/Spinner/Spinner.js.map +1 -1
  370. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +2 -2
  371. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  372. package/build/lib/web/development/components/Stagger/Stagger.web.js +73 -0
  373. package/build/lib/web/development/components/Stagger/Stagger.web.js.map +1 -0
  374. package/build/lib/web/development/components/Stagger/StaggerProvider.js +13 -0
  375. package/build/lib/web/development/components/Stagger/StaggerProvider.js.map +1 -0
  376. package/build/lib/web/development/components/Stagger/index.js +2 -0
  377. package/build/lib/web/development/components/Stagger/index.js.map +1 -0
  378. package/build/lib/web/development/components/StepGroup/StepGroup.web.js +5 -3
  379. package/build/lib/web/development/components/StepGroup/StepGroup.web.js.map +1 -1
  380. package/build/lib/web/development/components/StepGroup/StepItem.web.js +1 -1
  381. package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
  382. package/build/lib/web/development/components/Switch/AnimatedThumbIcon.web.js +1 -1
  383. package/build/lib/web/development/components/Switch/AnimatedThumbIcon.web.js.map +1 -1
  384. package/build/lib/web/development/components/Switch/Switch.js +13 -3
  385. package/build/lib/web/development/components/Switch/Switch.js.map +1 -1
  386. package/build/lib/web/development/components/Switch/getTrackStyles.js +1 -1
  387. package/build/lib/web/development/components/Switch/getTrackStyles.js.map +1 -1
  388. package/build/lib/web/development/components/Switch/switchTokens.js +6 -6
  389. package/build/lib/web/development/components/Switch/switchTokens.js.map +1 -1
  390. package/build/lib/web/development/components/Table/Table.web.js +4 -2
  391. package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
  392. package/build/lib/web/development/components/Table/tokens.js +2 -2
  393. package/build/lib/web/development/components/Table/tokens.js.map +1 -1
  394. package/build/lib/web/development/components/Tabs/TabIndicator.web.js +1 -1
  395. package/build/lib/web/development/components/Tabs/TabIndicator.web.js.map +1 -1
  396. package/build/lib/web/development/components/Tabs/TabItem.web.js +2 -2
  397. package/build/lib/web/development/components/Tabs/TabItem.web.js.map +1 -1
  398. package/build/lib/web/development/components/Tabs/Tabs.web.js +34 -1
  399. package/build/lib/web/development/components/Tabs/Tabs.web.js.map +1 -1
  400. package/build/lib/web/development/components/Tag/AnimatedTag.web.js +2 -2
  401. package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
  402. package/build/lib/web/development/components/Tag/Tag.js +31 -29
  403. package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
  404. package/build/lib/web/development/components/Toast/Toast.web.js +2 -2
  405. package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -1
  406. package/build/lib/web/development/components/Toast/ToastContainer.web.js +1 -1
  407. package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
  408. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js +2 -2
  409. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  410. package/build/lib/web/development/components/TopNav/TopNav.web.js +4 -2
  411. package/build/lib/web/development/components/TopNav/TopNav.web.js.map +1 -1
  412. package/build/lib/web/development/components/Typography/Code/Code.js +30 -27
  413. package/build/lib/web/development/components/Typography/Code/Code.js.map +1 -1
  414. package/build/lib/web/development/components/Typography/Display/Display.js +6 -2
  415. package/build/lib/web/development/components/Typography/Display/Display.js.map +1 -1
  416. package/build/lib/web/development/components/Typography/Heading/Heading.js +4 -1
  417. package/build/lib/web/development/components/Typography/Heading/Heading.js.map +1 -1
  418. package/build/lib/web/development/components/Typography/Text/Text.js +6 -10
  419. package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
  420. package/build/lib/web/development/components/index.js +14 -0
  421. package/build/lib/web/development/components/index.js.map +1 -1
  422. package/build/lib/web/development/tokens/global/motion.js +22 -28
  423. package/build/lib/web/development/tokens/global/motion.js.map +1 -1
  424. package/build/lib/web/development/utils/cssBezierToArray.js +12 -0
  425. package/build/lib/web/development/utils/cssBezierToArray.js.map +1 -0
  426. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -1
  427. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  428. package/build/lib/web/development/utils/getMotionRefs.js +86 -0
  429. package/build/lib/web/development/utils/getMotionRefs.js.map +1 -0
  430. package/build/lib/web/development/utils/msToSeconds.js +6 -0
  431. package/build/lib/web/development/utils/msToSeconds.js.map +1 -0
  432. package/build/lib/web/production/components/Accordion/Accordion.js +6 -3
  433. package/build/lib/web/production/components/Accordion/Accordion.js.map +1 -1
  434. package/build/lib/web/production/components/Accordion/commonStyles.js +1 -1
  435. package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
  436. package/build/lib/web/production/components/ActionList/ActionList.js +3 -0
  437. package/build/lib/web/production/components/ActionList/ActionList.js.map +1 -1
  438. package/build/lib/web/production/components/Alert/Alert.js +6 -3
  439. package/build/lib/web/production/components/Alert/Alert.js.map +1 -1
  440. package/build/lib/web/production/components/Amount/Amount.js +3 -2
  441. package/build/lib/web/production/components/Amount/Amount.js.map +1 -1
  442. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractions.web.js +37 -0
  443. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractions.web.js.map +1 -0
  444. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js +12 -0
  445. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
  446. package/build/lib/web/production/components/AnimateInteractions/index.js +2 -0
  447. package/build/lib/web/production/components/AnimateInteractions/index.js.map +1 -0
  448. package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.js +30 -0
  449. package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.js.map +1 -0
  450. package/build/lib/web/production/components/Badge/Badge.js +4 -2
  451. package/build/lib/web/production/components/Badge/Badge.js.map +1 -1
  452. package/build/lib/web/production/components/BaseMotion/BaseMotion.js +123 -0
  453. package/build/lib/web/production/components/BaseMotion/BaseMotion.js.map +1 -0
  454. package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js +60 -0
  455. package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js.map +1 -0
  456. package/build/lib/web/production/components/BaseMotion/index.js +3 -0
  457. package/build/lib/web/production/components/BaseMotion/index.js.map +1 -0
  458. package/build/lib/web/production/components/BaseMotion/types.js +2 -0
  459. package/build/lib/web/production/components/BaseMotion/types.js.map +1 -0
  460. package/build/lib/web/production/components/BottomNav/BottomNav.web.js +4 -2
  461. package/build/lib/web/production/components/BottomNav/BottomNav.web.js.map +1 -1
  462. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +1 -1
  463. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
  464. package/build/lib/web/production/components/BottomSheet/BottomSheetBackdrop.web.js +1 -1
  465. package/build/lib/web/production/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
  466. package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  467. package/build/lib/web/production/components/Box/Box.js +2 -2
  468. package/build/lib/web/production/components/Box/Box.js.map +1 -1
  469. package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js +3 -1
  470. package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
  471. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +1 -1
  472. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  473. package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js +1 -1
  474. package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
  475. package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js +3 -2
  476. package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
  477. package/build/lib/web/production/components/Card/Card.js +3 -1
  478. package/build/lib/web/production/components/Card/Card.js.map +1 -1
  479. package/build/lib/web/production/components/Card/CardRoot.web.js +6 -4
  480. package/build/lib/web/production/components/Card/CardRoot.web.js.map +1 -1
  481. package/build/lib/web/production/components/Carousel/Carousel.web.js +6 -3
  482. package/build/lib/web/production/components/Carousel/Carousel.web.js.map +1 -1
  483. package/build/lib/web/production/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
  484. package/build/lib/web/production/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
  485. package/build/lib/web/production/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
  486. package/build/lib/web/production/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
  487. package/build/lib/web/production/components/Checkbox/Checkbox.js +13 -3
  488. package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
  489. package/build/lib/web/production/components/Checkbox/CheckboxIcon/Fade.web.js +2 -2
  490. package/build/lib/web/production/components/Checkbox/CheckboxIcon/Fade.web.js.map +1 -1
  491. package/build/lib/web/production/components/Chip/Chip.js +11 -2
  492. package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
  493. package/build/lib/web/production/components/Chip/ChipGroup.js +5 -2
  494. package/build/lib/web/production/components/Chip/ChipGroup.js.map +1 -1
  495. package/build/lib/web/production/components/Chip/chipTokens.js +1 -1
  496. package/build/lib/web/production/components/Chip/chipTokens.js.map +1 -1
  497. package/build/lib/web/production/components/Collapsible/Collapsible.js +6 -3
  498. package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
  499. package/build/lib/web/production/components/Collapsible/commonStyles.js +2 -2
  500. package/build/lib/web/production/components/Collapsible/commonStyles.js.map +1 -1
  501. package/build/lib/web/production/components/Counter/Counter.js +4 -2
  502. package/build/lib/web/production/components/Counter/Counter.js.map +1 -1
  503. package/build/lib/web/production/components/Divider/Divider.js +4 -2
  504. package/build/lib/web/production/components/Divider/Divider.js.map +1 -1
  505. package/build/lib/web/production/components/Drawer/Drawer.web.js +4 -4
  506. package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -1
  507. package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -3
  508. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  509. package/build/lib/web/production/components/Fade/Fade.web.js +62 -0
  510. package/build/lib/web/production/components/Fade/Fade.web.js.map +1 -0
  511. package/build/lib/web/production/components/Fade/index.js +2 -0
  512. package/build/lib/web/production/components/Fade/index.js.map +1 -0
  513. package/build/lib/web/production/components/FileUpload/FileUpload.web.js +11 -2
  514. package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
  515. package/build/lib/web/production/components/FileUpload/fileUploadTokens.js +1 -1
  516. package/build/lib/web/production/components/FileUpload/fileUploadTokens.js.map +1 -1
  517. package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js +1 -1
  518. package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js.map +1 -1
  519. package/build/lib/web/production/components/Indicator/Indicator.js +4 -2
  520. package/build/lib/web/production/components/Indicator/Indicator.js.map +1 -1
  521. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +3 -3
  522. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  523. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +21 -7
  524. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  525. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +2 -2
  526. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  527. package/build/lib/web/production/components/Link/BaseLink/BaseLink.js +1 -1
  528. package/build/lib/web/production/components/Link/BaseLink/BaseLink.js.map +1 -1
  529. package/build/lib/web/production/components/List/List.js +5 -3
  530. package/build/lib/web/production/components/List/List.js.map +1 -1
  531. package/build/lib/web/production/components/Modal/Modal.web.js +2 -2
  532. package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
  533. package/build/lib/web/production/components/Modal/ModalBackdrop.js +2 -2
  534. package/build/lib/web/production/components/Modal/ModalBackdrop.js.map +1 -1
  535. package/build/lib/web/production/components/Morph/Morph.web.js +48 -0
  536. package/build/lib/web/production/components/Morph/Morph.web.js.map +1 -0
  537. package/build/lib/web/production/components/Morph/index.js +2 -0
  538. package/build/lib/web/production/components/Morph/index.js.map +1 -0
  539. package/build/lib/web/production/components/Move/Move.web.js +66 -0
  540. package/build/lib/web/production/components/Move/Move.web.js.map +1 -0
  541. package/build/lib/web/production/components/Move/index.js +2 -0
  542. package/build/lib/web/production/components/Move/index.js.map +1 -0
  543. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js +1 -1
  544. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
  545. package/build/lib/web/production/components/ProgressBar/ProgressBar.js +8 -4
  546. package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
  547. package/build/lib/web/production/components/Radio/Radio.js +13 -3
  548. package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
  549. package/build/lib/web/production/components/Radio/RadioIcon/Fade.web.js +3 -3
  550. package/build/lib/web/production/components/Radio/RadioIcon/Fade.web.js.map +1 -1
  551. package/build/lib/web/production/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
  552. package/build/lib/web/production/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
  553. package/build/lib/web/production/components/Scale/Scale.web.js +47 -0
  554. package/build/lib/web/production/components/Scale/Scale.web.js.map +1 -0
  555. package/build/lib/web/production/components/Scale/index.js +2 -0
  556. package/build/lib/web/production/components/Scale/index.js.map +1 -0
  557. package/build/lib/web/production/components/SideNav/SideNav.web.js +7 -5
  558. package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
  559. package/build/lib/web/production/components/SideNav/tokens.js +1 -1
  560. package/build/lib/web/production/components/SideNav/tokens.js.map +1 -1
  561. package/build/lib/web/production/components/Skeleton/PulseAnimation.web.js +1 -1
  562. package/build/lib/web/production/components/Skeleton/PulseAnimation.web.js.map +1 -1
  563. package/build/lib/web/production/components/Skeleton/Skeleton.js +4 -1
  564. package/build/lib/web/production/components/Skeleton/Skeleton.js.map +1 -1
  565. package/build/lib/web/production/components/Slide/Slide.web.js +119 -0
  566. package/build/lib/web/production/components/Slide/Slide.web.js.map +1 -0
  567. package/build/lib/web/production/components/Slide/index.js +2 -0
  568. package/build/lib/web/production/components/Slide/index.js.map +1 -0
  569. package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js +6 -3
  570. package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  571. package/build/lib/web/production/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
  572. package/build/lib/web/production/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
  573. package/build/lib/web/production/components/Spinner/Spinner/Spinner.js +4 -1
  574. package/build/lib/web/production/components/Spinner/Spinner/Spinner.js.map +1 -1
  575. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +2 -2
  576. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  577. package/build/lib/web/production/components/Stagger/Stagger.web.js +73 -0
  578. package/build/lib/web/production/components/Stagger/Stagger.web.js.map +1 -0
  579. package/build/lib/web/production/components/Stagger/StaggerProvider.js +13 -0
  580. package/build/lib/web/production/components/Stagger/StaggerProvider.js.map +1 -0
  581. package/build/lib/web/production/components/Stagger/index.js +2 -0
  582. package/build/lib/web/production/components/Stagger/index.js.map +1 -0
  583. package/build/lib/web/production/components/StepGroup/StepGroup.web.js +5 -3
  584. package/build/lib/web/production/components/StepGroup/StepGroup.web.js.map +1 -1
  585. package/build/lib/web/production/components/StepGroup/StepItem.web.js +1 -1
  586. package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
  587. package/build/lib/web/production/components/Switch/AnimatedThumbIcon.web.js +1 -1
  588. package/build/lib/web/production/components/Switch/AnimatedThumbIcon.web.js.map +1 -1
  589. package/build/lib/web/production/components/Switch/Switch.js +13 -3
  590. package/build/lib/web/production/components/Switch/Switch.js.map +1 -1
  591. package/build/lib/web/production/components/Switch/getTrackStyles.js +1 -1
  592. package/build/lib/web/production/components/Switch/getTrackStyles.js.map +1 -1
  593. package/build/lib/web/production/components/Switch/switchTokens.js +6 -6
  594. package/build/lib/web/production/components/Switch/switchTokens.js.map +1 -1
  595. package/build/lib/web/production/components/Table/Table.web.js +4 -2
  596. package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
  597. package/build/lib/web/production/components/Table/tokens.js +2 -2
  598. package/build/lib/web/production/components/Table/tokens.js.map +1 -1
  599. package/build/lib/web/production/components/Tabs/TabIndicator.web.js +1 -1
  600. package/build/lib/web/production/components/Tabs/TabIndicator.web.js.map +1 -1
  601. package/build/lib/web/production/components/Tabs/TabItem.web.js +2 -2
  602. package/build/lib/web/production/components/Tabs/TabItem.web.js.map +1 -1
  603. package/build/lib/web/production/components/Tabs/Tabs.web.js +34 -1
  604. package/build/lib/web/production/components/Tabs/Tabs.web.js.map +1 -1
  605. package/build/lib/web/production/components/Tag/AnimatedTag.web.js +2 -2
  606. package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
  607. package/build/lib/web/production/components/Tag/Tag.js +31 -29
  608. package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
  609. package/build/lib/web/production/components/Toast/Toast.web.js +2 -2
  610. package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -1
  611. package/build/lib/web/production/components/Toast/ToastContainer.web.js +1 -1
  612. package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
  613. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js +2 -2
  614. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  615. package/build/lib/web/production/components/TopNav/TopNav.web.js +4 -2
  616. package/build/lib/web/production/components/TopNav/TopNav.web.js.map +1 -1
  617. package/build/lib/web/production/components/Typography/Code/Code.js +30 -27
  618. package/build/lib/web/production/components/Typography/Code/Code.js.map +1 -1
  619. package/build/lib/web/production/components/Typography/Display/Display.js +6 -2
  620. package/build/lib/web/production/components/Typography/Display/Display.js.map +1 -1
  621. package/build/lib/web/production/components/Typography/Heading/Heading.js +4 -1
  622. package/build/lib/web/production/components/Typography/Heading/Heading.js.map +1 -1
  623. package/build/lib/web/production/components/Typography/Text/Text.js +6 -10
  624. package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
  625. package/build/lib/web/production/components/index.js +14 -0
  626. package/build/lib/web/production/components/index.js.map +1 -1
  627. package/build/lib/web/production/tokens/global/motion.js +22 -28
  628. package/build/lib/web/production/tokens/global/motion.js.map +1 -1
  629. package/build/lib/web/production/utils/cssBezierToArray.js +12 -0
  630. package/build/lib/web/production/utils/cssBezierToArray.js.map +1 -0
  631. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -1
  632. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  633. package/build/lib/web/production/utils/getMotionRefs.js +86 -0
  634. package/build/lib/web/production/utils/getMotionRefs.js.map +1 -0
  635. package/build/lib/web/production/utils/msToSeconds.js +6 -0
  636. package/build/lib/web/production/utils/msToSeconds.js.map +1 -0
  637. package/build/types/components/index.d.ts +18052 -5479
  638. package/build/types/components/index.native.d.ts +8077 -2278
  639. package/build/types/tokens/index.d.ts +103 -93
  640. package/build/types/tokens/index.native.d.ts +103 -93
  641. package/build/types/utils/index.d.ts +84 -71
  642. package/build/types/utils/index.native.d.ts +84 -71
  643. package/codemods/migrate-motion-tokens/transformers/__tests__/migrate-motion-tokens.test.ts +130 -0
  644. package/codemods/migrate-motion-tokens/transformers/index.ts +1 -0
  645. package/codemods/migrate-motion-tokens/transformers/migrate-motion.ts +24 -0
  646. package/codemods/migrate-motion-tokens/transformers/motionTokenMapping.json +11 -0
  647. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"propsTypes.js","sources":["../../../../../../../../src/components/Box/BaseBox/types/propsTypes.ts"],"sourcesContent":["import type { View } from 'react-native';\nimport type { CSSObject } from 'styled-components';\nimport type { MarginProps, PaddingProps, SpacingValueType } from './spacingTypes';\nimport type { MakeObjectResponsive } from './responsiveTypes';\nimport type { Theme } from '~components/BladeProvider';\nimport type { Border, Elevation } from '~tokens/global';\nimport type { DataAnalyticsAttribute, PickCSSByPlatform, TestID } from '~utils/types';\nimport type { Platform } from '~utils';\nimport type { BladeCommonEvents } from '~components/types';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\ntype LayoutProps = MakeObjectResponsive<\n {\n height: SpacingValueType;\n minHeight: SpacingValueType;\n maxHeight: SpacingValueType;\n width: SpacingValueType;\n minWidth: SpacingValueType;\n maxWidth: SpacingValueType;\n } & PickCSSByPlatform<\n 'display' | 'overflow' | 'overflowX' | 'overflowY' | 'textAlign' | 'whiteSpace'\n >\n>;\n\ntype FlexboxProps = MakeObjectResponsive<\n {\n /**\n * This uses the native gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=gap\n */\n gap: SpacingValueType;\n /**\n * This uses the native row-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=row-gap\n */\n rowGap: SpacingValueType;\n /**\n * This uses the native column-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=column-gap\n */\n columnGap: SpacingValueType;\n /**\n * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.\n *\n * @see https://developer.mozilla.org/docs/Web/CSS/flex\n */\n flex: string | number;\n } & PickCSSByPlatform<\n | 'flexWrap'\n | 'flexDirection'\n | 'flexGrow'\n | 'flexShrink'\n | 'flexBasis'\n | 'alignItems'\n | 'alignContent'\n | 'alignSelf'\n | 'justifyItems'\n | 'justifyContent'\n | 'justifySelf'\n | 'placeSelf'\n | 'placeItems'\n | 'order'\n >\n>;\n\ntype PositionProps = MakeObjectResponsive<\n {\n top: SpacingValueType;\n right: SpacingValueType;\n bottom: SpacingValueType;\n left: SpacingValueType;\n } & PickCSSByPlatform<'position' | 'zIndex'>\n>;\n\ntype GridProps = MakeObjectResponsive<\n PickCSSByPlatform<\n | 'grid'\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n | 'gridAutoFlow'\n | 'gridAutoRows'\n | 'gridAutoColumns'\n | 'gridTemplate'\n | 'gridTemplateAreas'\n | 'gridTemplateColumns'\n | 'gridTemplateRows'\n >\n>;\n\ntype ColorObjects = 'feedback' | 'surface' | 'interactive';\ntype BackgroundOnlyColorObjects = 'popup' | 'overlay';\ntype BackgroundColorString<\n T extends ColorObjects | BackgroundOnlyColorObjects\n> = `${T}.background.${DotNotationToken<Theme['colors'][T]['background']>}`;\ntype BorderColorString<T extends ColorObjects> = `${T}.border.${DotNotationToken<\n Theme['colors'][T]['border']\n>}`;\n\n// Created this as an array so I can reuse it for runtime validation\nconst validBoxAsValues = [\n 'div',\n 'section',\n 'footer',\n 'header',\n 'main',\n 'aside',\n 'nav',\n 'span',\n 'label',\n] as const;\n\ntype BoxAsType = typeof validBoxAsValues[number];\n\n// Visual props that are common for both Box and BaseBox\ntype CommonBoxVisualProps = MakeObjectResponsive<\n {\n borderRadius: keyof Border['radius'];\n borderWidth: keyof Border['width'];\n borderColor: BorderColorString<'surface'>;\n borderTopWidth: keyof Border['width'];\n borderTopColor: BorderColorString<'surface'>;\n borderRightWidth: keyof Border['width'];\n borderRightColor: BorderColorString<'surface'>;\n borderBottomWidth: keyof Border['width'];\n borderBottomColor: BorderColorString<'surface'>;\n borderLeftWidth: keyof Border['width'];\n borderLeftColor: BorderColorString<'surface'>;\n borderTopLeftRadius: keyof Border['radius'];\n borderTopRightRadius: keyof Border['radius'];\n borderBottomRightRadius: keyof Border['radius'];\n borderBottomLeftRadius: keyof Border['radius'];\n } & PickCSSByPlatform<\n | 'backgroundImage'\n | 'backgroundSize'\n | 'backgroundPosition'\n | 'backgroundOrigin'\n | 'backgroundRepeat'\n | 'pointerEvents'\n | 'opacity'\n | 'visibility'\n | 'transform'\n | 'transformOrigin'\n | 'clipPath'\n | 'borderStyle'\n | 'borderTopStyle'\n | 'borderBottomStyle'\n | 'borderLeftStyle'\n | 'borderRightStyle'\n > & {\n /**\n * Sets the elevation for Box\n *\n * eg: `theme.elevation.midRaised`\n *\n * @default `theme.elevation.lowRaised`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-elevation--docs\n */\n elevation?: keyof Elevation;\n }\n>;\n\n// Visual props that are specific BaseBox\n// This is used to ensure some of the more flexible BaseBox props are not passed to Box\ntype BaseBoxVisualProps = MakeObjectResponsive<\n {\n backgroundColor:\n | BackgroundColorString<'feedback'>\n | BackgroundColorString<'surface'>\n | BackgroundColorString<'interactive'>\n | BackgroundColorString<'overlay'>\n | BackgroundColorString<'popup'>\n | 'transparent'\n | (string & Record<never, never>);\n lineHeight: SpacingValueType;\n touchAction: CSSObject['touchAction'];\n userSelect: CSSObject['userSelect'];\n } & PickCSSByPlatform<\n | 'border'\n | 'borderLeft'\n | 'borderRight'\n | 'borderTop'\n | 'borderBottom'\n | 'opacity'\n | 'pointerEvents'\n | 'cursor'\n >\n>;\n\n// Visual props that are specific to Box\ntype BoxVisualProps = MakeObjectResponsive<{\n backgroundColor: BackgroundColorString<'surface'> | 'transparent';\n}> & {\n // Intentionally keeping this outside of MakeObjectResponsive since we only want as to be string and not responsive object\n // styled-components do not support passing `as` prop as an object\n as: BoxAsType;\n};\n\ntype StyledPropsBlade = Partial<\n Omit<\n MarginProps &\n Pick<FlexboxProps, 'alignSelf' | 'justifySelf' | 'placeSelf' | 'order'> &\n PositionProps &\n Pick<\n GridProps,\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n > &\n Pick<LayoutProps, 'display'> &\n Pick<CommonBoxVisualProps, 'visibility'>,\n '__brand__'\n >\n>;\n\ntype BoxCallbackProps = Omit<\n Platform.Select<{\n web: {\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseOver: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseEnter: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseLeave: React.MouseEventHandler<HTMLElement>;\n onScroll: React.UIEventHandler<HTMLElement>;\n };\n native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;\n }>,\n '__brand__'\n>;\n\ntype BoxDragAndDropProps = Omit<\n Platform.Select<{\n web: {\n draggable: boolean;\n onDragStart: React.DragEventHandler<HTMLElement>;\n onDragEnter: React.DragEventHandler<HTMLElement>;\n onDragLeave: React.DragEventHandler<HTMLElement>;\n onDragOver: React.DragEventHandler<HTMLElement>;\n onDragEnd: React.DragEventHandler<HTMLElement>;\n onDrop: React.DragEventHandler<HTMLElement>;\n };\n native: Record<\n | 'draggable'\n | 'onDragStart'\n | 'onDragEnter'\n | 'onDragLeave'\n | 'onDragOver'\n | 'onDragEnd'\n | 'onDrop',\n undefined\n >;\n }>,\n '__brand__'\n>;\n\ntype BoxProps = Partial<\n PaddingProps &\n MarginProps &\n LayoutProps &\n FlexboxProps &\n PositionProps &\n GridProps &\n BoxCallbackProps &\n BoxDragAndDropProps &\n CommonBoxVisualProps &\n BoxVisualProps & {\n children?: React.ReactNode | React.ReactNode[];\n tabIndex?: number;\n id?: string;\n } & TestID &\n DataAnalyticsAttribute\n>;\n\n// Visual props have different types for BaseBox and Box. BaseBox has more flexible types and more props exposed.\n// So first we Omit Visual props of Box\n// Then we append BaseBoxVisualProps and some other props for styled-components like class and id\ntype BaseBoxProps = Omit<BoxProps, keyof BoxVisualProps> &\n Partial<\n DataAnalyticsAttribute &\n BaseBoxVisualProps & {\n className?: string;\n id?: string;\n tabIndex?: number;\n }\n > &\n BladeCommonEvents;\n\n// ref prop type\ntype BoxRefType = Platform.Select<{\n web: Omit<HTMLElement, 'style'>;\n native: View;\n}>;\n\nexport type { BaseBoxProps, BoxProps, BoxRefType, StyledPropsBlade, FlexboxProps };\nexport { validBoxAsValues };\n"],"names":["validBoxAsValues"],"mappings":"AA6GA;AACMA,IAAAA,gBAAgB,GAAG,CACvB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO;;;;"}
1
+ {"version":3,"file":"propsTypes.js","sources":["../../../../../../../../src/components/Box/BaseBox/types/propsTypes.ts"],"sourcesContent":["import type { View } from 'react-native';\nimport type { CSSObject } from 'styled-components';\nimport type { MarginProps, PaddingProps, SpacingValueType } from './spacingTypes';\nimport type { MakeObjectResponsive } from './responsiveTypes';\nimport type { Theme } from '~components/BladeProvider';\nimport type { Border, Elevation } from '~tokens/global';\nimport type { DataAnalyticsAttribute, PickCSSByPlatform, TestID } from '~utils/types';\nimport type { Platform } from '~utils';\nimport type { BladeCommonEvents } from '~components/types';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\ntype LayoutProps = MakeObjectResponsive<\n {\n height: SpacingValueType;\n minHeight: SpacingValueType;\n maxHeight: SpacingValueType;\n width: SpacingValueType;\n minWidth: SpacingValueType;\n maxWidth: SpacingValueType;\n } & PickCSSByPlatform<\n 'display' | 'overflow' | 'overflowX' | 'overflowY' | 'textAlign' | 'whiteSpace'\n >\n>;\n\ntype FlexboxProps = MakeObjectResponsive<\n {\n /**\n * This uses the native gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=gap\n */\n gap: SpacingValueType;\n /**\n * This uses the native row-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=row-gap\n */\n rowGap: SpacingValueType;\n /**\n * This uses the native column-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=column-gap\n */\n columnGap: SpacingValueType;\n /**\n * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.\n *\n * @see https://developer.mozilla.org/docs/Web/CSS/flex\n */\n flex: string | number;\n } & PickCSSByPlatform<\n | 'flexWrap'\n | 'flexDirection'\n | 'flexGrow'\n | 'flexShrink'\n | 'flexBasis'\n | 'alignItems'\n | 'alignContent'\n | 'alignSelf'\n | 'justifyItems'\n | 'justifyContent'\n | 'justifySelf'\n | 'placeSelf'\n | 'placeItems'\n | 'order'\n >\n>;\n\ntype PositionProps = MakeObjectResponsive<\n {\n top: SpacingValueType;\n right: SpacingValueType;\n bottom: SpacingValueType;\n left: SpacingValueType;\n } & PickCSSByPlatform<'position' | 'zIndex'>\n>;\n\ntype GridProps = MakeObjectResponsive<\n PickCSSByPlatform<\n | 'grid'\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n | 'gridAutoFlow'\n | 'gridAutoRows'\n | 'gridAutoColumns'\n | 'gridTemplate'\n | 'gridTemplateAreas'\n | 'gridTemplateColumns'\n | 'gridTemplateRows'\n >\n>;\n\ntype ColorObjects = 'feedback' | 'surface' | 'interactive';\ntype BackgroundOnlyColorObjects = 'popup' | 'overlay';\ntype BackgroundColorString<\n T extends ColorObjects | BackgroundOnlyColorObjects\n> = `${T}.background.${DotNotationToken<Theme['colors'][T]['background']>}`;\ntype BorderColorString<T extends ColorObjects> = `${T}.border.${DotNotationToken<\n Theme['colors'][T]['border']\n>}`;\n\n// Created this as an array so I can reuse it for runtime validation\nconst validBoxAsValues = [\n 'div',\n 'section',\n 'footer',\n 'header',\n 'main',\n 'aside',\n 'nav',\n 'span',\n 'label',\n] as const;\n\ntype BoxAsType = typeof validBoxAsValues[number];\n\n// Visual props that are common for both Box and BaseBox\ntype CommonBoxVisualProps = MakeObjectResponsive<\n {\n borderRadius: keyof Border['radius'];\n borderWidth: keyof Border['width'];\n borderColor: BorderColorString<'surface'>;\n borderTopWidth: keyof Border['width'];\n borderTopColor: BorderColorString<'surface'>;\n borderRightWidth: keyof Border['width'];\n borderRightColor: BorderColorString<'surface'>;\n borderBottomWidth: keyof Border['width'];\n borderBottomColor: BorderColorString<'surface'>;\n borderLeftWidth: keyof Border['width'];\n borderLeftColor: BorderColorString<'surface'>;\n borderTopLeftRadius: keyof Border['radius'];\n borderTopRightRadius: keyof Border['radius'];\n borderBottomRightRadius: keyof Border['radius'];\n borderBottomLeftRadius: keyof Border['radius'];\n } & PickCSSByPlatform<\n | 'backgroundImage'\n | 'backgroundSize'\n | 'backgroundPosition'\n | 'backgroundOrigin'\n | 'backgroundRepeat'\n | 'pointerEvents'\n | 'opacity'\n | 'visibility'\n | 'transform'\n | 'transformOrigin'\n | 'clipPath'\n | 'borderStyle'\n | 'borderTopStyle'\n | 'borderBottomStyle'\n | 'borderLeftStyle'\n | 'borderRightStyle'\n > & {\n /**\n * Sets the elevation for Box\n *\n * eg: `theme.elevation.midRaised`\n *\n * @default `theme.elevation.lowRaised`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-elevation--docs\n */\n elevation?: keyof Elevation;\n }\n>;\n\n// Visual props that are specific BaseBox\n// This is used to ensure some of the more flexible BaseBox props are not passed to Box\ntype BaseBoxVisualProps = MakeObjectResponsive<\n {\n backgroundColor:\n | BackgroundColorString<'feedback'>\n | BackgroundColorString<'surface'>\n | BackgroundColorString<'interactive'>\n | BackgroundColorString<'overlay'>\n | BackgroundColorString<'popup'>\n | 'transparent'\n | (string & Record<never, never>);\n lineHeight: SpacingValueType;\n touchAction: CSSObject['touchAction'];\n userSelect: CSSObject['userSelect'];\n } & PickCSSByPlatform<\n | 'border'\n | 'borderLeft'\n | 'borderRight'\n | 'borderTop'\n | 'borderBottom'\n | 'opacity'\n | 'pointerEvents'\n | 'cursor'\n >\n>;\n\n// Visual props that are specific to Box\ntype BoxVisualProps = MakeObjectResponsive<{\n backgroundColor:\n | BackgroundColorString<'surface'>\n | BackgroundColorString<'overlay'>\n | 'transparent';\n}> & {\n // Intentionally keeping this outside of MakeObjectResponsive since we only want as to be string and not responsive object\n // styled-components do not support passing `as` prop as an object\n as: BoxAsType;\n};\n\ntype StyledPropsBlade = Partial<\n Omit<\n MarginProps &\n Pick<FlexboxProps, 'alignSelf' | 'justifySelf' | 'placeSelf' | 'order'> &\n PositionProps &\n Pick<\n GridProps,\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n > &\n Pick<LayoutProps, 'display'> &\n Pick<CommonBoxVisualProps, 'visibility'>,\n '__brand__'\n >\n>;\n\ntype BoxCallbackProps = Omit<\n Platform.Select<{\n web: {\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseOver: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseEnter: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseLeave: React.MouseEventHandler<HTMLElement>;\n onScroll: React.UIEventHandler<HTMLElement>;\n };\n native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;\n }>,\n '__brand__'\n>;\n\ntype BoxDragAndDropProps = Omit<\n Platform.Select<{\n web: {\n draggable: boolean;\n onDragStart: React.DragEventHandler<HTMLElement>;\n onDragEnter: React.DragEventHandler<HTMLElement>;\n onDragLeave: React.DragEventHandler<HTMLElement>;\n onDragOver: React.DragEventHandler<HTMLElement>;\n onDragEnd: React.DragEventHandler<HTMLElement>;\n onDrop: React.DragEventHandler<HTMLElement>;\n };\n native: Record<\n | 'draggable'\n | 'onDragStart'\n | 'onDragEnter'\n | 'onDragLeave'\n | 'onDragOver'\n | 'onDragEnd'\n | 'onDrop',\n undefined\n >;\n }>,\n '__brand__'\n>;\n\ntype BoxProps = Partial<\n PaddingProps &\n MarginProps &\n LayoutProps &\n FlexboxProps &\n PositionProps &\n GridProps &\n BoxCallbackProps &\n BoxDragAndDropProps &\n CommonBoxVisualProps &\n BoxVisualProps & {\n children?: React.ReactNode | React.ReactNode[];\n tabIndex?: number;\n id?: string;\n } & TestID &\n DataAnalyticsAttribute\n>;\n\n// Visual props have different types for BaseBox and Box. BaseBox has more flexible types and more props exposed.\n// So first we Omit Visual props of Box\n// Then we append BaseBoxVisualProps and some other props for styled-components like class and id\ntype BaseBoxProps = Omit<BoxProps, keyof BoxVisualProps> &\n Partial<\n DataAnalyticsAttribute &\n BaseBoxVisualProps & {\n className?: string;\n id?: string;\n tabIndex?: number;\n }\n > &\n BladeCommonEvents;\n\n// ref prop type\ntype BoxRefType = Platform.Select<{\n web: Omit<HTMLElement, 'style'>;\n native: View;\n}>;\n\nexport type { BaseBoxProps, BoxProps, BoxRefType, StyledPropsBlade, FlexboxProps };\nexport { validBoxAsValues };\n"],"names":["validBoxAsValues"],"mappings":"AA6GA;AACMA,IAAAA,gBAAgB,GAAG,CACvB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO;;;;"}
@@ -20,9 +20,9 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
20
20
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
21
  var validateBackgroundString = function validateBackgroundString(stringBackgroundColorValue) {
22
22
  if (true) {
23
- if (!stringBackgroundColorValue.startsWith('surface.background') && !stringBackgroundColorValue.startsWith('brand.') && stringBackgroundColorValue !== 'transparent') {
23
+ if (!stringBackgroundColorValue.startsWith('surface.background') && !stringBackgroundColorValue.startsWith('brand.') && !stringBackgroundColorValue.startsWith('overlay.') && stringBackgroundColorValue !== 'transparent') {
24
24
  throwBladeError({
25
- message: "Oops! Currently you can only use `transparent`, `surface.background.*`, and `brand.*` tokens with backgroundColor property but we received `".concat(stringBackgroundColorValue, "` instead.\n\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss \u2728"),
25
+ message: "Oops! Currently you can only use `transparent`, `surface.background.*`, `overlay.*` and `brand.*` tokens with backgroundColor property but we received `".concat(stringBackgroundColorValue, "` instead.\n\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss \u2728"),
26
26
  moduleName: 'Box'
27
27
  });
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Box.js","sources":["../../../../../../src/components/Box/Box.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from './BaseBox';\nimport type { BoxProps, BoxRefType, MakeValueResponsive } from './BaseBox/types';\nimport { validBoxAsValues } from './BaseBox/types/propsTypes';\nimport type { KeysRequired } from '~utils/types';\nimport { isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validateBackgroundString = (stringBackgroundColorValue: string): void => {\n if (__DEV__) {\n if (\n !stringBackgroundColorValue.startsWith('surface.background') &&\n !stringBackgroundColorValue.startsWith('brand.') &&\n stringBackgroundColorValue !== 'transparent'\n ) {\n throwBladeError({\n message: `Oops! Currently you can only use \\`transparent\\`, \\`surface.background.*\\`, and \\`brand.*\\` tokens with backgroundColor property but we received \\`${stringBackgroundColorValue}\\` instead.\\n\\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss ✨`,\n moduleName: 'Box',\n });\n }\n }\n};\n\nconst validateBackgroundProp = (\n responsiveBackgroundColor: MakeValueResponsive<string | undefined>,\n): void => {\n if (__DEV__) {\n if (responsiveBackgroundColor) {\n if (typeof responsiveBackgroundColor === 'string') {\n validateBackgroundString(responsiveBackgroundColor);\n return;\n }\n\n Object.values(responsiveBackgroundColor).forEach((backgroundColor) => {\n if (typeof backgroundColor === 'string') {\n validateBackgroundString(backgroundColor);\n }\n });\n }\n }\n};\n\n/**\n * This function is to filter out any unexpected props passed by the user\n */\nconst makeBoxProps = (\n props: BoxProps,\n): KeysRequired<Omit<BoxProps, 'testID' | 'id' | '__brand__'>> => {\n return {\n // Layout\n display: props.display,\n overflow: props.overflow,\n overflowX: props.overflowX,\n overflowY: props.overflowY,\n whiteSpace: props.whiteSpace,\n height: props.height,\n minHeight: props.minHeight,\n maxHeight: props.maxHeight,\n width: props.width,\n minWidth: props.minWidth,\n maxWidth: props.maxWidth,\n textAlign: props.textAlign,\n\n // Flex\n flex: props.flex,\n flexWrap: props.flexWrap,\n flexDirection: props.flexDirection,\n flexGrow: props.flexGrow,\n flexShrink: props.flexShrink,\n flexBasis: props.flexBasis,\n alignItems: props.alignItems,\n alignContent: props.alignContent,\n alignSelf: props.alignSelf,\n justifyItems: props.justifyItems,\n justifyContent: props.justifyContent,\n justifySelf: props.justifySelf,\n placeSelf: props.placeSelf,\n placeItems: props.placeItems,\n order: props.order,\n\n // Grid\n grid: props.grid,\n gridColumn: props.gridColumn,\n gridRow: props.gridRow,\n gridRowStart: props.gridRowStart,\n gridRowEnd: props.gridRowEnd,\n gridColumnStart: props.gridColumnStart,\n gridColumnEnd: props.gridColumnEnd,\n gridArea: props.gridArea,\n gridAutoFlow: props.gridAutoFlow,\n gridAutoRows: props.gridAutoRows,\n gridAutoColumns: props.gridAutoColumns,\n gridTemplate: props.gridTemplate,\n gridTemplateAreas: props.gridTemplateAreas,\n gridTemplateColumns: props.gridTemplateColumns,\n gridTemplateRows: props.gridTemplateRows,\n\n // Spacing\n padding: props.padding,\n paddingTop: props.paddingTop,\n paddingBottom: props.paddingBottom,\n paddingRight: props.paddingRight,\n paddingLeft: props.paddingLeft,\n paddingX: props.paddingX,\n paddingY: props.paddingY,\n margin: props.margin,\n marginBottom: props.marginBottom,\n marginTop: props.marginTop,\n marginRight: props.marginRight,\n marginLeft: props.marginLeft,\n marginX: props.marginX,\n marginY: props.marginY,\n gap: props.gap,\n rowGap: props.rowGap,\n columnGap: props.columnGap,\n\n // Position\n position: props.position,\n zIndex: props.zIndex,\n top: props.top,\n right: props.right,\n bottom: props.bottom,\n left: props.left,\n\n // Visual\n backgroundColor: props.backgroundColor,\n backgroundImage: props.backgroundImage,\n backgroundSize: props.backgroundSize,\n backgroundPosition: props.backgroundPosition,\n backgroundOrigin: props.backgroundOrigin,\n backgroundRepeat: props.backgroundRepeat,\n elevation: props.elevation,\n opacity: props.opacity,\n visibility: props.visibility,\n\n // Border\n borderWidth: props.borderWidth,\n borderColor: props.borderColor,\n borderStyle: props.borderStyle,\n borderTopWidth: props.borderTopWidth,\n borderTopColor: props.borderTopColor,\n borderTopStyle: props.borderTopStyle,\n borderRightWidth: props.borderRightWidth,\n borderRightColor: props.borderRightColor,\n borderRightStyle: props.borderRightStyle,\n borderBottomWidth: props.borderBottomWidth,\n borderBottomColor: props.borderBottomColor,\n borderBottomStyle: props.borderBottomStyle,\n borderLeftWidth: props.borderLeftWidth,\n borderLeftColor: props.borderLeftColor,\n borderLeftStyle: props.borderLeftStyle,\n borderRadius: props.borderRadius,\n borderTopLeftRadius: props.borderTopLeftRadius,\n borderTopRightRadius: props.borderTopRightRadius,\n borderBottomRightRadius: props.borderBottomRightRadius,\n borderBottomLeftRadius: props.borderBottomLeftRadius,\n\n // Polygon Support\n transform: props.transform,\n transformOrigin: props.transformOrigin,\n clipPath: props.clipPath,\n\n // callbacks\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseOver: props.onMouseOver,\n onScroll: props.onScroll,\n\n // Drag and Drop\n draggable: props.draggable,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragEnter: props.onDragEnter,\n onDragLeave: props.onDragLeave,\n onDragOver: props.onDragOver,\n onDrop: props.onDrop,\n\n pointerEvents: props.pointerEvents,\n children: props.children,\n tabIndex: props.tabIndex,\n as: isReactNative() ? undefined : props.as, // as is not supported on react-native\n };\n};\n\n/**\n * ## Box\n * \n * Box is the basic Layout component.\n *\n *\n * Box components supports most spacing CSS properties like `display`, `padding*`, `flex*`, `height`, `width`, etc.\n *\n * Check out {@linkcode BoxProps BoxPropsType} for complete list of props and [Layout RFC](https://github.com/razorpay/blade/blob/master/rfcs/2023-01-06-layout.md) for more details on API decision.\n * \n * ----\n * \n * ### Usage\n * \n * ```jsx\n * <Box display=\"flex\">\n * ```\n\n * #### Responsive Props\n *\n * ```jsx\n * <Box padding={{ base: 'spacing.3', m: 'spacing.10' }} />\n * ```\n * \n * #### Margin and Padding Shorthands\n * \n * ```jsx\n * <Box padding={[\"spacing.3\", \"spacing.10\"]} />\n * ```\n *\n * ---\n * \n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-box Box Documentation}\n * \n */\nconst _Box: React.ForwardRefRenderFunction<BoxRefType, BoxProps> = (props, ref) => {\n React.useEffect(() => {\n if (__DEV__) {\n validateBackgroundProp(props.backgroundColor);\n }\n }, [props.backgroundColor]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (props.as) {\n if (isReactNative()) {\n throwBladeError({\n message: '`as` prop is not supported on React Native',\n moduleName: 'Box',\n });\n }\n\n if (!validBoxAsValues.includes(props.as)) {\n throwBladeError({\n message: `Invalid \\`as\\` prop value - ${props.as}. Only ${validBoxAsValues.join(\n ', ',\n )} are valid values`,\n moduleName: 'Box',\n });\n }\n }\n }\n }, [props.as]);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n id={props.id}\n {...metaAttribute({ name: MetaConstants.Box, testID: props.testID })}\n {...makeBoxProps(props)}\n {...makeAnalyticsAttribute(props)}\n />\n );\n};\n\nconst Box = assignWithoutSideEffects(React.forwardRef(_Box), {\n displayName: 'Box',\n componentId: 'Box',\n});\n\nexport { Box, makeBoxProps };\n"],"names":["validateBackgroundString","stringBackgroundColorValue","startsWith","throwBladeError","message","concat","moduleName","validateBackgroundProp","responsiveBackgroundColor","Object","values","forEach","backgroundColor","makeBoxProps","props","display","overflow","overflowX","overflowY","whiteSpace","height","minHeight","maxHeight","width","minWidth","maxWidth","textAlign","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridColumnStart","gridColumnEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingBottom","paddingRight","paddingLeft","paddingX","paddingY","margin","marginBottom","marginTop","marginRight","marginLeft","marginX","marginY","gap","rowGap","columnGap","position","zIndex","top","right","bottom","left","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","elevation","opacity","visibility","borderWidth","borderColor","borderStyle","borderTopWidth","borderTopColor","borderTopStyle","borderRightWidth","borderRightColor","borderRightStyle","borderBottomWidth","borderBottomColor","borderBottomStyle","borderLeftWidth","borderLeftColor","borderLeftStyle","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","transform","transformOrigin","clipPath","onMouseEnter","onMouseLeave","onMouseOver","onScroll","draggable","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","pointerEvents","children","tabIndex","as","isReactNative","undefined","_Box","ref","React","useEffect","validBoxAsValues","includes","join","_jsx","BaseBox","_objectSpread","id","metaAttribute","name","MetaConstants","Box","testID","makeAnalyticsAttribute","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"Box.js","sources":["../../../../../../src/components/Box/Box.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from './BaseBox';\nimport type { BoxProps, BoxRefType, MakeValueResponsive } from './BaseBox/types';\nimport { validBoxAsValues } from './BaseBox/types/propsTypes';\nimport type { KeysRequired } from '~utils/types';\nimport { isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validateBackgroundString = (stringBackgroundColorValue: string): void => {\n if (__DEV__) {\n if (\n !stringBackgroundColorValue.startsWith('surface.background') &&\n !stringBackgroundColorValue.startsWith('brand.') &&\n !stringBackgroundColorValue.startsWith('overlay.') &&\n stringBackgroundColorValue !== 'transparent'\n ) {\n throwBladeError({\n message: `Oops! Currently you can only use \\`transparent\\`, \\`surface.background.*\\`, \\`overlay.*\\` and \\`brand.*\\` tokens with backgroundColor property but we received \\`${stringBackgroundColorValue}\\` instead.\\n\\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss ✨`,\n moduleName: 'Box',\n });\n }\n }\n};\n\nconst validateBackgroundProp = (\n responsiveBackgroundColor: MakeValueResponsive<string | undefined>,\n): void => {\n if (__DEV__) {\n if (responsiveBackgroundColor) {\n if (typeof responsiveBackgroundColor === 'string') {\n validateBackgroundString(responsiveBackgroundColor);\n return;\n }\n\n Object.values(responsiveBackgroundColor).forEach((backgroundColor) => {\n if (typeof backgroundColor === 'string') {\n validateBackgroundString(backgroundColor);\n }\n });\n }\n }\n};\n\n/**\n * This function is to filter out any unexpected props passed by the user\n */\nconst makeBoxProps = (\n props: BoxProps,\n): KeysRequired<Omit<BoxProps, 'testID' | 'id' | '__brand__'>> => {\n return {\n // Layout\n display: props.display,\n overflow: props.overflow,\n overflowX: props.overflowX,\n overflowY: props.overflowY,\n whiteSpace: props.whiteSpace,\n height: props.height,\n minHeight: props.minHeight,\n maxHeight: props.maxHeight,\n width: props.width,\n minWidth: props.minWidth,\n maxWidth: props.maxWidth,\n textAlign: props.textAlign,\n\n // Flex\n flex: props.flex,\n flexWrap: props.flexWrap,\n flexDirection: props.flexDirection,\n flexGrow: props.flexGrow,\n flexShrink: props.flexShrink,\n flexBasis: props.flexBasis,\n alignItems: props.alignItems,\n alignContent: props.alignContent,\n alignSelf: props.alignSelf,\n justifyItems: props.justifyItems,\n justifyContent: props.justifyContent,\n justifySelf: props.justifySelf,\n placeSelf: props.placeSelf,\n placeItems: props.placeItems,\n order: props.order,\n\n // Grid\n grid: props.grid,\n gridColumn: props.gridColumn,\n gridRow: props.gridRow,\n gridRowStart: props.gridRowStart,\n gridRowEnd: props.gridRowEnd,\n gridColumnStart: props.gridColumnStart,\n gridColumnEnd: props.gridColumnEnd,\n gridArea: props.gridArea,\n gridAutoFlow: props.gridAutoFlow,\n gridAutoRows: props.gridAutoRows,\n gridAutoColumns: props.gridAutoColumns,\n gridTemplate: props.gridTemplate,\n gridTemplateAreas: props.gridTemplateAreas,\n gridTemplateColumns: props.gridTemplateColumns,\n gridTemplateRows: props.gridTemplateRows,\n\n // Spacing\n padding: props.padding,\n paddingTop: props.paddingTop,\n paddingBottom: props.paddingBottom,\n paddingRight: props.paddingRight,\n paddingLeft: props.paddingLeft,\n paddingX: props.paddingX,\n paddingY: props.paddingY,\n margin: props.margin,\n marginBottom: props.marginBottom,\n marginTop: props.marginTop,\n marginRight: props.marginRight,\n marginLeft: props.marginLeft,\n marginX: props.marginX,\n marginY: props.marginY,\n gap: props.gap,\n rowGap: props.rowGap,\n columnGap: props.columnGap,\n\n // Position\n position: props.position,\n zIndex: props.zIndex,\n top: props.top,\n right: props.right,\n bottom: props.bottom,\n left: props.left,\n\n // Visual\n backgroundColor: props.backgroundColor,\n backgroundImage: props.backgroundImage,\n backgroundSize: props.backgroundSize,\n backgroundPosition: props.backgroundPosition,\n backgroundOrigin: props.backgroundOrigin,\n backgroundRepeat: props.backgroundRepeat,\n elevation: props.elevation,\n opacity: props.opacity,\n visibility: props.visibility,\n\n // Border\n borderWidth: props.borderWidth,\n borderColor: props.borderColor,\n borderStyle: props.borderStyle,\n borderTopWidth: props.borderTopWidth,\n borderTopColor: props.borderTopColor,\n borderTopStyle: props.borderTopStyle,\n borderRightWidth: props.borderRightWidth,\n borderRightColor: props.borderRightColor,\n borderRightStyle: props.borderRightStyle,\n borderBottomWidth: props.borderBottomWidth,\n borderBottomColor: props.borderBottomColor,\n borderBottomStyle: props.borderBottomStyle,\n borderLeftWidth: props.borderLeftWidth,\n borderLeftColor: props.borderLeftColor,\n borderLeftStyle: props.borderLeftStyle,\n borderRadius: props.borderRadius,\n borderTopLeftRadius: props.borderTopLeftRadius,\n borderTopRightRadius: props.borderTopRightRadius,\n borderBottomRightRadius: props.borderBottomRightRadius,\n borderBottomLeftRadius: props.borderBottomLeftRadius,\n\n // Polygon Support\n transform: props.transform,\n transformOrigin: props.transformOrigin,\n clipPath: props.clipPath,\n\n // callbacks\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseOver: props.onMouseOver,\n onScroll: props.onScroll,\n\n // Drag and Drop\n draggable: props.draggable,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragEnter: props.onDragEnter,\n onDragLeave: props.onDragLeave,\n onDragOver: props.onDragOver,\n onDrop: props.onDrop,\n\n pointerEvents: props.pointerEvents,\n children: props.children,\n tabIndex: props.tabIndex,\n as: isReactNative() ? undefined : props.as, // as is not supported on react-native\n };\n};\n\n/**\n * ## Box\n * \n * Box is the basic Layout component.\n *\n *\n * Box components supports most spacing CSS properties like `display`, `padding*`, `flex*`, `height`, `width`, etc.\n *\n * Check out {@linkcode BoxProps BoxPropsType} for complete list of props and [Layout RFC](https://github.com/razorpay/blade/blob/master/rfcs/2023-01-06-layout.md) for more details on API decision.\n * \n * ----\n * \n * ### Usage\n * \n * ```jsx\n * <Box display=\"flex\">\n * ```\n\n * #### Responsive Props\n *\n * ```jsx\n * <Box padding={{ base: 'spacing.3', m: 'spacing.10' }} />\n * ```\n * \n * #### Margin and Padding Shorthands\n * \n * ```jsx\n * <Box padding={[\"spacing.3\", \"spacing.10\"]} />\n * ```\n *\n * ---\n * \n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-box Box Documentation}\n * \n */\nconst _Box: React.ForwardRefRenderFunction<BoxRefType, BoxProps> = (props, ref) => {\n React.useEffect(() => {\n if (__DEV__) {\n validateBackgroundProp(props.backgroundColor);\n }\n }, [props.backgroundColor]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (props.as) {\n if (isReactNative()) {\n throwBladeError({\n message: '`as` prop is not supported on React Native',\n moduleName: 'Box',\n });\n }\n\n if (!validBoxAsValues.includes(props.as)) {\n throwBladeError({\n message: `Invalid \\`as\\` prop value - ${props.as}. Only ${validBoxAsValues.join(\n ', ',\n )} are valid values`,\n moduleName: 'Box',\n });\n }\n }\n }\n }, [props.as]);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n id={props.id}\n {...metaAttribute({ name: MetaConstants.Box, testID: props.testID })}\n {...makeBoxProps(props)}\n {...makeAnalyticsAttribute(props)}\n />\n );\n};\n\nconst Box = assignWithoutSideEffects(React.forwardRef(_Box), {\n displayName: 'Box',\n componentId: 'Box',\n});\n\nexport { Box, makeBoxProps };\n"],"names":["validateBackgroundString","stringBackgroundColorValue","startsWith","throwBladeError","message","concat","moduleName","validateBackgroundProp","responsiveBackgroundColor","Object","values","forEach","backgroundColor","makeBoxProps","props","display","overflow","overflowX","overflowY","whiteSpace","height","minHeight","maxHeight","width","minWidth","maxWidth","textAlign","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridColumnStart","gridColumnEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingBottom","paddingRight","paddingLeft","paddingX","paddingY","margin","marginBottom","marginTop","marginRight","marginLeft","marginX","marginY","gap","rowGap","columnGap","position","zIndex","top","right","bottom","left","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","elevation","opacity","visibility","borderWidth","borderColor","borderStyle","borderTopWidth","borderTopColor","borderTopStyle","borderRightWidth","borderRightColor","borderRightStyle","borderBottomWidth","borderBottomColor","borderBottomStyle","borderLeftWidth","borderLeftColor","borderLeftStyle","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","transform","transformOrigin","clipPath","onMouseEnter","onMouseLeave","onMouseOver","onScroll","draggable","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","pointerEvents","children","tabIndex","as","isReactNative","undefined","_Box","ref","React","useEffect","validBoxAsValues","includes","join","_jsx","BaseBox","_objectSpread","id","metaAttribute","name","MetaConstants","Box","testID","makeAnalyticsAttribute","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
@@ -34,7 +34,7 @@ var Separator = function Separator(_ref) {
34
34
  var listStyleNone = {
35
35
  listStyle: 'none'
36
36
  };
37
- var Breadcrumb = function Breadcrumb(_ref2) {
37
+ var _Breadcrumb = function _Breadcrumb(_ref2, ref) {
38
38
  var _ref2$size = _ref2.size,
39
39
  size = _ref2$size === void 0 ? 'medium' : _ref2$size,
40
40
  _ref2$color = _ref2.color,
@@ -52,6 +52,7 @@ var Breadcrumb = function Breadcrumb(_ref2) {
52
52
  };
53
53
  }, [size, color]);
54
54
  return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
55
+ ref: ref,
55
56
  as: "nav"
56
57
  }, getStyledProps(rest)), metaAttribute({
57
58
  name: MetaConstants.Breadcrumb
@@ -101,6 +102,7 @@ var Breadcrumb = function Breadcrumb(_ref2) {
101
102
  })
102
103
  }));
103
104
  };
105
+ var Breadcrumb = /*#__PURE__*/React__default.forwardRef(_Breadcrumb);
104
106
 
105
107
  export { Breadcrumb };
106
108
  //# sourceMappingURL=Breadcrumb.web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.web.js","sources":["../../../../../../src/components/Breadcrumb/Breadcrumb.web.tsx"],"sourcesContent":["/* eslint-disable react-native-a11y/has-valid-accessibility-role */\nimport React from 'react';\nimport type { BreadcrumbProps } from './types';\nimport { BreadcrumbContext } from './BreadcrumbContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst Separator = ({\n size,\n color,\n}: Pick<BreadcrumbProps, 'size' | 'color'>): React.ReactElement => {\n return (\n <Text\n as=\"span\"\n color={color === 'white' ? 'surface.text.staticWhite.muted' : 'surface.text.gray.muted'}\n size={size}\n weight=\"medium\"\n >\n /\n </Text>\n );\n};\n\nconst listStyleNone = { listStyle: 'none' };\n\nconst Breadcrumb = ({\n size = 'medium',\n color = 'primary',\n showLastSeparator = false,\n accessibilityLabel = 'Breadcrumb',\n children,\n ...rest\n}: BreadcrumbProps): React.ReactElement => {\n const contextValue = React.useMemo(() => ({ size, color }), [size, color]);\n\n return (\n <BaseBox\n as=\"nav\"\n {...getStyledProps(rest)}\n {...metaAttribute({ name: MetaConstants.Breadcrumb })}\n {...makeAnalyticsAttribute(rest)}\n >\n <BreadcrumbContext.Provider value={contextValue}>\n <BaseBox\n as=\"ol\"\n margin=\"spacing.0\"\n padding=\"spacing.0\"\n display=\"flex\"\n flexWrap=\"wrap\"\n gap=\"spacing.2\"\n alignItems=\"center\"\n style={listStyleNone}\n {...makeAccessible({ label: accessibilityLabel })}\n >\n {React.Children.map(children, (child, index) => {\n const ariaCurrent = (child as React.ReactElement)?.props?.isCurrentPage\n ? 'page'\n : undefined;\n\n return (\n <BaseBox\n key={index}\n as=\"li\"\n display=\"flex\"\n alignItems=\"center\"\n gap=\"spacing.2\"\n {...makeAccessible({ current: ariaCurrent })}\n {...metaAttribute({ name: MetaConstants.BreadcrumbItem })}\n >\n {child}\n <BaseBox as=\"span\" {...makeAccessible({ hidden: true })}>\n {index !== React.Children.count(children) - 1 && <Separator size={size} />}\n {index === React.Children.count(children) - 1 && showLastSeparator && (\n <Separator size={size} color={color} />\n )}\n </BaseBox>\n </BaseBox>\n );\n })}\n </BaseBox>\n </BreadcrumbContext.Provider>\n </BaseBox>\n );\n};\n\nexport { Breadcrumb };\n"],"names":["Separator","_ref","size","color","_jsx","Text","as","weight","children","listStyleNone","listStyle","Breadcrumb","_ref2","_ref2$size","_ref2$color","_ref2$showLastSeparat","showLastSeparator","_ref2$accessibilityLa","accessibilityLabel","rest","_objectWithoutProperties","_excluded","contextValue","React","useMemo","BaseBox","_objectSpread","getStyledProps","metaAttribute","name","MetaConstants","makeAnalyticsAttribute","BreadcrumbContext","Provider","value","margin","padding","display","flexWrap","gap","alignItems","style","makeAccessible","label","Children","map","child","index","_props","ariaCurrent","props","isCurrentPage","undefined","_jsxs","current","BreadcrumbItem","hidden","count"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumb.web.js","sources":["../../../../../../src/components/Breadcrumb/Breadcrumb.web.tsx"],"sourcesContent":["/* eslint-disable react-native-a11y/has-valid-accessibility-role */\nimport React from 'react';\nimport type { BreadcrumbProps } from './types';\nimport { BreadcrumbContext } from './BreadcrumbContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst Separator = ({\n size,\n color,\n}: Pick<BreadcrumbProps, 'size' | 'color'>): React.ReactElement => {\n return (\n <Text\n as=\"span\"\n color={color === 'white' ? 'surface.text.staticWhite.muted' : 'surface.text.gray.muted'}\n size={size}\n weight=\"medium\"\n >\n /\n </Text>\n );\n};\n\nconst listStyleNone = { listStyle: 'none' };\n\nconst _Breadcrumb = (\n {\n size = 'medium',\n color = 'primary',\n showLastSeparator = false,\n accessibilityLabel = 'Breadcrumb',\n children,\n ...rest\n }: BreadcrumbProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const contextValue = React.useMemo(() => ({ size, color }), [size, color]);\n\n return (\n <BaseBox\n ref={ref as never}\n as=\"nav\"\n {...getStyledProps(rest)}\n {...metaAttribute({ name: MetaConstants.Breadcrumb })}\n {...makeAnalyticsAttribute(rest)}\n >\n <BreadcrumbContext.Provider value={contextValue}>\n <BaseBox\n as=\"ol\"\n margin=\"spacing.0\"\n padding=\"spacing.0\"\n display=\"flex\"\n flexWrap=\"wrap\"\n gap=\"spacing.2\"\n alignItems=\"center\"\n style={listStyleNone}\n {...makeAccessible({ label: accessibilityLabel })}\n >\n {React.Children.map(children, (child, index) => {\n const ariaCurrent = (child as React.ReactElement)?.props?.isCurrentPage\n ? 'page'\n : undefined;\n\n return (\n <BaseBox\n key={index}\n as=\"li\"\n display=\"flex\"\n alignItems=\"center\"\n gap=\"spacing.2\"\n {...makeAccessible({ current: ariaCurrent })}\n {...metaAttribute({ name: MetaConstants.BreadcrumbItem })}\n >\n {child}\n <BaseBox as=\"span\" {...makeAccessible({ hidden: true })}>\n {index !== React.Children.count(children) - 1 && <Separator size={size} />}\n {index === React.Children.count(children) - 1 && showLastSeparator && (\n <Separator size={size} color={color} />\n )}\n </BaseBox>\n </BaseBox>\n );\n })}\n </BaseBox>\n </BreadcrumbContext.Provider>\n </BaseBox>\n );\n};\n\nconst Breadcrumb = React.forwardRef(_Breadcrumb);\n\nexport { Breadcrumb };\n"],"names":["Separator","_ref","size","color","_jsx","Text","as","weight","children","listStyleNone","listStyle","_Breadcrumb","_ref2","ref","_ref2$size","_ref2$color","_ref2$showLastSeparat","showLastSeparator","_ref2$accessibilityLa","accessibilityLabel","rest","_objectWithoutProperties","_excluded","contextValue","React","useMemo","BaseBox","_objectSpread","getStyledProps","metaAttribute","name","MetaConstants","Breadcrumb","makeAnalyticsAttribute","BreadcrumbContext","Provider","value","margin","padding","display","flexWrap","gap","alignItems","style","makeAccessible","label","Children","map","child","index","_props","ariaCurrent","props","isCurrentPage","undefined","_jsxs","current","BreadcrumbItem","hidden","count","forwardRef"],"mappings":"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"}
@@ -175,7 +175,7 @@ var getProps = function getProps(_ref3) {
175
175
  borderWidth: variant == 'secondary' ? makeBorderSize(theme.border.width.thin) : '0px',
176
176
  borderRadius: makeBorderSize(theme.border.radius.medium),
177
177
  motionDuration: 'duration.xquick',
178
- motionEasing: 'easing.standard.effective'
178
+ motionEasing: 'easing.standard'
179
179
  };
180
180
  if (isDisabled) {
181
181
  var disabledBackgroundColor = getIn(theme.colors, getBackgroundColorToken({
@@ -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.effective',\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 const disabled = buttonGroupProps.isDisabled ?? (isLoading || (isDisabled && !isLink));\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner accessibilityLabel=\"Loading\" size={spinnerSize} color={color} />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","concat","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","withConfig","displayName","componentId","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$isD","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"BaseButton.js","sources":["../../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography } from './buttonTokens';\nimport {\n textColor,\n backgroundColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?: '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 const disabled = buttonGroupProps.isDisabled ?? (isLoading || (isDisabled && !isLink));\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner accessibilityLabel=\"Loading\" size={spinnerSize} color={color} />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","concat","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","withConfig","displayName","componentId","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$isD","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
@@ -58,7 +58,7 @@ var StyledButton = /*#__PURE__*/styled.button.withConfig({
58
58
  color: props.disabled ? theme.colors.interactive.icon[emphasisColor].disabled : theme.colors.interactive.icon[emphasisColor].muted,
59
59
  transitionProperty: 'color, box-shadow',
60
60
  transitionDuration: castWebType(makeMotionTime(motionToken.duration.xquick)),
61
- transitionTimingFunction: motionToken.easing.standard.effective,
61
+ transitionTimingFunction: motionToken.easing.standard,
62
62
  '&:hover:not([disabled])': {
63
63
  color: theme.colors.interactive.icon[emphasisColor].subtle,
64
64
  backgroundColor: props.$isHighlighted ? getIn(theme.colors, highlightedHoverColorMap[emphasis]) : 'transparent'
@@ -1 +1 @@
1
- {"version":3,"file":"StyledIconButton.web.js","sources":["../../../../../../../src/components/Button/IconButton/StyledIconButton.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport styled from 'styled-components';\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport type { StyledIconButtonProps } from './types';\nimport { highlightedButtonSizeMap, highlightedHoverColorMap } from './tokens';\nimport { castWebType, makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { SubtleOrIntense } from '~tokens/theme/theme';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { throwBladeError } from '~utils/logger';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype StyledButtonProps = {\n emphasis: SubtleOrIntense;\n $isHighlighted: StyledIconButtonProps['isHighlighted'];\n $size: StyledIconButtonProps['size'];\n};\n\nconst StyledButton = styled.button<StyledButtonProps>((props) => {\n const { theme, emphasis } = props;\n const motionToken = theme.motion;\n\n const emphasisColor = emphasis === 'intense' ? 'gray' : 'staticWhite';\n\n if (__DEV__) {\n if (props.$size === 'large' && props.$isHighlighted) {\n throwBladeError({\n moduleName: 'IconButton',\n message: 'size large is not allowed with isHighlighted true',\n });\n return null;\n }\n }\n\n return {\n border: 'none',\n cursor: props.disabled ? 'not-allowed' : 'pointer',\n padding: 0,\n height: props.$isHighlighted\n ? // We throw error for size large on top\n makeSize(highlightedButtonSizeMap[props.$size as 'small' | 'medium'])\n : undefined,\n width: props.$isHighlighted\n ? makeSize(highlightedButtonSizeMap[props.$size as 'small' | 'medium'])\n : undefined,\n borderRadius: props.$isHighlighted ? theme.border.radius.round : theme.border.radius.small,\n background: 'transparent',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: props.disabled\n ? theme.colors.interactive.icon[emphasisColor].disabled\n : theme.colors.interactive.icon[emphasisColor].muted,\n transitionProperty: 'color, box-shadow',\n transitionDuration: castWebType(makeMotionTime(motionToken.duration.xquick)),\n transitionTimingFunction: motionToken.easing.standard.effective as string,\n\n '&:hover:not([disabled])': {\n color: theme.colors.interactive.icon[emphasisColor].subtle,\n backgroundColor: props.$isHighlighted\n ? getIn(theme.colors, highlightedHoverColorMap[emphasis])\n : 'transparent',\n },\n\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n color: theme.colors.interactive.icon[emphasisColor].subtle,\n },\n\n '&:active': {\n color: theme.colors.interactive.icon[emphasisColor].subtle,\n },\n };\n});\n\nconst StyledIconButton = React.forwardRef<HTMLButtonElement, StyledIconButtonProps>(\n (\n {\n icon: Icon,\n onClick,\n size,\n emphasis,\n accessibilityLabel,\n isDisabled,\n isHighlighted,\n testID,\n onBlur,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onPointerDown,\n onPointerEnter,\n onTouchEnd,\n onTouchStart,\n tabIndex,\n ...rest\n },\n ref,\n ): ReactElement => (\n <StyledButton\n ref={ref}\n onClick={castWebType(onClick)}\n emphasis={emphasis}\n type=\"button\"\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n onTouchEnd={onTouchEnd}\n onTouchStart={onTouchStart}\n disabled={isDisabled}\n $isHighlighted={isHighlighted}\n $size={size}\n tabIndex={tabIndex}\n {...makeAccessible({ label: accessibilityLabel })}\n {...metaAttribute({ name: MetaConstants.IconButton, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Icon size={size} color={isDisabled ? 'interactive.icon.gray.disabled' : 'currentColor'} />\n </StyledButton>\n ),\n);\n\nexport default StyledIconButton;\n"],"names":["StyledButton","styled","button","withConfig","displayName","componentId","props","theme","emphasis","motionToken","motion","emphasisColor","$size","$isHighlighted","throwBladeError","moduleName","message","border","cursor","disabled","padding","height","makeSize","highlightedButtonSizeMap","undefined","width","borderRadius","radius","round","small","background","display","alignItems","justifyContent","color","colors","interactive","icon","muted","transitionProperty","transitionDuration","castWebType","makeMotionTime","duration","xquick","transitionTimingFunction","easing","standard","effective","subtle","backgroundColor","getIn","highlightedHoverColorMap","_objectSpread","getFocusRingStyles","StyledIconButton","React","forwardRef","_ref","ref","Icon","onClick","size","accessibilityLabel","isDisabled","isHighlighted","testID","onBlur","onFocus","onMouseLeave","onMouseMove","onPointerDown","onPointerEnter","onTouchEnd","onTouchStart","tabIndex","rest","_objectWithoutProperties","_excluded","_jsx","type","makeAccessible","label","metaAttribute","name","MetaConstants","IconButton","makeAnalyticsAttribute","children"],"mappings":"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"}
1
+ {"version":3,"file":"StyledIconButton.web.js","sources":["../../../../../../../src/components/Button/IconButton/StyledIconButton.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport styled from 'styled-components';\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport type { StyledIconButtonProps } from './types';\nimport { highlightedButtonSizeMap, highlightedHoverColorMap } from './tokens';\nimport { castWebType, makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { SubtleOrIntense } from '~tokens/theme/theme';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { throwBladeError } from '~utils/logger';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype StyledButtonProps = {\n emphasis: SubtleOrIntense;\n $isHighlighted: StyledIconButtonProps['isHighlighted'];\n $size: StyledIconButtonProps['size'];\n};\n\nconst StyledButton = styled.button<StyledButtonProps>((props) => {\n const { theme, emphasis } = props;\n const motionToken = theme.motion;\n\n const emphasisColor = emphasis === 'intense' ? 'gray' : 'staticWhite';\n\n if (__DEV__) {\n if (props.$size === 'large' && props.$isHighlighted) {\n throwBladeError({\n moduleName: 'IconButton',\n message: 'size large is not allowed with isHighlighted true',\n });\n return null;\n }\n }\n\n return {\n border: 'none',\n cursor: props.disabled ? 'not-allowed' : 'pointer',\n padding: 0,\n height: props.$isHighlighted\n ? // We throw error for size large on top\n makeSize(highlightedButtonSizeMap[props.$size as 'small' | 'medium'])\n : undefined,\n width: props.$isHighlighted\n ? makeSize(highlightedButtonSizeMap[props.$size as 'small' | 'medium'])\n : undefined,\n borderRadius: props.$isHighlighted ? theme.border.radius.round : theme.border.radius.small,\n background: 'transparent',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: props.disabled\n ? theme.colors.interactive.icon[emphasisColor].disabled\n : theme.colors.interactive.icon[emphasisColor].muted,\n transitionProperty: 'color, box-shadow',\n transitionDuration: castWebType(makeMotionTime(motionToken.duration.xquick)),\n transitionTimingFunction: motionToken.easing.standard as string,\n\n '&:hover:not([disabled])': {\n color: theme.colors.interactive.icon[emphasisColor].subtle,\n backgroundColor: props.$isHighlighted\n ? getIn(theme.colors, highlightedHoverColorMap[emphasis])\n : 'transparent',\n },\n\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n color: theme.colors.interactive.icon[emphasisColor].subtle,\n },\n\n '&:active': {\n color: theme.colors.interactive.icon[emphasisColor].subtle,\n },\n };\n});\n\nconst StyledIconButton = React.forwardRef<HTMLButtonElement, StyledIconButtonProps>(\n (\n {\n icon: Icon,\n onClick,\n size,\n emphasis,\n accessibilityLabel,\n isDisabled,\n isHighlighted,\n testID,\n onBlur,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onPointerDown,\n onPointerEnter,\n onTouchEnd,\n onTouchStart,\n tabIndex,\n ...rest\n },\n ref,\n ): ReactElement => (\n <StyledButton\n ref={ref}\n onClick={castWebType(onClick)}\n emphasis={emphasis}\n type=\"button\"\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n onTouchEnd={onTouchEnd}\n onTouchStart={onTouchStart}\n disabled={isDisabled}\n $isHighlighted={isHighlighted}\n $size={size}\n tabIndex={tabIndex}\n {...makeAccessible({ label: accessibilityLabel })}\n {...metaAttribute({ name: MetaConstants.IconButton, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Icon size={size} color={isDisabled ? 'interactive.icon.gray.disabled' : 'currentColor'} />\n </StyledButton>\n ),\n);\n\nexport default StyledIconButton;\n"],"names":["StyledButton","styled","button","withConfig","displayName","componentId","props","theme","emphasis","motionToken","motion","emphasisColor","$size","$isHighlighted","throwBladeError","moduleName","message","border","cursor","disabled","padding","height","makeSize","highlightedButtonSizeMap","undefined","width","borderRadius","radius","round","small","background","display","alignItems","justifyContent","color","colors","interactive","icon","muted","transitionProperty","transitionDuration","castWebType","makeMotionTime","duration","xquick","transitionTimingFunction","easing","standard","subtle","backgroundColor","getIn","highlightedHoverColorMap","_objectSpread","getFocusRingStyles","StyledIconButton","React","forwardRef","_ref","ref","Icon","onClick","size","accessibilityLabel","isDisabled","isHighlighted","testID","onBlur","onFocus","onMouseLeave","onMouseMove","onPointerDown","onPointerEnter","onTouchEnd","onTouchStart","tabIndex","rest","_objectWithoutProperties","_excluded","_jsx","type","makeAccessible","label","metaAttribute","name","MetaConstants","IconButton","makeAnalyticsAttribute","children"],"mappings":"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"}
@@ -65,7 +65,7 @@ var StyledDivider = /*#__PURE__*/styled(BaseBox).withConfig({
65
65
  }))
66
66
  };
67
67
  });
68
- var _ButtonGroup = function _ButtonGroup(_ref3) {
68
+ var _ButtonGroup = function _ButtonGroup(_ref3, ref) {
69
69
  var children = _ref3.children,
70
70
  _ref3$isDisabled = _ref3.isDisabled,
71
71
  isDisabled = _ref3$isDisabled === void 0 ? false : _ref3$isDisabled,
@@ -89,6 +89,7 @@ var _ButtonGroup = function _ButtonGroup(_ref3) {
89
89
  return /*#__PURE__*/jsx(ButtonGroupProvider, {
90
90
  value: contextValue,
91
91
  children: /*#__PURE__*/jsx(StyledButtonGroup, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
92
+ ref: ref,
92
93
  color: color,
93
94
  variant: variant,
94
95
  isDisabled: isDisabled,
@@ -150,7 +151,7 @@ var _ButtonGroup = function _ButtonGroup(_ref3) {
150
151
  * Checkout {@link https://blade.razorpay.com/?path=/docs/components-buttongroup FileUpload Documentation}
151
152
  *
152
153
  */
153
- var ButtonGroup = /*#__PURE__*/assignWithoutSideEffects(_ButtonGroup, {
154
+ var ButtonGroup = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.forwardRef(_ButtonGroup), {
154
155
  displayName: 'ButtonGroup',
155
156
  componentId: 'ButtonGroup'
156
157
  });