@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
@@ -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","concat","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","_iterator","_createForOfIteratorHelper","_step","s","n","done","resolved","Math","abs","err","e","f","defaultColors","focusColors","shadowHighlightColor","shadowHighlightHeight","shadowBottomColor","shadowBottomHeight","shadowBorderColor","focusShadowBorderColor","shadowRingWidth","isShadowGradientVisible","props","_objectSpread","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","withConfig","displayName","componentId","_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","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","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"],"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","concat","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","_iterator","_createForOfIteratorHelper","_step","s","n","done","resolved","Math","abs","err","e","f","defaultColors","focusColors","shadowHighlightColor","shadowHighlightHeight","shadowBottomColor","shadowBottomHeight","shadowBorderColor","focusShadowBorderColor","shadowRingWidth","isShadowGradientVisible","props","_objectSpread","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","withConfig","displayName","componentId","_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","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","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"],"mappings":"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"}
@@ -45,6 +45,15 @@ var backgroundGradient = function backgroundGradient(color) {
45
45
  highlighted: 'interactive.background.staticBlack.faded',
46
46
  disabled: 'interactive.background.gray.disabled'
47
47
  }
48
+ },
49
+ // Only the `primary` emphasis exists in the design for the black color, which
50
+ // is currently used by FloatingActionButton and is not exposed on `Button`.
51
+ black: {
52
+ primary: {
53
+ "default": 'interactive.background.staticBlack.default',
54
+ highlighted: 'interactive.background.staticBlack.highlighted',
55
+ disabled: 'interactive.background.staticBlack.fadedHighlighted'
56
+ }
48
57
  }
49
58
  };
50
59
  };
@@ -197,7 +206,7 @@ var boxShadow = function boxShadow(color) {
197
206
  y: 0,
198
207
  blur: 0,
199
208
  spread: 0.5,
200
- color: 'interactive.border.staticWhite.default'
209
+ color: 'interactive.border.staticBlack.fadedHighlighted'
201
210
  }],
202
211
  highlighted: [{
203
212
  y: -1.5,
@@ -208,7 +217,7 @@ var boxShadow = function boxShadow(color) {
208
217
  y: 0,
209
218
  blur: 0,
210
219
  spread: 0.5,
211
- color: 'interactive.border.staticWhite.default'
220
+ color: 'interactive.border.staticBlack.fadedHighlighted'
212
221
  }],
213
222
  disabled: []
214
223
  },
@@ -272,6 +281,53 @@ var boxShadow = function boxShadow(color) {
272
281
  color: 'interactive.border.staticWhite.disabled'
273
282
  }]
274
283
  }
284
+ },
285
+ black: {
286
+ primary: {
287
+ "default": [{
288
+ y: -1.5,
289
+ blur: 0,
290
+ spread: 0,
291
+ color: 'interactive.border.staticBlack.highlighted'
292
+ }, {
293
+ y: 0,
294
+ blur: 0,
295
+ spread: 0.5,
296
+ color: 'interactive.border.staticBlack.highlighted'
297
+ }, {
298
+ y: 1.5,
299
+ blur: 0,
300
+ spread: 0,
301
+ color: 'interactive.border.staticWhite.fadedHighlighted'
302
+ }, {
303
+ y: -2,
304
+ blur: 0,
305
+ spread: 0,
306
+ color: 'interactive.border.staticWhite.fadedHighlighted'
307
+ }],
308
+ highlighted: [{
309
+ y: -1.5,
310
+ blur: 0,
311
+ spread: 0,
312
+ color: 'interactive.border.staticBlack.highlighted'
313
+ }, {
314
+ y: 0,
315
+ blur: 0,
316
+ spread: 0.5,
317
+ color: 'interactive.border.staticBlack.highlighted'
318
+ }, {
319
+ y: 1.5,
320
+ blur: 0,
321
+ spread: 0,
322
+ color: 'interactive.border.staticWhite.fadedHighlighted'
323
+ }, {
324
+ y: -2,
325
+ blur: 0,
326
+ spread: 0,
327
+ color: 'interactive.border.staticWhite.fadedHighlighted'
328
+ }],
329
+ disabled: []
330
+ }
275
331
  }
