@metamask-previews/design-system-react 0.0.0-preview.bf69b6b → 0.0.0-preview.c0b5e45

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 (496) hide show
  1. package/dist/components/avatar-account/AvatarAccount.cjs +27 -0
  2. package/dist/components/avatar-account/AvatarAccount.cjs.map +1 -0
  3. package/dist/components/avatar-account/AvatarAccount.constants.cjs +12 -0
  4. package/dist/components/avatar-account/AvatarAccount.constants.cjs.map +1 -0
  5. package/dist/components/avatar-account/AvatarAccount.constants.d.cts +3 -0
  6. package/dist/components/avatar-account/AvatarAccount.constants.d.cts.map +1 -0
  7. package/dist/components/avatar-account/AvatarAccount.constants.d.mts +3 -0
  8. package/dist/components/avatar-account/AvatarAccount.constants.d.mts.map +1 -0
  9. package/dist/components/avatar-account/AvatarAccount.constants.mjs +9 -0
  10. package/dist/components/avatar-account/AvatarAccount.constants.mjs.map +1 -0
  11. package/dist/components/avatar-account/AvatarAccount.d.cts +4 -0
  12. package/dist/components/avatar-account/AvatarAccount.d.cts.map +1 -0
  13. package/dist/components/avatar-account/AvatarAccount.d.mts +4 -0
  14. package/dist/components/avatar-account/AvatarAccount.d.mts.map +1 -0
  15. package/dist/components/avatar-account/AvatarAccount.mjs +28 -0
  16. package/dist/components/avatar-account/AvatarAccount.mjs.map +1 -0
  17. package/dist/components/avatar-account/AvatarAccount.types.cjs +32 -0
  18. package/dist/components/avatar-account/AvatarAccount.types.cjs.map +1 -0
  19. package/dist/components/avatar-account/AvatarAccount.types.d.cts +58 -0
  20. package/dist/components/avatar-account/AvatarAccount.types.d.cts.map +1 -0
  21. package/dist/components/avatar-account/AvatarAccount.types.d.mts +58 -0
  22. package/dist/components/avatar-account/AvatarAccount.types.d.mts.map +1 -0
  23. package/dist/components/avatar-account/AvatarAccount.types.mjs +29 -0
  24. package/dist/components/avatar-account/AvatarAccount.types.mjs.map +1 -0
  25. package/dist/components/avatar-account/index.cjs +9 -0
  26. package/dist/components/avatar-account/index.cjs.map +1 -0
  27. package/dist/components/avatar-account/index.d.cts +4 -0
  28. package/dist/components/avatar-account/index.d.cts.map +1 -0
  29. package/dist/components/avatar-account/index.d.mts +4 -0
  30. package/dist/components/avatar-account/index.d.mts.map +1 -0
  31. package/dist/components/avatar-account/index.mjs +3 -0
  32. package/dist/components/avatar-account/index.mjs.map +1 -0
  33. package/dist/components/avatar-base/AvatarBase.cjs +28 -0
  34. package/dist/components/avatar-base/AvatarBase.cjs.map +1 -0
  35. package/dist/components/avatar-base/AvatarBase.constants.cjs +19 -0
  36. package/dist/components/avatar-base/AvatarBase.constants.cjs.map +1 -0
  37. package/dist/components/avatar-base/AvatarBase.constants.d.cts +4 -0
  38. package/dist/components/avatar-base/AvatarBase.constants.d.cts.map +1 -0
  39. package/dist/components/avatar-base/AvatarBase.constants.d.mts +4 -0
  40. package/dist/components/avatar-base/AvatarBase.constants.d.mts.map +1 -0
  41. package/dist/components/avatar-base/AvatarBase.constants.mjs +16 -0
  42. package/dist/components/avatar-base/AvatarBase.constants.mjs.map +1 -0
  43. package/dist/components/avatar-base/AvatarBase.d.cts +4 -0
  44. package/dist/components/avatar-base/AvatarBase.d.cts.map +1 -0
  45. package/dist/components/avatar-base/AvatarBase.d.mts +4 -0
  46. package/dist/components/avatar-base/AvatarBase.d.mts.map +1 -0
  47. package/dist/components/avatar-base/AvatarBase.mjs +29 -0
  48. package/dist/components/avatar-base/AvatarBase.mjs.map +1 -0
  49. package/dist/components/avatar-base/AvatarBase.types.cjs +38 -0
  50. package/dist/components/avatar-base/AvatarBase.types.cjs.map +1 -0
  51. package/dist/components/avatar-base/AvatarBase.types.d.cts +77 -0
  52. package/dist/components/avatar-base/AvatarBase.types.d.cts.map +1 -0
  53. package/dist/components/avatar-base/AvatarBase.types.d.mts +77 -0
  54. package/dist/components/avatar-base/AvatarBase.types.d.mts.map +1 -0
  55. package/dist/components/avatar-base/AvatarBase.types.mjs +35 -0
  56. package/dist/components/avatar-base/AvatarBase.types.mjs.map +1 -0
  57. package/dist/components/avatar-base/index.cjs +9 -0
  58. package/dist/components/avatar-base/index.cjs.map +1 -0
  59. package/dist/components/avatar-base/index.d.cts +4 -0
  60. package/dist/components/{button-link → avatar-base}/index.d.cts.map +1 -1
  61. package/dist/components/avatar-base/index.d.mts +4 -0
  62. package/dist/components/{button-link → avatar-base}/index.d.mts.map +1 -1
  63. package/dist/components/avatar-base/index.mjs +3 -0
  64. package/dist/components/avatar-base/index.mjs.map +1 -0
  65. package/dist/components/avatar-favicon/AvatarFavicon.cjs +15 -0
  66. package/dist/components/avatar-favicon/AvatarFavicon.cjs.map +1 -0
  67. package/dist/components/avatar-favicon/AvatarFavicon.d.cts +4 -0
  68. package/dist/components/avatar-favicon/AvatarFavicon.d.cts.map +1 -0
  69. package/dist/components/avatar-favicon/AvatarFavicon.d.mts +4 -0
  70. package/dist/components/avatar-favicon/AvatarFavicon.d.mts.map +1 -0
  71. package/dist/components/avatar-favicon/AvatarFavicon.mjs +16 -0
  72. package/dist/components/avatar-favicon/AvatarFavicon.mjs.map +1 -0
  73. package/dist/components/avatar-favicon/AvatarFavicon.types.cjs +4 -0
  74. package/dist/components/avatar-favicon/AvatarFavicon.types.cjs.map +1 -0
  75. package/dist/components/avatar-favicon/AvatarFavicon.types.d.cts +40 -0
  76. package/dist/components/avatar-favicon/AvatarFavicon.types.d.cts.map +1 -0
  77. package/dist/components/avatar-favicon/AvatarFavicon.types.d.mts +40 -0
  78. package/dist/components/avatar-favicon/AvatarFavicon.types.d.mts.map +1 -0
  79. package/dist/components/avatar-favicon/AvatarFavicon.types.mjs +2 -0
  80. package/dist/components/avatar-favicon/AvatarFavicon.types.mjs.map +1 -0
  81. package/dist/components/avatar-favicon/index.cjs +8 -0
  82. package/dist/components/avatar-favicon/index.cjs.map +1 -0
  83. package/dist/components/avatar-favicon/index.d.cts +4 -0
  84. package/dist/components/avatar-favicon/index.d.cts.map +1 -0
  85. package/dist/components/avatar-favicon/index.d.mts +4 -0
  86. package/dist/components/avatar-favicon/index.d.mts.map +1 -0
  87. package/dist/components/avatar-favicon/index.mjs +3 -0
  88. package/dist/components/avatar-favicon/index.mjs.map +1 -0
  89. package/dist/components/avatar-icon/AvatarIcon.cjs +19 -0
  90. package/dist/components/avatar-icon/AvatarIcon.cjs.map +1 -0
  91. package/dist/components/avatar-icon/AvatarIcon.constants.cjs +44 -0
  92. package/dist/components/avatar-icon/AvatarIcon.constants.cjs.map +1 -0
  93. package/dist/components/avatar-icon/AvatarIcon.constants.d.cts +11 -0
  94. package/dist/components/avatar-icon/AvatarIcon.constants.d.cts.map +1 -0
  95. package/dist/components/avatar-icon/AvatarIcon.constants.d.mts +11 -0
  96. package/dist/components/avatar-icon/AvatarIcon.constants.d.mts.map +1 -0
  97. package/dist/components/avatar-icon/AvatarIcon.constants.mjs +41 -0
  98. package/dist/components/avatar-icon/AvatarIcon.constants.mjs.map +1 -0
  99. package/dist/components/avatar-icon/AvatarIcon.d.cts +4 -0
  100. package/dist/components/avatar-icon/AvatarIcon.d.cts.map +1 -0
  101. package/dist/components/avatar-icon/AvatarIcon.d.mts +4 -0
  102. package/dist/components/avatar-icon/AvatarIcon.d.mts.map +1 -0
  103. package/dist/components/avatar-icon/AvatarIcon.mjs +20 -0
  104. package/dist/components/avatar-icon/AvatarIcon.mjs.map +1 -0
  105. package/dist/components/avatar-icon/AvatarIcon.types.cjs +36 -0
  106. package/dist/components/avatar-icon/AvatarIcon.types.cjs.map +1 -0
  107. package/dist/components/avatar-icon/AvatarIcon.types.d.cts +57 -0
  108. package/dist/components/avatar-icon/AvatarIcon.types.d.cts.map +1 -0
  109. package/dist/components/avatar-icon/AvatarIcon.types.d.mts +57 -0
  110. package/dist/components/avatar-icon/AvatarIcon.types.d.mts.map +1 -0
  111. package/dist/components/avatar-icon/AvatarIcon.types.mjs +33 -0
  112. package/dist/components/avatar-icon/AvatarIcon.types.mjs.map +1 -0
  113. package/dist/components/avatar-icon/index.cjs +9 -0
  114. package/dist/components/avatar-icon/index.cjs.map +1 -0
  115. package/dist/components/avatar-icon/index.d.cts +4 -0
  116. package/dist/components/avatar-icon/index.d.cts.map +1 -0
  117. package/dist/components/avatar-icon/index.d.mts +4 -0
  118. package/dist/components/avatar-icon/index.d.mts.map +1 -0
  119. package/dist/components/avatar-icon/index.mjs +3 -0
  120. package/dist/components/avatar-icon/index.mjs.map +1 -0
  121. package/dist/components/avatar-network/AvatarNetwork.cjs +15 -0
  122. package/dist/components/avatar-network/AvatarNetwork.cjs.map +1 -0
  123. package/dist/components/avatar-network/AvatarNetwork.d.cts +4 -0
  124. package/dist/components/avatar-network/AvatarNetwork.d.cts.map +1 -0
  125. package/dist/components/avatar-network/AvatarNetwork.d.mts +4 -0
  126. package/dist/components/avatar-network/AvatarNetwork.d.mts.map +1 -0
  127. package/dist/components/avatar-network/AvatarNetwork.mjs +16 -0
  128. package/dist/components/avatar-network/AvatarNetwork.mjs.map +1 -0
  129. package/dist/components/avatar-network/AvatarNetwork.types.cjs +4 -0
  130. package/dist/components/avatar-network/AvatarNetwork.types.cjs.map +1 -0
  131. package/dist/components/avatar-network/AvatarNetwork.types.d.cts +40 -0
  132. package/dist/components/avatar-network/AvatarNetwork.types.d.cts.map +1 -0
  133. package/dist/components/avatar-network/AvatarNetwork.types.d.mts +40 -0
  134. package/dist/components/avatar-network/AvatarNetwork.types.d.mts.map +1 -0
  135. package/dist/components/avatar-network/AvatarNetwork.types.mjs +2 -0
  136. package/dist/components/avatar-network/AvatarNetwork.types.mjs.map +1 -0
  137. package/dist/components/avatar-network/index.cjs +8 -0
  138. package/dist/components/avatar-network/index.cjs.map +1 -0
  139. package/dist/components/avatar-network/index.d.cts +4 -0
  140. package/dist/components/avatar-network/index.d.cts.map +1 -0
  141. package/dist/components/avatar-network/index.d.mts +4 -0
  142. package/dist/components/avatar-network/index.d.mts.map +1 -0
  143. package/dist/components/avatar-network/index.mjs +3 -0
  144. package/dist/components/avatar-network/index.mjs.map +1 -0
  145. package/dist/components/avatar-token/AvatarToken.cjs +15 -0
  146. package/dist/components/avatar-token/AvatarToken.cjs.map +1 -0
  147. package/dist/components/avatar-token/AvatarToken.d.cts +4 -0
  148. package/dist/components/avatar-token/AvatarToken.d.cts.map +1 -0
  149. package/dist/components/avatar-token/AvatarToken.d.mts +4 -0
  150. package/dist/components/avatar-token/AvatarToken.d.mts.map +1 -0
  151. package/dist/components/avatar-token/AvatarToken.mjs +16 -0
  152. package/dist/components/avatar-token/AvatarToken.mjs.map +1 -0
  153. package/dist/components/avatar-token/AvatarToken.types.cjs +4 -0
  154. package/dist/components/avatar-token/AvatarToken.types.cjs.map +1 -0
  155. package/dist/components/avatar-token/AvatarToken.types.d.cts +40 -0
  156. package/dist/components/avatar-token/AvatarToken.types.d.cts.map +1 -0
  157. package/dist/components/avatar-token/AvatarToken.types.d.mts +40 -0
  158. package/dist/components/avatar-token/AvatarToken.types.d.mts.map +1 -0
  159. package/dist/components/avatar-token/AvatarToken.types.mjs +2 -0
  160. package/dist/components/avatar-token/AvatarToken.types.mjs.map +1 -0
  161. package/dist/components/avatar-token/index.cjs +8 -0
  162. package/dist/components/avatar-token/index.cjs.map +1 -0
  163. package/dist/components/avatar-token/index.d.cts +4 -0
  164. package/dist/components/avatar-token/index.d.cts.map +1 -0
  165. package/dist/components/avatar-token/index.d.mts +4 -0
  166. package/dist/components/avatar-token/index.d.mts.map +1 -0
  167. package/dist/components/avatar-token/index.mjs +3 -0
  168. package/dist/components/avatar-token/index.mjs.map +1 -0
  169. package/dist/components/badge-count/BadgeCount.cjs +21 -0
  170. package/dist/components/badge-count/BadgeCount.cjs.map +1 -0
  171. package/dist/components/badge-count/BadgeCount.constants.cjs +15 -0
  172. package/dist/components/badge-count/BadgeCount.constants.cjs.map +1 -0
  173. package/dist/components/badge-count/BadgeCount.constants.d.cts +5 -0
  174. package/dist/components/badge-count/BadgeCount.constants.d.cts.map +1 -0
  175. package/dist/components/badge-count/BadgeCount.constants.d.mts +5 -0
  176. package/dist/components/badge-count/BadgeCount.constants.d.mts.map +1 -0
  177. package/dist/components/badge-count/BadgeCount.constants.mjs +12 -0
  178. package/dist/components/badge-count/BadgeCount.constants.mjs.map +1 -0
  179. package/dist/components/badge-count/BadgeCount.d.cts +4 -0
  180. package/dist/components/badge-count/BadgeCount.d.cts.map +1 -0
  181. package/dist/components/badge-count/BadgeCount.d.mts +4 -0
  182. package/dist/components/badge-count/BadgeCount.d.mts.map +1 -0
  183. package/dist/components/badge-count/BadgeCount.mjs +22 -0
  184. package/dist/components/badge-count/BadgeCount.mjs.map +1 -0
  185. package/dist/components/badge-count/BadgeCount.types.cjs +15 -0
  186. package/dist/components/badge-count/BadgeCount.types.cjs.map +1 -0
  187. package/dist/components/badge-count/BadgeCount.types.d.cts +48 -0
  188. package/dist/components/badge-count/BadgeCount.types.d.cts.map +1 -0
  189. package/dist/components/badge-count/BadgeCount.types.d.mts +48 -0
  190. package/dist/components/badge-count/BadgeCount.types.d.mts.map +1 -0
  191. package/dist/components/badge-count/BadgeCount.types.mjs +12 -0
  192. package/dist/components/badge-count/BadgeCount.types.mjs.map +1 -0
  193. package/dist/components/badge-count/index.cjs +8 -0
  194. package/dist/components/badge-count/index.cjs.map +1 -0
  195. package/dist/components/badge-count/index.d.cts +4 -0
  196. package/dist/components/badge-count/index.d.cts.map +1 -0
  197. package/dist/components/badge-count/index.d.mts +4 -0
  198. package/dist/components/badge-count/index.d.mts.map +1 -0
  199. package/dist/components/badge-count/index.mjs +3 -0
  200. package/dist/components/badge-count/index.mjs.map +1 -0
  201. package/dist/components/badge-icon/BadgeIcon.cjs +18 -0
  202. package/dist/components/badge-icon/BadgeIcon.cjs.map +1 -0
  203. package/dist/components/badge-icon/BadgeIcon.d.cts +4 -0
  204. package/dist/components/badge-icon/BadgeIcon.d.cts.map +1 -0
  205. package/dist/components/badge-icon/BadgeIcon.d.mts +4 -0
  206. package/dist/components/badge-icon/BadgeIcon.d.mts.map +1 -0
  207. package/dist/components/badge-icon/BadgeIcon.mjs +19 -0
  208. package/dist/components/badge-icon/BadgeIcon.mjs.map +1 -0
  209. package/dist/components/badge-icon/BadgeIcon.types.cjs +4 -0
  210. package/dist/components/badge-icon/BadgeIcon.types.cjs.map +1 -0
  211. package/dist/components/badge-icon/BadgeIcon.types.d.cts +26 -0
  212. package/dist/components/badge-icon/BadgeIcon.types.d.cts.map +1 -0
  213. package/dist/components/badge-icon/BadgeIcon.types.d.mts +26 -0
  214. package/dist/components/badge-icon/BadgeIcon.types.d.mts.map +1 -0
  215. package/dist/components/badge-icon/BadgeIcon.types.mjs +2 -0
  216. package/dist/components/badge-icon/BadgeIcon.types.mjs.map +1 -0
  217. package/dist/components/badge-icon/index.cjs +6 -0
  218. package/dist/components/badge-icon/index.cjs.map +1 -0
  219. package/dist/components/badge-icon/index.d.cts +3 -0
  220. package/dist/components/badge-icon/index.d.cts.map +1 -0
  221. package/dist/components/badge-icon/index.d.mts +3 -0
  222. package/dist/components/badge-icon/index.d.mts.map +1 -0
  223. package/dist/components/badge-icon/index.mjs +2 -0
  224. package/dist/components/badge-icon/index.mjs.map +1 -0
  225. package/dist/components/badge-status/BadgeStatus.cjs +32 -0
  226. package/dist/components/badge-status/BadgeStatus.cjs.map +1 -0
  227. package/dist/components/badge-status/BadgeStatus.constants.cjs +17 -0
  228. package/dist/components/badge-status/BadgeStatus.constants.cjs.map +1 -0
  229. package/dist/components/badge-status/BadgeStatus.constants.d.cts +4 -0
  230. package/dist/components/badge-status/BadgeStatus.constants.d.cts.map +1 -0
  231. package/dist/components/badge-status/BadgeStatus.constants.d.mts +4 -0
  232. package/dist/components/badge-status/BadgeStatus.constants.d.mts.map +1 -0
  233. package/dist/components/badge-status/BadgeStatus.constants.mjs +14 -0
  234. package/dist/components/badge-status/BadgeStatus.constants.mjs.map +1 -0
  235. package/dist/components/badge-status/BadgeStatus.d.cts +4 -0
  236. package/dist/components/badge-status/BadgeStatus.d.cts.map +1 -0
  237. package/dist/components/badge-status/BadgeStatus.d.mts +4 -0
  238. package/dist/components/badge-status/BadgeStatus.d.mts.map +1 -0
  239. package/dist/components/badge-status/BadgeStatus.mjs +33 -0
  240. package/dist/components/badge-status/BadgeStatus.mjs.map +1 -0
  241. package/dist/components/badge-status/BadgeStatus.types.cjs +29 -0
  242. package/dist/components/badge-status/BadgeStatus.types.cjs.map +1 -0
  243. package/dist/components/badge-status/BadgeStatus.types.d.cts +63 -0
  244. package/dist/components/badge-status/BadgeStatus.types.d.cts.map +1 -0
  245. package/dist/components/badge-status/BadgeStatus.types.d.mts +63 -0
  246. package/dist/components/badge-status/BadgeStatus.types.d.mts.map +1 -0
  247. package/dist/components/badge-status/BadgeStatus.types.mjs +26 -0
  248. package/dist/components/badge-status/BadgeStatus.types.mjs.map +1 -0
  249. package/dist/components/badge-status/index.cjs +9 -0
  250. package/dist/components/badge-status/index.cjs.map +1 -0
  251. package/dist/components/badge-status/index.d.cts +4 -0
  252. package/dist/components/badge-status/index.d.cts.map +1 -0
  253. package/dist/components/badge-status/index.d.mts +4 -0
  254. package/dist/components/badge-status/index.d.mts.map +1 -0
  255. package/dist/components/badge-status/index.mjs +3 -0
  256. package/dist/components/badge-status/index.mjs.map +1 -0
  257. package/dist/components/blockies/Blockies.cjs +40 -0
  258. package/dist/components/blockies/Blockies.cjs.map +1 -0
  259. package/dist/components/blockies/Blockies.d.cts +7 -0
  260. package/dist/components/blockies/Blockies.d.cts.map +1 -0
  261. package/dist/components/blockies/Blockies.d.mts +7 -0
  262. package/dist/components/blockies/Blockies.d.mts.map +1 -0
  263. package/dist/components/blockies/Blockies.mjs +21 -0
  264. package/dist/components/blockies/Blockies.mjs.map +1 -0
  265. package/dist/components/{button-link/ButtonLink.types.cjs → blockies/Blockies.types.cjs} +1 -1
  266. package/dist/components/blockies/Blockies.types.cjs.map +1 -0
  267. package/dist/components/blockies/Blockies.types.d.cts +16 -0
  268. package/dist/components/blockies/Blockies.types.d.cts.map +1 -0
  269. package/dist/components/blockies/Blockies.types.d.mts +16 -0
  270. package/dist/components/blockies/Blockies.types.d.mts.map +1 -0
  271. package/dist/components/blockies/Blockies.types.mjs +2 -0
  272. package/dist/components/blockies/Blockies.types.mjs.map +1 -0
  273. package/dist/components/blockies/index.cjs +6 -0
  274. package/dist/components/blockies/index.cjs.map +1 -0
  275. package/dist/components/blockies/index.d.cts +3 -0
  276. package/dist/components/blockies/index.d.cts.map +1 -0
  277. package/dist/components/blockies/index.d.mts +3 -0
  278. package/dist/components/blockies/index.d.mts.map +1 -0
  279. package/dist/components/blockies/index.mjs +2 -0
  280. package/dist/components/blockies/index.mjs.map +1 -0
  281. package/dist/components/button/Button.cjs +25 -0
  282. package/dist/components/button/Button.cjs.map +1 -0
  283. package/dist/components/button/Button.d.cts +4 -0
  284. package/dist/components/button/Button.d.cts.map +1 -0
  285. package/dist/components/button/Button.d.mts +4 -0
  286. package/dist/components/button/Button.d.mts.map +1 -0
  287. package/dist/components/button/Button.mjs +26 -0
  288. package/dist/components/button/Button.mjs.map +1 -0
  289. package/dist/components/button/Button.types.cjs +19 -0
  290. package/dist/components/button/Button.types.cjs.map +1 -0
  291. package/dist/components/button/Button.types.d.cts +31 -0
  292. package/dist/components/button/Button.types.d.cts.map +1 -0
  293. package/dist/components/button/Button.types.d.mts +31 -0
  294. package/dist/components/button/Button.types.d.mts.map +1 -0
  295. package/dist/components/button/Button.types.mjs +16 -0
  296. package/dist/components/button/Button.types.mjs.map +1 -0
  297. package/dist/components/button/index.cjs +10 -0
  298. package/dist/components/button/index.cjs.map +1 -0
  299. package/dist/components/button/index.d.cts +5 -0
  300. package/dist/components/button/index.d.cts.map +1 -0
  301. package/dist/components/button/index.d.mts +5 -0
  302. package/dist/components/button/index.d.mts.map +1 -0
  303. package/dist/components/button/index.mjs +4 -0
  304. package/dist/components/button/index.mjs.map +1 -0
  305. package/dist/components/button-base/ButtonBase.cjs +24 -10
  306. package/dist/components/button-base/ButtonBase.cjs.map +1 -1
  307. package/dist/components/button-base/ButtonBase.d.cts.map +1 -1
  308. package/dist/components/button-base/ButtonBase.d.mts.map +1 -1
  309. package/dist/components/button-base/ButtonBase.mjs +22 -8
  310. package/dist/components/button-base/ButtonBase.mjs.map +1 -1
  311. package/dist/components/button-base/ButtonBase.types.cjs.map +1 -1
  312. package/dist/components/button-base/ButtonBase.types.d.cts +1 -1
  313. package/dist/components/button-base/ButtonBase.types.d.mts +1 -1
  314. package/dist/components/button-base/ButtonBase.types.mjs.map +1 -1
  315. package/dist/components/button-icon/ButtonIcon.cjs +38 -0
  316. package/dist/components/button-icon/ButtonIcon.cjs.map +1 -0
  317. package/dist/components/button-icon/ButtonIcon.constants.cjs +16 -0
  318. package/dist/components/button-icon/ButtonIcon.constants.cjs.map +1 -0
  319. package/dist/components/button-icon/ButtonIcon.constants.d.cts +12 -0
  320. package/dist/components/button-icon/ButtonIcon.constants.d.cts.map +1 -0
  321. package/dist/components/button-icon/ButtonIcon.constants.d.mts +12 -0
  322. package/dist/components/button-icon/ButtonIcon.constants.d.mts.map +1 -0
  323. package/dist/components/button-icon/ButtonIcon.constants.mjs +13 -0
  324. package/dist/components/button-icon/ButtonIcon.constants.mjs.map +1 -0
  325. package/dist/components/button-icon/ButtonIcon.d.cts +4 -0
  326. package/dist/components/button-icon/ButtonIcon.d.cts.map +1 -0
  327. package/dist/components/button-icon/ButtonIcon.d.mts +4 -0
  328. package/dist/components/button-icon/ButtonIcon.d.mts.map +1 -0
  329. package/dist/components/button-icon/ButtonIcon.mjs +39 -0
  330. package/dist/components/button-icon/ButtonIcon.mjs.map +1 -0
  331. package/dist/components/button-icon/ButtonIcon.types.cjs +19 -0
  332. package/dist/components/button-icon/ButtonIcon.types.cjs.map +1 -0
  333. package/dist/components/button-icon/ButtonIcon.types.d.cts +61 -0
  334. package/dist/components/button-icon/ButtonIcon.types.d.cts.map +1 -0
  335. package/dist/components/button-icon/ButtonIcon.types.d.mts +61 -0
  336. package/dist/components/button-icon/ButtonIcon.types.d.mts.map +1 -0
  337. package/dist/components/button-icon/ButtonIcon.types.mjs +16 -0
  338. package/dist/components/button-icon/ButtonIcon.types.mjs.map +1 -0
  339. package/dist/components/button-icon/index.cjs +8 -0
  340. package/dist/components/button-icon/index.cjs.map +1 -0
  341. package/dist/components/button-icon/index.d.cts +4 -0
  342. package/dist/components/button-icon/index.d.cts.map +1 -0
  343. package/dist/components/button-icon/index.d.mts +4 -0
  344. package/dist/components/button-icon/index.d.mts.map +1 -0
  345. package/dist/components/button-icon/index.mjs +3 -0
  346. package/dist/components/button-icon/index.mjs.map +1 -0
  347. package/dist/components/button-primary/ButtonPrimary.cjs +45 -23
  348. package/dist/components/button-primary/ButtonPrimary.cjs.map +1 -1
  349. package/dist/components/button-primary/ButtonPrimary.d.cts.map +1 -1
  350. package/dist/components/button-primary/ButtonPrimary.d.mts.map +1 -1
  351. package/dist/components/button-primary/ButtonPrimary.mjs +45 -23
  352. package/dist/components/button-primary/ButtonPrimary.mjs.map +1 -1
  353. package/dist/components/button-secondary/ButtonSecondary.cjs +26 -25
  354. package/dist/components/button-secondary/ButtonSecondary.cjs.map +1 -1
  355. package/dist/components/button-secondary/ButtonSecondary.d.cts.map +1 -1
  356. package/dist/components/button-secondary/ButtonSecondary.d.mts.map +1 -1
  357. package/dist/components/button-secondary/ButtonSecondary.mjs +26 -25
  358. package/dist/components/button-secondary/ButtonSecondary.mjs.map +1 -1
  359. package/dist/components/button-tertiary/ButtonTertiary.cjs +60 -0
  360. package/dist/components/button-tertiary/ButtonTertiary.cjs.map +1 -0
  361. package/dist/components/button-tertiary/ButtonTertiary.d.cts +4 -0
  362. package/dist/components/button-tertiary/ButtonTertiary.d.cts.map +1 -0
  363. package/dist/components/button-tertiary/ButtonTertiary.d.mts +4 -0
  364. package/dist/components/button-tertiary/ButtonTertiary.d.mts.map +1 -0
  365. package/dist/components/button-tertiary/ButtonTertiary.mjs +61 -0
  366. package/dist/components/button-tertiary/ButtonTertiary.mjs.map +1 -0
  367. package/dist/components/button-tertiary/ButtonTertiary.types.cjs +3 -0
  368. package/dist/components/button-tertiary/ButtonTertiary.types.cjs.map +1 -0
  369. package/dist/components/{button-link/ButtonLink.types.d.cts → button-tertiary/ButtonTertiary.types.d.cts} +8 -3
  370. package/dist/components/button-tertiary/ButtonTertiary.types.d.cts.map +1 -0
  371. package/dist/components/{button-link/ButtonLink.types.d.mts → button-tertiary/ButtonTertiary.types.d.mts} +8 -3
  372. package/dist/components/button-tertiary/ButtonTertiary.types.d.mts.map +1 -0
  373. package/dist/components/button-tertiary/ButtonTertiary.types.mjs +2 -0
  374. package/dist/components/button-tertiary/ButtonTertiary.types.mjs.map +1 -0
  375. package/dist/components/button-tertiary/index.cjs +8 -0
  376. package/dist/components/button-tertiary/index.cjs.map +1 -0
  377. package/dist/components/button-tertiary/index.d.cts +4 -0
  378. package/dist/components/button-tertiary/index.d.cts.map +1 -0
  379. package/dist/components/button-tertiary/index.d.mts +4 -0
  380. package/dist/components/button-tertiary/index.d.mts.map +1 -0
  381. package/dist/components/button-tertiary/index.mjs +3 -0
  382. package/dist/components/button-tertiary/index.mjs.map +1 -0
  383. package/dist/components/index.cjs +52 -9
  384. package/dist/components/index.cjs.map +1 -1
  385. package/dist/components/index.d.cts +35 -8
  386. package/dist/components/index.d.cts.map +1 -1
  387. package/dist/components/index.d.mts +35 -8
  388. package/dist/components/index.d.mts.map +1 -1
  389. package/dist/components/index.mjs +20 -7
  390. package/dist/components/index.mjs.map +1 -1
  391. package/dist/components/jazzicon/Jazzicon.cjs +98 -0
  392. package/dist/components/jazzicon/Jazzicon.cjs.map +1 -0
  393. package/dist/components/jazzicon/Jazzicon.d.cts +7 -0
  394. package/dist/components/jazzicon/Jazzicon.d.cts.map +1 -0
  395. package/dist/components/jazzicon/Jazzicon.d.mts +7 -0
  396. package/dist/components/jazzicon/Jazzicon.d.mts.map +1 -0
  397. package/dist/components/jazzicon/Jazzicon.mjs +77 -0
  398. package/dist/components/jazzicon/Jazzicon.mjs.map +1 -0
  399. package/dist/components/jazzicon/Jazzicon.types.cjs +3 -0
  400. package/dist/components/jazzicon/Jazzicon.types.cjs.map +1 -0
  401. package/dist/components/jazzicon/Jazzicon.types.d.cts +16 -0
  402. package/dist/components/jazzicon/Jazzicon.types.d.cts.map +1 -0
  403. package/dist/components/jazzicon/Jazzicon.types.d.mts +16 -0
  404. package/dist/components/jazzicon/Jazzicon.types.d.mts.map +1 -0
  405. package/dist/components/jazzicon/Jazzicon.types.mjs +2 -0
  406. package/dist/components/jazzicon/Jazzicon.types.mjs.map +1 -0
  407. package/dist/components/jazzicon/Jazzicon.utilities.cjs +58 -0
  408. package/dist/components/jazzicon/Jazzicon.utilities.cjs.map +1 -0
  409. package/dist/components/jazzicon/Jazzicon.utilities.d.cts +15 -0
  410. package/dist/components/jazzicon/Jazzicon.utilities.d.cts.map +1 -0
  411. package/dist/components/jazzicon/Jazzicon.utilities.d.mts +15 -0
  412. package/dist/components/jazzicon/Jazzicon.utilities.d.mts.map +1 -0
  413. package/dist/components/jazzicon/Jazzicon.utilities.mjs +52 -0
  414. package/dist/components/jazzicon/Jazzicon.utilities.mjs.map +1 -0
  415. package/dist/components/jazzicon/index.cjs +6 -0
  416. package/dist/components/jazzicon/index.cjs.map +1 -0
  417. package/dist/components/jazzicon/index.d.cts +3 -0
  418. package/dist/components/jazzicon/index.d.cts.map +1 -0
  419. package/dist/components/jazzicon/index.d.mts +3 -0
  420. package/dist/components/jazzicon/index.d.mts.map +1 -0
  421. package/dist/components/jazzicon/index.mjs +2 -0
  422. package/dist/components/jazzicon/index.mjs.map +1 -0
  423. package/dist/components/text/Text.cjs +4 -4
  424. package/dist/components/text/Text.cjs.map +1 -1
  425. package/dist/components/text/Text.constants.cjs +16 -5
  426. package/dist/components/text/Text.constants.cjs.map +1 -1
  427. package/dist/components/text/Text.constants.d.cts +3 -2
  428. package/dist/components/text/Text.constants.d.cts.map +1 -1
  429. package/dist/components/text/Text.constants.d.mts +3 -2
  430. package/dist/components/text/Text.constants.d.mts.map +1 -1
  431. package/dist/components/text/Text.constants.mjs +15 -4
  432. package/dist/components/text/Text.constants.mjs.map +1 -1
  433. package/dist/components/text/Text.d.cts.map +1 -1
  434. package/dist/components/text/Text.d.mts.map +1 -1
  435. package/dist/components/text/Text.mjs +6 -6
  436. package/dist/components/text/Text.mjs.map +1 -1
  437. package/dist/components/text/Text.types.cjs +8 -2
  438. package/dist/components/text/Text.types.cjs.map +1 -1
  439. package/dist/components/text/Text.types.d.cts +18 -2
  440. package/dist/components/text/Text.types.d.cts.map +1 -1
  441. package/dist/components/text/Text.types.d.mts +18 -2
  442. package/dist/components/text/Text.types.d.mts.map +1 -1
  443. package/dist/components/text/Text.types.mjs +7 -1
  444. package/dist/components/text/Text.types.mjs.map +1 -1
  445. package/dist/components/text/index.cjs +2 -1
  446. package/dist/components/text/index.cjs.map +1 -1
  447. package/dist/components/text/index.d.cts +1 -1
  448. package/dist/components/text/index.d.cts.map +1 -1
  449. package/dist/components/text/index.d.mts +1 -1
  450. package/dist/components/text/index.d.mts.map +1 -1
  451. package/dist/components/text/index.mjs +1 -1
  452. package/dist/components/text/index.mjs.map +1 -1
  453. package/dist/components/text-button/TextButton.cjs +49 -0
  454. package/dist/components/text-button/TextButton.cjs.map +1 -0
  455. package/dist/components/text-button/TextButton.d.cts +4 -0
  456. package/dist/components/text-button/TextButton.d.cts.map +1 -0
  457. package/dist/components/text-button/TextButton.d.mts +4 -0
  458. package/dist/components/text-button/TextButton.d.mts.map +1 -0
  459. package/dist/components/text-button/TextButton.mjs +50 -0
  460. package/dist/components/text-button/TextButton.mjs.map +1 -0
  461. package/dist/components/text-button/TextButton.types.cjs +3 -0
  462. package/dist/components/text-button/TextButton.types.cjs.map +1 -0
  463. package/dist/components/text-button/TextButton.types.d.cts +35 -0
  464. package/dist/components/text-button/TextButton.types.d.cts.map +1 -0
  465. package/dist/components/text-button/TextButton.types.d.mts +35 -0
  466. package/dist/components/text-button/TextButton.types.d.mts.map +1 -0
  467. package/dist/components/text-button/TextButton.types.mjs +2 -0
  468. package/dist/components/text-button/TextButton.types.mjs.map +1 -0
  469. package/dist/components/text-button/index.cjs +6 -0
  470. package/dist/components/text-button/index.cjs.map +1 -0
  471. package/dist/components/text-button/index.d.cts +3 -0
  472. package/dist/components/text-button/index.d.cts.map +1 -0
  473. package/dist/components/text-button/index.d.mts +3 -0
  474. package/dist/components/text-button/index.d.mts.map +1 -0
  475. package/dist/components/text-button/index.mjs +2 -0
  476. package/dist/components/text-button/index.mjs.map +1 -0
  477. package/package.json +11 -6
  478. package/dist/components/button-link/ButtonLink.cjs +0 -32
  479. package/dist/components/button-link/ButtonLink.cjs.map +0 -1
  480. package/dist/components/button-link/ButtonLink.d.cts +0 -4
  481. package/dist/components/button-link/ButtonLink.d.cts.map +0 -1
  482. package/dist/components/button-link/ButtonLink.d.mts +0 -4
  483. package/dist/components/button-link/ButtonLink.d.mts.map +0 -1
  484. package/dist/components/button-link/ButtonLink.mjs +0 -33
  485. package/dist/components/button-link/ButtonLink.mjs.map +0 -1
  486. package/dist/components/button-link/ButtonLink.types.cjs.map +0 -1
  487. package/dist/components/button-link/ButtonLink.types.d.cts.map +0 -1
  488. package/dist/components/button-link/ButtonLink.types.d.mts.map +0 -1
  489. package/dist/components/button-link/ButtonLink.types.mjs +0 -2
  490. package/dist/components/button-link/ButtonLink.types.mjs.map +0 -1
  491. package/dist/components/button-link/index.cjs +0 -8
  492. package/dist/components/button-link/index.cjs.map +0 -1
  493. package/dist/components/button-link/index.d.cts +0 -4
  494. package/dist/components/button-link/index.d.mts +0 -4
  495. package/dist/components/button-link/index.mjs +0 -3
  496. package/dist/components/button-link/index.mjs.map +0 -1
