@razorpay/blade 12.111.0 → 12.120.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 (352) hide show
  1. package/assets/spark/colorama-center-gradient-map-dark.jpg +0 -0
  2. package/assets/spark/colorama-gradient-map-dark.png +0 -0
  3. package/build/lib/native/components/Button/BaseButton/BaseButton.js +3 -3
  4. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  5. package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
  6. package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
  7. package/build/lib/native/components/Charts/AreaChart/AreaChart.native.js +2 -1
  8. package/build/lib/native/components/Charts/AreaChart/AreaChart.native.js.map +1 -1
  9. package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponents.native.js +2 -2
  10. package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponents.native.js.map +1 -1
  11. package/build/lib/native/components/Charts/CommonChartComponents/index.js +1 -1
  12. package/build/lib/native/components/Charts/CommonChartComponents/tokens.js +2 -2
  13. package/build/lib/native/components/Charts/CommonChartComponents/tokens.js.map +1 -1
  14. package/build/lib/native/components/Charts/LineChart/LineChart.native.js +4 -2
  15. package/build/lib/native/components/Charts/LineChart/LineChart.native.js.map +1 -1
  16. package/build/lib/native/components/Charts/utils/nullBridgeUtils.js +4 -0
  17. package/build/lib/native/components/Charts/utils/nullBridgeUtils.js.map +1 -0
  18. package/build/lib/native/components/Charts/utils/referenceBandUtils.js +6 -0
  19. package/build/lib/native/components/Charts/utils/referenceBandUtils.js.map +1 -0
  20. package/build/lib/native/components/CounterInput/CounterInput.native.js +3 -2
  21. package/build/lib/native/components/CounterInput/CounterInput.native.js.map +1 -1
  22. package/build/lib/native/components/CounterInput/token.js +2 -2
  23. package/build/lib/native/components/CounterInput/token.js.map +1 -1
  24. package/build/lib/native/components/DatePicker/Calendar.native.js +2 -2
  25. package/build/lib/native/components/DatePicker/Calendar.native.js.map +1 -1
  26. package/build/lib/native/components/DatePicker/utils.js +2 -2
  27. package/build/lib/native/components/DatePicker/utils.js.map +1 -1
  28. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  29. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  30. package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js +1 -1
  31. package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js.map +1 -1
  32. package/build/lib/native/components/Dropdown/dropdownUtils.js +1 -1
  33. package/build/lib/native/components/Dropdown/dropdownUtils.js.map +1 -1
  34. package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js +1 -1
  35. package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js.map +1 -1
  36. package/build/lib/native/components/Dropdown/useDropdown.js +1 -1
  37. package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
  38. package/build/lib/native/components/FloatingActionButton/FloatingActionButton.js +14 -0
  39. package/build/lib/native/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  40. package/build/lib/native/components/FloatingActionButton/FloatingActionButtonContainer.native.js +20 -0
  41. package/build/lib/native/components/FloatingActionButton/FloatingActionButtonContainer.native.js.map +1 -0
  42. package/build/lib/native/components/FloatingActionButton/index.js +2 -0
  43. package/build/lib/native/components/FloatingActionButton/index.js.map +1 -0
  44. package/build/lib/native/components/GenUI/GenUIContext.native.js +2 -2
  45. package/build/lib/native/components/GenUI/GenUIContext.native.js.map +1 -1
  46. package/build/lib/native/components/GenUI/index.js +1 -1
  47. package/build/lib/native/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +14 -0
  48. package/build/lib/native/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
  49. package/build/lib/native/components/Icons/BookmarkFilledIcon/index.js +2 -0
  50. package/build/lib/native/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
  51. package/build/lib/native/components/Icons/index.js +1 -0
  52. package/build/lib/native/components/Icons/index.js.map +1 -1
  53. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +1 -1
  54. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
  55. package/build/lib/native/components/Input/OTPInput/OTPInput.js +1 -1
  56. package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
  57. package/build/lib/native/components/Spark/RzpGlass/utils.native.js +1 -1
  58. package/build/lib/native/components/Spark/RzpGlass/utils.native.js.map +1 -1
  59. package/build/lib/native/components/TreeView/TreeView.native.js +4 -0
  60. package/build/lib/native/components/TreeView/TreeView.native.js.map +1 -0
  61. package/build/lib/native/components/TreeView/index.native.js +2 -0
  62. package/build/lib/native/components/TreeView/index.native.js.map +1 -0
  63. package/build/lib/native/components/index.js +7 -2
  64. package/build/lib/native/components/index.js.map +1 -1
  65. package/build/lib/native/tokens/global/colors.js +1 -1
  66. package/build/lib/native/tokens/global/colors.js.map +1 -1
  67. package/build/lib/native/tokens/index.js +1 -0
  68. package/build/lib/native/tokens/index.js.map +1 -1
  69. package/build/lib/native/tokens/theme/bladeNeutralTheme.js +15 -0
  70. package/build/lib/native/tokens/theme/bladeNeutralTheme.js.map +1 -0
  71. package/build/lib/native/tokens/theme/bladeTheme.js +1 -1
  72. package/build/lib/native/tokens/theme/bladeTheme.js.map +1 -1
  73. package/build/lib/native/tokens/theme/index.js +1 -0
  74. package/build/lib/native/tokens/theme/index.js.map +1 -1
  75. package/build/lib/native/tokens/theme/theme.js.map +1 -1
  76. package/build/lib/native/utils/componentZIndices.js +1 -1
  77. package/build/lib/native/utils/componentZIndices.js.map +1 -1
  78. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  79. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  80. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js +1 -1
  81. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
  82. package/build/lib/web/development/_virtual/cloneDeep.js +1 -1
  83. package/build/lib/web/development/_virtual/cloneDeep3.js +1 -1
  84. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +124 -73
  85. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  86. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +68 -2
  87. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
  88. package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js +206 -18
  89. package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
  90. package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js +159 -43
  91. package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
  92. package/build/lib/web/development/components/Charts/CommonChartComponents/index.js +1 -1
  93. package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js +15 -2
  94. package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js.map +1 -1
  95. package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js +272 -15
  96. package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js.map +1 -1
  97. package/build/lib/web/development/components/Charts/LineChart/useReferenceBand.js +195 -0
  98. package/build/lib/web/development/components/Charts/LineChart/useReferenceBand.js.map +1 -0
  99. package/build/lib/web/development/components/Charts/utils/nullBridgeUtils.js +175 -0
  100. package/build/lib/web/development/components/Charts/utils/nullBridgeUtils.js.map +1 -0
  101. package/build/lib/web/development/components/Charts/utils/referenceBandUtils.js +66 -0
  102. package/build/lib/web/development/components/Charts/utils/referenceBandUtils.js.map +1 -0
  103. package/build/lib/web/development/components/CounterInput/CounterInput.web.js +29 -5
  104. package/build/lib/web/development/components/CounterInput/CounterInput.web.js.map +1 -1
  105. package/build/lib/web/development/components/CounterInput/StyledCounterInput.js +20 -4
  106. package/build/lib/web/development/components/CounterInput/StyledCounterInput.js.map +1 -1
  107. package/build/lib/web/development/components/CounterInput/token.js +6 -1
  108. package/build/lib/web/development/components/CounterInput/token.js.map +1 -1
  109. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +20 -0
  110. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  111. package/build/lib/web/development/components/DatePicker/Calendar.web.js +9 -2
  112. package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
  113. package/build/lib/web/development/components/DatePicker/utils.js +21 -1
  114. package/build/lib/web/development/components/DatePicker/utils.js.map +1 -1
  115. package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
  116. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  117. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +20 -12
  118. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  119. package/build/lib/web/development/components/Dropdown/dropdownUtils.js +28 -2
  120. package/build/lib/web/development/components/Dropdown/dropdownUtils.js.map +1 -1
  121. package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js +15 -1
  122. package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js.map +1 -1
  123. package/build/lib/web/development/components/Dropdown/useDropdown.js +91 -5
  124. package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
  125. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButton.js +126 -0
  126. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  127. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButtonContainer.web.js +45 -0
  128. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButtonContainer.web.js.map +1 -0
  129. package/build/lib/web/development/components/FloatingActionButton/index.js +2 -0
  130. package/build/lib/web/development/components/FloatingActionButton/index.js.map +1 -0
  131. package/build/lib/web/development/components/GenUI/GenUIComponents.web.js.map +1 -1
  132. package/build/lib/web/development/components/GenUI/GenUIContext.web.js +9 -1
  133. package/build/lib/web/development/components/GenUI/GenUIContext.web.js.map +1 -1
  134. package/build/lib/web/development/components/GenUI/GenUIProvider.web.js +17 -0
  135. package/build/lib/web/development/components/GenUI/GenUIProvider.web.js.map +1 -1
  136. package/build/lib/web/development/components/GenUI/GenUISchemaRenderer.web.js +31 -6
  137. package/build/lib/web/development/components/GenUI/GenUISchemaRenderer.web.js.map +1 -1
  138. package/build/lib/web/development/components/GenUI/index.js +1 -1
  139. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +44 -0
  140. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
  141. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/index.js +2 -0
  142. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
  143. package/build/lib/web/development/components/Icons/index.js +1 -0
  144. package/build/lib/web/development/components/Icons/index.js.map +1 -1
  145. package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +3 -0
  146. package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
  147. package/build/lib/web/development/components/PopupArrow/PopupArrow.web.js +7 -1
  148. package/build/lib/web/development/components/PopupArrow/PopupArrow.web.js.map +1 -1
  149. package/build/lib/web/development/components/RollingText/RollingText.web.js +27 -20
  150. package/build/lib/web/development/components/RollingText/RollingText.web.js.map +1 -1
  151. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js +16 -7
  152. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
  153. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js +24 -6
  154. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
  155. package/build/lib/web/development/components/Spark/RzpGlass/presets.js +30 -1
  156. package/build/lib/web/development/components/Spark/RzpGlass/presets.js.map +1 -1
  157. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
  158. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
  159. package/build/lib/web/development/components/Spark/RzpGlass/utils.js +26 -10
  160. package/build/lib/web/development/components/Spark/RzpGlass/utils.js.map +1 -1
  161. package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js +31 -18
  162. package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
  163. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +14 -3
  164. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  165. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js +23 -4
  166. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  167. package/build/lib/web/development/components/SpotlightPopoverTour/utils.js +58 -1
  168. package/build/lib/web/development/components/SpotlightPopoverTour/utils.js.map +1 -1
  169. package/build/lib/web/development/components/TreeView/StyledTreeViewRow.web.js +41 -0
  170. package/build/lib/web/development/components/TreeView/StyledTreeViewRow.web.js.map +1 -0
  171. package/build/lib/web/development/components/TreeView/TreeView.web.js +696 -0
  172. package/build/lib/web/development/components/TreeView/TreeView.web.js.map +1 -0
  173. package/build/lib/web/development/components/TreeView/TreeViewAnimator.web.js +184 -0
  174. package/build/lib/web/development/components/TreeView/TreeViewAnimator.web.js.map +1 -0
  175. package/build/lib/web/development/components/TreeView/TreeViewChevron.web.js +73 -0
  176. package/build/lib/web/development/components/TreeView/TreeViewChevron.web.js.map +1 -0
  177. package/build/lib/web/development/components/TreeView/TreeViewItem.web.js +295 -0
  178. package/build/lib/web/development/components/TreeView/TreeViewItem.web.js.map +1 -0
  179. package/build/lib/web/development/components/TreeView/TreeViewLoadMore.web.js +173 -0
  180. package/build/lib/web/development/components/TreeView/TreeViewLoadMore.web.js.map +1 -0
  181. package/build/lib/web/development/components/TreeView/componentIds.js +8 -0
  182. package/build/lib/web/development/components/TreeView/componentIds.js.map +1 -0
  183. package/build/lib/web/development/components/TreeView/index.web.js +4 -0
  184. package/build/lib/web/development/components/TreeView/index.web.js.map +1 -0
  185. package/build/lib/web/development/components/TreeView/treeViewUtils.js +475 -0
  186. package/build/lib/web/development/components/TreeView/treeViewUtils.js.map +1 -0
  187. package/build/lib/web/development/components/TreeView/useTreeView.js +24 -0
  188. package/build/lib/web/development/components/TreeView/useTreeView.js.map +1 -0
  189. package/build/lib/web/development/components/index.js +9 -2
  190. package/build/lib/web/development/components/index.js.map +1 -1
  191. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
  192. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
  193. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
  194. package/build/lib/web/development/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
  195. package/build/lib/web/development/tokens/global/colors.js +2 -2
  196. package/build/lib/web/development/tokens/global/colors.js.map +1 -1
  197. package/build/lib/web/development/tokens/index.js +1 -0
  198. package/build/lib/web/development/tokens/index.js.map +1 -1
  199. package/build/lib/web/development/tokens/theme/bladeNeutralTheme.js +1439 -0
  200. package/build/lib/web/development/tokens/theme/bladeNeutralTheme.js.map +1 -0
  201. package/build/lib/web/development/tokens/theme/bladeTheme.js +48 -12
  202. package/build/lib/web/development/tokens/theme/bladeTheme.js.map +1 -1
  203. package/build/lib/web/development/tokens/theme/index.js +1 -0
  204. package/build/lib/web/development/tokens/theme/index.js.map +1 -1
  205. package/build/lib/web/development/tokens/theme/theme.js.map +1 -1
  206. package/build/lib/web/development/utils/componentZIndices.js +2 -0
  207. package/build/lib/web/development/utils/componentZIndices.js.map +1 -1
  208. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +4 -0
  209. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  210. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +12 -4
  211. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
  212. package/build/lib/web/development/utils/useTruncationTitle/useTruncationTitle.web.js +2 -2
  213. package/build/lib/web/development/utils/useTruncationTitle/useTruncationTitle.web.js.map +1 -1
  214. package/build/lib/web/production/_virtual/flatten.js +1 -1
  215. package/build/lib/web/production/_virtual/flatten3.js +1 -1
  216. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +124 -73
  217. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  218. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +68 -2
  219. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  220. package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js +206 -18
  221. package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
  222. package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js +159 -43
  223. package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
  224. package/build/lib/web/production/components/Charts/CommonChartComponents/index.js +1 -1
  225. package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js +15 -2
  226. package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js.map +1 -1
  227. package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js +272 -15
  228. package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js.map +1 -1
  229. package/build/lib/web/production/components/Charts/LineChart/useReferenceBand.js +195 -0
  230. package/build/lib/web/production/components/Charts/LineChart/useReferenceBand.js.map +1 -0
  231. package/build/lib/web/production/components/Charts/utils/nullBridgeUtils.js +175 -0
  232. package/build/lib/web/production/components/Charts/utils/nullBridgeUtils.js.map +1 -0
  233. package/build/lib/web/production/components/Charts/utils/referenceBandUtils.js +66 -0
  234. package/build/lib/web/production/components/Charts/utils/referenceBandUtils.js.map +1 -0
  235. package/build/lib/web/production/components/CounterInput/CounterInput.web.js +29 -5
  236. package/build/lib/web/production/components/CounterInput/CounterInput.web.js.map +1 -1
  237. package/build/lib/web/production/components/CounterInput/StyledCounterInput.js +20 -4
  238. package/build/lib/web/production/components/CounterInput/StyledCounterInput.js.map +1 -1
  239. package/build/lib/web/production/components/CounterInput/token.js +6 -1
  240. package/build/lib/web/production/components/CounterInput/token.js.map +1 -1
  241. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +20 -0
  242. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  243. package/build/lib/web/production/components/DatePicker/Calendar.web.js +9 -2
  244. package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
  245. package/build/lib/web/production/components/DatePicker/utils.js +21 -1
  246. package/build/lib/web/production/components/DatePicker/utils.js.map +1 -1
  247. package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
  248. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  249. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +20 -12
  250. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  251. package/build/lib/web/production/components/Dropdown/dropdownUtils.js +28 -2
  252. package/build/lib/web/production/components/Dropdown/dropdownUtils.js.map +1 -1
  253. package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js +15 -1
  254. package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js.map +1 -1
  255. package/build/lib/web/production/components/Dropdown/useDropdown.js +91 -5
  256. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  257. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButton.js +126 -0
  258. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  259. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButtonContainer.web.js +45 -0
  260. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButtonContainer.web.js.map +1 -0
  261. package/build/lib/web/production/components/FloatingActionButton/index.js +2 -0
  262. package/build/lib/web/production/components/FloatingActionButton/index.js.map +1 -0
  263. package/build/lib/web/production/components/GenUI/GenUIComponents.web.js.map +1 -1
  264. package/build/lib/web/production/components/GenUI/GenUIContext.web.js +9 -1
  265. package/build/lib/web/production/components/GenUI/GenUIContext.web.js.map +1 -1
  266. package/build/lib/web/production/components/GenUI/GenUIProvider.web.js +17 -0
  267. package/build/lib/web/production/components/GenUI/GenUIProvider.web.js.map +1 -1
  268. package/build/lib/web/production/components/GenUI/GenUISchemaRenderer.web.js +31 -6
  269. package/build/lib/web/production/components/GenUI/GenUISchemaRenderer.web.js.map +1 -1
  270. package/build/lib/web/production/components/GenUI/index.js +1 -1
  271. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +44 -0
  272. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
  273. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/index.js +2 -0
  274. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
  275. package/build/lib/web/production/components/Icons/index.js +1 -0
  276. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  277. package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +3 -0
  278. package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
  279. package/build/lib/web/production/components/PopupArrow/PopupArrow.web.js +7 -1
  280. package/build/lib/web/production/components/PopupArrow/PopupArrow.web.js.map +1 -1
  281. package/build/lib/web/production/components/RollingText/RollingText.web.js +27 -20
  282. package/build/lib/web/production/components/RollingText/RollingText.web.js.map +1 -1
  283. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js +16 -7
  284. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
  285. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js +24 -6
  286. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
  287. package/build/lib/web/production/components/Spark/RzpGlass/presets.js +30 -1
  288. package/build/lib/web/production/components/Spark/RzpGlass/presets.js.map +1 -1
  289. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
  290. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
  291. package/build/lib/web/production/components/Spark/RzpGlass/utils.js +26 -10
  292. package/build/lib/web/production/components/Spark/RzpGlass/utils.js.map +1 -1
  293. package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js +31 -18
  294. package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
  295. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +14 -3
  296. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  297. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js +23 -4
  298. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  299. package/build/lib/web/production/components/SpotlightPopoverTour/utils.js +58 -1
  300. package/build/lib/web/production/components/SpotlightPopoverTour/utils.js.map +1 -1
  301. package/build/lib/web/production/components/TreeView/StyledTreeViewRow.web.js +41 -0
  302. package/build/lib/web/production/components/TreeView/StyledTreeViewRow.web.js.map +1 -0
  303. package/build/lib/web/production/components/TreeView/TreeView.web.js +696 -0
  304. package/build/lib/web/production/components/TreeView/TreeView.web.js.map +1 -0
  305. package/build/lib/web/production/components/TreeView/TreeViewAnimator.web.js +184 -0
  306. package/build/lib/web/production/components/TreeView/TreeViewAnimator.web.js.map +1 -0
  307. package/build/lib/web/production/components/TreeView/TreeViewChevron.web.js +73 -0
  308. package/build/lib/web/production/components/TreeView/TreeViewChevron.web.js.map +1 -0
  309. package/build/lib/web/production/components/TreeView/TreeViewItem.web.js +295 -0
  310. package/build/lib/web/production/components/TreeView/TreeViewItem.web.js.map +1 -0
  311. package/build/lib/web/production/components/TreeView/TreeViewLoadMore.web.js +173 -0
  312. package/build/lib/web/production/components/TreeView/TreeViewLoadMore.web.js.map +1 -0
  313. package/build/lib/web/production/components/TreeView/componentIds.js +8 -0
  314. package/build/lib/web/production/components/TreeView/componentIds.js.map +1 -0
  315. package/build/lib/web/production/components/TreeView/index.web.js +4 -0
  316. package/build/lib/web/production/components/TreeView/index.web.js.map +1 -0
  317. package/build/lib/web/production/components/TreeView/treeViewUtils.js +475 -0
  318. package/build/lib/web/production/components/TreeView/treeViewUtils.js.map +1 -0
  319. package/build/lib/web/production/components/TreeView/useTreeView.js +24 -0
  320. package/build/lib/web/production/components/TreeView/useTreeView.js.map +1 -0
  321. package/build/lib/web/production/components/index.js +9 -2
  322. package/build/lib/web/production/components/index.js.map +1 -1
  323. package/build/lib/web/production/node_modules/es-toolkit/dist/array/flatten.js +1 -1
  324. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
  325. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
  326. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
  327. package/build/lib/web/production/tokens/global/colors.js +2 -2
  328. package/build/lib/web/production/tokens/global/colors.js.map +1 -1
  329. package/build/lib/web/production/tokens/index.js +1 -0
  330. package/build/lib/web/production/tokens/index.js.map +1 -1
  331. package/build/lib/web/production/tokens/theme/bladeNeutralTheme.js +1439 -0
  332. package/build/lib/web/production/tokens/theme/bladeNeutralTheme.js.map +1 -0
  333. package/build/lib/web/production/tokens/theme/bladeTheme.js +48 -12
  334. package/build/lib/web/production/tokens/theme/bladeTheme.js.map +1 -1
  335. package/build/lib/web/production/tokens/theme/index.js +1 -0
  336. package/build/lib/web/production/tokens/theme/index.js.map +1 -1
  337. package/build/lib/web/production/tokens/theme/theme.js.map +1 -1
  338. package/build/lib/web/production/utils/componentZIndices.js +2 -0
  339. package/build/lib/web/production/utils/componentZIndices.js.map +1 -1
  340. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +4 -0
  341. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  342. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +12 -4
  343. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
  344. package/build/lib/web/production/utils/useTruncationTitle/useTruncationTitle.web.js +2 -2
  345. package/build/lib/web/production/utils/useTruncationTitle/useTruncationTitle.web.js.map +1 -1
  346. package/build/types/components/index.d.ts +557 -18
  347. package/build/types/components/index.native.d.ts +463 -16
  348. package/build/types/tokens/index.d.ts +11 -4
  349. package/build/types/tokens/index.native.d.ts +11 -4
  350. package/build/types/utils/index.d.ts +8 -3
  351. package/build/types/utils/index.native.d.ts +8 -3
  352. package/package.json +2 -2
