@razorpay/blade 11.39.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) 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/Badge/Badge.js +10 -9
  22. package/build/lib/native/components/Badge/Badge.js.map +1 -1
  23. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +11 -10
  24. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  25. package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +8 -6
  26. package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
  27. package/build/lib/native/components/BottomNav/BottomNav.native.js +4 -10
  28. package/build/lib/native/components/BottomNav/BottomNav.native.js.map +1 -1
  29. package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  30. package/build/lib/native/components/Box/Box.js +1 -1
  31. package/build/lib/native/components/Box/Box.js.map +1 -1
  32. package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
  33. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  34. package/build/lib/native/components/Card/Card.js +1 -1
  35. package/build/lib/native/components/Card/Card.js.map +1 -1
  36. package/build/lib/native/components/Card/CardFooter.js +4 -8
  37. package/build/lib/native/components/Card/CardFooter.js.map +1 -1
  38. package/build/lib/native/components/Card/CardHeader.js +5 -9
  39. package/build/lib/native/components/Card/CardHeader.js.map +1 -1
  40. package/build/lib/native/components/Card/CardRoot.native.js +1 -1
  41. package/build/lib/native/components/Card/CardRoot.native.js.map +1 -1
  42. package/build/lib/native/components/Carousel/Carousel.native.js +1 -1
  43. package/build/lib/native/components/Carousel/Carousel.native.js.map +1 -1
  44. package/build/lib/native/components/Carousel/Indicators/StyledIndicatorButton.native.js +1 -1
  45. package/build/lib/native/components/Carousel/Indicators/StyledIndicatorButton.native.js.map +1 -1
  46. package/build/lib/native/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
  47. package/build/lib/native/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
  48. package/build/lib/native/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
  49. package/build/lib/native/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
  50. package/build/lib/native/components/Checkbox/Checkbox.js +6 -4
  51. package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
  52. package/build/lib/native/components/Checkbox/CheckboxIcon/Fade.native.js +1 -1
  53. package/build/lib/native/components/Checkbox/CheckboxIcon/Fade.native.js.map +1 -1
  54. package/build/lib/native/components/Chip/Chip.js +5 -3
  55. package/build/lib/native/components/Chip/Chip.js.map +1 -1
  56. package/build/lib/native/components/Chip/ChipGroup.js +4 -3
  57. package/build/lib/native/components/Chip/ChipGroup.js.map +1 -1
  58. package/build/lib/native/components/Chip/chipTokens.js +1 -1
  59. package/build/lib/native/components/Chip/chipTokens.js.map +1 -1
  60. package/build/lib/native/components/Collapsible/Collapsible.js +2 -2
  61. package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
  62. package/build/lib/native/components/Collapsible/commonStyles.js +1 -1
  63. package/build/lib/native/components/Collapsible/commonStyles.js.map +1 -1
  64. package/build/lib/native/components/Counter/Counter.js +13 -12
  65. package/build/lib/native/components/Counter/Counter.js.map +1 -1
  66. package/build/lib/native/components/Divider/Divider.js +2 -2
  67. package/build/lib/native/components/Divider/Divider.js.map +1 -1
  68. package/build/lib/native/components/Drawer/Drawer.native.js +4 -10
  69. package/build/lib/native/components/Drawer/Drawer.native.js.map +1 -1
  70. package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js +4 -9
  71. package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js.map +1 -1
  72. package/build/lib/native/components/Dropdown/Dropdown.js +2 -1
  73. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  74. package/build/lib/native/components/Fade/Fade.native.js +11 -0
  75. package/build/lib/native/components/Fade/Fade.native.js.map +1 -0
  76. package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js +3 -9
  77. package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
  78. package/build/lib/native/components/Form/FormLabel.js +10 -10
  79. package/build/lib/native/components/Indicator/Indicator.js +7 -6
  80. package/build/lib/native/components/Indicator/Indicator.js.map +1 -1
  81. package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js +1 -1
  82. package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js.map +1 -1
  83. package/build/lib/native/components/Input/BaseInput/BaseInput.js +2 -1
  84. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  85. package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js +3 -3
  86. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +8 -10
  87. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  88. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +9 -8
  89. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
  90. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
  91. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  92. package/build/lib/native/components/Link/BaseLink/BaseLink.js +1 -1
  93. package/build/lib/native/components/Link/BaseLink/BaseLink.js.map +1 -1
  94. package/build/lib/native/components/List/List.js +1 -1
  95. package/build/lib/native/components/List/List.js.map +1 -1
  96. package/build/lib/native/components/List/ListItem.js +8 -10
  97. package/build/lib/native/components/List/ListItem.js.map +1 -1
  98. package/build/lib/native/components/List/ListItemCode.js +3 -9
  99. package/build/lib/native/components/List/ListItemCode.js.map +1 -1
  100. package/build/lib/native/components/List/ListItemText.js +3 -8
  101. package/build/lib/native/components/List/ListItemText.js.map +1 -1
  102. package/build/lib/native/components/Menu/Menu.native.js +4 -10
  103. package/build/lib/native/components/Menu/Menu.native.js.map +1 -1
  104. package/build/lib/native/components/Menu/MenuItem.native.js +4 -10
  105. package/build/lib/native/components/Menu/MenuItem.native.js.map +1 -1
  106. package/build/lib/native/components/Menu/MenuOverlay.native.js +4 -10
  107. package/build/lib/native/components/Menu/MenuOverlay.native.js.map +1 -1
  108. package/build/lib/native/components/Menu/VisualSubComponents/MenuDivider.native.js +4 -10
  109. package/build/lib/native/components/Menu/VisualSubComponents/MenuDivider.native.js.map +1 -1
  110. package/build/lib/native/components/Menu/VisualSubComponents/MenuHeaderFooter.native.js +4 -10
  111. package/build/lib/native/components/Menu/VisualSubComponents/MenuHeaderFooter.native.js.map +1 -1
  112. package/build/lib/native/components/Modal/Modal.native.js +4 -9
  113. package/build/lib/native/components/Modal/Modal.native.js.map +1 -1
  114. package/build/lib/native/components/Modal/ModalBody.native.js +3 -8
  115. package/build/lib/native/components/Modal/ModalBody.native.js.map +1 -1
  116. package/build/lib/native/components/Modal/ModalFooter.native.js +3 -8
  117. package/build/lib/native/components/Modal/ModalFooter.native.js.map +1 -1
  118. package/build/lib/native/components/Modal/ModalHeader.native.js +3 -8
  119. package/build/lib/native/components/Modal/ModalHeader.native.js.map +1 -1
  120. package/build/lib/native/components/Morph/Morph.native.js +11 -0
  121. package/build/lib/native/components/Morph/Morph.native.js.map +1 -0
  122. package/build/lib/native/components/Move/Move.native.js +11 -0
  123. package/build/lib/native/components/Move/Move.native.js.map +1 -0
  124. package/build/lib/native/components/Popover/PopoverContent.js +6 -8
  125. package/build/lib/native/components/Popover/PopoverContent.js.map +1 -1
  126. package/build/lib/native/components/Popover/PopoverContentWrapper.native.js +1 -1
  127. package/build/lib/native/components/Popover/PopoverContentWrapper.native.js.map +1 -1
  128. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js +7 -9
  129. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js.map +1 -1
  130. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js +3 -8
  131. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js.map +1 -1
  132. package/build/lib/native/components/ProgressBar/ProgressBar.js +2 -2
  133. package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
  134. package/build/lib/native/components/Radio/Radio.js +2 -1
  135. package/build/lib/native/components/Radio/Radio.js.map +1 -1
  136. package/build/lib/native/components/Radio/RadioIcon/Fade.native.js +1 -1
  137. package/build/lib/native/components/Radio/RadioIcon/Fade.native.js.map +1 -1
  138. package/build/lib/native/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
  139. package/build/lib/native/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
  140. package/build/lib/native/components/Scale/Scale.native.js +11 -0
  141. package/build/lib/native/components/Scale/Scale.native.js.map +1 -0
  142. package/build/lib/native/components/SideNav/SideNav.native.js +4 -10
  143. package/build/lib/native/components/SideNav/SideNav.native.js.map +1 -1
  144. package/build/lib/native/components/SideNav/SideNavBody.native.js +4 -10
  145. package/build/lib/native/components/SideNav/SideNavBody.native.js.map +1 -1
  146. package/build/lib/native/components/SideNav/SideNavFooter.native.js +4 -10
  147. package/build/lib/native/components/SideNav/SideNavFooter.native.js.map +1 -1
  148. package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js +4 -10
  149. package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js.map +1 -1
  150. package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js +4 -10
  151. package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js.map +1 -1
  152. package/build/lib/native/components/SideNav/SideNavLevel.native.js +4 -10
  153. package/build/lib/native/components/SideNav/SideNavLevel.native.js.map +1 -1
  154. package/build/lib/native/components/SideNav/SideNavSection.native.js +4 -10
  155. package/build/lib/native/components/SideNav/SideNavSection.native.js.map +1 -1
  156. package/build/lib/native/components/SideNav/tokens.js.map +1 -1
  157. package/build/lib/native/components/Skeleton/PulseAnimation.native.js +1 -1
  158. package/build/lib/native/components/Skeleton/PulseAnimation.native.js.map +1 -1
  159. package/build/lib/native/components/Skeleton/Skeleton.js +2 -2
  160. package/build/lib/native/components/Skeleton/Skeleton.js.map +1 -1
  161. package/build/lib/native/components/Slide/Slide.native.js +11 -0
  162. package/build/lib/native/components/Slide/Slide.native.js.map +1 -0
  163. package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js +4 -3
  164. package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  165. package/build/lib/native/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
  166. package/build/lib/native/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
  167. package/build/lib/native/components/Spinner/Spinner/Spinner.js +2 -1
  168. package/build/lib/native/components/Spinner/Spinner/Spinner.js.map +1 -1
  169. package/build/lib/native/components/StepGroup/StepGroup.native.js +4 -10
  170. package/build/lib/native/components/StepGroup/StepGroup.native.js.map +1 -1
  171. package/build/lib/native/components/StepGroup/StepItem.native.js +4 -10
  172. package/build/lib/native/components/StepGroup/StepItem.native.js.map +1 -1
  173. package/build/lib/native/components/Switch/Switch.js +2 -1
  174. package/build/lib/native/components/Switch/Switch.js.map +1 -1
  175. package/build/lib/native/components/Switch/getTrackStyles.js +1 -1
  176. package/build/lib/native/components/Switch/getTrackStyles.js.map +1 -1
  177. package/build/lib/native/components/Switch/switchTokens.js +1 -1
  178. package/build/lib/native/components/Switch/switchTokens.js.map +1 -1
  179. package/build/lib/native/components/Table/Table.native.js +4 -9
  180. package/build/lib/native/components/Table/Table.native.js.map +1 -1
  181. package/build/lib/native/components/Table/TableBody.native.js +3 -8
  182. package/build/lib/native/components/Table/TableBody.native.js.map +1 -1
  183. package/build/lib/native/components/Table/TableEditableCell.native.js +3 -9
  184. package/build/lib/native/components/Table/TableEditableCell.native.js.map +1 -1
  185. package/build/lib/native/components/Table/TableFooter.native.js +3 -8
  186. package/build/lib/native/components/Table/TableFooter.native.js.map +1 -1
  187. package/build/lib/native/components/Table/TableHeader.native.js +3 -8
  188. package/build/lib/native/components/Table/TableHeader.native.js.map +1 -1
  189. package/build/lib/native/components/Table/TablePagination.native.js +3 -8
  190. package/build/lib/native/components/Table/TablePagination.native.js.map +1 -1
  191. package/build/lib/native/components/Table/TableToolbar.native.js +3 -8
  192. package/build/lib/native/components/Table/TableToolbar.native.js.map +1 -1
  193. package/build/lib/native/components/Table/tokens.js.map +1 -1
  194. package/build/lib/native/components/Tabs/Tabs.native.js +6 -8
  195. package/build/lib/native/components/Tabs/Tabs.native.js.map +1 -1
  196. package/build/lib/native/components/Tag/AnimatedTag.native.js +1 -1
  197. package/build/lib/native/components/Tag/AnimatedTag.native.js.map +1 -1
  198. package/build/lib/native/components/Tag/Tag.js +3 -2
  199. package/build/lib/native/components/Tag/Tag.js.map +1 -1
  200. package/build/lib/native/components/Tooltip/TooltipContent.js +8 -8
  201. package/build/lib/native/components/Tooltip/TooltipContentWrapper.native.js +1 -1
  202. package/build/lib/native/components/Tooltip/TooltipContentWrapper.native.js.map +1 -1
  203. package/build/lib/native/components/TopNav/TabNav/TabNav.native.js +4 -10
  204. package/build/lib/native/components/TopNav/TabNav/TabNav.native.js.map +1 -1
  205. package/build/lib/native/components/TopNav/TabNav/TabNavItem.native.js +4 -10
  206. package/build/lib/native/components/TopNav/TabNav/TabNavItem.native.js.map +1 -1
  207. package/build/lib/native/components/TopNav/TopNav.native.js +4 -10
  208. package/build/lib/native/components/TopNav/TopNav.native.js.map +1 -1
  209. package/build/lib/native/components/Typography/Code/Code.js +1 -1
  210. package/build/lib/native/components/Typography/Code/Code.js.map +1 -1
  211. package/build/lib/native/components/Typography/Display/Display.js +2 -2
  212. package/build/lib/native/components/Typography/Display/Display.js.map +1 -1
  213. package/build/lib/native/components/Typography/Heading/Heading.js +2 -2
  214. package/build/lib/native/components/Typography/Heading/Heading.js.map +1 -1
  215. package/build/lib/native/components/Typography/Text/Text.js +2 -2
  216. package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
  217. package/build/lib/native/components/index.js +5 -0
  218. package/build/lib/native/components/index.js.map +1 -1
  219. package/build/lib/native/tokens/global/motion.js +1 -1
  220. package/build/lib/native/tokens/global/motion.js.map +1 -1
  221. package/build/lib/native/utils/getMotionRefs.js +4 -0
  222. package/build/lib/native/utils/getMotionRefs.js.map +1 -0
  223. package/build/lib/web/development/components/Accordion/Accordion.js +6 -3
  224. package/build/lib/web/development/components/Accordion/Accordion.js.map +1 -1
  225. package/build/lib/web/development/components/Accordion/commonStyles.js +1 -1
  226. package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
  227. package/build/lib/web/development/components/ActionList/ActionList.js +3 -0
  228. package/build/lib/web/development/components/ActionList/ActionList.js.map +1 -1
  229. package/build/lib/web/development/components/Alert/Alert.js +6 -3
  230. package/build/lib/web/development/components/Alert/Alert.js.map +1 -1
  231. package/build/lib/web/development/components/Amount/Amount.js +3 -2
  232. package/build/lib/web/development/components/Amount/Amount.js.map +1 -1
  233. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js +12 -0
  234. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
  235. package/build/lib/web/development/components/Badge/Badge.js +4 -2
  236. package/build/lib/web/development/components/Badge/Badge.js.map +1 -1
  237. package/build/lib/web/development/components/BaseMotion/BaseMotion.js +123 -0
  238. package/build/lib/web/development/components/BaseMotion/BaseMotion.js.map +1 -0
  239. package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js +60 -0
  240. package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js.map +1 -0
  241. package/build/lib/web/development/components/BaseMotion/index.js +3 -0
  242. package/build/lib/web/development/components/BaseMotion/index.js.map +1 -0
  243. package/build/lib/web/development/components/BaseMotion/types.js +2 -0
  244. package/build/lib/web/development/components/BaseMotion/types.js.map +1 -0
  245. package/build/lib/web/development/components/BottomNav/BottomNav.web.js +4 -2
  246. package/build/lib/web/development/components/BottomNav/BottomNav.web.js.map +1 -1
  247. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +1 -1
  248. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
  249. package/build/lib/web/development/components/BottomSheet/BottomSheetBackdrop.web.js +1 -1
  250. package/build/lib/web/development/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
  251. package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  252. package/build/lib/web/development/components/Box/Box.js +2 -2
  253. package/build/lib/web/development/components/Box/Box.js.map +1 -1
  254. package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js +3 -1
  255. package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
  256. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +1 -1
  257. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  258. package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js +1 -1
  259. package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
  260. package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js +3 -2
  261. package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
  262. package/build/lib/web/development/components/Card/Card.js +3 -1
  263. package/build/lib/web/development/components/Card/Card.js.map +1 -1
  264. package/build/lib/web/development/components/Card/CardRoot.web.js +6 -4
  265. package/build/lib/web/development/components/Card/CardRoot.web.js.map +1 -1
  266. package/build/lib/web/development/components/Carousel/Carousel.web.js +6 -3
  267. package/build/lib/web/development/components/Carousel/Carousel.web.js.map +1 -1
  268. package/build/lib/web/development/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
  269. package/build/lib/web/development/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
  270. package/build/lib/web/development/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
  271. package/build/lib/web/development/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
  272. package/build/lib/web/development/components/Checkbox/Checkbox.js +13 -3
  273. package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
  274. package/build/lib/web/development/components/Checkbox/CheckboxIcon/Fade.web.js +2 -2
  275. package/build/lib/web/development/components/Checkbox/CheckboxIcon/Fade.web.js.map +1 -1
  276. package/build/lib/web/development/components/Chip/Chip.js +11 -2
  277. package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
  278. package/build/lib/web/development/components/Chip/ChipGroup.js +5 -2
  279. package/build/lib/web/development/components/Chip/ChipGroup.js.map +1 -1
  280. package/build/lib/web/development/components/Chip/chipTokens.js +1 -1
  281. package/build/lib/web/development/components/Chip/chipTokens.js.map +1 -1
  282. package/build/lib/web/development/components/Collapsible/Collapsible.js +6 -3
  283. package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
  284. package/build/lib/web/development/components/Collapsible/commonStyles.js +2 -2
  285. package/build/lib/web/development/components/Collapsible/commonStyles.js.map +1 -1
  286. package/build/lib/web/development/components/Counter/Counter.js +4 -2
  287. package/build/lib/web/development/components/Counter/Counter.js.map +1 -1
  288. package/build/lib/web/development/components/Divider/Divider.js +4 -2
  289. package/build/lib/web/development/components/Divider/Divider.js.map +1 -1
  290. package/build/lib/web/development/components/Drawer/Drawer.web.js +4 -4
  291. package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -1
  292. package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -3
  293. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  294. package/build/lib/web/development/components/Fade/Fade.web.js +62 -0
  295. package/build/lib/web/development/components/Fade/Fade.web.js.map +1 -0
  296. package/build/lib/web/development/components/Fade/index.js +2 -0
  297. package/build/lib/web/development/components/Fade/index.js.map +1 -0
  298. package/build/lib/web/development/components/FileUpload/FileUpload.web.js +11 -2
  299. package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
  300. package/build/lib/web/development/components/FileUpload/fileUploadTokens.js +1 -1
  301. package/build/lib/web/development/components/FileUpload/fileUploadTokens.js.map +1 -1
  302. package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js +1 -1
  303. package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js.map +1 -1
  304. package/build/lib/web/development/components/Indicator/Indicator.js +4 -2
  305. package/build/lib/web/development/components/Indicator/Indicator.js.map +1 -1
  306. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +3 -3
  307. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  308. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +21 -7
  309. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  310. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +2 -2
  311. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  312. package/build/lib/web/development/components/Link/BaseLink/BaseLink.js +1 -1
  313. package/build/lib/web/development/components/Link/BaseLink/BaseLink.js.map +1 -1
  314. package/build/lib/web/development/components/List/List.js +5 -3
  315. package/build/lib/web/development/components/List/List.js.map +1 -1
  316. package/build/lib/web/development/components/Modal/Modal.web.js +2 -2
  317. package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
  318. package/build/lib/web/development/components/Modal/ModalBackdrop.js +2 -2
  319. package/build/lib/web/development/components/Modal/ModalBackdrop.js.map +1 -1
  320. package/build/lib/web/development/components/Morph/Morph.web.js +48 -0
  321. package/build/lib/web/development/components/Morph/Morph.web.js.map +1 -0
  322. package/build/lib/web/development/components/Morph/index.js +2 -0
  323. package/build/lib/web/development/components/Morph/index.js.map +1 -0
  324. package/build/lib/web/development/components/Move/Move.web.js +66 -0
  325. package/build/lib/web/development/components/Move/Move.web.js.map +1 -0
  326. package/build/lib/web/development/components/Move/index.js +2 -0
  327. package/build/lib/web/development/components/Move/index.js.map +1 -0
  328. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js +1 -1
  329. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
  330. package/build/lib/web/development/components/ProgressBar/ProgressBar.js +8 -4
  331. package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
  332. package/build/lib/web/development/components/Radio/Radio.js +13 -3
  333. package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
  334. package/build/lib/web/development/components/Radio/RadioIcon/Fade.web.js +3 -3
  335. package/build/lib/web/development/components/Radio/RadioIcon/Fade.web.js.map +1 -1
  336. package/build/lib/web/development/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
  337. package/build/lib/web/development/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
  338. package/build/lib/web/development/components/Scale/Scale.web.js +47 -0
  339. package/build/lib/web/development/components/Scale/Scale.web.js.map +1 -0
  340. package/build/lib/web/development/components/Scale/index.js +2 -0
  341. package/build/lib/web/development/components/Scale/index.js.map +1 -0
  342. package/build/lib/web/development/components/SideNav/SideNav.web.js +7 -5
  343. package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
  344. package/build/lib/web/development/components/SideNav/tokens.js +1 -1
  345. package/build/lib/web/development/components/SideNav/tokens.js.map +1 -1
  346. package/build/lib/web/development/components/Skeleton/PulseAnimation.web.js +1 -1
  347. package/build/lib/web/development/components/Skeleton/PulseAnimation.web.js.map +1 -1
  348. package/build/lib/web/development/components/Skeleton/Skeleton.js +4 -1
  349. package/build/lib/web/development/components/Skeleton/Skeleton.js.map +1 -1
  350. package/build/lib/web/development/components/Slide/Slide.web.js +119 -0
  351. package/build/lib/web/development/components/Slide/Slide.web.js.map +1 -0
  352. package/build/lib/web/development/components/Slide/index.js +2 -0
  353. package/build/lib/web/development/components/Slide/index.js.map +1 -0
  354. package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js +6 -3
  355. package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  356. package/build/lib/web/development/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
  357. package/build/lib/web/development/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
  358. package/build/lib/web/development/components/Spinner/Spinner/Spinner.js +4 -1
  359. package/build/lib/web/development/components/Spinner/Spinner/Spinner.js.map +1 -1
  360. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +2 -2
  361. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  362. package/build/lib/web/development/components/Stagger/StaggerProvider.js +13 -0
  363. package/build/lib/web/development/components/Stagger/StaggerProvider.js.map +1 -0
  364. package/build/lib/web/development/components/StepGroup/StepGroup.web.js +5 -3
  365. package/build/lib/web/development/components/StepGroup/StepGroup.web.js.map +1 -1
  366. package/build/lib/web/development/components/StepGroup/StepItem.web.js +1 -1
  367. package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
  368. package/build/lib/web/development/components/Switch/AnimatedThumbIcon.web.js +1 -1
  369. package/build/lib/web/development/components/Switch/AnimatedThumbIcon.web.js.map +1 -1
  370. package/build/lib/web/development/components/Switch/Switch.js +13 -3
  371. package/build/lib/web/development/components/Switch/Switch.js.map +1 -1
  372. package/build/lib/web/development/components/Switch/getTrackStyles.js +1 -1
  373. package/build/lib/web/development/components/Switch/getTrackStyles.js.map +1 -1
  374. package/build/lib/web/development/components/Switch/switchTokens.js +6 -6
  375. package/build/lib/web/development/components/Switch/switchTokens.js.map +1 -1
  376. package/build/lib/web/development/components/Table/Table.web.js +4 -2
  377. package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
  378. package/build/lib/web/development/components/Table/tokens.js +2 -2
  379. package/build/lib/web/development/components/Table/tokens.js.map +1 -1
  380. package/build/lib/web/development/components/Tabs/TabIndicator.web.js +1 -1
  381. package/build/lib/web/development/components/Tabs/TabIndicator.web.js.map +1 -1
  382. package/build/lib/web/development/components/Tabs/TabItem.web.js +2 -2
  383. package/build/lib/web/development/components/Tabs/TabItem.web.js.map +1 -1
  384. package/build/lib/web/development/components/Tabs/Tabs.web.js +34 -1
  385. package/build/lib/web/development/components/Tabs/Tabs.web.js.map +1 -1
  386. package/build/lib/web/development/components/Tag/AnimatedTag.web.js +2 -2
  387. package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
  388. package/build/lib/web/development/components/Tag/Tag.js +31 -29
  389. package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
  390. package/build/lib/web/development/components/Toast/Toast.web.js +2 -2
  391. package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -1
  392. package/build/lib/web/development/components/Toast/ToastContainer.web.js +1 -1
  393. package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
  394. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js +2 -2
  395. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  396. package/build/lib/web/development/components/TopNav/TopNav.web.js +4 -2
  397. package/build/lib/web/development/components/TopNav/TopNav.web.js.map +1 -1
  398. package/build/lib/web/development/components/Typography/Code/Code.js +30 -27
  399. package/build/lib/web/development/components/Typography/Code/Code.js.map +1 -1
  400. package/build/lib/web/development/components/Typography/Display/Display.js +6 -2
  401. package/build/lib/web/development/components/Typography/Display/Display.js.map +1 -1
  402. package/build/lib/web/development/components/Typography/Heading/Heading.js +4 -1
  403. package/build/lib/web/development/components/Typography/Heading/Heading.js.map +1 -1
  404. package/build/lib/web/development/components/Typography/Text/Text.js +6 -10
  405. package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
  406. package/build/lib/web/development/components/index.js +10 -0
  407. package/build/lib/web/development/components/index.js.map +1 -1
  408. package/build/lib/web/development/tokens/global/motion.js +22 -28
  409. package/build/lib/web/development/tokens/global/motion.js.map +1 -1
  410. package/build/lib/web/development/utils/cssBezierToArray.js +12 -0
  411. package/build/lib/web/development/utils/cssBezierToArray.js.map +1 -0
  412. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -1
  413. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  414. package/build/lib/web/development/utils/getMotionRefs.js +86 -0
  415. package/build/lib/web/development/utils/getMotionRefs.js.map +1 -0
  416. package/build/lib/web/development/utils/msToSeconds.js +6 -0
  417. package/build/lib/web/development/utils/msToSeconds.js.map +1 -0
  418. package/build/lib/web/production/components/Accordion/Accordion.js +6 -3
  419. package/build/lib/web/production/components/Accordion/Accordion.js.map +1 -1
  420. package/build/lib/web/production/components/Accordion/commonStyles.js +1 -1
  421. package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
  422. package/build/lib/web/production/components/ActionList/ActionList.js +3 -0
  423. package/build/lib/web/production/components/ActionList/ActionList.js.map +1 -1
  424. package/build/lib/web/production/components/Alert/Alert.js +6 -3
  425. package/build/lib/web/production/components/Alert/Alert.js.map +1 -1
  426. package/build/lib/web/production/components/Amount/Amount.js +3 -2
  427. package/build/lib/web/production/components/Amount/Amount.js.map +1 -1
  428. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js +12 -0
  429. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
  430. package/build/lib/web/production/components/Badge/Badge.js +4 -2
  431. package/build/lib/web/production/components/Badge/Badge.js.map +1 -1
  432. package/build/lib/web/production/components/BaseMotion/BaseMotion.js +123 -0
  433. package/build/lib/web/production/components/BaseMotion/BaseMotion.js.map +1 -0
  434. package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js +60 -0
  435. package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js.map +1 -0
  436. package/build/lib/web/production/components/BaseMotion/index.js +3 -0
  437. package/build/lib/web/production/components/BaseMotion/index.js.map +1 -0
  438. package/build/lib/web/production/components/BaseMotion/types.js +2 -0
  439. package/build/lib/web/production/components/BaseMotion/types.js.map +1 -0
  440. package/build/lib/web/production/components/BottomNav/BottomNav.web.js +4 -2
  441. package/build/lib/web/production/components/BottomNav/BottomNav.web.js.map +1 -1
  442. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +1 -1
  443. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
  444. package/build/lib/web/production/components/BottomSheet/BottomSheetBackdrop.web.js +1 -1
  445. package/build/lib/web/production/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
  446. package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  447. package/build/lib/web/production/components/Box/Box.js +2 -2
  448. package/build/lib/web/production/components/Box/Box.js.map +1 -1
  449. package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js +3 -1
  450. package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
  451. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +1 -1
  452. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  453. package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js +1 -1
  454. package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
  455. package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js +3 -2
  456. package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
  457. package/build/lib/web/production/components/Card/Card.js +3 -1
  458. package/build/lib/web/production/components/Card/Card.js.map +1 -1
  459. package/build/lib/web/production/components/Card/CardRoot.web.js +6 -4
  460. package/build/lib/web/production/components/Card/CardRoot.web.js.map +1 -1
  461. package/build/lib/web/production/components/Carousel/Carousel.web.js +6 -3
  462. package/build/lib/web/production/components/Carousel/Carousel.web.js.map +1 -1
  463. package/build/lib/web/production/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
  464. package/build/lib/web/production/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
  465. package/build/lib/web/production/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
  466. package/build/lib/web/production/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
  467. package/build/lib/web/production/components/Checkbox/Checkbox.js +13 -3
  468. package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
  469. package/build/lib/web/production/components/Checkbox/CheckboxIcon/Fade.web.js +2 -2
  470. package/build/lib/web/production/components/Checkbox/CheckboxIcon/Fade.web.js.map +1 -1
  471. package/build/lib/web/production/components/Chip/Chip.js +11 -2
  472. package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
  473. package/build/lib/web/production/components/Chip/ChipGroup.js +5 -2
  474. package/build/lib/web/production/components/Chip/ChipGroup.js.map +1 -1
  475. package/build/lib/web/production/components/Chip/chipTokens.js +1 -1
  476. package/build/lib/web/production/components/Chip/chipTokens.js.map +1 -1
  477. package/build/lib/web/production/components/Collapsible/Collapsible.js +6 -3
  478. package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
  479. package/build/lib/web/production/components/Collapsible/commonStyles.js +2 -2
  480. package/build/lib/web/production/components/Collapsible/commonStyles.js.map +1 -1
  481. package/build/lib/web/production/components/Counter/Counter.js +4 -2
  482. package/build/lib/web/production/components/Counter/Counter.js.map +1 -1
  483. package/build/lib/web/production/components/Divider/Divider.js +4 -2
  484. package/build/lib/web/production/components/Divider/Divider.js.map +1 -1
  485. package/build/lib/web/production/components/Drawer/Drawer.web.js +4 -4
  486. package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -1
  487. package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -3
  488. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  489. package/build/lib/web/production/components/Fade/Fade.web.js +62 -0
  490. package/build/lib/web/production/components/Fade/Fade.web.js.map +1 -0
  491. package/build/lib/web/production/components/Fade/index.js +2 -0
  492. package/build/lib/web/production/components/Fade/index.js.map +1 -0
  493. package/build/lib/web/production/components/FileUpload/FileUpload.web.js +11 -2
  494. package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
  495. package/build/lib/web/production/components/FileUpload/fileUploadTokens.js +1 -1
  496. package/build/lib/web/production/components/FileUpload/fileUploadTokens.js.map +1 -1
  497. package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js +1 -1
  498. package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js.map +1 -1
  499. package/build/lib/web/production/components/Indicator/Indicator.js +4 -2
  500. package/build/lib/web/production/components/Indicator/Indicator.js.map +1 -1
  501. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +3 -3
  502. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  503. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +21 -7
  504. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  505. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +2 -2
  506. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  507. package/build/lib/web/production/components/Link/BaseLink/BaseLink.js +1 -1
  508. package/build/lib/web/production/components/Link/BaseLink/BaseLink.js.map +1 -1
  509. package/build/lib/web/production/components/List/List.js +5 -3
  510. package/build/lib/web/production/components/List/List.js.map +1 -1
  511. package/build/lib/web/production/components/Modal/Modal.web.js +2 -2
  512. package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
  513. package/build/lib/web/production/components/Modal/ModalBackdrop.js +2 -2
  514. package/build/lib/web/production/components/Modal/ModalBackdrop.js.map +1 -1
  515. package/build/lib/web/production/components/Morph/Morph.web.js +48 -0
  516. package/build/lib/web/production/components/Morph/Morph.web.js.map +1 -0
  517. package/build/lib/web/production/components/Morph/index.js +2 -0
  518. package/build/lib/web/production/components/Morph/index.js.map +1 -0
  519. package/build/lib/web/production/components/Move/Move.web.js +66 -0
  520. package/build/lib/web/production/components/Move/Move.web.js.map +1 -0
  521. package/build/lib/web/production/components/Move/index.js +2 -0
  522. package/build/lib/web/production/components/Move/index.js.map +1 -0
  523. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js +1 -1
  524. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
  525. package/build/lib/web/production/components/ProgressBar/ProgressBar.js +8 -4
  526. package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
  527. package/build/lib/web/production/components/Radio/Radio.js +13 -3
  528. package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
  529. package/build/lib/web/production/components/Radio/RadioIcon/Fade.web.js +3 -3
  530. package/build/lib/web/production/components/Radio/RadioIcon/Fade.web.js.map +1 -1
  531. package/build/lib/web/production/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
  532. package/build/lib/web/production/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
  533. package/build/lib/web/production/components/Scale/Scale.web.js +47 -0
  534. package/build/lib/web/production/components/Scale/Scale.web.js.map +1 -0
  535. package/build/lib/web/production/components/Scale/index.js +2 -0
  536. package/build/lib/web/production/components/Scale/index.js.map +1 -0
  537. package/build/lib/web/production/components/SideNav/SideNav.web.js +7 -5
  538. package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
  539. package/build/lib/web/production/components/SideNav/tokens.js +1 -1
  540. package/build/lib/web/production/components/SideNav/tokens.js.map +1 -1
  541. package/build/lib/web/production/components/Skeleton/PulseAnimation.web.js +1 -1
  542. package/build/lib/web/production/components/Skeleton/PulseAnimation.web.js.map +1 -1
  543. package/build/lib/web/production/components/Skeleton/Skeleton.js +4 -1
  544. package/build/lib/web/production/components/Skeleton/Skeleton.js.map +1 -1
  545. package/build/lib/web/production/components/Slide/Slide.web.js +119 -0
  546. package/build/lib/web/production/components/Slide/Slide.web.js.map +1 -0
  547. package/build/lib/web/production/components/Slide/index.js +2 -0
  548. package/build/lib/web/production/components/Slide/index.js.map +1 -0
  549. package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js +6 -3
  550. package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  551. package/build/lib/web/production/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
  552. package/build/lib/web/production/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
  553. package/build/lib/web/production/components/Spinner/Spinner/Spinner.js +4 -1
  554. package/build/lib/web/production/components/Spinner/Spinner/Spinner.js.map +1 -1
  555. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +2 -2
  556. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  557. package/build/lib/web/production/components/Stagger/StaggerProvider.js +13 -0
  558. package/build/lib/web/production/components/Stagger/StaggerProvider.js.map +1 -0
  559. package/build/lib/web/production/components/StepGroup/StepGroup.web.js +5 -3
  560. package/build/lib/web/production/components/StepGroup/StepGroup.web.js.map +1 -1
  561. package/build/lib/web/production/components/StepGroup/StepItem.web.js +1 -1
  562. package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
  563. package/build/lib/web/production/components/Switch/AnimatedThumbIcon.web.js +1 -1
  564. package/build/lib/web/production/components/Switch/AnimatedThumbIcon.web.js.map +1 -1
  565. package/build/lib/web/production/components/Switch/Switch.js +13 -3
  566. package/build/lib/web/production/components/Switch/Switch.js.map +1 -1
  567. package/build/lib/web/production/components/Switch/getTrackStyles.js +1 -1
  568. package/build/lib/web/production/components/Switch/getTrackStyles.js.map +1 -1
  569. package/build/lib/web/production/components/Switch/switchTokens.js +6 -6
  570. package/build/lib/web/production/components/Switch/switchTokens.js.map +1 -1
  571. package/build/lib/web/production/components/Table/Table.web.js +4 -2
  572. package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
  573. package/build/lib/web/production/components/Table/tokens.js +2 -2
  574. package/build/lib/web/production/components/Table/tokens.js.map +1 -1
  575. package/build/lib/web/production/components/Tabs/TabIndicator.web.js +1 -1
  576. package/build/lib/web/production/components/Tabs/TabIndicator.web.js.map +1 -1
  577. package/build/lib/web/production/components/Tabs/TabItem.web.js +2 -2
  578. package/build/lib/web/production/components/Tabs/TabItem.web.js.map +1 -1
  579. package/build/lib/web/production/components/Tabs/Tabs.web.js +34 -1
  580. package/build/lib/web/production/components/Tabs/Tabs.web.js.map +1 -1
  581. package/build/lib/web/production/components/Tag/AnimatedTag.web.js +2 -2
  582. package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
  583. package/build/lib/web/production/components/Tag/Tag.js +31 -29
  584. package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
  585. package/build/lib/web/production/components/Toast/Toast.web.js +2 -2
  586. package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -1
  587. package/build/lib/web/production/components/Toast/ToastContainer.web.js +1 -1
  588. package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
  589. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js +2 -2
  590. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  591. package/build/lib/web/production/components/TopNav/TopNav.web.js +4 -2
  592. package/build/lib/web/production/components/TopNav/TopNav.web.js.map +1 -1
  593. package/build/lib/web/production/components/Typography/Code/Code.js +30 -27
  594. package/build/lib/web/production/components/Typography/Code/Code.js.map +1 -1
  595. package/build/lib/web/production/components/Typography/Display/Display.js +6 -2
  596. package/build/lib/web/production/components/Typography/Display/Display.js.map +1 -1
  597. package/build/lib/web/production/components/Typography/Heading/Heading.js +4 -1
  598. package/build/lib/web/production/components/Typography/Heading/Heading.js.map +1 -1
  599. package/build/lib/web/production/components/Typography/Text/Text.js +6 -10
  600. package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
  601. package/build/lib/web/production/components/index.js +10 -0
  602. package/build/lib/web/production/components/index.js.map +1 -1
  603. package/build/lib/web/production/tokens/global/motion.js +22 -28
  604. package/build/lib/web/production/tokens/global/motion.js.map +1 -1
  605. package/build/lib/web/production/utils/cssBezierToArray.js +12 -0
  606. package/build/lib/web/production/utils/cssBezierToArray.js.map +1 -0
  607. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -1
  608. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  609. package/build/lib/web/production/utils/getMotionRefs.js +86 -0
  610. package/build/lib/web/production/utils/getMotionRefs.js.map +1 -0
  611. package/build/lib/web/production/utils/msToSeconds.js +6 -0
  612. package/build/lib/web/production/utils/msToSeconds.js.map +1 -0
  613. package/build/types/components/index.d.ts +17967 -5488
  614. package/build/types/components/index.native.d.ts +7923 -2158
  615. package/build/types/tokens/index.d.ts +103 -93
  616. package/build/types/tokens/index.native.d.ts +103 -93
  617. package/build/types/utils/index.d.ts +84 -71
  618. package/build/types/utils/index.native.d.ts +84 -71
  619. package/codemods/migrate-motion-tokens/transformers/__tests__/migrate-motion-tokens.test.ts +130 -0
  620. package/codemods/migrate-motion-tokens/transformers/index.ts +1 -0
  621. package/codemods/migrate-motion-tokens/transformers/migrate-motion.ts +24 -0
  622. package/codemods/migrate-motion-tokens/transformers/motionTokenMapping.json +11 -0
  623. package/package.json +3 -1