@@ -7,15 +7,19 @@ function $importDefault(module) {
7
7
  import { Slot, Slottable } from "@radix-ui/react-slot";
8
8
  import $React from "react";
9
9
  const React = $importDefault($React);
10
- import { Icon, IconName, IconSize, Text, TextColor } from "../index.mjs";
10
+ import { Text, FontWeight, TextColor } from "../text/index.mjs";
11
+ import { Icon, IconName, IconSize } from "../icon/index.mjs";
11
12
  import { twMerge } from "../../utils/tw-merge.mjs";
12
13
  import { BUTTON_BASE_SIZE_CLASS_MAP } from "./ButtonBase.constants.mjs";
13
14
  import { ButtonBaseSize } from "./ButtonBase.types.mjs";
14
- export const ButtonBase = React.forwardRef(({ children, className, size = ButtonBaseSize.Md, isFullWidth, asChild, isDisabled, isLoading, loadingText, loadingIconProps, startIconName, startIconProps, startAccessory, endIconName, endIconProps, endAccessory, textProps, style, ...props }, ref) => {
15
+ export const ButtonBase = React.forwardRef(({ children, className, size = ButtonBaseSize.Lg, isFullWidth, asChild, isDisabled, isLoading, loadingText, loadingIconProps, startIconName, startIconProps, startAccessory, endIconName, endIconProps, endAccessory, textProps, style, ...props }, ref) => {
15
16
  const Component = asChild ? Slot : 'button';
16
- const renderLoadingState = () => (React.createElement("span", { className: "inline-flex items-center" },
17
- React.createElement(Icon, { name: IconName.Loading, size: IconSize.Sm, className: twMerge('animate-spin mr-2 text-inherit', loadingIconProps?.className), ...loadingIconProps }),
18
- loadingText ?? children));
17
+ const isInteractive = !(isDisabled ?? isLoading);
18
+ const renderLoadingState = () => (React.createElement(React.Fragment, null,
19
+ React.createElement("span", { className: "absolute inline-flex items-center" },
20
+ React.createElement(Icon, { name: IconName.Loading, size: IconSize.Sm, className: twMerge('animate-spin mr-2 text-inherit', loadingIconProps?.className), ...loadingIconProps }),
21
+ loadingText),
22
+ React.createElement("span", { className: "invisible inline-flex items-center" }, children)));
19
23
  const renderStartContent = () => {
20
24
  if (startIconName) {
21
25
  return (React.createElement(Icon, { name: startIconName, size: IconSize.Sm, className: twMerge('mr-2 text-inherit', startIconProps?.className), ...startIconProps }));
@@ -36,7 +40,7 @@ export const ButtonBase = React.forwardRef(({ children, className, size = Button
36
40
  };
37
41
  const renderContent = () => {
38
42
  if (children && typeof children === 'string') {
39
- return (React.createElement(Text, { color: TextColor.Inherit, asChild: true, ...textProps },
43
+ return (React.createElement(Text, { fontWeight: FontWeight.Medium, color: TextColor.Inherit, asChild: true, ...textProps },
40
44
  React.createElement("span", null, children)));
41
45
  }
42
46
  return children;
@@ -44,15 +48,25 @@ export const ButtonBase = React.forwardRef(({ children, className, size = Button
44
48
  const mergedClassName = twMerge(
45
49
  // Base styles
46
50
  'inline-flex items-center justify-center', 'rounded-full px-4', 'text-default font-medium', 'bg-muted',
51
+ // Add relative positioning for loading state
52
+ 'relative',
47
53
  // Size
48
54
  BUTTON_BASE_SIZE_CLASS_MAP[size],
49
55
  // Full width
50
56
  isFullWidth && 'w-full',
57
+ // Animation classes - only applied when interactive
58
+ isInteractive && [
59
+ 'transition-[transform,colors,opacity]',
60
+ 'duration-100',
61
+ 'ease-linear',
62
+ 'active:scale-[0.97]',
63
+ 'active:ease-[cubic-bezier(0.3,0.8,0.3,1)]',
64
+ ],
51
65
  // Disabled state - apply to both isDisabled and isLoading
52
- (isDisabled || isLoading) && 'opacity-50 cursor-not-allowed',
66
+ (isDisabled || isLoading) && 'cursor-not-allowed', isDisabled && 'opacity-50',
53
67
  // Custom classes
54
68
  className);
55
- return (React.createElement(Component, { ref: ref, className: mergedClassName, disabled: asChild ? undefined : isDisabled ?? isLoading, style: style, ...props },
69
+ return (React.createElement(Component, { ref: ref, className: mergedClassName, disabled: asChild ? undefined : (isDisabled ?? isLoading), style: style, ...props },
56
70
  renderStartContent(),
57
71
  React.createElement(Slottable, null, isLoading ? renderLoadingState() : renderContent()),
58
72
  renderEndContent()));
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.mjs","sourceRoot":"","sources":["../../../src/components/button-base/ButtonBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Slot, Slottable } from '@radix-ui/react-slot';\nimport React from 'react';\n\nimport { Icon, IconName, IconSize, Text, TextColor } from '..';\nimport { twMerge } from '../../utils/tw-merge';\nimport { BUTTON_BASE_SIZE_CLASS_MAP } from './ButtonBase.constants';\nimport type { ButtonBaseProps } from './ButtonBase.types';\nimport { ButtonBaseSize } from './ButtonBase.types';\n\nexport const ButtonBase = React.forwardRef<HTMLButtonElement, ButtonBaseProps>(\n (\n {\n children,\n className,\n size = ButtonBaseSize.Md,\n isFullWidth,\n asChild,\n isDisabled,\n isLoading,\n loadingText,\n loadingIconProps,\n startIconName,\n startIconProps,\n startAccessory,\n endIconName,\n endIconProps,\n endAccessory,\n textProps,\n style,\n ...props\n },\n ref,\n ) => {\n const Component = asChild ? Slot : 'button';\n\n const renderLoadingState = () => (\n <span className=\"inline-flex items-center\">\n <Icon\n name={IconName.Loading}\n size={IconSize.Sm}\n className={twMerge(\n 'animate-spin mr-2 text-inherit',\n loadingIconProps?.className,\n )}\n {...loadingIconProps}\n />\n {loadingText ?? children}\n </span>\n );\n\n const renderStartContent = () => {\n if (startIconName) {\n return (\n <Icon\n name={startIconName}\n size={IconSize.Sm}\n className={twMerge('mr-2 text-inherit', startIconProps?.className)}\n {...startIconProps}\n />\n );\n }\n if (startAccessory) {\n return <span className=\"mr-2\">{startAccessory}</span>;\n }\n return null;\n };\n\n const renderEndContent = () => {\n if (endIconName) {\n return (\n <Icon\n name={endIconName}\n size={IconSize.Sm}\n className={twMerge('ml-2 text-inherit', endIconProps?.className)}\n {...endIconProps}\n />\n );\n }\n if (endAccessory) {\n return <span className=\"ml-2\">{endAccessory}</span>;\n }\n return null;\n };\n\n const renderContent = () => {\n if (children && typeof children === 'string') {\n return (\n <Text color={TextColor.Inherit} asChild {...textProps}>\n <span>{children}</span>\n </Text>\n );\n }\n return children;\n };\n\n const mergedClassName = twMerge(\n // Base styles\n 'inline-flex items-center justify-center',\n 'rounded-full px-4',\n 'text-default font-medium',\n 'bg-muted',\n // Size\n BUTTON_BASE_SIZE_CLASS_MAP[size],\n // Full width\n isFullWidth && 'w-full',\n // Disabled state - apply to both isDisabled and isLoading\n (isDisabled || isLoading) && 'opacity-50 cursor-not-allowed',\n // Custom classes\n className,\n );\n\n return (\n <Component\n ref={ref}\n className={mergedClassName}\n disabled={asChild ? undefined : isDisabled ?? isLoading}\n style={style}\n {...props}\n >\n {renderStartContent()}\n <Slottable>\n {isLoading ? renderLoadingState() : renderContent()}\n </Slottable>\n {renderEndContent()}\n </Component>\n );\n },\n);\n\nButtonBase.displayName = 'ButtonBase';\n"]}
1
+ {"version":3,"file":"ButtonBase.mjs","sourceRoot":"","sources":["../../../src/components/button-base/ButtonBase.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,6BAA6B;AACvD,OAAO,MAAK,cAAc;;AAE1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,0BAAgB;AACtD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,0BAAgB;AACnD,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAC/C,OAAO,EAAE,0BAA0B,EAAE,mCAA+B;AAEpE,OAAO,EAAE,cAAc,EAAE,+BAA2B;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACxC,CACE,EACE,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,cAAc,CAAC,EAAE,EACxB,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAEjD,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAC/B;QACE,8BAAM,SAAS,EAAC,mCAAmC;YACjD,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,OAAO,EACtB,IAAI,EAAE,QAAQ,CAAC,EAAE,EACjB,SAAS,EAAE,OAAO,CAChB,gCAAgC,EAChC,gBAAgB,EAAE,SAAS,CAC5B,KACG,gBAAgB,GACpB;YACD,WAAW,CACP;QACP,8BAAM,SAAS,EAAC,oCAAoC,IAAE,QAAQ,CAAQ,CACrE,CACJ,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,aAAa,EAAE;YACjB,OAAO,CACL,oBAAC,IAAI,IACH,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,QAAQ,CAAC,EAAE,EACjB,SAAS,EAAE,OAAO,CAAC,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,KAC9D,cAAc,GAClB,CACH,CAAC;SACH;QACD,IAAI,cAAc,EAAE;YAClB,OAAO,8BAAM,SAAS,EAAC,MAAM,IAAE,cAAc,CAAQ,CAAC;SACvD;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,WAAW,EAAE;YACf,OAAO,CACL,oBAAC,IAAI,IACH,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,CAAC,EAAE,EACjB,SAAS,EAAE,OAAO,CAAC,mBAAmB,EAAE,YAAY,EAAE,SAAS,CAAC,KAC5D,YAAY,GAChB,CACH,CAAC;SACH;QACD,IAAI,YAAY,EAAE;YAChB,OAAO,8BAAM,SAAS,EAAC,MAAM,IAAE,YAAY,CAAQ,CAAC;SACrD;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC5C,OAAO,CACL,oBAAC,IAAI,IACH,UAAU,EAAE,UAAU,CAAC,MAAM,EAC7B,KAAK,EAAE,SAAS,CAAC,OAAO,EACxB,OAAO,WACH,SAAS;gBAEb,kCAAO,QAAQ,CAAQ,CAClB,CACR,CAAC;SACH;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO;IAC7B,cAAc;IACd,yCAAyC,EACzC,mBAAmB,EACnB,0BAA0B,EAC1B,UAAU;IACV,6CAA6C;IAC7C,UAAU;IACV,OAAO;IACP,0BAA0B,CAAC,IAAI,CAAC;IAChC,aAAa;IACb,WAAW,IAAI,QAAQ;IACvB,oDAAoD;IACpD,aAAa,IAAI;QACf,uCAAuC;QACvC,cAAc;QACd,aAAa;QACb,qBAAqB;QACrB,2CAA2C;KAC5C;IACD,0DAA0D;IAC1D,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,oBAAoB,EACjD,UAAU,IAAI,YAAY;IAC1B,iBAAiB;IACjB,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,EACzD,KAAK,EAAE,KAAK,KACR,KAAK;QAER,kBAAkB,EAAE;QACrB,oBAAC,SAAS,QACP,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CACzC;QACX,gBAAgB,EAAE,CACT,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import { Slot, Slottable } from '@radix-ui/react-slot';\nimport React from 'react';\n\nimport { Text, FontWeight, TextColor } from '../text';\nimport { Icon, IconName, IconSize } from '../icon';\nimport { twMerge } from '../../utils/tw-merge';\nimport { BUTTON_BASE_SIZE_CLASS_MAP } from './ButtonBase.constants';\nimport type { ButtonBaseProps } from './ButtonBase.types';\nimport { ButtonBaseSize } from './ButtonBase.types';\n\nexport const ButtonBase = React.forwardRef<HTMLButtonElement, ButtonBaseProps>(\n (\n {\n children,\n className,\n size = ButtonBaseSize.Lg,\n isFullWidth,\n asChild,\n isDisabled,\n isLoading,\n loadingText,\n loadingIconProps,\n startIconName,\n startIconProps,\n startAccessory,\n endIconName,\n endIconProps,\n endAccessory,\n textProps,\n style,\n ...props\n },\n ref,\n ) => {\n const Component = asChild ? Slot : 'button';\n const isInteractive = !(isDisabled ?? isLoading);\n\n const renderLoadingState = () => (\n <>\n <span className=\"absolute inline-flex items-center\">\n <Icon\n name={IconName.Loading}\n size={IconSize.Sm}\n className={twMerge(\n 'animate-spin mr-2 text-inherit',\n loadingIconProps?.className,\n )}\n {...loadingIconProps}\n />\n {loadingText}\n </span>\n <span className=\"invisible inline-flex items-center\">{children}</span>\n </>\n );\n\n const renderStartContent = () => {\n if (startIconName) {\n return (\n <Icon\n name={startIconName}\n size={IconSize.Sm}\n className={twMerge('mr-2 text-inherit', startIconProps?.className)}\n {...startIconProps}\n />\n );\n }\n if (startAccessory) {\n return <span className=\"mr-2\">{startAccessory}</span>;\n }\n return null;\n };\n\n const renderEndContent = () => {\n if (endIconName) {\n return (\n <Icon\n name={endIconName}\n size={IconSize.Sm}\n className={twMerge('ml-2 text-inherit', endIconProps?.className)}\n {...endIconProps}\n />\n );\n }\n if (endAccessory) {\n return <span className=\"ml-2\">{endAccessory}</span>;\n }\n return null;\n };\n\n const renderContent = () => {\n if (children && typeof children === 'string') {\n return (\n <Text\n fontWeight={FontWeight.Medium}\n color={TextColor.Inherit}\n asChild\n {...textProps}\n >\n <span>{children}</span>\n </Text>\n );\n }\n return children;\n };\n\n const mergedClassName = twMerge(\n // Base styles\n 'inline-flex items-center justify-center',\n 'rounded-full px-4',\n 'text-default font-medium',\n 'bg-muted',\n // Add relative positioning for loading state\n 'relative',\n // Size\n BUTTON_BASE_SIZE_CLASS_MAP[size],\n // Full width\n isFullWidth && 'w-full',\n // Animation classes - only applied when interactive\n isInteractive && [\n 'transition-[transform,colors,opacity]',\n 'duration-100',\n 'ease-linear',\n 'active:scale-[0.97]',\n 'active:ease-[cubic-bezier(0.3,0.8,0.3,1)]',\n ],\n // Disabled state - apply to both isDisabled and isLoading\n (isDisabled || isLoading) && 'cursor-not-allowed',\n isDisabled && 'opacity-50',\n // Custom classes\n className,\n );\n\n return (\n <Component\n ref={ref}\n className={mergedClassName}\n disabled={asChild ? undefined : (isDisabled ?? isLoading)}\n style={style}\n {...props}\n >\n {renderStartContent()}\n <Slottable>\n {isLoading ? renderLoadingState() : renderContent()}\n </Slottable>\n {renderEndContent()}\n </Component>\n );\n },\n);\n\nButtonBase.displayName = 'ButtonBase';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.types.cjs","sourceRoot":"","sources":["../../../src/components/button-base/ButtonBase.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,8BAAd,cAAc,QAazB","sourcesContent":["import type { ComponentProps } from 'react';\n\nimport type { MakePropsOptional } from '../../types/make-props-optional';\nimport type { IconName, IconProps } from '../icon';\nimport type { TextProps } from '../text';\n\nexport enum ButtonBaseSize {\n /**\n * Represents a small button size (32px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (40px).\n */\n Md = 'md',\n /**\n * Represents a large button size (48px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonBaseProps = ComponentProps<'button'> & {\n /**\n * Required prop for the content to be rendered within the ButtonBase\n */\n children: React.ReactNode;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional prop to control the size of the ButtonBase\n * @default ButtonBaseSize.Md\n */\n size?: ButtonBaseSize;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional prop that when true, makes the button take up the full width of its container\n * @default false\n */\n isFullWidth?: boolean;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional prop that when true, shows a loading spinner\n * @default false\n */\n isLoading?: boolean;\n /**\n * Optional prop for text to display when button is in loading state\n */\n loadingText?: string;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
1
+ {"version":3,"file":"ButtonBase.types.cjs","sourceRoot":"","sources":["../../../src/components/button-base/ButtonBase.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,8BAAd,cAAc,QAazB","sourcesContent":["import type { ComponentProps } from 'react';\n\nimport type { MakePropsOptional } from '../../types/make-props-optional';\nimport type { IconName, IconProps } from '../icon';\nimport type { TextProps } from '../text';\n\nexport enum ButtonBaseSize {\n /**\n * Represents a small button size (32px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (40px).\n */\n Md = 'md',\n /**\n * Represents a large button size (48px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonBaseProps = ComponentProps<'button'> & {\n /**\n * Required prop for the content to be rendered within the ButtonBase\n */\n children: React.ReactNode;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional prop to control the size of the ButtonBase\n * @default ButtonBaseSize.Lg\n */\n size?: ButtonBaseSize;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional prop that when true, makes the button take up the full width of its container\n * @default false\n */\n isFullWidth?: boolean;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional prop that when true, shows a loading spinner\n * @default false\n */\n isLoading?: boolean;\n /**\n * Optional prop for text to display when button is in loading state\n */\n loadingText?: string;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
@@ -28,7 +28,7 @@ export type ButtonBaseProps = ComponentProps<'button'> & {
28
28
  className?: string;
29
29
  /**
30
30
  * Optional prop to control the size of the ButtonBase
31
- * @default ButtonBaseSize.Md
31
+ * @default ButtonBaseSize.Lg
32
32
  */
33
33
  size?: ButtonBaseSize;
34
34
  /**
@@ -28,7 +28,7 @@ export type ButtonBaseProps = ComponentProps<'button'> & {
28
28
  className?: string;
29
29
  /**
30
30
  * Optional prop to control the size of the ButtonBase
31
- * @default ButtonBaseSize.Md
31
+ * @default ButtonBaseSize.Lg
32
32
  */
33
33
  size?: ButtonBaseSize;
34
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.types.mjs","sourceRoot":"","sources":["../../../src/components/button-base/ButtonBase.types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB","sourcesContent":["import type { ComponentProps } from 'react';\n\nimport type { MakePropsOptional } from '../../types/make-props-optional';\nimport type { IconName, IconProps } from '../icon';\nimport type { TextProps } from '../text';\n\nexport enum ButtonBaseSize {\n /**\n * Represents a small button size (32px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (40px).\n */\n Md = 'md',\n /**\n * Represents a large button size (48px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonBaseProps = ComponentProps<'button'> & {\n /**\n * Required prop for the content to be rendered within the ButtonBase\n */\n children: React.ReactNode;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional prop to control the size of the ButtonBase\n * @default ButtonBaseSize.Md\n */\n size?: ButtonBaseSize;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional prop that when true, makes the button take up the full width of its container\n * @default false\n */\n isFullWidth?: boolean;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional prop that when true, shows a loading spinner\n * @default false\n */\n isLoading?: boolean;\n /**\n * Optional prop for text to display when button is in loading state\n */\n loadingText?: string;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
1
+ {"version":3,"file":"ButtonBase.types.mjs","sourceRoot":"","sources":["../../../src/components/button-base/ButtonBase.types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB","sourcesContent":["import type { ComponentProps } from 'react';\n\nimport type { MakePropsOptional } from '../../types/make-props-optional';\nimport type { IconName, IconProps } from '../icon';\nimport type { TextProps } from '../text';\n\nexport enum ButtonBaseSize {\n /**\n * Represents a small button size (32px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (40px).\n */\n Md = 'md',\n /**\n * Represents a large button size (48px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonBaseProps = ComponentProps<'button'> & {\n /**\n * Required prop for the content to be rendered within the ButtonBase\n */\n children: React.ReactNode;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional prop to control the size of the ButtonBase\n * @default ButtonBaseSize.Lg\n */\n size?: ButtonBaseSize;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional prop that when true, makes the button take up the full width of its container\n * @default false\n */\n isFullWidth?: boolean;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional prop that when true, shows a loading spinner\n * @default false\n */\n isLoading?: boolean;\n /**\n * Optional prop for text to display when button is in loading state\n */\n loadingText?: string;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: MakePropsOptional<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ButtonIcon = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const tw_merge_1 = require("../../utils/tw-merge.cjs");
9
+ const button_base_1 = require("../button-base/index.cjs");
10
+ const icon_1 = require("../icon/index.cjs");
11
+ const ButtonIcon_constants_1 = require("./ButtonIcon.constants.cjs");
12
+ const ButtonIcon_types_1 = require("./ButtonIcon.types.cjs");
13
+ exports.ButtonIcon = react_1.default.forwardRef(({ className, iconName, iconProps, ariaLabel, isDisabled = false, isInverse = false, isFloating = false, size = ButtonIcon_types_1.ButtonIconSize.Md, style, ...props }, ref) => {
14
+ const isInteractive = !isDisabled;
15
+ const mergedClassName = (0, tw_merge_1.twMerge)(
16
+ // Base styles
17
+ 'p-0',
18
+ // Size styles
19
+ ButtonIcon_constants_1.BUTTON_ICON_SIZE_CLASS_MAP[size],
20
+ // Floating styles
21
+ isFloating && [
22
+ 'rounded-full',
23
+ !isInverse && 'bg-icon-default text-background-default',
24
+ isInverse && 'bg-icon-default text-background-default',
25
+ ],
26
+ // Non-floating styles
27
+ !isFloating && [
28
+ 'rounded bg-transparent ',
29
+ // Only apply hover/active styles when interactive
30
+ isInteractive && 'hover:bg-hover active:bg-pressed',
31
+ !isInverse && 'text-icon-default',
32
+ isInverse && 'text-background-default',
33
+ ], className);
34
+ return (react_1.default.createElement(button_base_1.ButtonBase, { ref: ref, className: mergedClassName, isDisabled: isDisabled, "aria-label": ariaLabel, ...props },
35
+ react_1.default.createElement(icon_1.Icon, { name: iconName, size: ButtonIcon_constants_1.BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP[size], className: (0, tw_merge_1.twMerge)('text-inherit', iconProps?.className), ...iconProps })));
36
+ });
37
+ exports.ButtonIcon.displayName = 'ButtonIcon';
38
+ //# sourceMappingURL=ButtonIcon.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.cjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uDAA+C;AAC/C,0DAA4C;AAC5C,4CAA+B;AAC/B,qEAGgC;AAEhC,6DAAoD;AAEvC,QAAA,UAAU,GAAG,eAAK,CAAC,UAAU,CACxC,CACE,EACE,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,IAAI,GAAG,iCAAc,CAAC,EAAE,EACxB,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC;IAElC,MAAM,eAAe,GAAG,IAAA,kBAAO;IAC7B,cAAc;IACd,KAAK;IACL,cAAc;IACd,iDAA0B,CAAC,IAAI,CAAC;IAChC,kBAAkB;IAClB,UAAU,IAAI;QACZ,cAAc;QACd,CAAC,SAAS,IAAI,yCAAyC;QACvD,SAAS,IAAI,yCAAyC;KACvD;IACD,sBAAsB;IACtB,CAAC,UAAU,IAAI;QACb,yBAAyB;QACzB,kDAAkD;QAClD,aAAa,IAAI,kCAAkC;QACnD,CAAC,SAAS,IAAI,mBAAmB;QACjC,SAAS,IAAI,yBAAyB;KACvC,EACD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,wBAAU,IACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,UAAU,gBACV,SAAS,KACjB,KAAK;QAET,8BAAC,WAAI,IACH,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,8DAAuC,CAAC,IAAI,CAAC,EACnD,SAAS,EAAE,IAAA,kBAAO,EAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,KACpD,SAAS,GACb,CACS,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import React from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { ButtonBase } from '../button-base';\nimport { Icon } from '../icon';\nimport {\n BUTTON_ICON_SIZE_CLASS_MAP,\n BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\nimport { ButtonIconSize } from './ButtonIcon.types';\n\nexport const ButtonIcon = React.forwardRef<HTMLButtonElement, ButtonIconProps>(\n (\n {\n className,\n iconName,\n iconProps,\n ariaLabel,\n isDisabled = false,\n isInverse = false,\n isFloating = false,\n size = ButtonIconSize.Md,\n style,\n ...props\n },\n ref,\n ) => {\n const isInteractive = !isDisabled;\n\n const mergedClassName = twMerge(\n // Base styles\n 'p-0',\n // Size styles\n BUTTON_ICON_SIZE_CLASS_MAP[size],\n // Floating styles\n isFloating && [\n 'rounded-full',\n !isInverse && 'bg-icon-default text-background-default',\n isInverse && 'bg-icon-default text-background-default',\n ],\n // Non-floating styles\n !isFloating && [\n 'rounded bg-transparent ',\n // Only apply hover/active styles when interactive\n isInteractive && 'hover:bg-hover active:bg-pressed',\n !isInverse && 'text-icon-default',\n isInverse && 'text-background-default',\n ],\n className,\n );\n\n return (\n <ButtonBase\n ref={ref}\n className={mergedClassName}\n isDisabled={isDisabled}\n aria-label={ariaLabel}\n {...props}\n >\n <Icon\n name={iconName}\n size={BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP[size]}\n className={twMerge('text-inherit', iconProps?.className)}\n {...iconProps}\n />\n </ButtonBase>\n );\n },\n);\n\nButtonIcon.displayName = 'ButtonIcon';\n"]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP = exports.BUTTON_ICON_SIZE_CLASS_MAP = void 0;
4
+ const icon_1 = require("../icon/index.cjs");
5
+ const ButtonIcon_types_1 = require("./ButtonIcon.types.cjs");
6
+ exports.BUTTON_ICON_SIZE_CLASS_MAP = {
7
+ [ButtonIcon_types_1.ButtonIconSize.Sm]: 'h-6 w-6',
8
+ [ButtonIcon_types_1.ButtonIconSize.Md]: 'h-8 w-8',
9
+ [ButtonIcon_types_1.ButtonIconSize.Lg]: 'h-10 w-10',
10
+ };
11
+ exports.BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP = {
12
+ [ButtonIcon_types_1.ButtonIconSize.Sm]: icon_1.IconSize.Sm,
13
+ [ButtonIcon_types_1.ButtonIconSize.Md]: icon_1.IconSize.Md,
14
+ [ButtonIcon_types_1.ButtonIconSize.Lg]: icon_1.IconSize.Lg,
15
+ };
16
+ //# sourceMappingURL=ButtonIcon.constants.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.constants.cjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.constants.ts"],"names":[],"mappings":";;;AAAA,4CAAmC;AACnC,6DAAoD;AAEvC,QAAA,0BAA0B,GAAG;IACxC,CAAC,iCAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,iCAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,iCAAc,CAAC,EAAE,CAAC,EAAE,WAAW;CACxB,CAAC;AAEE,QAAA,uCAAuC,GAAG;IACrD,CAAC,iCAAc,CAAC,EAAE,CAAC,EAAE,eAAQ,CAAC,EAAE;IAChC,CAAC,iCAAc,CAAC,EAAE,CAAC,EAAE,eAAQ,CAAC,EAAE;IAChC,CAAC,iCAAc,CAAC,EAAE,CAAC,EAAE,eAAQ,CAAC,EAAE;CACxB,CAAC","sourcesContent":["import { IconSize } from '../icon';\nimport { ButtonIconSize } from './ButtonIcon.types';\n\nexport const BUTTON_ICON_SIZE_CLASS_MAP = {\n [ButtonIconSize.Sm]: 'h-6 w-6',\n [ButtonIconSize.Md]: 'h-8 w-8',\n [ButtonIconSize.Lg]: 'h-10 w-10',\n} as const;\n\nexport const BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP = {\n [ButtonIconSize.Sm]: IconSize.Sm,\n [ButtonIconSize.Md]: IconSize.Md,\n [ButtonIconSize.Lg]: IconSize.Lg,\n} as const;\n"]}
@@ -0,0 +1,12 @@
1
+ import { IconSize } from "../icon/index.cjs";
2
+ export declare const BUTTON_ICON_SIZE_CLASS_MAP: {
3
+ readonly sm: "h-6 w-6";
4
+ readonly md: "h-8 w-8";
5
+ readonly lg: "h-10 w-10";
6
+ };
7
+ export declare const BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP: {
8
+ readonly sm: IconSize.Sm;
9
+ readonly md: IconSize.Md;
10
+ readonly lg: IconSize.Lg;
11
+ };
12
+ //# sourceMappingURL=ButtonIcon.constants.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.constants.d.cts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,0BAAgB;AAGnC,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,eAAO,MAAM,uCAAuC;;;;CAI1C,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { IconSize } from "../icon/index.mjs";
2
+ export declare const BUTTON_ICON_SIZE_CLASS_MAP: {
3
+ readonly sm: "h-6 w-6";
4
+ readonly md: "h-8 w-8";
5
+ readonly lg: "h-10 w-10";
6
+ };
7
+ export declare const BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP: {
8
+ readonly sm: IconSize.Sm;
9
+ readonly md: IconSize.Md;
10
+ readonly lg: IconSize.Lg;
11
+ };
12
+ //# sourceMappingURL=ButtonIcon.constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.constants.d.mts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,0BAAgB;AAGnC,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,eAAO,MAAM,uCAAuC;;;;CAI1C,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { IconSize } from "../icon/index.mjs";
2
+ import { ButtonIconSize } from "./ButtonIcon.types.mjs";
3
+ export const BUTTON_ICON_SIZE_CLASS_MAP = {
4
+ [ButtonIconSize.Sm]: 'h-6 w-6',
5
+ [ButtonIconSize.Md]: 'h-8 w-8',
6
+ [ButtonIconSize.Lg]: 'h-10 w-10',
7
+ };
8
+ export const BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP = {
9
+ [ButtonIconSize.Sm]: IconSize.Sm,
10
+ [ButtonIconSize.Md]: IconSize.Md,
11
+ [ButtonIconSize.Lg]: IconSize.Lg,
12
+ };
13
+ //# sourceMappingURL=ButtonIcon.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.constants.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,0BAAgB;AACnC,OAAO,EAAE,cAAc,EAAE,+BAA2B;AAEpD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,WAAW;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE;IAChC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE;IAChC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE;CACxB,CAAC","sourcesContent":["import { IconSize } from '../icon';\nimport { ButtonIconSize } from './ButtonIcon.types';\n\nexport const BUTTON_ICON_SIZE_CLASS_MAP = {\n [ButtonIconSize.Sm]: 'h-6 w-6',\n [ButtonIconSize.Md]: 'h-8 w-8',\n [ButtonIconSize.Lg]: 'h-10 w-10',\n} as const;\n\nexport const BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP = {\n [ButtonIconSize.Sm]: IconSize.Sm,\n [ButtonIconSize.Md]: IconSize.Md,\n [ButtonIconSize.Lg]: IconSize.Lg,\n} as const;\n"]}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { ButtonIconProps } from "./ButtonIcon.types.cjs";
3
+ export declare const ButtonIcon: React.ForwardRefExoticComponent<Omit<ButtonIconProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ //# sourceMappingURL=ButtonIcon.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.d.cts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAS1B,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAG1D,eAAO,MAAM,UAAU,wGAyDtB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { ButtonIconProps } from "./ButtonIcon.types.mjs";
3
+ export declare const ButtonIcon: React.ForwardRefExoticComponent<Omit<ButtonIconProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ //# sourceMappingURL=ButtonIcon.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.d.mts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAS1B,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAG1D,eAAO,MAAM,UAAU,wGAyDtB,CAAC"}
@@ -0,0 +1,39 @@
1
+ function $importDefault(module) {
2
+ if (module?.__esModule) {
3
+ return module.default;
4
+ }
5
+ return module;
6
+ }
7
+ import $React from "react";
8
+ const React = $importDefault($React);
9
+ import { twMerge } from "../../utils/tw-merge.mjs";
10
+ import { ButtonBase } from "../button-base/index.mjs";
11
+ import { Icon } from "../icon/index.mjs";
12
+ import { BUTTON_ICON_SIZE_CLASS_MAP, BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP } from "./ButtonIcon.constants.mjs";
13
+ import { ButtonIconSize } from "./ButtonIcon.types.mjs";
14
+ export const ButtonIcon = React.forwardRef(({ className, iconName, iconProps, ariaLabel, isDisabled = false, isInverse = false, isFloating = false, size = ButtonIconSize.Md, style, ...props }, ref) => {
15
+ const isInteractive = !isDisabled;
16
+ const mergedClassName = twMerge(
17
+ // Base styles
18
+ 'p-0',
19
+ // Size styles
20
+ BUTTON_ICON_SIZE_CLASS_MAP[size],
21
+ // Floating styles
22
+ isFloating && [
23
+ 'rounded-full',
24
+ !isInverse && 'bg-icon-default text-background-default',
25
+ isInverse && 'bg-icon-default text-background-default',
26
+ ],
27
+ // Non-floating styles
28
+ !isFloating && [
29
+ 'rounded bg-transparent ',
30
+ // Only apply hover/active styles when interactive
31
+ isInteractive && 'hover:bg-hover active:bg-pressed',
32
+ !isInverse && 'text-icon-default',
33
+ isInverse && 'text-background-default',
34
+ ], className);
35
+ return (React.createElement(ButtonBase, { ref: ref, className: mergedClassName, isDisabled: isDisabled, "aria-label": ariaLabel, ...props },
36
+ React.createElement(Icon, { name: iconName, size: BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP[size], className: twMerge('text-inherit', iconProps?.className), ...iconProps })));
37
+ });
38
+ ButtonIcon.displayName = 'ButtonIcon';
39
+ //# sourceMappingURL=ButtonIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,MAAK,cAAc;;AAE1B,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAC/C,OAAO,EAAE,UAAU,EAAE,iCAAuB;AAC5C,OAAO,EAAE,IAAI,EAAE,0BAAgB;AAC/B,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,EACxC,mCAA+B;AAEhC,OAAO,EAAE,cAAc,EAAE,+BAA2B;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACxC,CACE,EACE,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,IAAI,GAAG,cAAc,CAAC,EAAE,EACxB,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC;IAElC,MAAM,eAAe,GAAG,OAAO;IAC7B,cAAc;IACd,KAAK;IACL,cAAc;IACd,0BAA0B,CAAC,IAAI,CAAC;IAChC,kBAAkB;IAClB,UAAU,IAAI;QACZ,cAAc;QACd,CAAC,SAAS,IAAI,yCAAyC;QACvD,SAAS,IAAI,yCAAyC;KACvD;IACD,sBAAsB;IACtB,CAAC,UAAU,IAAI;QACb,yBAAyB;QACzB,kDAAkD;QAClD,aAAa,IAAI,kCAAkC;QACnD,CAAC,SAAS,IAAI,mBAAmB;QACjC,SAAS,IAAI,yBAAyB;KACvC,EACD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,UAAU,gBACV,SAAS,KACjB,KAAK;QAET,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,uCAAuC,CAAC,IAAI,CAAC,EACnD,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,KACpD,SAAS,GACb,CACS,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import React from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { ButtonBase } from '../button-base';\nimport { Icon } from '../icon';\nimport {\n BUTTON_ICON_SIZE_CLASS_MAP,\n BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\nimport { ButtonIconSize } from './ButtonIcon.types';\n\nexport const ButtonIcon = React.forwardRef<HTMLButtonElement, ButtonIconProps>(\n (\n {\n className,\n iconName,\n iconProps,\n ariaLabel,\n isDisabled = false,\n isInverse = false,\n isFloating = false,\n size = ButtonIconSize.Md,\n style,\n ...props\n },\n ref,\n ) => {\n const isInteractive = !isDisabled;\n\n const mergedClassName = twMerge(\n // Base styles\n 'p-0',\n // Size styles\n BUTTON_ICON_SIZE_CLASS_MAP[size],\n // Floating styles\n isFloating && [\n 'rounded-full',\n !isInverse && 'bg-icon-default text-background-default',\n isInverse && 'bg-icon-default text-background-default',\n ],\n // Non-floating styles\n !isFloating && [\n 'rounded bg-transparent ',\n // Only apply hover/active styles when interactive\n isInteractive && 'hover:bg-hover active:bg-pressed',\n !isInverse && 'text-icon-default',\n isInverse && 'text-background-default',\n ],\n className,\n );\n\n return (\n <ButtonBase\n ref={ref}\n className={mergedClassName}\n isDisabled={isDisabled}\n aria-label={ariaLabel}\n {...props}\n >\n <Icon\n name={iconName}\n size={BUTTON_ICON_SIZE_TO_ICON_SIZE_CLASS_MAP[size]}\n className={twMerge('text-inherit', iconProps?.className)}\n {...iconProps}\n />\n </ButtonBase>\n );\n },\n);\n\nButtonIcon.displayName = 'ButtonIcon';\n"]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonIconSize = void 0;
4
+ var ButtonIconSize;
5
+ (function (ButtonIconSize) {
6
+ /**
7
+ * Represents a small button size (24px).
8
+ */
9
+ ButtonIconSize["Sm"] = "sm";
10
+ /**
11
+ * Represents a medium button size (32px).
12
+ */
13
+ ButtonIconSize["Md"] = "md";
14
+ /**
15
+ * Represents a large button size (40px).
16
+ */
17
+ ButtonIconSize["Lg"] = "lg";
18
+ })(ButtonIconSize || (exports.ButtonIconSize = ButtonIconSize = {}));
19
+ //# sourceMappingURL=ButtonIcon.types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.types.cjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":";;;AAGA,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,8BAAd,cAAc,QAazB","sourcesContent":["import type { ButtonBaseProps } from '../button-base';\nimport type { IconName, IconProps } from '../icon';\n\nexport enum ButtonIconSize {\n /**\n * Represents a small button size (24px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (32px).\n */\n Md = 'md',\n /**\n * Represents a large button size (40px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonIconProps = Omit<\n ButtonBaseProps,\n // We handle these props in ButtonIcon\n | 'className'\n | 'isDisabled'\n | 'isLoading'\n | 'style'\n | 'children'\n | 'size'\n | 'aria-label'\n> & {\n /**\n * Required prop to specify the icon to show\n */\n iconName: IconName;\n /**\n * Required prop to provide an accessible label for the button\n */\n ariaLabel: string;\n /**\n * Optional prop to pass additional properties to the icon\n */\n iconProps?: Partial<IconProps>;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop that when true, applies inverse styling to the button\n * @default false\n */\n isInverse?: boolean;\n /**\n * Optional prop that when true, applies floating/contained styling to the button\n * @default false\n */\n isFloating?: boolean;\n /**\n * Optional prop to control the size of the button\n * @default ButtonIconSize.Md\n */\n size?: ButtonIconSize;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonIcon component\n */\n className?: string;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
@@ -0,0 +1,61 @@
1
+ /// <reference types="react" />
2
+ import type { ButtonBaseProps } from "../button-base/index.cjs";
3
+ import type { IconName, IconProps } from "../icon/index.cjs";
4
+ export declare enum ButtonIconSize {
5
+ /**
6
+ * Represents a small button size (24px).
7
+ */
8
+ Sm = "sm",
9
+ /**
10
+ * Represents a medium button size (32px).
11
+ */
12
+ Md = "md",
13
+ /**
14
+ * Represents a large button size (40px).
15
+ */
16
+ Lg = "lg"
17
+ }
18
+ export type ButtonIconProps = Omit<ButtonBaseProps, 'className' | 'isDisabled' | 'isLoading' | 'style' | 'children' | 'size' | 'aria-label'> & {
19
+ /**
20
+ * Required prop to specify the icon to show
21
+ */
22
+ iconName: IconName;
23
+ /**
24
+ * Required prop to provide an accessible label for the button
25
+ */
26
+ ariaLabel: string;
27
+ /**
28
+ * Optional prop to pass additional properties to the icon
29
+ */
30
+ iconProps?: Partial<IconProps>;
31
+ /**
32
+ * Optional prop that when true, disables the button
33
+ * @default false
34
+ */
35
+ isDisabled?: boolean;
36
+ /**
37
+ * Optional prop that when true, applies inverse styling to the button
38
+ * @default false
39
+ */
40
+ isInverse?: boolean;
41
+ /**
42
+ * Optional prop that when true, applies floating/contained styling to the button
43
+ * @default false
44
+ */
45
+ isFloating?: boolean;
46
+ /**
47
+ * Optional prop to control the size of the button
48
+ * @default ButtonIconSize.Md
49
+ */
50
+ size?: ButtonIconSize;
51
+ /**
52
+ * Optional prop for additional CSS classes to be applied to the ButtonIcon component
53
+ */
54
+ className?: string;
55
+ /**
56
+ * Optional CSS styles to be applied to the component.
57
+ * Should be used sparingly and only for dynamic styles that can't be achieved with className.
58
+ */
59
+ style?: React.CSSProperties;
60
+ };
61
+ //# sourceMappingURL=ButtonIcon.types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.types.d.cts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iCAAuB;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AAEnD,oBAAY,cAAc;IACxB;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;CACV;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,eAAe,EAEb,WAAW,GACX,YAAY,GACZ,WAAW,GACX,OAAO,GACP,UAAU,GACV,MAAM,GACN,YAAY,CACf,GAAG;IACF;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC"}
@@ -0,0 +1,61 @@
1
+ /// <reference types="react" />
2
+ import type { ButtonBaseProps } from "../button-base/index.mjs";
3
+ import type { IconName, IconProps } from "../icon/index.mjs";
4
+ export declare enum ButtonIconSize {
5
+ /**
6
+ * Represents a small button size (24px).
7
+ */
8
+ Sm = "sm",
9
+ /**
10
+ * Represents a medium button size (32px).
11
+ */
12
+ Md = "md",
13
+ /**
14
+ * Represents a large button size (40px).
15
+ */
16
+ Lg = "lg"
17
+ }
18
+ export type ButtonIconProps = Omit<ButtonBaseProps, 'className' | 'isDisabled' | 'isLoading' | 'style' | 'children' | 'size' | 'aria-label'> & {
19
+ /**
20
+ * Required prop to specify the icon to show
21
+ */
22
+ iconName: IconName;
23
+ /**
24
+ * Required prop to provide an accessible label for the button
25
+ */
26
+ ariaLabel: string;
27
+ /**
28
+ * Optional prop to pass additional properties to the icon
29
+ */
30
+ iconProps?: Partial<IconProps>;
31
+ /**
32
+ * Optional prop that when true, disables the button
33
+ * @default false
34
+ */
35
+ isDisabled?: boolean;
36
+ /**
37
+ * Optional prop that when true, applies inverse styling to the button
38
+ * @default false
39
+ */
40
+ isInverse?: boolean;
41
+ /**
42
+ * Optional prop that when true, applies floating/contained styling to the button
43
+ * @default false
44
+ */
45
+ isFloating?: boolean;
46
+ /**
47
+ * Optional prop to control the size of the button
48
+ * @default ButtonIconSize.Md
49
+ */
50
+ size?: ButtonIconSize;
51
+ /**
52
+ * Optional prop for additional CSS classes to be applied to the ButtonIcon component
53
+ */
54
+ className?: string;
55
+ /**
56
+ * Optional CSS styles to be applied to the component.
57
+ * Should be used sparingly and only for dynamic styles that can't be achieved with className.
58
+ */
59
+ style?: React.CSSProperties;
60
+ };
61
+ //# sourceMappingURL=ButtonIcon.types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.types.d.mts","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iCAAuB;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AAEnD,oBAAY,cAAc;IACxB;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;IACT;;OAEG;IACH,EAAE,OAAO;CACV;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,eAAe,EAEb,WAAW,GACX,YAAY,GACZ,WAAW,GACX,OAAO,GACP,UAAU,GACV,MAAM,GACN,YAAY,CACf,GAAG;IACF;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC"}
@@ -0,0 +1,16 @@
1
+ export var ButtonIconSize;
2
+ (function (ButtonIconSize) {
3
+ /**
4
+ * Represents a small button size (24px).
5
+ */
6
+ ButtonIconSize["Sm"] = "sm";
7
+ /**
8
+ * Represents a medium button size (32px).
9
+ */
10
+ ButtonIconSize["Md"] = "md";
11
+ /**
12
+ * Represents a large button size (40px).
13
+ */
14
+ ButtonIconSize["Lg"] = "lg";
15
+ })(ButtonIconSize || (ButtonIconSize = {}));
16
+ //# sourceMappingURL=ButtonIcon.types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.types.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/ButtonIcon.types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;IACT;;OAEG;IACH,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB","sourcesContent":["import type { ButtonBaseProps } from '../button-base';\nimport type { IconName, IconProps } from '../icon';\n\nexport enum ButtonIconSize {\n /**\n * Represents a small button size (24px).\n */\n Sm = 'sm',\n /**\n * Represents a medium button size (32px).\n */\n Md = 'md',\n /**\n * Represents a large button size (40px).\n */\n Lg = 'lg',\n}\n\nexport type ButtonIconProps = Omit<\n ButtonBaseProps,\n // We handle these props in ButtonIcon\n | 'className'\n | 'isDisabled'\n | 'isLoading'\n | 'style'\n | 'children'\n | 'size'\n | 'aria-label'\n> & {\n /**\n * Required prop to specify the icon to show\n */\n iconName: IconName;\n /**\n * Required prop to provide an accessible label for the button\n */\n ariaLabel: string;\n /**\n * Optional prop to pass additional properties to the icon\n */\n iconProps?: Partial<IconProps>;\n /**\n * Optional prop that when true, disables the button\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop that when true, applies inverse styling to the button\n * @default false\n */\n isInverse?: boolean;\n /**\n * Optional prop that when true, applies floating/contained styling to the button\n * @default false\n */\n isFloating?: boolean;\n /**\n * Optional prop to control the size of the button\n * @default ButtonIconSize.Md\n */\n size?: ButtonIconSize;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonIcon component\n */\n className?: string;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n};\n"]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonIconSize = exports.ButtonIcon = void 0;
4
+ var ButtonIcon_1 = require("./ButtonIcon.cjs");
5
+ Object.defineProperty(exports, "ButtonIcon", { enumerable: true, get: function () { return ButtonIcon_1.ButtonIcon; } });
6
+ var ButtonIcon_types_1 = require("./ButtonIcon.types.cjs");
7
+ Object.defineProperty(exports, "ButtonIconSize", { enumerable: true, get: function () { return ButtonIcon_types_1.ButtonIconSize; } });
8
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,2DAAoD;AAA3C,kHAAA,cAAc,OAAA","sourcesContent":["export { ButtonIcon } from './ButtonIcon';\nexport type { ButtonIconProps } from './ButtonIcon.types';\nexport { ButtonIconSize } from './ButtonIcon.types';\n"]}
@@ -0,0 +1,4 @@
1
+ export { ButtonIcon } from "./ButtonIcon.cjs";
2
+ export type { ButtonIconProps } from "./ButtonIcon.types.cjs";
3
+ export { ButtonIconSize } from "./ButtonIcon.types.cjs";
4
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,+BAA2B"}
@@ -0,0 +1,4 @@
1
+ export { ButtonIcon } from "./ButtonIcon.mjs";
2
+ export type { ButtonIconProps } from "./ButtonIcon.types.mjs";
3
+ export { ButtonIconSize } from "./ButtonIcon.types.mjs";
4
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,+BAA2B"}
@@ -0,0 +1,3 @@
1
+ export { ButtonIcon } from "./ButtonIcon.mjs";
2
+ export { ButtonIconSize } from "./ButtonIcon.types.mjs";
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/button-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAE1C,OAAO,EAAE,cAAc,EAAE,+BAA2B","sourcesContent":["export { ButtonIcon } from './ButtonIcon';\nexport type { ButtonIconProps } from './ButtonIcon.types';\nexport { ButtonIconSize } from './ButtonIcon.types';\n"]}