276
332
  };
277
333
  };
@@ -311,6 +367,13 @@ var textColor = function textColor(property) {
311
367
  disabled: "interactive.".concat(property, ".staticWhite.disabled")
312
368
  }
313
369
  },
370
+ black: {
371
+ primary: {
372
+ "default": "interactive.".concat(property, ".staticWhite.normal"),
373
+ highlighted: "interactive.".concat(property, ".staticWhite.normal"),
374
+ disabled: "interactive.".concat(property, ".staticWhite.disabled")
375
+ }
376
+ },
314
377
  transparent: {
315
378
  tertiary: {
316
379
  "default": property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',
@@ -428,6 +491,9 @@ var spinnerColor = {
428
491
  secondary: 'white',
429
492
  tertiary: 'white'
430
493
  },
494
+ black: {
495
+ primary: 'white'
496
+ },
431
497
  positive: {
432
498
  primary: 'positive',
433
499
  secondary: 'positive'
@@ -1 +1 @@
1
- {"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundGradient = (color: FeedbackColors | 'primary') => {\n return {\n base: {\n primary: {\n default: `interactive.background.${color}.default`,\n highlighted: `interactive.background.${color}.highlighted`,\n disabled: `interactive.background.${color}.disabled`,\n },\n secondary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n tertiary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n transparent: {\n default: 'transparent',\n highlighted: 'interactive.background.gray.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n white: {\n primary: {\n default: 'interactive.background.staticWhite.default',\n highlighted: 'interactive.background.staticWhite.highlighted',\n disabled: 'interactive.background.staticWhite.disabled',\n },\n secondary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n tertiary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n } as const;\n};\n\ntype BoxShadowValue = {\n y: number;\n blur: number;\n spread: number;\n color: DotNotationToken<Theme['colors']>;\n};\n\ntype ButtonBoxShadow = BoxShadowValue[];\n\n/**\n * Box-shadow tokens for buttons (includes border + 3D effects)\n * Each shadow is: inset 0 {y}px {blur}px {spread}px {color}\n */\nconst boxShadow = (\n color: FeedbackColors | 'primary',\n): {\n base: Record<\n 'primary' | 'secondary' | 'tertiary' | 'transparent',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n white: Record<\n 'primary' | 'secondary' | 'tertiary',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n} => {\n return {\n base: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.default` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.highlighted` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n transparent: {\n default: [],\n highlighted: [],\n disabled: [],\n },\n },\n white: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticWhite.default' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticWhite.default' },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n },\n };\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n transparent: {\n tertiary: {\n default: property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',\n highlighted:\n property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 5,\n right: 5,\n },\n};\n\nconst buttonBorderRadius = {\n xsmall: 'small',\n small: 'small',\n medium: 'small',\n large: 'medium',\n} as const;\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'large',\n};\n\n/**\n * Spinner color mapping based on button variant and color\n */\nconst spinnerColor = {\n base: {\n primary: 'primary',\n secondary: 'neutral',\n tertiary: 'neutral',\n transparent: 'primary',\n },\n white: {\n primary: 'white',\n secondary: 'white',\n tertiary: 'white',\n },\n positive: {\n primary: 'positive',\n secondary: 'positive',\n },\n negative: {\n primary: 'negative',\n secondary: 'negative',\n },\n notice: {\n primary: 'notice',\n secondary: 'notice',\n },\n information: {\n primary: 'information',\n secondary: 'information',\n },\n neutral: {\n primary: 'neutral',\n secondary: 'neutral',\n },\n} as const;\n\nexport {\n boxShadow,\n backgroundGradient,\n textColor,\n spinnerColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\n};\n\nexport type { ButtonBoxShadow };\n"],"names":["backgroundGradient","color","base","primary","concat","highlighted","disabled","secondary","tertiary","transparent","white","boxShadow","y","blur","spread","textColor","property","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonBorderRadius","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","spinnerColor","positive","negative","notice","information","neutral"],"mappings":"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"}
1
+ {"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundGradient = (color: FeedbackColors | 'primary') => {\n return {\n base: {\n primary: {\n default: `interactive.background.${color}.default`,\n highlighted: `interactive.background.${color}.highlighted`,\n disabled: `interactive.background.${color}.disabled`,\n },\n secondary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n tertiary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n transparent: {\n default: 'transparent',\n highlighted: 'interactive.background.gray.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n white: {\n primary: {\n default: 'interactive.background.staticWhite.default',\n highlighted: 'interactive.background.staticWhite.highlighted',\n disabled: 'interactive.background.staticWhite.disabled',\n },\n secondary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n tertiary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n // Only the `primary` emphasis exists in the design for the black color, which\n // is currently used by FloatingActionButton and is not exposed on `Button`.\n black: {\n primary: {\n default: 'interactive.background.staticBlack.default',\n highlighted: 'interactive.background.staticBlack.highlighted',\n disabled: 'interactive.background.staticBlack.fadedHighlighted',\n },\n },\n } as const;\n};\n\ntype BoxShadowValue = {\n y: number;\n blur: number;\n spread: number;\n color: DotNotationToken<Theme['colors']>;\n};\n\ntype ButtonBoxShadow = BoxShadowValue[];\n\n/**\n * Box-shadow tokens for buttons (includes border + 3D effects)\n * Each shadow is: inset 0 {y}px {blur}px {spread}px {color}\n */\nconst boxShadow = (\n color: FeedbackColors | 'primary',\n): {\n base: Record<\n 'primary' | 'secondary' | 'tertiary' | 'transparent',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n white: Record<\n 'primary' | 'secondary' | 'tertiary',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n black: Record<'primary', Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>>;\n} => {\n return {\n base: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.default` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.highlighted` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n transparent: {\n default: [],\n highlighted: [],\n disabled: [],\n },\n },\n white: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n {\n y: 0,\n blur: 0,\n spread: 0.5,\n color: 'interactive.border.staticBlack.fadedHighlighted',\n },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n {\n y: 0,\n blur: 0,\n spread: 0.5,\n color: 'interactive.border.staticBlack.fadedHighlighted',\n },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n },\n black: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.highlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticBlack.highlighted' },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.highlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticBlack.highlighted' },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n ],\n disabled: [],\n },\n },\n };\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n black: {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n transparent: {\n tertiary: {\n default: property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',\n highlighted:\n property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 5,\n right: 5,\n },\n};\n\nconst buttonBorderRadius = {\n xsmall: 'small',\n small: 'small',\n medium: 'small',\n large: 'medium',\n} as const;\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'large',\n};\n\n/**\n * Spinner color mapping based on button variant and color\n */\nconst spinnerColor = {\n base: {\n primary: 'primary',\n secondary: 'neutral',\n tertiary: 'neutral',\n transparent: 'primary',\n },\n white: {\n primary: 'white',\n secondary: 'white',\n tertiary: 'white',\n },\n black: {\n primary: 'white',\n },\n positive: {\n primary: 'positive',\n secondary: 'positive',\n },\n negative: {\n primary: 'negative',\n secondary: 'negative',\n },\n notice: {\n primary: 'notice',\n secondary: 'notice',\n },\n information: {\n primary: 'information',\n secondary: 'information',\n },\n neutral: {\n primary: 'neutral',\n secondary: 'neutral',\n },\n} as const;\n\nexport {\n boxShadow,\n backgroundGradient,\n textColor,\n spinnerColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\n};\n\nexport type { ButtonBoxShadow };\n"],"names":["backgroundGradient","color","base","primary","concat","highlighted","disabled","secondary","tertiary","transparent","white","black","boxShadow","y","blur","spread","textColor","property","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonBorderRadius","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","spinnerColor","positive","negative","notice","information","neutral"],"mappings":"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"}