@@ -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
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroup.web.js","sources":["../../../../../../src/components/ButtonGroup/ButtonGroup.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { ButtonGroupProps } from './types';\nimport { StyledButtonGroup } from './StyledButtonGroup';\nimport { ButtonGroupProvider } from './ButtonGroupContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeBorderSize } from '~utils';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport { getBackgroundColorToken } from '~components/Button/BaseButton/BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport { throwBladeError } from '~utils/logger';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getDividerColorToken = ({\n color,\n variant,\n isDisabled,\n}: Pick<ButtonGroupProps, 'color' | 'isDisabled' | 'variant'>): DotNotationToken<\n Theme['colors']\n> => {\n if (variant === 'primary') {\n return 'surface.border.gray.subtle';\n }\n\n if (variant === 'secondary') {\n return getBackgroundColorToken({\n property: 'border',\n variant,\n color,\n state: isDisabled ? 'disabled' : 'default',\n });\n }\n\n return 'surface.border.gray.muted';\n};\n\nconst StyledDivider = styled(BaseBox)<Pick<ButtonGroupProps, 'color' | 'isDisabled' | 'variant'>>(\n ({ theme, color, variant, isDisabled }) => {\n return {\n borderWidth: 0,\n borderLeftStyle: 'solid',\n borderLeftWidth: makeBorderSize(theme.border.width.thin),\n alignSelf: 'stretch',\n color: getIn(theme.colors, getDividerColorToken({ color, variant, isDisabled })),\n };\n },\n);\n\nconst _ButtonGroup = ({\n children,\n isDisabled = false,\n size = 'medium',\n color = 'primary',\n variant = 'primary',\n isFullWidth = false,\n testID,\n ...rest\n}: ButtonGroupProps): React.ReactElement => {\n const contextValue = {\n isDisabled,\n size,\n color,\n variant,\n isFullWidth,\n };\n\n return (\n <ButtonGroupProvider value={contextValue}>\n <StyledButtonGroup\n color={color}\n variant={variant}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n {...metaAttribute({ name: MetaConstants.ButtonGroup, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n role=\"group\"\n >\n {React.Children.map(children, (child, index) => {\n if (__DEV__) {\n // throw error if child is not a button or dropdown with button trigger\n /* eslint-disable no-restricted-properties */\n if (\n !isValidAllowedChildren(child, 'Button') &&\n !(\n isValidAllowedChildren(child, 'Dropdown') &&\n (child as ReactElement).props.children.some((c: ReactElement) =>\n isValidAllowedChildren(c, 'DropdownButton'),\n )\n )\n ) {\n throwBladeError({\n moduleName: 'ButtonGroup',\n message: `Only \"Button\" or \"Dropdown\" component with Button trigger are allowed as children.`,\n });\n }\n /* eslint-enable no-restricted-properties */\n }\n\n return (\n <>\n {child}\n {React.Children.count(children) - 1 !== index && (\n <StyledDivider variant={variant} color={color} isDisabled={isDisabled} />\n )}\n </>\n );\n })}\n </StyledButtonGroup>\n </ButtonGroupProvider>\n );\n};\n\n/**\n * ### ButtonGroup Component\n * \n * The ButtonGroup component is used to group related buttons together.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const App = () => {\n return (\n <ButtonGroup>\n <Button icon={RefreshIcon}>Sync</Button>\n <Button icon={ShareIcon}>Share</Button>\n <Button icon={DownloadIcon}>Download</Button>\n </ButtonGroup>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-buttongroup FileUpload Documentation}\n * \n */\nconst ButtonGroup = assignWithoutSideEffects(_ButtonGroup, {\n displayName: 'ButtonGroup',\n componentId: 'ButtonGroup',\n});\n\nexport { ButtonGroup };\nexport type { ButtonGroupProps };\n"],"names":["getDividerColorToken","_ref","color","variant","isDisabled","getBackgroundColorToken","property","state","StyledDivider","styled","BaseBox","withConfig","displayName","componentId","_ref2","theme","borderWidth","borderLeftStyle","borderLeftWidth","makeBorderSize","border","width","thin","alignSelf","getIn","colors","_ButtonGroup","_ref3","children","_ref3$isDisabled","_ref3$size","size","_ref3$color","_ref3$variant","_ref3$isFullWidth","isFullWidth","testID","rest","_objectWithoutProperties","_excluded","contextValue","_jsx","ButtonGroupProvider","value","StyledButtonGroup","_objectSpread","metaAttribute","name","MetaConstants","ButtonGroup","getStyledProps","makeAnalyticsAttribute","role","React","Children","map","child","index","isValidAllowedChildren","props","some","c","throwBladeError","moduleName","message","_jsxs","_Fragment","count","assignWithoutSideEffects"],"mappings":"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"}
1
+ {"version":3,"file":"ButtonGroup.web.js","sources":["../../../../../../src/components/ButtonGroup/ButtonGroup.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { ButtonGroupProps } from './types';\nimport { StyledButtonGroup } from './StyledButtonGroup';\nimport { ButtonGroupProvider } from './ButtonGroupContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeBorderSize } from '~utils';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport { getBackgroundColorToken } from '~components/Button/BaseButton/BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport { throwBladeError } from '~utils/logger';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getDividerColorToken = ({\n color,\n variant,\n isDisabled,\n}: Pick<ButtonGroupProps, 'color' | 'isDisabled' | 'variant'>): DotNotationToken<\n Theme['colors']\n> => {\n if (variant === 'primary') {\n return 'surface.border.gray.subtle';\n }\n\n if (variant === 'secondary') {\n return getBackgroundColorToken({\n property: 'border',\n variant,\n color,\n state: isDisabled ? 'disabled' : 'default',\n });\n }\n\n return 'surface.border.gray.muted';\n};\n\nconst StyledDivider = styled(BaseBox)<Pick<ButtonGroupProps, 'color' | 'isDisabled' | 'variant'>>(\n ({ theme, color, variant, isDisabled }) => {\n return {\n borderWidth: 0,\n borderLeftStyle: 'solid',\n borderLeftWidth: makeBorderSize(theme.border.width.thin),\n alignSelf: 'stretch',\n color: getIn(theme.colors, getDividerColorToken({ color, variant, isDisabled })),\n };\n },\n);\n\nconst _ButtonGroup = (\n {\n children,\n isDisabled = false,\n size = 'medium',\n color = 'primary',\n variant = 'primary',\n isFullWidth = false,\n testID,\n ...rest\n }: ButtonGroupProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const contextValue = {\n isDisabled,\n size,\n color,\n variant,\n isFullWidth,\n };\n\n return (\n <ButtonGroupProvider value={contextValue}>\n <StyledButtonGroup\n ref={ref as never}\n color={color}\n variant={variant}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n {...metaAttribute({ name: MetaConstants.ButtonGroup, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n role=\"group\"\n >\n {React.Children.map(children, (child, index) => {\n if (__DEV__) {\n // throw error if child is not a button or dropdown with button trigger\n /* eslint-disable no-restricted-properties */\n if (\n !isValidAllowedChildren(child, 'Button') &&\n !(\n isValidAllowedChildren(child, 'Dropdown') &&\n (child as ReactElement).props.children.some((c: ReactElement) =>\n isValidAllowedChildren(c, 'DropdownButton'),\n )\n )\n ) {\n throwBladeError({\n moduleName: 'ButtonGroup',\n message: `Only \"Button\" or \"Dropdown\" component with Button trigger are allowed as children.`,\n });\n }\n /* eslint-enable no-restricted-properties */\n }\n\n return (\n <>\n {child}\n {React.Children.count(children) - 1 !== index && (\n <StyledDivider variant={variant} color={color} isDisabled={isDisabled} />\n )}\n </>\n );\n })}\n </StyledButtonGroup>\n </ButtonGroupProvider>\n );\n};\n\n/**\n * ### ButtonGroup Component\n * \n * The ButtonGroup component is used to group related buttons together.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const App = () => {\n return (\n <ButtonGroup>\n <Button icon={RefreshIcon}>Sync</Button>\n <Button icon={ShareIcon}>Share</Button>\n <Button icon={DownloadIcon}>Download</Button>\n </ButtonGroup>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-buttongroup FileUpload Documentation}\n * \n */\nconst ButtonGroup = assignWithoutSideEffects(React.forwardRef(_ButtonGroup), {\n displayName: 'ButtonGroup',\n componentId: 'ButtonGroup',\n});\n\nexport { ButtonGroup };\nexport type { ButtonGroupProps };\n"],"names":["getDividerColorToken","_ref","color","variant","isDisabled","getBackgroundColorToken","property","state","StyledDivider","styled","BaseBox","withConfig","displayName","componentId","_ref2","theme","borderWidth","borderLeftStyle","borderLeftWidth","makeBorderSize","border","width","thin","alignSelf","getIn","colors","_ButtonGroup","_ref3","ref","children","_ref3$isDisabled","_ref3$size","size","_ref3$color","_ref3$variant","_ref3$isFullWidth","isFullWidth","testID","rest","_objectWithoutProperties","_excluded","contextValue","_jsx","ButtonGroupProvider","value","StyledButtonGroup","_objectSpread","metaAttribute","name","MetaConstants","ButtonGroup","getStyledProps","makeAnalyticsAttribute","role","React","Children","map","child","index","isValidAllowedChildren","props","some","c","throwBladeError","moduleName","message","_jsxs","_Fragment","count","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
@@ -45,7 +45,7 @@ var ComponentIds = {
45
45
  CardHeaderLink: 'CardHeaderLink',
46
46
  CardHeaderIconButton: 'CardHeaderIconButton'
47
47
  };
48
- var Card = function Card(_ref) {
48
+ var _Card = function _Card(_ref, ref) {
49
49
  var children = _ref.children,
50
50
  _ref$backgroundColor = _ref.backgroundColor,
51
51
  backgroundColor = _ref$backgroundColor === void 0 ? 'surface.background.gray.intense' : _ref$backgroundColor,
@@ -98,6 +98,7 @@ var Card = function Card(_ref) {
98
98
  return /*#__PURE__*/jsx(CardProvider, {
99
99
  children: /*#__PURE__*/jsx(CardRoot, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
100
100
  as: as,
101
+ ref: ref,
101
102
  display: 'block',
102
103
  borderRadius: "medium",
103
104
  onMouseEnter: onHover,
@@ -152,6 +153,7 @@ var _CardBody = function _CardBody(_ref2) {
152
153
  children: children
153
154
  }));
154
155
  };
156
+ var Card = /*#__PURE__*/React__default.forwardRef(_Card);
155
157
  var CardBody = /*#__PURE__*/assignWithoutSideEffects(_CardBody, {
156
158
  componentId: ComponentIds.CardBody
157
159
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../../../../src/components/Card/Card.tsx"],"sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { CardSurface } from './CardSurface';\nimport { CardProvider, useVerifyInsideCard } from './CardContext';\nimport { LinkOverlay } from './LinkOverlay';\nimport { CardRoot } from './CardRoot';\nimport type { CardSpacingValueType, LinkOverlayProps } from './types';\nimport { CARD_LINK_OVERLAY_ID } from './constants';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { Elevation } from '~tokens/global';\nimport type { BoxProps } from '~components/Box';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport const ComponentIds = {\n CardHeader: 'CardHeader',\n CardHeaderTrailing: 'CardHeaderTrailing',\n CardHeaderLeading: 'CardHeaderLeading',\n CardFooter: 'CardFooter',\n CardFooterTrailing: 'CardFooterTrailing',\n CardFooterLeading: 'CardFooterLeading',\n CardBody: 'CardBody',\n CardHeaderIcon: 'CardHeaderIcon',\n CardHeaderCounter: 'CardHeaderCounter',\n CardHeaderBadge: 'CardHeaderBadge',\n CardHeaderAmount: 'CardHeaderAmount',\n CardHeaderText: 'CardHeaderText',\n CardHeaderLink: 'CardHeaderLink',\n CardHeaderIconButton: 'CardHeaderIconButton',\n};\n\ntype CardSurfaceBackgroundColors = `surface.background.gray.${DotNotationToken<\n Theme['colors']['surface']['background']['gray']\n>}`;\n\nexport type CardProps = {\n /**\n * Card contents\n */\n children: React.ReactNode;\n /**\n * Sets the background color of the Card\n *\n * @default `surface.background.gray.intense`\n */\n backgroundColor?: CardSurfaceBackgroundColors;\n /**\n * Sets the border radius of the Card\n *\n * @default `medium`\n */\n borderRadius?: Extract<BoxProps['borderRadius'], 'medium' | 'large' | 'xlarge'>;\n /**\n * Sets the elevation for Cards\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 * Sets the padding equally on all sides. Only few `spacing` tokens are allowed deliberately\n * @default `spacing.7`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-spacing--docs\n */\n padding?: CardSpacingValueType;\n /**\n * Sets the width of the card\n */\n width?: BoxProps['width'];\n /**\n * Sets the height of the card\n */\n height?: BoxProps['height'];\n /**\n * Sets minimum height of the card\n */\n minHeight?: BoxProps['minHeight'];\n /**\n * Sets minimum width of the card\n */\n minWidth?: BoxProps['minWidth'];\n /**\n * If `true`, the card will be in selected state\n * Card will have a primary color border around it.\n *\n * @default false\n */\n\n isSelected?: boolean;\n /**\n * Makes the Card linkable by setting the `href` prop\n *\n * @default undefined\n */\n href?: string;\n /**\n * Sets the `target` attribute for the linkable card\n */\n target?: string;\n /**\n * Sets the `rel` attribute for the linkable card\n */\n rel?: string;\n /**\n * Sets the accessibility label for the card\n * This is useful when the card has an `href` or `onClick` prop\n * Setting this will announce the label when the card is focused\n */\n accessibilityLabel?: string;\n /**\n * If `true`, the card will scale up on hover\n *\n * On mobile devices it will scale down on press\n *\n * @default false\n */\n shouldScaleOnHover?: boolean;\n /**\n * Callback triggered when the card is hovered\n */\n onHover?: () => void;\n /**\n * Callback triggered when the card is clicked\n */\n onClick?: (\n event: Platform.Select<{\n web: React.MouseEvent;\n native: GestureResponderEvent;\n }>,\n ) => void;\n /**\n * Sets the HTML element for the Card\n *\n * When `as` is set to `label`, the card will be rendered as a label element\n * This can be used to create a custom checkbox or radio button using the card\n *\n * @default undefined\n */\n as?: 'label';\n} & TestID &\n DataAnalyticsAttribute &\n StyledPropsBlade;\n\nconst Card = ({\n children,\n backgroundColor = 'surface.background.gray.intense',\n borderRadius = 'medium',\n elevation = 'lowRaised',\n testID,\n padding = 'spacing.7',\n width,\n height,\n minHeight,\n minWidth,\n onClick,\n isSelected = false,\n accessibilityLabel,\n shouldScaleOnHover = false,\n onHover,\n href,\n target,\n rel,\n as,\n ...rest\n}: CardProps): React.ReactElement => {\n const [isFocused, setIsFocused] = React.useState(false);\n\n useVerifyAllowedChildren({\n children,\n componentName: 'Card',\n allowedComponents: [ComponentIds.CardHeader, ComponentIds.CardBody, ComponentIds.CardFooter],\n });\n\n const linkOverlayProps: LinkOverlayProps = {\n ...metaAttribute({ name: CARD_LINK_OVERLAY_ID }),\n ...makeAccessible({ label: accessibilityLabel, pressed: isSelected }),\n onFocus: () => {\n setIsFocused(true);\n },\n onBlur: () => {\n setIsFocused(false);\n },\n };\n const defaultRel = target && target === '_blank' ? 'noreferrer noopener' : undefined;\n\n return (\n <CardProvider>\n <CardRoot\n as={as}\n display={'block' as never}\n borderRadius=\"medium\"\n onMouseEnter={onHover as never}\n shouldScaleOnHover={shouldScaleOnHover}\n isSelected={isSelected}\n isFocused={isFocused}\n // on react native we need to pass onClick to root, because we don't need the LinkOverlay in RN\n onClick={isReactNative() ? onClick : undefined}\n width={width}\n height={height}\n minHeight={minHeight}\n minWidth={minWidth}\n href={href}\n accessibilityLabel={accessibilityLabel}\n {...metaAttribute({ name: MetaConstants.Card, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <CardSurface\n height={height}\n minHeight={minHeight}\n padding={padding}\n borderRadius={borderRadius}\n elevation={elevation}\n textAlign={'left' as never}\n backgroundColor={backgroundColor}\n >\n {href ? (\n <LinkOverlay\n onClick={onClick}\n href={href}\n target={target}\n rel={rel ?? defaultRel}\n {...linkOverlayProps}\n />\n ) : null}\n {!href && onClick ? (\n <LinkOverlay as=\"button\" onClick={onClick} {...linkOverlayProps} />\n ) : null}\n {children}\n </CardSurface>\n </CardRoot>\n </CardProvider>\n );\n};\n\ntype CardBodyProps = {\n children: React.ReactNode;\n height?: BoxProps['height'];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardBody = ({ height, children, testID, ...rest }: CardBodyProps): React.ReactElement => {\n useVerifyInsideCard('CardBody');\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.CardBody, testID })}\n {...makeAnalyticsAttribute(rest)}\n height={height}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst CardBody = assignWithoutSideEffects(_CardBody, { componentId: ComponentIds.CardBody });\n\nexport { Card, CardBody };\n"],"names":["ComponentIds","CardHeader","CardHeaderTrailing","CardHeaderLeading","CardFooter","CardFooterTrailing","CardFooterLeading","CardBody","CardHeaderIcon","CardHeaderCounter","CardHeaderBadge","CardHeaderAmount","CardHeaderText","CardHeaderLink","CardHeaderIconButton","Card","_ref","children","_ref$backgroundColor","backgroundColor","_ref$borderRadius","borderRadius","_ref$elevation","elevation","testID","_ref$padding","padding","width","height","minHeight","minWidth","onClick","_ref$isSelected","isSelected","accessibilityLabel","_ref$shouldScaleOnHov","shouldScaleOnHover","onHover","href","target","rel","as","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","isFocused","setIsFocused","useVerifyAllowedChildren","componentName","allowedComponents","linkOverlayProps","_objectSpread","metaAttribute","name","CARD_LINK_OVERLAY_ID","makeAccessible","label","pressed","onFocus","onBlur","defaultRel","undefined","_jsx","CardProvider","CardRoot","display","onMouseEnter","isReactNative","MetaConstants","getStyledProps","makeAnalyticsAttribute","_jsxs","CardSurface","textAlign","LinkOverlay","_CardBody","_ref2","_excluded2","useVerifyInsideCard","BaseBox","assignWithoutSideEffects","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","sources":["../../../../../../src/components/Card/Card.tsx"],"sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { CardSurface } from './CardSurface';\nimport { CardProvider, useVerifyInsideCard } from './CardContext';\nimport { LinkOverlay } from './LinkOverlay';\nimport { CardRoot } from './CardRoot';\nimport type { CardSpacingValueType, LinkOverlayProps } from './types';\nimport { CARD_LINK_OVERLAY_ID } from './constants';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport type { DataAnalyticsAttribute, BladeElementRef, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { Elevation } from '~tokens/global';\nimport type { BoxProps } from '~components/Box';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport const ComponentIds = {\n CardHeader: 'CardHeader',\n CardHeaderTrailing: 'CardHeaderTrailing',\n CardHeaderLeading: 'CardHeaderLeading',\n CardFooter: 'CardFooter',\n CardFooterTrailing: 'CardFooterTrailing',\n CardFooterLeading: 'CardFooterLeading',\n CardBody: 'CardBody',\n CardHeaderIcon: 'CardHeaderIcon',\n CardHeaderCounter: 'CardHeaderCounter',\n CardHeaderBadge: 'CardHeaderBadge',\n CardHeaderAmount: 'CardHeaderAmount',\n CardHeaderText: 'CardHeaderText',\n CardHeaderLink: 'CardHeaderLink',\n CardHeaderIconButton: 'CardHeaderIconButton',\n};\n\ntype CardSurfaceBackgroundColors = `surface.background.gray.${DotNotationToken<\n Theme['colors']['surface']['background']['gray']\n>}`;\n\nexport type CardProps = {\n /**\n * Card contents\n */\n children: React.ReactNode;\n /**\n * Sets the background color of the Card\n *\n * @default `surface.background.gray.intense`\n */\n backgroundColor?: CardSurfaceBackgroundColors;\n /**\n * Sets the border radius of the Card\n *\n * @default `medium`\n */\n borderRadius?: Extract<BoxProps['borderRadius'], 'medium' | 'large' | 'xlarge'>;\n /**\n * Sets the elevation for Cards\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 * Sets the padding equally on all sides. Only few `spacing` tokens are allowed deliberately\n * @default `spacing.7`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-spacing--docs\n */\n padding?: CardSpacingValueType;\n /**\n * Sets the width of the card\n */\n width?: BoxProps['width'];\n /**\n * Sets the height of the card\n */\n height?: BoxProps['height'];\n /**\n * Sets minimum height of the card\n */\n minHeight?: BoxProps['minHeight'];\n /**\n * Sets minimum width of the card\n */\n minWidth?: BoxProps['minWidth'];\n /**\n * If `true`, the card will be in selected state\n * Card will have a primary color border around it.\n *\n * @default false\n */\n\n isSelected?: boolean;\n /**\n * Makes the Card linkable by setting the `href` prop\n *\n * @default undefined\n */\n href?: string;\n /**\n * Sets the `target` attribute for the linkable card\n */\n target?: string;\n /**\n * Sets the `rel` attribute for the linkable card\n */\n rel?: string;\n /**\n * Sets the accessibility label for the card\n * This is useful when the card has an `href` or `onClick` prop\n * Setting this will announce the label when the card is focused\n */\n accessibilityLabel?: string;\n /**\n * If `true`, the card will scale up on hover\n *\n * On mobile devices it will scale down on press\n *\n * **This prop is deprecated in favour of motion presets released in v12**\n *\n * ### Migration\n *\n * ```diff\n * - <Card\n * - shouldScaleOnHover\n * - />\n *\n * + <Scale motionTriggers={['hover']}>\n * + <Card />\n * + </Scale>\n * ```\n *\n * @default false\n *\n * @deprecated This prop is deprecated in favour of motion presets released in v12\n */\n shouldScaleOnHover?: boolean;\n /**\n * Callback triggered when the card is hovered\n */\n onHover?: () => void;\n /**\n * Callback triggered when the card is clicked\n */\n onClick?: (\n event: Platform.Select<{\n web: React.MouseEvent;\n native: GestureResponderEvent;\n }>,\n ) => void;\n /**\n * Sets the HTML element for the Card\n *\n * When `as` is set to `label`, the card will be rendered as a label element\n * This can be used to create a custom checkbox or radio button using the card\n *\n * @default undefined\n */\n as?: 'label';\n} & TestID &\n DataAnalyticsAttribute &\n StyledPropsBlade;\n\nconst _Card: React.ForwardRefRenderFunction<BladeElementRef, CardProps> = (\n {\n children,\n backgroundColor = 'surface.background.gray.intense',\n borderRadius = 'medium',\n elevation = 'lowRaised',\n testID,\n padding = 'spacing.7',\n width,\n height,\n minHeight,\n minWidth,\n onClick,\n isSelected = false,\n accessibilityLabel,\n shouldScaleOnHover = false,\n onHover,\n href,\n target,\n rel,\n as,\n ...rest\n },\n ref,\n): React.ReactElement => {\n const [isFocused, setIsFocused] = React.useState(false);\n\n useVerifyAllowedChildren({\n children,\n componentName: 'Card',\n allowedComponents: [ComponentIds.CardHeader, ComponentIds.CardBody, ComponentIds.CardFooter],\n });\n\n const linkOverlayProps: LinkOverlayProps = {\n ...metaAttribute({ name: CARD_LINK_OVERLAY_ID }),\n ...makeAccessible({ label: accessibilityLabel, pressed: isSelected }),\n onFocus: () => {\n setIsFocused(true);\n },\n onBlur: () => {\n setIsFocused(false);\n },\n };\n const defaultRel = target && target === '_blank' ? 'noreferrer noopener' : undefined;\n\n return (\n <CardProvider>\n <CardRoot\n as={as}\n ref={ref as never}\n display={'block' as never}\n borderRadius=\"medium\"\n onMouseEnter={onHover as never}\n shouldScaleOnHover={shouldScaleOnHover}\n isSelected={isSelected}\n isFocused={isFocused}\n // on react native we need to pass onClick to root, because we don't need the LinkOverlay in RN\n onClick={isReactNative() ? onClick : undefined}\n width={width}\n height={height}\n minHeight={minHeight}\n minWidth={minWidth}\n href={href}\n accessibilityLabel={accessibilityLabel}\n {...metaAttribute({ name: MetaConstants.Card, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <CardSurface\n height={height}\n minHeight={minHeight}\n padding={padding}\n borderRadius={borderRadius}\n elevation={elevation}\n textAlign={'left' as never}\n backgroundColor={backgroundColor}\n >\n {href ? (\n <LinkOverlay\n onClick={onClick}\n href={href}\n target={target}\n rel={rel ?? defaultRel}\n {...linkOverlayProps}\n />\n ) : null}\n {!href && onClick ? (\n <LinkOverlay as=\"button\" onClick={onClick} {...linkOverlayProps} />\n ) : null}\n {children}\n </CardSurface>\n </CardRoot>\n </CardProvider>\n );\n};\n\ntype CardBodyProps = {\n children: React.ReactNode;\n height?: BoxProps['height'];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardBody = ({ height, children, testID, ...rest }: CardBodyProps): React.ReactElement => {\n useVerifyInsideCard('CardBody');\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.CardBody, testID })}\n {...makeAnalyticsAttribute(rest)}\n height={height}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst Card = React.forwardRef(_Card);\nconst CardBody = assignWithoutSideEffects(_CardBody, { componentId: ComponentIds.CardBody });\n\nexport { Card, CardBody };\n"],"names":["ComponentIds","CardHeader","CardHeaderTrailing","CardHeaderLeading","CardFooter","CardFooterTrailing","CardFooterLeading","CardBody","CardHeaderIcon","CardHeaderCounter","CardHeaderBadge","CardHeaderAmount","CardHeaderText","CardHeaderLink","CardHeaderIconButton","_Card","_ref","ref","children","_ref$backgroundColor","backgroundColor","_ref$borderRadius","borderRadius","_ref$elevation","elevation","testID","_ref$padding","padding","width","height","minHeight","minWidth","onClick","_ref$isSelected","isSelected","accessibilityLabel","_ref$shouldScaleOnHov","shouldScaleOnHover","onHover","href","target","rel","as","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","isFocused","setIsFocused","useVerifyAllowedChildren","componentName","allowedComponents","linkOverlayProps","_objectSpread","metaAttribute","name","CARD_LINK_OVERLAY_ID","makeAccessible","label","pressed","onFocus","onBlur","defaultRel","undefined","_jsx","CardProvider","CardRoot","display","onMouseEnter","isReactNative","MetaConstants","Card","getStyledProps","makeAnalyticsAttribute","_jsxs","CardSurface","textAlign","LinkOverlay","_CardBody","_ref2","_excluded2","useVerifyInsideCard","BaseBox","forwardRef","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -35,13 +35,13 @@ var StyledCardRoot = /*#__PURE__*/styled(BaseBox).withConfig({
35
35
  return _objectSpread(_objectSpread(_objectSpread({
36
36
  // Selected state
37
37
  boxShadow: "".concat(selectedBorder).concat(focusRing),
38
- transitionDuration: castWebType(makeMotionTime(theme.motion.duration.xquick)),
39
- transitionTimingFunction: castWebType(theme.motion.easing.standard.effective),
40
- transitionProperty: 'transform, box-shadow',
41
38
  cursor: as === 'label' ? 'pointer' : 'initial'
42
39
  }, isMobile && isPressed && {
43
40
  transform: "scale(".concat(CARD_SCALE_DOWN_VALUE, ")")
44
41
  }), !isMobile && shouldScaleOnHover && {
42
+ transitionDuration: castWebType(makeMotionTime(theme.motion.duration.xquick)),
43
+ transitionTimingFunction: castWebType(theme.motion.easing.standard),
44
+ transitionProperty: 'transform, box-shadow',
45
45
  '&:hover': {
46
46
  transform: "scale(".concat(CARD_SCALE_UP_VALUE, ")")
47
47
  }
@@ -53,7 +53,7 @@ var StyledCardRoot = /*#__PURE__*/styled(BaseBox).withConfig({
53
53
  position: 'relative'
54
54
  }));
55
55
  });
56
- var CardRoot = function CardRoot(_ref2) {
56
+ var _CardRoot = function _CardRoot(_ref2, ref) {
57
57
  var as = _ref2.as,
58
58
  accessibilityLabel = _ref2.accessibilityLabel,
59
59
  children = _ref2.children,
@@ -64,6 +64,7 @@ var CardRoot = function CardRoot(_ref2) {
64
64
  isPressed = _React$useState2[0],
65
65
  setIsPressed = _React$useState2[1];
66
66
  return /*#__PURE__*/jsx(StyledCardRoot, _objectSpread(_objectSpread(_objectSpread({
67
+ ref: ref,
67
68
  as: as
68
69
  }, props), {}, {
69
70
  isMobile: isMobile,
@@ -86,6 +87,7 @@ var CardRoot = function CardRoot(_ref2) {
86
87
  children: children
87
88
  }));
88
89
  };
90
+ var CardRoot = /*#__PURE__*/React__default.forwardRef(_CardRoot);
89
91
 
90
92
  export { CardRoot };
91
93
  //# sourceMappingURL=CardRoot.web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardRoot.web.js","sources":["../../../../../../src/components/Card/CardRoot.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport React from 'react';\nimport type { CardRootProps } from './types';\nimport { CARD_LINK_OVERLAY_ID, CARD_SCALE_DOWN_VALUE, CARD_SCALE_UP_VALUE } from './constants';\nimport BaseBox from '~components/Box/BaseBox';\nimport { castWebType, makeMotionTime } from '~utils';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\n\nconst StyledCardRoot = styled(BaseBox)<CardRootProps & { isPressed: boolean; isMobile: boolean }>(\n ({ as, theme, isSelected, isFocused, shouldScaleOnHover, isPressed, isMobile }) => {\n const selectedColor = isSelected ? theme.colors.surface.border.primary.normal : 'transparent';\n const selectedBorder = `0px 0px 0px ${theme.border.width.thicker}px ${selectedColor}`;\n // focused state\n const focusRing = isFocused\n ? `, 0px 0px 0px 4px ${theme.colors.surface.border.primary.muted}`\n : '';\n\n return {\n // Selected state\n boxShadow: `${selectedBorder}${focusRing}`,\n transitionDuration: castWebType(makeMotionTime(theme.motion.duration.xquick)),\n transitionTimingFunction: castWebType(theme.motion.easing.standard.effective),\n transitionProperty: 'transform, box-shadow',\n cursor: as === 'label' ? 'pointer' : 'initial',\n\n // pressed state for mobile only\n ...(isMobile &&\n isPressed && {\n transform: `scale(${CARD_SCALE_DOWN_VALUE})`,\n }),\n\n // Hover state for desktop only\n ...(!isMobile &&\n shouldScaleOnHover && {\n '&:hover': {\n transform: `scale(${CARD_SCALE_UP_VALUE})`,\n },\n }),\n\n // uplift all the nested links so they receive clicks and events (except the LinkOverlay)\n // https://www.sarasoueidan.com/blog/nested-links\n [`& a[href]:not(a[data-blade-component=\"${CARD_LINK_OVERLAY_ID}\"])`]: {\n zIndex: 2,\n position: 'relative',\n },\n [`& button:not(button[data-blade-component=\"${CARD_LINK_OVERLAY_ID}\"])`]: {\n zIndex: 2,\n position: 'relative',\n },\n };\n },\n);\n\nconst CardRoot = ({\n as,\n accessibilityLabel,\n children,\n ...props\n}: CardRootProps): React.ReactElement => {\n const isMobile = useIsMobile();\n const [isPressed, setIsPressed] = React.useState(false);\n\n return (\n <StyledCardRoot\n as={as}\n {...props}\n isMobile={isMobile}\n isPressed={props.shouldScaleOnHover ? isPressed : false}\n onTouchStart={() => setIsPressed(true)}\n onTouchEnd={() => setIsPressed(false)}\n onMouseDown={() => setIsPressed(true)}\n onMouseUp={() => setIsPressed(false)}\n {...makeAccessible({\n label: as === 'label' ? accessibilityLabel : undefined,\n })}\n >\n {children}\n </StyledCardRoot>\n );\n};\n\nexport { CardRoot };\n"],"names":["StyledCardRoot","styled","BaseBox","withConfig","displayName","componentId","_ref","as","theme","isSelected","isFocused","shouldScaleOnHover","isPressed","isMobile","selectedColor","colors","surface","border","primary","normal","selectedBorder","concat","width","thicker","focusRing","muted","_objectSpread","boxShadow","transitionDuration","castWebType","makeMotionTime","motion","duration","xquick","transitionTimingFunction","easing","standard","effective","transitionProperty","cursor","transform","CARD_SCALE_DOWN_VALUE","CARD_SCALE_UP_VALUE","_defineProperty","CARD_LINK_OVERLAY_ID","zIndex","position","CardRoot","_ref2","accessibilityLabel","children","props","_objectWithoutProperties","_excluded","useIsMobile","_React$useState","React","useState","_React$useState2","_slicedToArray","setIsPressed","_jsx","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","makeAccessible","label","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"CardRoot.web.js","sources":["../../../../../../src/components/Card/CardRoot.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport React from 'react';\nimport type { CardRootProps } from './types';\nimport { CARD_LINK_OVERLAY_ID, CARD_SCALE_DOWN_VALUE, CARD_SCALE_UP_VALUE } from './constants';\nimport BaseBox from '~components/Box/BaseBox';\nimport { castWebType, makeMotionTime } from '~utils';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport type { BladeElementRef } from '~utils/types';\n\nconst StyledCardRoot = styled(BaseBox)<CardRootProps & { isPressed: boolean; isMobile: boolean }>(\n ({ as, theme, isSelected, isFocused, shouldScaleOnHover, isPressed, isMobile }) => {\n const selectedColor = isSelected ? theme.colors.surface.border.primary.normal : 'transparent';\n const selectedBorder = `0px 0px 0px ${theme.border.width.thicker}px ${selectedColor}`;\n // focused state\n const focusRing = isFocused\n ? `, 0px 0px 0px 4px ${theme.colors.surface.border.primary.muted}`\n : '';\n\n return {\n // Selected state\n boxShadow: `${selectedBorder}${focusRing}`,\n cursor: as === 'label' ? 'pointer' : 'initial',\n\n // pressed state for mobile only\n ...(isMobile &&\n isPressed && {\n transform: `scale(${CARD_SCALE_DOWN_VALUE})`,\n }),\n\n // Hover state for desktop only\n ...(!isMobile &&\n shouldScaleOnHover && {\n transitionDuration: castWebType(makeMotionTime(theme.motion.duration.xquick)),\n transitionTimingFunction: castWebType(theme.motion.easing.standard),\n transitionProperty: 'transform, box-shadow',\n\n '&:hover': {\n transform: `scale(${CARD_SCALE_UP_VALUE})`,\n },\n }),\n\n // uplift all the nested links so they receive clicks and events (except the LinkOverlay)\n // https://www.sarasoueidan.com/blog/nested-links\n [`& a[href]:not(a[data-blade-component=\"${CARD_LINK_OVERLAY_ID}\"])`]: {\n zIndex: 2,\n position: 'relative',\n },\n [`& button:not(button[data-blade-component=\"${CARD_LINK_OVERLAY_ID}\"])`]: {\n zIndex: 2,\n position: 'relative',\n },\n };\n },\n);\n\nconst _CardRoot: React.ForwardRefRenderFunction<BladeElementRef, CardRootProps> = (\n { as, accessibilityLabel, children, ...props },\n ref,\n): React.ReactElement => {\n const isMobile = useIsMobile();\n const [isPressed, setIsPressed] = React.useState(false);\n\n return (\n <StyledCardRoot\n ref={ref as never}\n as={as}\n {...props}\n isMobile={isMobile}\n isPressed={props.shouldScaleOnHover ? isPressed : false}\n onTouchStart={() => setIsPressed(true)}\n onTouchEnd={() => setIsPressed(false)}\n onMouseDown={() => setIsPressed(true)}\n onMouseUp={() => setIsPressed(false)}\n {...makeAccessible({\n label: as === 'label' ? accessibilityLabel : undefined,\n })}\n >\n {children}\n </StyledCardRoot>\n );\n};\n\nconst CardRoot = React.forwardRef(_CardRoot);\n\nexport { CardRoot };\n"],"names":["StyledCardRoot","styled","BaseBox","withConfig","displayName","componentId","_ref","as","theme","isSelected","isFocused","shouldScaleOnHover","isPressed","isMobile","selectedColor","colors","surface","border","primary","normal","selectedBorder","concat","width","thicker","focusRing","muted","_objectSpread","boxShadow","cursor","transform","CARD_SCALE_DOWN_VALUE","transitionDuration","castWebType","makeMotionTime","motion","duration","xquick","transitionTimingFunction","easing","standard","transitionProperty","CARD_SCALE_UP_VALUE","_defineProperty","CARD_LINK_OVERLAY_ID","zIndex","position","_CardRoot","_ref2","ref","accessibilityLabel","children","props","_objectWithoutProperties","_excluded","useIsMobile","_React$useState","React","useState","_React$useState2","_slicedToArray","setIsPressed","_jsx","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","makeAccessible","label","undefined","CardRoot","forwardRef"],"mappings":"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"}
@@ -104,7 +104,7 @@ var CarouselContainer = /*#__PURE__*/styled(BaseBox).withConfig({
104
104
  width: '100px',
105
105
  height: '100%',
106
106
  transitionDuration: castWebType(makeMotionTime(theme.motion.duration.gentle)),
107
- transitionTimingFunction: castWebType(theme.motion.easing.standard.effective),
107
+ transitionTimingFunction: castWebType(theme.motion.easing.standard),
108
108
  transitionProperty: 'opacity'
109
109
  };
110
110
  return _objectSpread({
@@ -193,7 +193,7 @@ var CarouselBody = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref)
193
193
  })
194
194
  }));
195
195
  });
196
- var Carousel = function Carousel(_ref4) {
196
+ var _Carousel = function _Carousel(_ref4, ref) {
197
197
  var autoPlay = _ref4.autoPlay,
198
198
  _ref4$visibleItems = _ref4.visibleItems,
199
199
  visibleItems = _ref4$visibleItems === void 0 ? 1 : _ref4$visibleItems,
@@ -440,7 +440,9 @@ var Carousel = function Carousel(_ref4) {
440
440
  }, [carouselId, startEndMargin, isResponsive, _visibleItems, carouselItemWidth, totalNumberOfSlides, activeSlide, shouldAddStartEndSpacing]);
441
441
  return /*#__PURE__*/jsx(CarouselContext.Provider, {
442
442
  value: carouselContext,
443
- children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
443
+ children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
444
+ ref: ref
445
+ }, metaAttribute({
444
446
  name: MetaConstants.Carousel
445
447
  })), {}, {
446
448
  // stop autoplaying when any elements in carousel is in focus
@@ -534,6 +536,7 @@ var Carousel = function Carousel(_ref4) {
534
536
  }))
535
537
  });
536
538
  };
539
+ var Carousel = /*#__PURE__*/React__default.forwardRef(_Carousel);
537
540
 
538
541
  export { Carousel };
539
542
  //# sourceMappingURL=Carousel.web.js.map