@@ -3,7 +3,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
3
3
  import React__default from 'react';
4
4
  import styled from 'styled-components/native';
5
5
  import StyledBaseButton from './StyledBaseButton.native.js';
6
- import { backgroundGradient, boxShadow, textColor, buttonIconOnlySizeToIconSizeMap, buttonSizeToIconSizeMap, buttonSizeToSpinnerSizeMap, minHeight, buttonIconOnlyHeightWidth, buttonPadding, buttonBorderRadius, typography, spinnerColor } from './buttonTokens.js';
6
+ import { spinnerColor, backgroundGradient, boxShadow, textColor, buttonIconOnlySizeToIconSizeMap, buttonSizeToIconSizeMap, buttonSizeToSpinnerSizeMap, minHeight, buttonIconOnlyHeightWidth, buttonPadding, buttonBorderRadius, typography } from './buttonTokens.js';
7
7
  import AnimatedButtonContent from './AnimatedButtonContent.native.js';
8
8
  import getIn from '../../../utils/lodashButBetter/get.js';
9
9
  import '../../../utils/index.js';
@@ -25,8 +25,8 @@ import '../../../utils/getStringChildren/index.js';
25
25
  import '../../../utils/logger/index.js';
26
26
  import '../../../utils/makeAnalyticsAttribute/index.js';
27
27
  import { jsx, jsxs } from 'react/jsx-runtime';
28
- import { isReactNative } from '../../../utils/platform/isReactNative.js';
29
28
  import { throwBladeError } from '../../../utils/logger/logger.js';
29
+ import { isReactNative } from '../../../utils/platform/isReactNative.js';
30
30
  import { makeSize } from '../../../utils/makeSize/makeSize.js';
31
31
  import { makeSpace } from '../../../utils/makeSpace/makeSpace.js';
32
32
  import { makeBorderSize } from '../../../utils/makeBorderSize/makeBorderSize.native.js';
@@ -44,7 +44,7 @@ import { BaseSpinner } from '../../Spinner/BaseSpinner/BaseSpinner.js';
44
44
  import { BaseText } from '../../Typography/BaseText/BaseText.native.js';
45
45
  import { assignWithoutSideEffects } from '../../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
46
46
 
47
- var _excluded=["href","target","rel","tabIndex","id","variant","color","size","icon","iconPosition","isDisabled","isFullWidth","isLoading","onClick","onBlur","onKeyDown","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart"];var _this=undefined,_jsxFileName="/home/runner/work/blade/blade/packages/blade/src/components/Button/BaseButton/BaseButton.tsx";var getRenderElement=function getRenderElement(href){if(isReactNative()){return undefined;}if(href){return 'a';}return 'button';};var getBackgroundColorToken=function getBackgroundColorToken(_ref){var variant=_ref.variant,state=_ref.state,color=_ref.color;var _state=state==='focus'||state==='hover'?'highlighted':state;var gradientColor=color==='white'||color==='transparent'||!color?'primary':color;var tokens=backgroundGradient(gradientColor);if(color==='white'){return tokens.white[variant][_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.base.transparent[_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}}return tokens.base[variant][_state];};var getBoxShadowToken=function getBoxShadowToken(_ref2){var variant=_ref2.variant,state=_ref2.state,color=_ref2.color;var _state=state==='focus'||state==='hover'?'highlighted':state;var tokenColor=color==='white'||color==='transparent'||!color?'primary':color;var tokens=boxShadow(tokenColor);if(color==='white'){return tokens.white[variant][_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.base.transparent[_state];}return tokens.base[variant][_state];};var getTextColorToken=function getTextColorToken(_ref3){var property=_ref3.property,variant=_ref3.variant,state=_ref3.state,color=_ref3.color;var tokens=textColor(property);var _state=state==='focus'||state==='hover'?'highlighted':state;if(color==='white'){return tokens.white[variant][_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.transparent.tertiary[_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}return tokens.color(color)[variant][_state];}return tokens.base[variant][_state];};var getProps=function getProps(_ref4){var buttonTypographyTokens=_ref4.buttonTypographyTokens,childrenString=_ref4.childrenString,isDisabled=_ref4.isDisabled,size=_ref4.size,theme=_ref4.theme,variant=_ref4.variant,color=_ref4.color,hasIcon=_ref4.hasIcon;if(variant==='tertiary'&&color!=='primary'&&color!=='white'&&color!=='transparent'){throwBladeError({moduleName:'BaseButton',message:`Tertiary variant can only be used with color: "primary" or "white" or "transparent" but received "${color}"`});}var isIconOnly=hasIcon&&(!childrenString||(childrenString==null?void 0:childrenString.trim().length)===0);var resolveBackgroundValue=function resolveBackgroundValue(value){if(value.startsWith('linear-gradient')){return value;}return getIn(theme.colors,value);};var getDefaultBackground=function getDefaultBackground(){return resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'default'}));};var getBoxShadow=function getBoxShadow(state,btnColor){var shadowTokens=getBoxShadowToken({variant:variant,color:btnColor,state:state});if(shadowTokens.length===0){return undefined;}var shadows=shadowTokens.map(function(shadow){var resolvedColor=getIn(theme.colors,shadow.color);return `inset 0 ${shadow.y}px ${shadow.blur}px ${shadow.spread}px ${resolvedColor}`;});return shadows.join(', ');};var getNativeShadowColors=function getNativeShadowColors(btnColor){var resolveShadowColors=function resolveShadowColors(shadowTokens){var highlightColor,bottomColor,borderColor;var highlightHeight=0;var bottomHeight=0;var ringWidth=0;for(var shadow of shadowTokens){var resolved=getIn(theme.colors,shadow.color);if(shadow.y>0&&!highlightColor){highlightColor=resolved;highlightHeight=shadow.y;}else if(shadow.y<0&&!bottomColor){bottomColor=resolved;bottomHeight=Math.abs(shadow.y);}else if(shadow.spread>0&&!borderColor){borderColor=resolved;ringWidth=shadow.spread;}}return {highlightColor:highlightColor,bottomColor:bottomColor,borderColor:borderColor,highlightHeight:highlightHeight,bottomHeight:bottomHeight,ringWidth:ringWidth};};var defaultColors=resolveShadowColors(getBoxShadowToken({variant:variant,color:btnColor,state:'default'}));if(!defaultColors.highlightColor&&!defaultColors.bottomColor&&!defaultColors.borderColor){return {};}var focusColors=resolveShadowColors(getBoxShadowToken({variant:variant,color:btnColor,state:'focus'}));return {shadowHighlightColor:defaultColors.highlightColor,shadowHighlightHeight:defaultColors.highlightHeight!==0?defaultColors.highlightHeight:undefined,shadowBottomColor:defaultColors.bottomColor,shadowBottomHeight:defaultColors.bottomHeight!==0?defaultColors.bottomHeight:undefined,shadowBorderColor:defaultColors.borderColor,focusShadowBorderColor:focusColors.borderColor,shadowRingWidth:defaultColors.ringWidth!==0?defaultColors.ringWidth:undefined,isShadowGradientVisible:variant==='primary'};};var props=Object.assign({iconSize:isIconOnly?buttonIconOnlySizeToIconSizeMap[size]:buttonSizeToIconSizeMap[size],spinnerSize:buttonSizeToSpinnerSizeMap[size],fontSize:buttonTypographyTokens.fonts.size[size],lineHeight:buttonTypographyTokens.lineHeights[size],minHeight:makeSize(minHeight[size]),height:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,width:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,iconColor:getTextColorToken({property:'icon',variant:variant,color:color,state:'default'}),textColor:getTextColorToken({property:'text',variant:variant,color:color,state:'default'}),buttonPaddingTop:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].top]),buttonPaddingBottom:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].bottom]),buttonPaddingLeft:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].left]),buttonPaddingRight:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].right]),text:childrenString==null?void 0:childrenString.trim(),defaultBackgroundColor:getDefaultBackground(),defaultBoxShadow:getBoxShadow('default',color),hoverBackgroundColor:resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'hover'})),hoverBoxShadow:getBoxShadow('hover',color),hoverIconColor:getIn(theme.colors,getTextColorToken({property:'icon',variant:variant,color:color,state:'hover'})),focusBackgroundColor:resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'focus'})),focusBoxShadow:getBoxShadow('focus',color),focusRingColor:getIn(theme.colors,'surface.border.primary.muted'),borderRadius:makeBorderSize(theme.border.radius[buttonBorderRadius[size]]),motionDuration:'duration.xquick',motionEasing:'easing.standard'},isReactNative()&&!isDisabled?getNativeShadowColors(color):{});if(isDisabled){var disabledBackgroundColor=resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'disabled'}));props.iconColor=getTextColorToken({property:'icon',variant:variant,color:color,state:'disabled'});props.textColor=getTextColorToken({property:'text',variant:variant,color:color,state:'disabled'});props.defaultBackgroundColor=disabledBackgroundColor;props.defaultBoxShadow=getBoxShadow('disabled',color);props.hoverBackgroundColor=disabledBackgroundColor;props.hoverBoxShadow=getBoxShadow('disabled',color);props.focusBackgroundColor=disabledBackgroundColor;props.focusBoxShadow=getBoxShadow('disabled',color);}return props;};var ButtonContent=styled(BaseBox)(function(_ref5){var isHidden=_ref5.isHidden;return {opacity:isHidden?0:1};});var _BaseButton=function _BaseButton(_ref6,ref){var _buttonGroupProps$siz,_buttonGroupProps$var,_buttonGroupProps$col,_buttonGroupProps$siz2,_buttonGroupProps$isF,_accessibilityProps$r,_buttonGroupProps$var2,_buttonGroupProps$col2,_buttonGroupProps$siz3,_buttonGroupProps$isF2;var href=_ref6.href,target=_ref6.target,rel=_ref6.rel,tabIndex=_ref6.tabIndex,id=_ref6.id,_ref6$variant=_ref6.variant,variant=_ref6$variant===void 0?'primary':_ref6$variant,_ref6$color=_ref6.color,color=_ref6$color===void 0?'primary':_ref6$color,_ref6$size=_ref6.size,size=_ref6$size===void 0?'medium':_ref6$size,Icon=_ref6.icon,_ref6$iconPosition=_ref6.iconPosition,iconPosition=_ref6$iconPosition===void 0?'left':_ref6$iconPosition,_ref6$isDisabled=_ref6.isDisabled,isDisabled=_ref6$isDisabled===void 0?false:_ref6$isDisabled,_ref6$isFullWidth=_ref6.isFullWidth,isFullWidth=_ref6$isFullWidth===void 0?false:_ref6$isFullWidth,_ref6$isLoading=_ref6.isLoading,isLoading=_ref6$isLoading===void 0?false:_ref6$isLoading,onClick=_ref6.onClick,onBlur=_ref6.onBlur,_onKeyDown=_ref6.onKeyDown,_ref6$type=_ref6.type,type=_ref6$type===void 0?'button':_ref6$type,children=_ref6.children,testID=_ref6.testID,onFocus=_ref6.onFocus,onMouseLeave=_ref6.onMouseLeave,onMouseMove=_ref6.onMouseMove,_onMouseDown=_ref6.onMouseDown,onPointerDown=_ref6.onPointerDown,onPointerEnter=_ref6.onPointerEnter,accessibilityProps=_ref6.accessibilityProps,_onTouchEnd=_ref6.onTouchEnd,_onTouchStart=_ref6.onTouchStart,rest=_objectWithoutProperties(_ref6,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var buttonGroupProps=useButtonGroupContext();var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isPressed=_React$useState2[0],setIsPressed=_React$useState2[1];var isLink=Boolean(href);var childrenString=getStringFromReactText(children);var isChildrenComponent=React__default.isValidElement(children);var disabled=buttonGroupProps.isDisabled||isLoading||isDisabled&&!isLink;if(__DEV__){if(!Icon&&!(childrenString!=null&&childrenString.trim())){throwBladeError({message:'At least one of icon or text is required to render a button.',moduleName:'BaseButton'});}}var prevLoading=usePrevious(isLoading);React__default.useEffect(function(){if(isLoading)announce('Started loading');if(!isLoading&&prevLoading)announce('Stopped loading');},[isLoading,prevLoading]);React__default.useLayoutEffect(function(){if(typeof buttonGroupProps.buttonIndex!=='number')return;var buttonIndex=buttonGroupProps.buttonIndex,setPressedButtonIndex=buttonGroupProps.setPressedButtonIndex;if(isPressed){setPressedButtonIndex==null?void 0:setPressedButtonIndex(buttonIndex);}else {setPressedButtonIndex==null?void 0:setPressedButtonIndex(function(prev){return prev===buttonIndex?null:prev;});}},[isPressed,buttonGroupProps.buttonIndex]);var _getProps=getProps({buttonTypographyTokens:typography,childrenString:childrenString,isDisabled:disabled,size:(_buttonGroupProps$siz=buttonGroupProps.size)!=null?_buttonGroupProps$siz:size,variant:(_buttonGroupProps$var=buttonGroupProps.variant)!=null?_buttonGroupProps$var:variant,theme:theme,color:(_buttonGroupProps$col=buttonGroupProps.color)!=null?_buttonGroupProps$col:color,hasIcon:Boolean(Icon)}),defaultBackgroundColor=_getProps.defaultBackgroundColor,defaultBoxShadow=_getProps.defaultBoxShadow,minHeight=_getProps.minHeight,height=_getProps.height,width=_getProps.width,buttonPaddingTop=_getProps.buttonPaddingTop,buttonPaddingBottom=_getProps.buttonPaddingBottom,buttonPaddingLeft=_getProps.buttonPaddingLeft,buttonPaddingRight=_getProps.buttonPaddingRight,focusBoxShadow=_getProps.focusBoxShadow,focusBackgroundColor=_getProps.focusBackgroundColor,focusRingColor=_getProps.focusRingColor,fontSize=_getProps.fontSize,hoverBoxShadow=_getProps.hoverBoxShadow,hoverBackgroundColor=_getProps.hoverBackgroundColor,hoverIconColor=_getProps.hoverIconColor,iconColor=_getProps.iconColor,iconSize=_getProps.iconSize,spinnerSize=_getProps.spinnerSize,lineHeight=_getProps.lineHeight,text=_getProps.text,textColor=_getProps.textColor,borderRadius=_getProps.borderRadius,motionDuration=_getProps.motionDuration,motionEasing=_getProps.motionEasing,shadowHighlightColor=_getProps.shadowHighlightColor,shadowHighlightHeight=_getProps.shadowHighlightHeight,shadowBottomColor=_getProps.shadowBottomColor,shadowBottomHeight=_getProps.shadowBottomHeight,shadowBorderColor=_getProps.shadowBorderColor,focusShadowBorderColor=_getProps.focusShadowBorderColor,shadowRingWidth=_getProps.shadowRingWidth,isShadowGradientVisible=_getProps.isShadowGradientVisible;var renderElement=React__default.useMemo(function(){return getRenderElement(href);},[href]);var defaultRole=isLink?'link':'button';var isInsideRNButtonGroup=isReactNative()&&Boolean(buttonGroupProps.isInsideButtonGroup);var buttonBorderRadiusValue=isInsideRNButtonGroup?makeBorderSize(0):borderRadius;var groupCornerRadius=isInsideRNButtonGroup?theme.border.radius[buttonBorderRadius[(_buttonGroupProps$siz2=buttonGroupProps.size)!=null?_buttonGroupProps$siz2:size]]:0;var isFirstInGroup=Boolean(buttonGroupProps.isFirstInButtonGroup);var isLastInGroup=Boolean(buttonGroupProps.isLastInButtonGroup);var buttonBorderRadii=isInsideRNButtonGroup?{topLeft:isFirstInGroup?groupCornerRadius:0,bottomLeft:isFirstInGroup?groupCornerRadius:0,topRight:isLastInGroup?groupCornerRadius:0,bottomRight:isLastInGroup?groupCornerRadius:0}:undefined;var isGroupBorderCollapsed=isInsideRNButtonGroup&&!isFirstInGroup&&Boolean(buttonGroupProps.isGroupBorderCollapsed);var isNonFirstInButtonGroup=isInsideRNButtonGroup&&!isFirstInGroup;var showShadowGradient=Boolean(isShadowGradientVisible)&&!isNonFirstInButtonGroup;var effectiveShadowHighlightColor=isNonFirstInButtonGroup?undefined:shadowHighlightColor;var isInsideFullWidthButtonGroup=isInsideRNButtonGroup&&Boolean((_buttonGroupProps$isF=buttonGroupProps.isFullWidth)!=null?_buttonGroupProps$isF:isFullWidth);var handlePointerPressedIn=React__default.useCallback(function(){if(disabled)return;setIsPressed(true);},[disabled]);var handlePointerPressedOut=React__default.useCallback(function(){if(disabled)return;setIsPressed(false);},[disabled]);var handleKeyboardPressedIn=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(true);}},[disabled]);var handleKeyboardPressedOut=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(false);}},[disabled]);return jsx(StyledBaseButton,Object.assign({ref:ref,id:id,as:renderElement,href:href,target:target,rel:rel,accessibilityProps:Object.assign({},makeAccessible(Object.assign({},accessibilityProps,{role:(_accessibilityProps$r=accessibilityProps==null?void 0:accessibilityProps.role)!=null?_accessibilityProps$r:defaultRole}))),variant:(_buttonGroupProps$var2=buttonGroupProps.variant)!=null?_buttonGroupProps$var2:variant,color:(_buttonGroupProps$col2=buttonGroupProps.color)!=null?_buttonGroupProps$col2:color,size:(_buttonGroupProps$siz3=buttonGroupProps.size)!=null?_buttonGroupProps$siz3:size,isLoading:isLoading,disabled:disabled,minHeight:minHeight,buttonPaddingTop:buttonPaddingTop,buttonPaddingBottom:buttonPaddingBottom,buttonPaddingLeft:buttonPaddingLeft,buttonPaddingRight:buttonPaddingRight,defaultBackgroundColor:defaultBackgroundColor,defaultBoxShadow:defaultBoxShadow,focusBoxShadow:focusBoxShadow,focusBackgroundColor:focusBackgroundColor,focusRingColor:focusRingColor,hoverBoxShadow:hoverBoxShadow,hoverBackgroundColor:hoverBackgroundColor,isFullWidth:(_buttonGroupProps$isF2=buttonGroupProps.isFullWidth)!=null?_buttonGroupProps$isF2:isFullWidth,onClick:onClick,onBlur:onBlur,onFocus:onFocus,onMouseLeave:onMouseLeave,onMouseMove:onMouseMove,tabIndex:tabIndex,onPointerDown:onPointerDown,onPointerEnter:onPointerEnter,onKeyDown:function onKeyDown(event){handleKeyboardPressedIn(event);_onKeyDown==null?void 0:_onKeyDown(event);},onTouchStart:function onTouchStart(event){handlePointerPressedIn();_onTouchStart==null?void 0:_onTouchStart(event);},onTouchEnd:function onTouchEnd(event){handlePointerPressedOut();_onTouchEnd==null?void 0:_onTouchEnd(event);},type:type,borderRadius:buttonBorderRadiusValue},buttonBorderRadii?{borderRadii:buttonBorderRadii}:{},isGroupBorderCollapsed?{isGroupBorderCollapsed:isGroupBorderCollapsed}:{},isNonFirstInButtonGroup?{isInsetShadowSidesFlattened:true}:{},isInsideFullWidthButtonGroup?{isInsideFullWidthButtonGroup:true}:{},{motionDuration:motionDuration,motionEasing:motionEasing,height:height,width:width,isPressed:isPressed,hoverIconColor:isDisabled?getIn(theme.colors,iconColor):hoverIconColor,onMouseDown:function onMouseDown(event){handlePointerPressedIn();_onMouseDown==null?void 0:_onMouseDown(event);},onMouseUp:handlePointerPressedOut},!isReactNative()?{onMouseOut:handlePointerPressedOut,onKeyUp:handleKeyboardPressedOut}:{},{shadowHighlightColor:effectiveShadowHighlightColor,shadowHighlightHeight:isNonFirstInButtonGroup?undefined:shadowHighlightHeight,shadowBottomColor:shadowBottomColor,shadowBottomHeight:shadowBottomHeight,shadowBorderColor:shadowBorderColor,focusShadowBorderColor:focusShadowBorderColor,shadowRingWidth:shadowRingWidth,isShadowGradientVisible:showShadowGradient},metaAttribute({name:MetaConstants.Button,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{children:jsxs(AnimatedButtonContent,{motionDuration:motionDuration,motionEasing:motionEasing,isPressed:isPressed,children:[isLoading?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",position:"absolute",top:"0px",left:"0px",bottom:"0px",right:"0px",zIndex:1,children:jsx(BaseSpinner,{accessibilityLabel:"Loading",size:spinnerSize,color:color&&color!=='primary'&&color!=='transparent'&&color in spinnerColor?spinnerColor[color][variant]:spinnerColor.base[variant]})}):null,jsxs(ButtonContent,{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",flex:1,isHidden:isLoading,zIndex:1,children:[Icon&&iconPosition=='left'?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null,text?isChildrenComponent?children:jsx(BaseText,{marginX:"spacing.2",lineHeight:lineHeight,fontSize:fontSize,fontWeight:"medium",textAlign:"center",color:textColor,children:text}):null,Icon&&iconPosition=='right'?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null]})]})}));};var BaseButton=assignWithoutSideEffects(React__default.forwardRef(_BaseButton),{displayName:'BaseButton'});
47
+ var _excluded=["href","target","rel","tabIndex","id","variant","color","size","icon","iconPosition","isDisabled","isFullWidth","isLoading","onClick","onBlur","onKeyDown","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","_borderRadius","_iconSize","_spinnerColor"];var _this=undefined,_jsxFileName="/home/runner/work/blade/blade/packages/blade/src/components/Button/BaseButton/BaseButton.tsx";var isStaticOrTransparentColor=function isStaticOrTransparentColor(color){return color==='white'||color==='black'||color==='transparent';};var getSpinnerColor=function getSpinnerColor(_ref){var variant=_ref.variant,color=_ref.color;if(color==='black'){return spinnerColor.black.primary;}if(color!=='primary'&&color!=='transparent'&&color in spinnerColor){return spinnerColor[color][variant];}return spinnerColor.base[variant];};var assertBlackIsPrimary=function assertBlackIsPrimary(variant){if(variant!=='primary'){throwBladeError({moduleName:'BaseButton',message:`Black color can only be used with primary variant but received "${variant}"`});}};var getRenderElement=function getRenderElement(href){if(isReactNative()){return undefined;}if(href){return 'a';}return 'button';};var getBackgroundColorToken=function getBackgroundColorToken(_ref2){var variant=_ref2.variant,state=_ref2.state,color=_ref2.color;var _state=state==='focus'||state==='hover'?'highlighted':state;var gradientColor=isStaticOrTransparentColor(color)||!color?'primary':color;var tokens=backgroundGradient(gradientColor);if(color==='white'){return tokens.white[variant][_state];}if(color==='black'){assertBlackIsPrimary(variant);return tokens.black.primary[_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.base.transparent[_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}}return tokens.base[variant][_state];};var getBoxShadowToken=function getBoxShadowToken(_ref3){var variant=_ref3.variant,state=_ref3.state,color=_ref3.color;var _state=state==='focus'||state==='hover'?'highlighted':state;var tokenColor=isStaticOrTransparentColor(color)||!color?'primary':color;var tokens=boxShadow(tokenColor);if(color==='white'){return tokens.white[variant][_state];}if(color==='black'){assertBlackIsPrimary(variant);return tokens.black.primary[_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.base.transparent[_state];}return tokens.base[variant][_state];};var getTextColorToken=function getTextColorToken(_ref4){var property=_ref4.property,variant=_ref4.variant,state=_ref4.state,color=_ref4.color;var tokens=textColor(property);var _state=state==='focus'||state==='hover'?'highlighted':state;if(color==='white'){return tokens.white[variant][_state];}if(color==='black'){assertBlackIsPrimary(variant);return tokens.black.primary[_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.transparent.tertiary[_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}return tokens.color(color)[variant][_state];}return tokens.base[variant][_state];};var getProps=function getProps(_ref5){var buttonTypographyTokens=_ref5.buttonTypographyTokens,childrenString=_ref5.childrenString,isDisabled=_ref5.isDisabled,size=_ref5.size,theme=_ref5.theme,variant=_ref5.variant,color=_ref5.color,hasIcon=_ref5.hasIcon,_borderRadius=_ref5._borderRadius,_iconSize=_ref5._iconSize;if(variant==='tertiary'&&color!=='primary'&&color!=='white'&&color!=='transparent'){throwBladeError({moduleName:'BaseButton',message:`Tertiary variant can only be used with color: "primary" or "white" or "transparent" but received "${color}"`});}var isIconOnly=hasIcon&&(!childrenString||(childrenString==null?void 0:childrenString.trim().length)===0);var resolveBackgroundValue=function resolveBackgroundValue(value){if(value.startsWith('linear-gradient')){return value;}return getIn(theme.colors,value);};var getDefaultBackground=function getDefaultBackground(){return resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'default'}));};var getBoxShadow=function getBoxShadow(state,btnColor){var shadowTokens=getBoxShadowToken({variant:variant,color:btnColor,state:state});if(shadowTokens.length===0){return undefined;}var shadows=shadowTokens.map(function(shadow){var resolvedColor=getIn(theme.colors,shadow.color);return `inset 0 ${shadow.y}px ${shadow.blur}px ${shadow.spread}px ${resolvedColor}`;});return shadows.join(', ');};var getNativeShadowColors=function getNativeShadowColors(btnColor){var resolveShadowColors=function resolveShadowColors(shadowTokens){var highlightColor,bottomColor,borderColor;var highlightHeight=0;var bottomHeight=0;var ringWidth=0;for(var shadow of shadowTokens){var resolved=getIn(theme.colors,shadow.color);if(shadow.y>0&&!highlightColor){highlightColor=resolved;highlightHeight=shadow.y;}else if(shadow.y<0&&!bottomColor){bottomColor=resolved;bottomHeight=Math.abs(shadow.y);}else if(shadow.spread>0&&!borderColor){borderColor=resolved;ringWidth=shadow.spread;}}return {highlightColor:highlightColor,bottomColor:bottomColor,borderColor:borderColor,highlightHeight:highlightHeight,bottomHeight:bottomHeight,ringWidth:ringWidth};};var defaultColors=resolveShadowColors(getBoxShadowToken({variant:variant,color:btnColor,state:'default'}));if(!defaultColors.highlightColor&&!defaultColors.bottomColor&&!defaultColors.borderColor){return {};}var focusColors=resolveShadowColors(getBoxShadowToken({variant:variant,color:btnColor,state:'focus'}));return {shadowHighlightColor:defaultColors.highlightColor,shadowHighlightHeight:defaultColors.highlightHeight!==0?defaultColors.highlightHeight:undefined,shadowBottomColor:defaultColors.bottomColor,shadowBottomHeight:defaultColors.bottomHeight!==0?defaultColors.bottomHeight:undefined,shadowBorderColor:defaultColors.borderColor,focusShadowBorderColor:focusColors.borderColor,shadowRingWidth:defaultColors.ringWidth!==0?defaultColors.ringWidth:undefined,isShadowGradientVisible:variant==='primary'};};var props=Object.assign({iconSize:_iconSize!=null?_iconSize:isIconOnly?buttonIconOnlySizeToIconSizeMap[size]:buttonSizeToIconSizeMap[size],spinnerSize:buttonSizeToSpinnerSizeMap[size],fontSize:buttonTypographyTokens.fonts.size[size],lineHeight:buttonTypographyTokens.lineHeights[size],minHeight:makeSize(minHeight[size]),height:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,width:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,iconColor:getTextColorToken({property:'icon',variant:variant,color:color,state:'default'}),textColor:getTextColorToken({property:'text',variant:variant,color:color,state:'default'}),buttonPaddingTop:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].top]),buttonPaddingBottom:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].bottom]),buttonPaddingLeft:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].left]),buttonPaddingRight:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].right]),text:childrenString==null?void 0:childrenString.trim(),defaultBackgroundColor:getDefaultBackground(),defaultBoxShadow:getBoxShadow('default',color),hoverBackgroundColor:resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'hover'})),hoverBoxShadow:getBoxShadow('hover',color),hoverIconColor:getIn(theme.colors,getTextColorToken({property:'icon',variant:variant,color:color,state:'hover'})),focusBackgroundColor:resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'focus'})),focusBoxShadow:getBoxShadow('focus',color),focusRingColor:getIn(theme.colors,'surface.border.primary.muted'),borderRadius:makeBorderSize(theme.border.radius[_borderRadius!=null?_borderRadius:buttonBorderRadius[size]]),motionDuration:'duration.xquick',motionEasing:'easing.standard'},isReactNative()&&!isDisabled?getNativeShadowColors(color):{});if(isDisabled){var disabledBackgroundColor=resolveBackgroundValue(getBackgroundColorToken({variant:variant,color:color,state:'disabled'}));props.iconColor=getTextColorToken({property:'icon',variant:variant,color:color,state:'disabled'});props.textColor=getTextColorToken({property:'text',variant:variant,color:color,state:'disabled'});props.defaultBackgroundColor=disabledBackgroundColor;props.defaultBoxShadow=getBoxShadow('disabled',color);props.hoverBackgroundColor=disabledBackgroundColor;props.hoverBoxShadow=getBoxShadow('disabled',color);props.focusBackgroundColor=disabledBackgroundColor;props.focusBoxShadow=getBoxShadow('disabled',color);}return props;};var ButtonContent=styled(BaseBox)(function(_ref6){var isHidden=_ref6.isHidden;return {opacity:isHidden?0:1};});var _BaseButton=function _BaseButton(_ref7,ref){var _buttonGroupProps$siz,_buttonGroupProps$var,_buttonGroupProps$col,_buttonGroupProps$siz2,_buttonGroupProps$isF,_accessibilityProps$r,_buttonGroupProps$var2,_buttonGroupProps$col2,_buttonGroupProps$siz3,_buttonGroupProps$isF2;var href=_ref7.href,target=_ref7.target,rel=_ref7.rel,tabIndex=_ref7.tabIndex,id=_ref7.id,_ref7$variant=_ref7.variant,variant=_ref7$variant===void 0?'primary':_ref7$variant,_ref7$color=_ref7.color,color=_ref7$color===void 0?'primary':_ref7$color,_ref7$size=_ref7.size,size=_ref7$size===void 0?'medium':_ref7$size,Icon=_ref7.icon,_ref7$iconPosition=_ref7.iconPosition,iconPosition=_ref7$iconPosition===void 0?'left':_ref7$iconPosition,_ref7$isDisabled=_ref7.isDisabled,isDisabled=_ref7$isDisabled===void 0?false:_ref7$isDisabled,_ref7$isFullWidth=_ref7.isFullWidth,isFullWidth=_ref7$isFullWidth===void 0?false:_ref7$isFullWidth,_ref7$isLoading=_ref7.isLoading,isLoading=_ref7$isLoading===void 0?false:_ref7$isLoading,onClick=_ref7.onClick,onBlur=_ref7.onBlur,_onKeyDown=_ref7.onKeyDown,_ref7$type=_ref7.type,type=_ref7$type===void 0?'button':_ref7$type,children=_ref7.children,testID=_ref7.testID,onFocus=_ref7.onFocus,onMouseLeave=_ref7.onMouseLeave,onMouseMove=_ref7.onMouseMove,_onMouseDown=_ref7.onMouseDown,onPointerDown=_ref7.onPointerDown,onPointerEnter=_ref7.onPointerEnter,accessibilityProps=_ref7.accessibilityProps,_onTouchEnd=_ref7.onTouchEnd,_onTouchStart=_ref7.onTouchStart,_borderRadius=_ref7._borderRadius,_iconSize=_ref7._iconSize,_spinnerColor=_ref7._spinnerColor,rest=_objectWithoutProperties(_ref7,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var buttonGroupProps=useButtonGroupContext();var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isPressed=_React$useState2[0],setIsPressed=_React$useState2[1];var isLink=Boolean(href);var childrenString=getStringFromReactText(children);var isChildrenComponent=React__default.isValidElement(children);var disabled=buttonGroupProps.isDisabled||isLoading||isDisabled&&!isLink;if(__DEV__){if(!Icon&&!(childrenString!=null&&childrenString.trim())){throwBladeError({message:'At least one of icon or text is required to render a button.',moduleName:'BaseButton'});}}var prevLoading=usePrevious(isLoading);React__default.useEffect(function(){if(isLoading)announce('Started loading');if(!isLoading&&prevLoading)announce('Stopped loading');},[isLoading,prevLoading]);React__default.useLayoutEffect(function(){if(typeof buttonGroupProps.buttonIndex!=='number')return;var buttonIndex=buttonGroupProps.buttonIndex,setPressedButtonIndex=buttonGroupProps.setPressedButtonIndex;if(isPressed){setPressedButtonIndex==null?void 0:setPressedButtonIndex(buttonIndex);}else {setPressedButtonIndex==null?void 0:setPressedButtonIndex(function(prev){return prev===buttonIndex?null:prev;});}},[isPressed,buttonGroupProps.buttonIndex]);var _getProps=getProps({buttonTypographyTokens:typography,childrenString:childrenString,isDisabled:disabled,size:(_buttonGroupProps$siz=buttonGroupProps.size)!=null?_buttonGroupProps$siz:size,variant:(_buttonGroupProps$var=buttonGroupProps.variant)!=null?_buttonGroupProps$var:variant,theme:theme,color:(_buttonGroupProps$col=buttonGroupProps.color)!=null?_buttonGroupProps$col:color,hasIcon:Boolean(Icon),_borderRadius:_borderRadius,_iconSize:_iconSize}),defaultBackgroundColor=_getProps.defaultBackgroundColor,defaultBoxShadow=_getProps.defaultBoxShadow,minHeight=_getProps.minHeight,height=_getProps.height,width=_getProps.width,buttonPaddingTop=_getProps.buttonPaddingTop,buttonPaddingBottom=_getProps.buttonPaddingBottom,buttonPaddingLeft=_getProps.buttonPaddingLeft,buttonPaddingRight=_getProps.buttonPaddingRight,focusBoxShadow=_getProps.focusBoxShadow,focusBackgroundColor=_getProps.focusBackgroundColor,focusRingColor=_getProps.focusRingColor,fontSize=_getProps.fontSize,hoverBoxShadow=_getProps.hoverBoxShadow,hoverBackgroundColor=_getProps.hoverBackgroundColor,hoverIconColor=_getProps.hoverIconColor,iconColor=_getProps.iconColor,iconSize=_getProps.iconSize,spinnerSize=_getProps.spinnerSize,lineHeight=_getProps.lineHeight,text=_getProps.text,textColor=_getProps.textColor,borderRadius=_getProps.borderRadius,motionDuration=_getProps.motionDuration,motionEasing=_getProps.motionEasing,shadowHighlightColor=_getProps.shadowHighlightColor,shadowHighlightHeight=_getProps.shadowHighlightHeight,shadowBottomColor=_getProps.shadowBottomColor,shadowBottomHeight=_getProps.shadowBottomHeight,shadowBorderColor=_getProps.shadowBorderColor,focusShadowBorderColor=_getProps.focusShadowBorderColor,shadowRingWidth=_getProps.shadowRingWidth,isShadowGradientVisible=_getProps.isShadowGradientVisible;var renderElement=React__default.useMemo(function(){return getRenderElement(href);},[href]);var defaultRole=isLink?'link':'button';var isInsideRNButtonGroup=isReactNative()&&Boolean(buttonGroupProps.isInsideButtonGroup);var buttonBorderRadiusValue=isInsideRNButtonGroup?makeBorderSize(0):borderRadius;var groupCornerRadius=isInsideRNButtonGroup?theme.border.radius[buttonBorderRadius[(_buttonGroupProps$siz2=buttonGroupProps.size)!=null?_buttonGroupProps$siz2:size]]:0;var isFirstInGroup=Boolean(buttonGroupProps.isFirstInButtonGroup);var isLastInGroup=Boolean(buttonGroupProps.isLastInButtonGroup);var buttonBorderRadii=isInsideRNButtonGroup?{topLeft:isFirstInGroup?groupCornerRadius:0,bottomLeft:isFirstInGroup?groupCornerRadius:0,topRight:isLastInGroup?groupCornerRadius:0,bottomRight:isLastInGroup?groupCornerRadius:0}:undefined;var isGroupBorderCollapsed=isInsideRNButtonGroup&&!isFirstInGroup&&Boolean(buttonGroupProps.isGroupBorderCollapsed);var isNonFirstInButtonGroup=isInsideRNButtonGroup&&!isFirstInGroup;var showShadowGradient=Boolean(isShadowGradientVisible)&&!isNonFirstInButtonGroup;var effectiveShadowHighlightColor=isNonFirstInButtonGroup?undefined:shadowHighlightColor;var isInsideFullWidthButtonGroup=isInsideRNButtonGroup&&Boolean((_buttonGroupProps$isF=buttonGroupProps.isFullWidth)!=null?_buttonGroupProps$isF:isFullWidth);var handlePointerPressedIn=React__default.useCallback(function(){if(disabled)return;setIsPressed(true);},[disabled]);var handlePointerPressedOut=React__default.useCallback(function(){if(disabled)return;setIsPressed(false);},[disabled]);var handleKeyboardPressedIn=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(true);}},[disabled]);var handleKeyboardPressedOut=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(false);}},[disabled]);return jsx(StyledBaseButton,Object.assign({ref:ref,id:id,as:renderElement,href:href,target:target,rel:rel,accessibilityProps:Object.assign({},makeAccessible(Object.assign({},accessibilityProps,{role:(_accessibilityProps$r=accessibilityProps==null?void 0:accessibilityProps.role)!=null?_accessibilityProps$r:defaultRole}))),variant:(_buttonGroupProps$var2=buttonGroupProps.variant)!=null?_buttonGroupProps$var2:variant,color:(_buttonGroupProps$col2=buttonGroupProps.color)!=null?_buttonGroupProps$col2:color,size:(_buttonGroupProps$siz3=buttonGroupProps.size)!=null?_buttonGroupProps$siz3:size,isLoading:isLoading,disabled:disabled,minHeight:minHeight,buttonPaddingTop:buttonPaddingTop,buttonPaddingBottom:buttonPaddingBottom,buttonPaddingLeft:buttonPaddingLeft,buttonPaddingRight:buttonPaddingRight,defaultBackgroundColor:defaultBackgroundColor,defaultBoxShadow:defaultBoxShadow,focusBoxShadow:focusBoxShadow,focusBackgroundColor:focusBackgroundColor,focusRingColor:focusRingColor,hoverBoxShadow:hoverBoxShadow,hoverBackgroundColor:hoverBackgroundColor,isFullWidth:(_buttonGroupProps$isF2=buttonGroupProps.isFullWidth)!=null?_buttonGroupProps$isF2:isFullWidth,onClick:onClick,onBlur:onBlur,onFocus:onFocus,onMouseLeave:onMouseLeave,onMouseMove:onMouseMove,tabIndex:tabIndex,onPointerDown:onPointerDown,onPointerEnter:onPointerEnter,onKeyDown:function onKeyDown(event){handleKeyboardPressedIn(event);_onKeyDown==null?void 0:_onKeyDown(event);},onTouchStart:function onTouchStart(event){handlePointerPressedIn();_onTouchStart==null?void 0:_onTouchStart(event);},onTouchEnd:function onTouchEnd(event){handlePointerPressedOut();_onTouchEnd==null?void 0:_onTouchEnd(event);},type:type,borderRadius:buttonBorderRadiusValue},buttonBorderRadii?{borderRadii:buttonBorderRadii}:{},isGroupBorderCollapsed?{isGroupBorderCollapsed:isGroupBorderCollapsed}:{},isNonFirstInButtonGroup?{isInsetShadowSidesFlattened:true}:{},isInsideFullWidthButtonGroup?{isInsideFullWidthButtonGroup:true}:{},{motionDuration:motionDuration,motionEasing:motionEasing,height:height,width:width,isPressed:isPressed,hoverIconColor:isDisabled?getIn(theme.colors,iconColor):hoverIconColor,onMouseDown:function onMouseDown(event){handlePointerPressedIn();_onMouseDown==null?void 0:_onMouseDown(event);},onMouseUp:handlePointerPressedOut},!isReactNative()?{onMouseOut:handlePointerPressedOut,onKeyUp:handleKeyboardPressedOut}:{},{shadowHighlightColor:effectiveShadowHighlightColor,shadowHighlightHeight:isNonFirstInButtonGroup?undefined:shadowHighlightHeight,shadowBottomColor:shadowBottomColor,shadowBottomHeight:shadowBottomHeight,shadowBorderColor:shadowBorderColor,focusShadowBorderColor:focusShadowBorderColor,shadowRingWidth:shadowRingWidth,isShadowGradientVisible:showShadowGradient},metaAttribute({name:MetaConstants.Button,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{children:jsxs(AnimatedButtonContent,{motionDuration:motionDuration,motionEasing:motionEasing,isPressed:isPressed,children:[isLoading?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",position:"absolute",top:"0px",left:"0px",bottom:"0px",right:"0px",zIndex:1,children:jsx(BaseSpinner,{accessibilityLabel:"Loading",size:spinnerSize,color:_spinnerColor!=null?_spinnerColor:getSpinnerColor({variant:variant,color:color})})}):null,jsxs(ButtonContent,{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",flex:1,isHidden:isLoading,zIndex:1,children:[Icon&&iconPosition=='left'?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null,text?isChildrenComponent?children:jsx(BaseText,{marginX:"spacing.2",lineHeight:lineHeight,fontSize:fontSize,fontWeight:"medium",textAlign:"center",color:textColor,children:text}):null,Icon&&iconPosition=='right'?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null]})]})}));};var BaseButton=assignWithoutSideEffects(React__default.forwardRef(_BaseButton),{displayName:'BaseButton'});
48
48
 
49
49
  export { BaseButton as default, getBackgroundColorToken, getBoxShadowToken, getTextColorToken };
50
50
  //# sourceMappingURL=BaseButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseButton.js","sources":["../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography, ButtonBoxShadow } from './buttonTokens';\nimport {\n textColor,\n backgroundGradient,\n boxShadow,\n spinnerColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?:\n | 'primary'\n | 'white'\n | 'positive'\n | 'negative'\n | 'notice'\n | 'information'\n | 'neutral'\n | 'transparent';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers) => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n // For white and transparent colors, we use 'primary' as the base color\n // since the actual token lookup uses the white/transparent specific paths\n const gradientColor = color === 'white' || color === 'transparent' || !color ? 'primary' : color;\n const tokens = backgroundGradient(gradientColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_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 }\n\n return tokens.base[variant][_state];\n};\n\nexport const getBoxShadowToken = ({\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers): ButtonBoxShadow => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokenColor = color === 'white' || color === 'transparent' || !color ? 'primary' : color;\n const tokens = boxShadow(tokenColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (\n variant === 'tertiary' &&\n color !== 'primary' &&\n color !== 'white' &&\n color !== 'transparent'\n ) {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" or \"transparent\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n\n // Resolve background value - either a gradient string or a token path\n const resolveBackgroundValue = (value: string): string => {\n if (value.startsWith('linear-gradient')) {\n return value;\n }\n return getIn(theme.colors, value as DotNotationToken<Theme['colors']>);\n };\n\n const getDefaultBackground = (): string => {\n return resolveBackgroundValue(getBackgroundColorToken({ variant, color, state: 'default' }));\n };\n\n const getBoxShadow = (\n state: 'default' | 'hover' | 'focus' | 'disabled',\n btnColor: BaseButtonProps['color'],\n ): string | undefined => {\n const shadowTokens = getBoxShadowToken({ variant, color: btnColor, state });\n\n if (shadowTokens.length === 0) {\n return undefined;\n }\n\n const shadows = shadowTokens.map((shadow) => {\n const resolvedColor = getIn(theme.colors, shadow.color);\n return `inset 0 ${shadow.y}px ${shadow.blur}px ${shadow.spread}px ${resolvedColor}`;\n });\n\n return shadows.join(', ');\n };\n\n const getNativeShadowColors = (\n btnColor: BaseButtonProps['color'],\n ): {\n shadowHighlightColor?: string;\n shadowHighlightHeight?: number;\n shadowBottomColor?: string;\n shadowBottomHeight?: number;\n shadowBorderColor?: string;\n /**\n * Border color from the highlighted/focus box-shadow tokens. Used on press\n * to match web `&:active { boxShadow: focusBoxShadow }` (e.g. secondary/\n * tertiary gray.default → gray.highlighted).\n */\n focusShadowBorderColor?: string;\n shadowRingWidth?: number;\n isShadowGradientVisible?: boolean;\n } => {\n const resolveShadowColors = (\n shadowTokens: ReturnType<typeof getBoxShadowToken>,\n ): {\n highlightColor?: string;\n bottomColor?: string;\n borderColor?: string;\n highlightHeight: number;\n bottomHeight: number;\n ringWidth: number;\n } => {\n let highlightColor: string | undefined,\n bottomColor: string | undefined,\n borderColor: string | undefined;\n let highlightHeight = 0;\n let bottomHeight = 0;\n let ringWidth = 0;\n\n for (const shadow of shadowTokens) {\n const resolved = getIn(theme.colors, shadow.color);\n if (shadow.y > 0 && !highlightColor) {\n highlightColor = resolved;\n highlightHeight = shadow.y;\n } else if (shadow.y < 0 && !bottomColor) {\n bottomColor = resolved;\n bottomHeight = Math.abs(shadow.y);\n } else if (shadow.spread > 0 && !borderColor) {\n borderColor = resolved;\n ringWidth = shadow.spread;\n }\n }\n\n return { highlightColor, bottomColor, borderColor, highlightHeight, bottomHeight, ringWidth };\n };\n\n const defaultColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'default' }),\n );\n if (!defaultColors.highlightColor && !defaultColors.bottomColor && !defaultColors.borderColor) {\n return {};\n }\n\n const focusColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'focus' }),\n );\n\n return {\n shadowHighlightColor: defaultColors.highlightColor,\n shadowHighlightHeight:\n defaultColors.highlightHeight !== 0 ? defaultColors.highlightHeight : undefined,\n shadowBottomColor: defaultColors.bottomColor,\n shadowBottomHeight: defaultColors.bottomHeight !== 0 ? defaultColors.bottomHeight : undefined,\n shadowBorderColor: defaultColors.borderColor,\n focusShadowBorderColor: focusColors.borderColor,\n shadowRingWidth: defaultColors.ringWidth !== 0 ? defaultColors.ringWidth : undefined,\n isShadowGradientVisible: variant === 'primary',\n };\n };\n\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 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: getDefaultBackground(),\n defaultBoxShadow: getBoxShadow('default', color),\n hoverBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'hover' }),\n ),\n hoverBoxShadow: getBoxShadow('hover', color),\n hoverIconColor: getIn(\n theme.colors,\n getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'hover',\n }),\n ),\n focusBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'focus' }),\n ),\n focusBoxShadow: getBoxShadow('focus', color),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderRadius: makeBorderSize(theme.border.radius[buttonBorderRadius[size]]),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n ...(isReactNative() && !isDisabled ? getNativeShadowColors(color) : {}),\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = resolveBackgroundValue(\n getBackgroundColorToken({ 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.defaultBoxShadow = getBoxShadow('disabled', color);\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBoxShadow = getBoxShadow('disabled', color);\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBoxShadow = getBoxShadow('disabled', color);\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n // Keep ButtonGroup press index in sync so border-collapse / z-index can\n // reveal this button's highlighted right edge while pressed (RN only).\n // useLayoutEffect ensures the z-index update happens before paint, keeping\n // it in sync with Reanimated's UI-thread press state change.\n React.useLayoutEffect(() => {\n if (typeof buttonGroupProps.buttonIndex !== 'number') return;\n const { buttonIndex, setPressedButtonIndex } = buttonGroupProps;\n if (isPressed) {\n setPressedButtonIndex?.(buttonIndex);\n } else {\n // Only clear if this button still owns the pressed index — otherwise a\n // multi-touch release on A would wipe B's press state.\n setPressedButtonIndex?.((prev) => (prev === buttonIndex ? null : prev));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPressed, buttonGroupProps.buttonIndex]);\n\n const {\n defaultBackgroundColor,\n defaultBoxShadow,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBoxShadow,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBoxShadow,\n hoverBackgroundColor,\n hoverIconColor,\n iconColor,\n iconSize,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderRadius,\n motionDuration,\n motionEasing,\n shadowHighlightColor,\n shadowHighlightHeight,\n shadowBottomColor,\n shadowBottomHeight,\n shadowBorderColor,\n focusShadowBorderColor,\n shadowRingWidth,\n isShadowGradientVisible,\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 // On web, ButtonGroup flattens the child buttons' border radius via CSS child\n // selectors and rounds only the outer edges using the group container's\n // `overflow: hidden` + `borderRadius`. React Native has no CSS cascade, so we\n // flatten each button's border radius to 0 here and let the group container do\n // the outer rounding — otherwise the inner (middle) buttons show rounded corners.\n // An explicit `isInsideButtonGroup` flag set by ButtonGroupContext signals we're\n // inside a group; this avoids relying on the presence of `variant` in the\n // default context.\n const isInsideRNButtonGroup = isReactNative() && Boolean(buttonGroupProps.isInsideButtonGroup);\n\n // buttonBorderRadiusValue flattens the base borderRadius to 0 for all buttons\n // in a group. buttonBorderRadii provides per-corner rounding for the outer\n // edges of the first/last buttons. Both are needed: the base value ensures the\n // Pressable itself is square, while borderRadii rounds only the outer corners\n // via per-corner style overrides (and feeds the SVG border overlay).\n const buttonBorderRadiusValue = isInsideRNButtonGroup ? makeBorderSize(0) : borderRadius;\n\n // The group container clips with `overflow: hidden` + `borderRadius`. Since the\n // buttons are square (radius 0), the native border overlay (drawn as a square\n // ring) gets clipped at the group's rounded outer corners. To match web, round\n // only the outer corners of the first/last buttons (both the background and the\n // border overlay) so the ring follows the rounded corner instead of being cut.\n const groupCornerRadius = isInsideRNButtonGroup\n ? theme.border.radius[buttonBorderRadius[buttonGroupProps.size ?? size]]\n : 0;\n const isFirstInGroup = Boolean(buttonGroupProps.isFirstInButtonGroup);\n const isLastInGroup = Boolean(buttonGroupProps.isLastInButtonGroup);\n const buttonBorderRadii = isInsideRNButtonGroup\n ? {\n topLeft: isFirstInGroup ? groupCornerRadius : 0,\n bottomLeft: isFirstInGroup ? groupCornerRadius : 0,\n topRight: isLastInGroup ? groupCornerRadius : 0,\n bottomRight: isLastInGroup ? groupCornerRadius : 0,\n }\n : undefined;\n\n // ButtonGroup computes isGroupBorderCollapsed based on its variant and passes it\n // through context, so BaseButton doesn't need to inspect the variant string.\n const isGroupBorderCollapsed =\n isInsideRNButtonGroup && !isFirstInGroup && Boolean(buttonGroupProps.isGroupBorderCollapsed);\n\n // Match web ButtonGroup: only the first child keeps the radial glow\n // (`backgroundImage: none` on `:not(:first-child)`). On native the white\n // top/left \"glassy\" edge also comes from the inset highlight stroke mapped\n // from box-shadow — suppress that on non-first buttons too so junctions\n // don't show a white left edge on Share/Download.\n const isNonFirstInButtonGroup = isInsideRNButtonGroup && !isFirstInGroup;\n const showShadowGradient = Boolean(isShadowGradientVisible) && !isNonFirstInButtonGroup;\n const effectiveShadowHighlightColor = isNonFirstInButtonGroup ? undefined : shadowHighlightColor;\n\n // Web ButtonGroup sets `flex: 1` on children when isFullWidth. On native,\n // isFullWidth alone applies `width: 100%`, which overflows in a row — use\n // flex instead so siblings share space equally.\n const isInsideFullWidthButtonGroup =\n isInsideRNButtonGroup && Boolean(buttonGroupProps.isFullWidth ?? isFullWidth);\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={buttonGroupProps.variant ?? variant}\n color={buttonGroupProps.color ?? color}\n size={buttonGroupProps.size ?? size}\n isLoading={isLoading}\n disabled={disabled}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n defaultBoxShadow={defaultBoxShadow}\n focusBoxShadow={focusBoxShadow}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBoxShadow={hoverBoxShadow}\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 borderRadius={buttonBorderRadiusValue}\n {...(buttonBorderRadii ? { borderRadii: buttonBorderRadii } : {})}\n {...(isGroupBorderCollapsed ? { isGroupBorderCollapsed } : {})}\n {...(isNonFirstInButtonGroup ? { isInsetShadowSidesFlattened: true } : {})}\n {...(isInsideFullWidthButtonGroup ? { isInsideFullWidthButtonGroup: true } : {})}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n hoverIconColor={\n isDisabled\n ? getIn(theme.colors, iconColor as DotNotationToken<Theme['colors']>)\n : hoverIconColor\n }\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n {...(!isReactNative()\n ? { onMouseOut: handlePointerPressedOut, onKeyUp: handleKeyboardPressedOut }\n : {})}\n shadowHighlightColor={effectiveShadowHighlightColor}\n shadowHighlightHeight={isNonFirstInButtonGroup ? undefined : shadowHighlightHeight}\n shadowBottomColor={shadowBottomColor}\n shadowBottomHeight={shadowBottomHeight}\n shadowBorderColor={shadowBorderColor}\n focusShadowBorderColor={focusShadowBorderColor}\n shadowRingWidth={shadowRingWidth}\n isShadowGradientVisible={showShadowGradient}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n color={\n color && color !== 'primary' && color !== 'transparent' && color in spinnerColor\n ? spinnerColor[color as keyof typeof spinnerColor][\n variant as 'primary' | 'secondary'\n ]\n : spinnerColor.base[variant]\n }\n />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n marginX=\"spacing.2\"\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 display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\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","variant","state","color","_state","gradientColor","tokens","backgroundGradient","white","Error","base","transparent","getBoxShadowToken","_ref2","tokenColor","boxShadow","getTextColorToken","_ref3","property","textColor","tertiary","getProps","_ref4","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","resolveBackgroundValue","value","startsWith","getIn","colors","getDefaultBackground","getBoxShadow","btnColor","shadowTokens","shadows","map","shadow","resolvedColor","y","blur","spread","join","getNativeShadowColors","resolveShadowColors","highlightColor","bottomColor","borderColor","highlightHeight","bottomHeight","ringWidth","resolved","Math","abs","defaultColors","focusColors","shadowHighlightColor","shadowHighlightHeight","shadowBottomColor","shadowBottomHeight","shadowBorderColor","focusShadowBorderColor","shadowRingWidth","isShadowGradientVisible","props","Object","assign","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","defaultBoxShadow","hoverBackgroundColor","hoverBoxShadow","hoverIconColor","focusBackgroundColor","focusBoxShadow","focusRingColor","borderRadius","makeBorderSize","border","radius","buttonBorderRadius","motionDuration","motionEasing","disabledBackgroundColor","ButtonContent","styled","BaseBox","_ref5","isHidden","opacity","_BaseButton","_ref6","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_buttonGroupProps$siz2","_buttonGroupProps$isF","_accessibilityProps$r","_buttonGroupProps$var2","_buttonGroupProps$col2","_buttonGroupProps$siz3","_buttonGroupProps$isF2","target","rel","tabIndex","id","_ref6$variant","_ref6$color","_ref6$size","Icon","icon","_ref6$iconPosition","iconPosition","_ref6$isDisabled","_ref6$isFullWidth","isFullWidth","_ref6$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref6$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","__DEV__","prevLoading","usePrevious","useEffect","announce","useLayoutEffect","buttonIndex","setPressedButtonIndex","prev","_getProps","buttonTypography","renderElement","useMemo","defaultRole","isInsideRNButtonGroup","isInsideButtonGroup","buttonBorderRadiusValue","groupCornerRadius","isFirstInGroup","isFirstInButtonGroup","isLastInGroup","isLastInButtonGroup","buttonBorderRadii","topLeft","bottomLeft","topRight","bottomRight","isGroupBorderCollapsed","isNonFirstInButtonGroup","showShadowGradient","effectiveShadowHighlightColor","isInsideFullWidthButtonGroup","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","as","makeAccessible","role","event","borderRadii","isInsetShadowSidesFlattened","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","spinnerColor","flexDirection","flex","BaseText","marginX","fontWeight","textAlign","BaseButton","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"BaseButton.js","sources":["../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography, ButtonBoxShadow } from './buttonTokens';\nimport {\n textColor,\n backgroundGradient,\n boxShadow,\n spinnerColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\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, IconSize } 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 type { BaseSpinnerProps } from '~components/Spinner/BaseSpinner';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?:\n | 'primary'\n | 'white'\n | 'positive'\n | 'negative'\n | 'notice'\n | 'information'\n | 'neutral'\n | 'transparent'\n /**\n * Only supported with `variant=\"primary\"`. Consumed by FloatingActionButton\n * and intentionally not exposed on `Button`.\n */\n | 'black';\n /**\n * Overrides the size-derived border radius. Used by FloatingActionButton to\n * render a pill. `round` is excluded because a percentage radius distorts on\n * a non-square button.\n */\n _borderRadius?: Exclude<keyof Theme['border']['radius'], 'round'>;\n /**\n * Overrides the size-derived icon size. Used by FloatingActionButton, whose\n * icon is larger than a `size=\"large\"` Button's.\n */\n _iconSize?: IconSize;\n /**\n * Overrides the color of the loading spinner. Used by FloatingActionButton,\n * whose contrast requirements differ from `Button`'s.\n */\n _spinnerColor?: BaseSpinnerProps['color'];\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\n/**\n * `white`, `black` and `transparent` are not feedback colors, so the token\n * factories are still called with `primary` and the value is looked up under its\n * own key instead of under `base`.\n */\nconst isStaticOrTransparentColor = (\n color: BaseButtonProps['color'],\n): color is 'white' | 'black' | 'transparent' =>\n color === 'white' || color === 'black' || color === 'transparent';\n\nconst getSpinnerColor = ({\n variant,\n color,\n}: {\n variant: NonNullable<BaseButtonProps['variant']>;\n color: NonNullable<BaseButtonProps['color']>;\n}): BaseSpinnerProps['color'] => {\n // `black` only exists as a primary button, so it is looked up separately from\n // the colors that carry a full variant record.\n if (color === 'black') {\n return spinnerColor.black.primary;\n }\n\n if (color !== 'primary' && color !== 'transparent' && color in spinnerColor) {\n return spinnerColor[color as Exclude<keyof typeof spinnerColor, 'base' | 'black'>][\n variant as 'primary' | 'secondary'\n ];\n }\n\n return spinnerColor.base[variant];\n};\n\nconst assertBlackIsPrimary = (variant: NonNullable<BaseButtonProps['variant']>): void => {\n if (variant !== 'primary') {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Black color can only be used with primary variant but received \"${variant}\"`,\n });\n }\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 variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers) => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n // For white, black and transparent colors, we use 'primary' as the base color\n // since the actual token lookup uses the white/black/transparent specific paths\n const gradientColor = isStaticOrTransparentColor(color) || !color ? 'primary' : color;\n const tokens = backgroundGradient(gradientColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'black') {\n assertBlackIsPrimary(variant);\n return tokens.black.primary[_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_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 }\n\n return tokens.base[variant][_state];\n};\n\nexport const getBoxShadowToken = ({\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers): ButtonBoxShadow => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokenColor = isStaticOrTransparentColor(color) || !color ? 'primary' : color;\n const tokens = boxShadow(tokenColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'black') {\n assertBlackIsPrimary(variant);\n return tokens.black.primary[_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_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 === 'black') {\n assertBlackIsPrimary(variant);\n return tokens.black.primary[_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n _borderRadius,\n _iconSize,\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 _borderRadius?: BaseButtonCommonProps['_borderRadius'];\n _iconSize?: BaseButtonCommonProps['_iconSize'];\n}): BaseButtonStyleProps => {\n if (\n variant === 'tertiary' &&\n color !== 'primary' &&\n color !== 'white' &&\n color !== 'transparent'\n ) {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" or \"transparent\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n\n // Resolve background value - either a gradient string or a token path\n const resolveBackgroundValue = (value: string): string => {\n if (value.startsWith('linear-gradient')) {\n return value;\n }\n return getIn(theme.colors, value as DotNotationToken<Theme['colors']>);\n };\n\n const getDefaultBackground = (): string => {\n return resolveBackgroundValue(getBackgroundColorToken({ variant, color, state: 'default' }));\n };\n\n const getBoxShadow = (\n state: 'default' | 'hover' | 'focus' | 'disabled',\n btnColor: BaseButtonProps['color'],\n ): string | undefined => {\n const shadowTokens = getBoxShadowToken({ variant, color: btnColor, state });\n\n if (shadowTokens.length === 0) {\n return undefined;\n }\n\n const shadows = shadowTokens.map((shadow) => {\n const resolvedColor = getIn(theme.colors, shadow.color);\n return `inset 0 ${shadow.y}px ${shadow.blur}px ${shadow.spread}px ${resolvedColor}`;\n });\n\n return shadows.join(', ');\n };\n\n const getNativeShadowColors = (\n btnColor: BaseButtonProps['color'],\n ): {\n shadowHighlightColor?: string;\n shadowHighlightHeight?: number;\n shadowBottomColor?: string;\n shadowBottomHeight?: number;\n shadowBorderColor?: string;\n /**\n * Border color from the highlighted/focus box-shadow tokens. Used on press\n * to match web `&:active { boxShadow: focusBoxShadow }` (e.g. secondary/\n * tertiary gray.default → gray.highlighted).\n */\n focusShadowBorderColor?: string;\n shadowRingWidth?: number;\n isShadowGradientVisible?: boolean;\n } => {\n const resolveShadowColors = (\n shadowTokens: ReturnType<typeof getBoxShadowToken>,\n ): {\n highlightColor?: string;\n bottomColor?: string;\n borderColor?: string;\n highlightHeight: number;\n bottomHeight: number;\n ringWidth: number;\n } => {\n let highlightColor: string | undefined,\n bottomColor: string | undefined,\n borderColor: string | undefined;\n let highlightHeight = 0;\n let bottomHeight = 0;\n let ringWidth = 0;\n\n for (const shadow of shadowTokens) {\n const resolved = getIn(theme.colors, shadow.color);\n if (shadow.y > 0 && !highlightColor) {\n highlightColor = resolved;\n highlightHeight = shadow.y;\n } else if (shadow.y < 0 && !bottomColor) {\n bottomColor = resolved;\n bottomHeight = Math.abs(shadow.y);\n } else if (shadow.spread > 0 && !borderColor) {\n borderColor = resolved;\n ringWidth = shadow.spread;\n }\n }\n\n return { highlightColor, bottomColor, borderColor, highlightHeight, bottomHeight, ringWidth };\n };\n\n const defaultColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'default' }),\n );\n if (!defaultColors.highlightColor && !defaultColors.bottomColor && !defaultColors.borderColor) {\n return {};\n }\n\n const focusColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'focus' }),\n );\n\n return {\n shadowHighlightColor: defaultColors.highlightColor,\n shadowHighlightHeight:\n defaultColors.highlightHeight !== 0 ? defaultColors.highlightHeight : undefined,\n shadowBottomColor: defaultColors.bottomColor,\n shadowBottomHeight: defaultColors.bottomHeight !== 0 ? defaultColors.bottomHeight : undefined,\n shadowBorderColor: defaultColors.borderColor,\n focusShadowBorderColor: focusColors.borderColor,\n shadowRingWidth: defaultColors.ringWidth !== 0 ? defaultColors.ringWidth : undefined,\n isShadowGradientVisible: variant === 'primary',\n };\n };\n\n const props: BaseButtonStyleProps = {\n iconSize:\n _iconSize ??\n (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 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: getDefaultBackground(),\n defaultBoxShadow: getBoxShadow('default', color),\n hoverBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'hover' }),\n ),\n hoverBoxShadow: getBoxShadow('hover', color),\n hoverIconColor: getIn(\n theme.colors,\n getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'hover',\n }),\n ),\n focusBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'focus' }),\n ),\n focusBoxShadow: getBoxShadow('focus', color),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderRadius: makeBorderSize(theme.border.radius[_borderRadius ?? buttonBorderRadius[size]]),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n ...(isReactNative() && !isDisabled ? getNativeShadowColors(color) : {}),\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = resolveBackgroundValue(\n getBackgroundColorToken({ 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.defaultBoxShadow = getBoxShadow('disabled', color);\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBoxShadow = getBoxShadow('disabled', color);\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBoxShadow = getBoxShadow('disabled', color);\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 _borderRadius,\n _iconSize,\n _spinnerColor,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n // Keep ButtonGroup press index in sync so border-collapse / z-index can\n // reveal this button's highlighted right edge while pressed (RN only).\n // useLayoutEffect ensures the z-index update happens before paint, keeping\n // it in sync with Reanimated's UI-thread press state change.\n React.useLayoutEffect(() => {\n if (typeof buttonGroupProps.buttonIndex !== 'number') return;\n const { buttonIndex, setPressedButtonIndex } = buttonGroupProps;\n if (isPressed) {\n setPressedButtonIndex?.(buttonIndex);\n } else {\n // Only clear if this button still owns the pressed index — otherwise a\n // multi-touch release on A would wipe B's press state.\n setPressedButtonIndex?.((prev) => (prev === buttonIndex ? null : prev));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPressed, buttonGroupProps.buttonIndex]);\n\n const {\n defaultBackgroundColor,\n defaultBoxShadow,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBoxShadow,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBoxShadow,\n hoverBackgroundColor,\n hoverIconColor,\n iconColor,\n iconSize,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderRadius,\n motionDuration,\n motionEasing,\n shadowHighlightColor,\n shadowHighlightHeight,\n shadowBottomColor,\n shadowBottomHeight,\n shadowBorderColor,\n focusShadowBorderColor,\n shadowRingWidth,\n isShadowGradientVisible,\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 _borderRadius,\n _iconSize,\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n // On web, ButtonGroup flattens the child buttons' border radius via CSS child\n // selectors and rounds only the outer edges using the group container's\n // `overflow: hidden` + `borderRadius`. React Native has no CSS cascade, so we\n // flatten each button's border radius to 0 here and let the group container do\n // the outer rounding — otherwise the inner (middle) buttons show rounded corners.\n // An explicit `isInsideButtonGroup` flag set by ButtonGroupContext signals we're\n // inside a group; this avoids relying on the presence of `variant` in the\n // default context.\n const isInsideRNButtonGroup = isReactNative() && Boolean(buttonGroupProps.isInsideButtonGroup);\n\n // buttonBorderRadiusValue flattens the base borderRadius to 0 for all buttons\n // in a group. buttonBorderRadii provides per-corner rounding for the outer\n // edges of the first/last buttons. Both are needed: the base value ensures the\n // Pressable itself is square, while borderRadii rounds only the outer corners\n // via per-corner style overrides (and feeds the SVG border overlay).\n const buttonBorderRadiusValue = isInsideRNButtonGroup ? makeBorderSize(0) : borderRadius;\n\n // The group container clips with `overflow: hidden` + `borderRadius`. Since the\n // buttons are square (radius 0), the native border overlay (drawn as a square\n // ring) gets clipped at the group's rounded outer corners. To match web, round\n // only the outer corners of the first/last buttons (both the background and the\n // border overlay) so the ring follows the rounded corner instead of being cut.\n const groupCornerRadius = isInsideRNButtonGroup\n ? theme.border.radius[buttonBorderRadius[buttonGroupProps.size ?? size]]\n : 0;\n const isFirstInGroup = Boolean(buttonGroupProps.isFirstInButtonGroup);\n const isLastInGroup = Boolean(buttonGroupProps.isLastInButtonGroup);\n const buttonBorderRadii = isInsideRNButtonGroup\n ? {\n topLeft: isFirstInGroup ? groupCornerRadius : 0,\n bottomLeft: isFirstInGroup ? groupCornerRadius : 0,\n topRight: isLastInGroup ? groupCornerRadius : 0,\n bottomRight: isLastInGroup ? groupCornerRadius : 0,\n }\n : undefined;\n\n // ButtonGroup computes isGroupBorderCollapsed based on its variant and passes it\n // through context, so BaseButton doesn't need to inspect the variant string.\n const isGroupBorderCollapsed =\n isInsideRNButtonGroup && !isFirstInGroup && Boolean(buttonGroupProps.isGroupBorderCollapsed);\n\n // Match web ButtonGroup: only the first child keeps the radial glow\n // (`backgroundImage: none` on `:not(:first-child)`). On native the white\n // top/left \"glassy\" edge also comes from the inset highlight stroke mapped\n // from box-shadow — suppress that on non-first buttons too so junctions\n // don't show a white left edge on Share/Download.\n const isNonFirstInButtonGroup = isInsideRNButtonGroup && !isFirstInGroup;\n const showShadowGradient = Boolean(isShadowGradientVisible) && !isNonFirstInButtonGroup;\n const effectiveShadowHighlightColor = isNonFirstInButtonGroup ? undefined : shadowHighlightColor;\n\n // Web ButtonGroup sets `flex: 1` on children when isFullWidth. On native,\n // isFullWidth alone applies `width: 100%`, which overflows in a row — use\n // flex instead so siblings share space equally.\n const isInsideFullWidthButtonGroup =\n isInsideRNButtonGroup && Boolean(buttonGroupProps.isFullWidth ?? isFullWidth);\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={buttonGroupProps.variant ?? variant}\n color={buttonGroupProps.color ?? color}\n size={buttonGroupProps.size ?? size}\n isLoading={isLoading}\n disabled={disabled}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n defaultBoxShadow={defaultBoxShadow}\n focusBoxShadow={focusBoxShadow}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBoxShadow={hoverBoxShadow}\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 borderRadius={buttonBorderRadiusValue}\n {...(buttonBorderRadii ? { borderRadii: buttonBorderRadii } : {})}\n {...(isGroupBorderCollapsed ? { isGroupBorderCollapsed } : {})}\n {...(isNonFirstInButtonGroup ? { isInsetShadowSidesFlattened: true } : {})}\n {...(isInsideFullWidthButtonGroup ? { isInsideFullWidthButtonGroup: true } : {})}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n hoverIconColor={\n isDisabled\n ? getIn(theme.colors, iconColor as DotNotationToken<Theme['colors']>)\n : hoverIconColor\n }\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n {...(!isReactNative()\n ? { onMouseOut: handlePointerPressedOut, onKeyUp: handleKeyboardPressedOut }\n : {})}\n shadowHighlightColor={effectiveShadowHighlightColor}\n shadowHighlightHeight={isNonFirstInButtonGroup ? undefined : shadowHighlightHeight}\n shadowBottomColor={shadowBottomColor}\n shadowBottomHeight={shadowBottomHeight}\n shadowBorderColor={shadowBorderColor}\n focusShadowBorderColor={focusShadowBorderColor}\n shadowRingWidth={shadowRingWidth}\n isShadowGradientVisible={showShadowGradient}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n color={_spinnerColor ?? getSpinnerColor({ variant, color })}\n />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n marginX=\"spacing.2\"\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 display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\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":["isStaticOrTransparentColor","color","getSpinnerColor","_ref","variant","spinnerColor","black","primary","base","assertBlackIsPrimary","throwBladeError","moduleName","message","getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref2","state","_state","gradientColor","tokens","backgroundGradient","white","Error","transparent","getBoxShadowToken","_ref3","tokenColor","boxShadow","getTextColorToken","_ref4","property","textColor","tertiary","getProps","_ref5","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","_borderRadius","_iconSize","isIconOnly","trim","length","resolveBackgroundValue","value","startsWith","getIn","colors","getDefaultBackground","getBoxShadow","btnColor","shadowTokens","shadows","map","shadow","resolvedColor","y","blur","spread","join","getNativeShadowColors","resolveShadowColors","highlightColor","bottomColor","borderColor","highlightHeight","bottomHeight","ringWidth","resolved","Math","abs","defaultColors","focusColors","shadowHighlightColor","shadowHighlightHeight","shadowBottomColor","shadowBottomHeight","shadowBorderColor","focusShadowBorderColor","shadowRingWidth","isShadowGradientVisible","props","Object","assign","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","defaultBoxShadow","hoverBackgroundColor","hoverBoxShadow","hoverIconColor","focusBackgroundColor","focusBoxShadow","focusRingColor","borderRadius","makeBorderSize","border","radius","buttonBorderRadius","motionDuration","motionEasing","disabledBackgroundColor","ButtonContent","styled","BaseBox","_ref6","isHidden","opacity","_BaseButton","_ref7","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_buttonGroupProps$siz2","_buttonGroupProps$isF","_accessibilityProps$r","_buttonGroupProps$var2","_buttonGroupProps$col2","_buttonGroupProps$siz3","_buttonGroupProps$isF2","target","rel","tabIndex","id","_ref7$variant","_ref7$color","_ref7$size","Icon","icon","_ref7$iconPosition","iconPosition","_ref7$isDisabled","_ref7$isFullWidth","isFullWidth","_ref7$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref7$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","_spinnerColor","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","__DEV__","prevLoading","usePrevious","useEffect","announce","useLayoutEffect","buttonIndex","setPressedButtonIndex","prev","_getProps","buttonTypography","renderElement","useMemo","defaultRole","isInsideRNButtonGroup","isInsideButtonGroup","buttonBorderRadiusValue","groupCornerRadius","isFirstInGroup","isFirstInButtonGroup","isLastInGroup","isLastInButtonGroup","buttonBorderRadii","topLeft","bottomLeft","topRight","bottomRight","isGroupBorderCollapsed","isNonFirstInButtonGroup","showShadowGradient","effectiveShadowHighlightColor","isInsideFullWidthButtonGroup","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","as","makeAccessible","role","event","borderRadii","isInsetShadowSidesFlattened","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","BaseText","marginX","fontWeight","textAlign","BaseButton","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
@@ -3,7 +3,7 @@ import '../../../utils/index.js';
3
3
  import { size } from '../../../tokens/global/size.js';
4
4
  import { makeSize } from '../../../utils/makeSize/makeSize.js';
5
5
 
6
- var backgroundGradient=function backgroundGradient(color){return {base:{primary:{default:`interactive.background.${color}.default`,highlighted:`interactive.background.${color}.highlighted`,disabled:`interactive.background.${color}.disabled`},secondary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},tertiary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},transparent:{default:'transparent',highlighted:'interactive.background.gray.faded',disabled:'interactive.background.gray.disabled'}},white:{primary:{default:'interactive.background.staticWhite.default',highlighted:'interactive.background.staticWhite.highlighted',disabled:'interactive.background.staticWhite.disabled'},secondary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'},tertiary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'}}};};var boxShadow=function boxShadow(color){return {base:{primary:{default:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.default`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],highlighted:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.highlighted`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],disabled:[]},secondary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},tertiary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},transparent:{default:[],highlighted:[],disabled:[]}},white:{primary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticWhite.default'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticWhite.default'}],disabled:[]},secondary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.disabled'}]},tertiary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.disabled'}]}}};};var textColor=function textColor(property){return {base:{primary:{default:`interactive.${property}.onPrimary.normal`,highlighted:`interactive.${property}.onPrimary.normal`,disabled:`interactive.${property}.primary.disabled`},secondary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`},tertiary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`}},white:{primary:{default:`interactive.${property}.staticBlack.muted`,highlighted:`interactive.${property}.staticBlack.muted`,disabled:`interactive.${property}.staticBlack.disabled`},secondary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`},tertiary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`}},transparent:{tertiary:{default:property==='icon'?'interactive.icon.gray.muted':'surface.text.gray.normal',highlighted:property==='icon'?'interactive.icon.gray.subtle':'surface.text.gray.normal',disabled:`interactive.${property}.gray.disabled`}},color:function color(_color){return {primary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.${_color}.disabled`},secondary:{default:`interactive.${property}.${_color}.normal`,highlighted:`interactive.${property}.${_color}.normal`,disabled:`interactive.${property}.${_color}.disabled`}};}};};var typography={fonts:{size:{xsmall:75,small:75,medium:100,large:200}},lineHeights:{xsmall:75,small:75,medium:100,large:200}};var minHeight={xsmall:size[28],small:size[32],medium:size[36],large:size[48]};var buttonPadding={xsmall:{top:0,bottom:0,left:3,right:3},small:{top:0,bottom:0,left:3,right:3},medium:{top:0,bottom:0,left:4,right:4},large:{top:0,bottom:0,left:5,right:5}};var buttonBorderRadius={xsmall:'small',small:'small',medium:'small',large:'medium'};var buttonIconOnlyHeightWidth={xsmall:makeSize(size['28']),small:makeSize(size['32']),medium:makeSize(size['36']),large:makeSize(size['48'])};var buttonSizeToIconSizeMap={xsmall:'small',small:'small',medium:'medium',large:'medium'};var buttonIconOnlySizeToIconSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'medium'};var buttonSizeToSpinnerSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'large'};var spinnerColor={base:{primary:'primary',secondary:'neutral',tertiary:'neutral',transparent:'primary'},white:{primary:'white',secondary:'white',tertiary:'white'},positive:{primary:'positive',secondary:'positive'},negative:{primary:'negative',secondary:'negative'},notice:{primary:'notice',secondary:'notice'},information:{primary:'information',secondary:'information'},neutral:{primary:'neutral',secondary:'neutral'}};
6
+ var backgroundGradient=function backgroundGradient(color){return {base:{primary:{default:`interactive.background.${color}.default`,highlighted:`interactive.background.${color}.highlighted`,disabled:`interactive.background.${color}.disabled`},secondary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},tertiary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},transparent:{default:'transparent',highlighted:'interactive.background.gray.faded',disabled:'interactive.background.gray.disabled'}},white:{primary:{default:'interactive.background.staticWhite.default',highlighted:'interactive.background.staticWhite.highlighted',disabled:'interactive.background.staticWhite.disabled'},secondary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'},tertiary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'}},black:{primary:{default:'interactive.background.staticBlack.default',highlighted:'interactive.background.staticBlack.highlighted',disabled:'interactive.background.staticBlack.fadedHighlighted'}}};};var boxShadow=function boxShadow(color){return {base:{primary:{default:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.default`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],highlighted:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.highlighted`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],disabled:[]},secondary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},tertiary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},transparent:{default:[],highlighted:[],disabled:[]}},white:{primary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.fadedHighlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.fadedHighlighted'}],disabled:[]},secondary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.disabled'}]},tertiary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.disabled'}]}},black:{primary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.highlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.highlighted'},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.highlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.highlighted'},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'}],disabled:[]}}};};var textColor=function textColor(property){return {base:{primary:{default:`interactive.${property}.onPrimary.normal`,highlighted:`interactive.${property}.onPrimary.normal`,disabled:`interactive.${property}.primary.disabled`},secondary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`},tertiary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`}},white:{primary:{default:`interactive.${property}.staticBlack.muted`,highlighted:`interactive.${property}.staticBlack.muted`,disabled:`interactive.${property}.staticBlack.disabled`},secondary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`},tertiary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`}},black:{primary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`}},transparent:{tertiary:{default:property==='icon'?'interactive.icon.gray.muted':'surface.text.gray.normal',highlighted:property==='icon'?'interactive.icon.gray.subtle':'surface.text.gray.normal',disabled:`interactive.${property}.gray.disabled`}},color:function color(_color){return {primary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.${_color}.disabled`},secondary:{default:`interactive.${property}.${_color}.normal`,highlighted:`interactive.${property}.${_color}.normal`,disabled:`interactive.${property}.${_color}.disabled`}};}};};var typography={fonts:{size:{xsmall:75,small:75,medium:100,large:200}},lineHeights:{xsmall:75,small:75,medium:100,large:200}};var minHeight={xsmall:size[28],small:size[32],medium:size[36],large:size[48]};var buttonPadding={xsmall:{top:0,bottom:0,left:3,right:3},small:{top:0,bottom:0,left:3,right:3},medium:{top:0,bottom:0,left:4,right:4},large:{top:0,bottom:0,left:5,right:5}};var buttonBorderRadius={xsmall:'small',small:'small',medium:'small',large:'medium'};var buttonIconOnlyHeightWidth={xsmall:makeSize(size['28']),small:makeSize(size['32']),medium:makeSize(size['36']),large:makeSize(size['48'])};var buttonSizeToIconSizeMap={xsmall:'small',small:'small',medium:'medium',large:'medium'};var buttonIconOnlySizeToIconSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'medium'};var buttonSizeToSpinnerSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'large'};var spinnerColor={base:{primary:'primary',secondary:'neutral',tertiary:'neutral',transparent:'primary'},white:{primary:'white',secondary:'white',tertiary:'white'},black:{primary:'white'},positive:{primary:'positive',secondary:'positive'},negative:{primary:'negative',secondary:'negative'},notice:{primary:'notice',secondary:'notice'},information:{primary:'information',secondary:'information'},neutral:{primary:'neutral',secondary:'neutral'}};
7
7
 
8
8
  export { backgroundGradient, boxShadow, buttonBorderRadius, buttonIconOnlyHeightWidth, buttonIconOnlySizeToIconSizeMap, buttonPadding, buttonSizeToIconSizeMap, buttonSizeToSpinnerSizeMap, minHeight, spinnerColor, textColor, typography };
9
9
  //# sourceMappingURL=buttonTokens.js.map