@lucasbernardosn/react-ui 0.3.0 → 0.5.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 (613) hide show
  1. package/README.md +2 -1
  2. package/dist/components/buttons/button/button-variants.d.ts +1 -1
  3. package/dist/components/buttons/button/button-variants.js +119 -119
  4. package/dist/components/buttons/button/button-variants.js.map +1 -1
  5. package/dist/components/buttons/button/button.d.ts +1 -1
  6. package/dist/components/buttons/button/button.js +1 -1
  7. package/dist/components/buttons/button/button.js.map +1 -1
  8. package/dist/components/buttons/icon-button/icon-button-variants.d.ts +3 -0
  9. package/dist/components/buttons/icon-button/icon-button-variants.js +3 -0
  10. package/dist/components/buttons/icon-button/icon-button-variants.js.map +1 -1
  11. package/dist/components/buttons/responsive-button/responsive-button.d.ts +2 -1
  12. package/dist/components/buttons/responsive-button/responsive-button.js +2 -1
  13. package/dist/components/buttons/responsive-button/responsive-button.js.map +1 -1
  14. package/dist/components/buttons/toggle/index.d.ts +3 -0
  15. package/dist/components/buttons/toggle/index.js +2 -0
  16. package/dist/components/buttons/toggle/toggle-variants.d.ts +47 -0
  17. package/dist/components/buttons/toggle/toggle-variants.js +97 -0
  18. package/dist/components/buttons/toggle/toggle-variants.js.map +1 -0
  19. package/dist/components/buttons/toggle/toggle.d.ts +61 -0
  20. package/dist/components/buttons/toggle/toggle.js +69 -0
  21. package/dist/components/buttons/toggle/toggle.js.map +1 -0
  22. package/dist/components/collections/async-select/async-select-variants.js +7 -8
  23. package/dist/components/collections/async-select/async-select-variants.js.map +1 -1
  24. package/dist/components/collections/autocomplete/autocomplete-backdrop.d.ts +1 -2
  25. package/dist/components/collections/autocomplete/autocomplete-backdrop.js +1 -2
  26. package/dist/components/collections/autocomplete/autocomplete-backdrop.js.map +1 -1
  27. package/dist/components/collections/autocomplete/autocomplete-group-label-variants.d.ts +4 -4
  28. package/dist/components/collections/autocomplete/autocomplete-group-label-variants.js +4 -4
  29. package/dist/components/collections/autocomplete/autocomplete-group-label-variants.js.map +1 -1
  30. package/dist/components/collections/autocomplete/autocomplete-input-variants.d.ts +5 -5
  31. package/dist/components/collections/autocomplete/autocomplete-input-variants.js +8 -8
  32. package/dist/components/collections/autocomplete/autocomplete-input-variants.js.map +1 -1
  33. package/dist/components/collections/autocomplete/autocomplete-item-variants.d.ts +1 -1
  34. package/dist/components/collections/autocomplete/autocomplete-item-variants.js +1 -1
  35. package/dist/components/collections/autocomplete/autocomplete-item-variants.js.map +1 -1
  36. package/dist/components/collections/autocomplete/autocomplete-popup-variants.d.ts +4 -2
  37. package/dist/components/collections/autocomplete/autocomplete-popup-variants.js +4 -2
  38. package/dist/components/collections/autocomplete/autocomplete-popup-variants.js.map +1 -1
  39. package/dist/components/collections/autocomplete/autocomplete-separator.d.ts +1 -2
  40. package/dist/components/collections/autocomplete/autocomplete-separator.js +1 -2
  41. package/dist/components/collections/autocomplete/autocomplete-separator.js.map +1 -1
  42. package/dist/components/collections/command/command-collection.d.ts +14 -0
  43. package/dist/components/collections/command/command-collection.js +15 -0
  44. package/dist/components/collections/command/command-collection.js.map +1 -0
  45. package/dist/components/collections/command/command-empty.d.ts +14 -0
  46. package/dist/components/collections/command/command-empty.js +28 -0
  47. package/dist/components/collections/command/command-empty.js.map +1 -0
  48. package/dist/components/collections/command/command-footer.d.ts +12 -0
  49. package/dist/components/collections/command/command-footer.js +33 -0
  50. package/dist/components/collections/command/command-footer.js.map +1 -0
  51. package/dist/components/collections/command/command-group-label.d.ts +15 -0
  52. package/dist/components/collections/command/command-group-label.js +31 -0
  53. package/dist/components/collections/command/command-group-label.js.map +1 -0
  54. package/dist/components/collections/command/command-group.d.ts +15 -0
  55. package/dist/components/collections/command/command-group.js +19 -0
  56. package/dist/components/collections/command/command-group.js.map +1 -0
  57. package/dist/components/collections/command/command-input.d.ts +20 -0
  58. package/dist/components/collections/command/command-input.js +75 -0
  59. package/dist/components/collections/command/command-input.js.map +1 -0
  60. package/dist/components/collections/command/command-item-text.d.ts +19 -0
  61. package/dist/components/collections/command/command-item-text.js +32 -0
  62. package/dist/components/collections/command/command-item-text.js.map +1 -0
  63. package/dist/components/collections/command/command-item-variants.d.ts +12 -0
  64. package/dist/components/collections/command/command-item-variants.js +39 -0
  65. package/dist/components/collections/command/command-item-variants.js.map +1 -0
  66. package/dist/components/collections/command/command-item.d.ts +17 -0
  67. package/dist/components/collections/command/command-item.js +25 -0
  68. package/dist/components/collections/command/command-item.js.map +1 -0
  69. package/dist/components/collections/command/command-list.d.ts +14 -0
  70. package/dist/components/collections/command/command-list.js +31 -0
  71. package/dist/components/collections/command/command-list.js.map +1 -0
  72. package/dist/components/collections/command/command-loading.d.ts +17 -0
  73. package/dist/components/collections/command/command-loading.js +30 -0
  74. package/dist/components/collections/command/command-loading.js.map +1 -0
  75. package/dist/components/collections/command/command-root.d.ts +91 -0
  76. package/dist/components/collections/command/command-root.js +50 -0
  77. package/dist/components/collections/command/command-root.js.map +1 -0
  78. package/dist/components/collections/command/command-separator.d.ts +15 -0
  79. package/dist/components/collections/command/command-separator.js +27 -0
  80. package/dist/components/collections/command/command-separator.js.map +1 -0
  81. package/dist/components/collections/command/index.d.ts +2 -0
  82. package/dist/components/collections/command/index.js +2 -0
  83. package/dist/components/collections/command/index.parts.d.ts +19 -0
  84. package/dist/components/collections/command/index.parts.js +35 -0
  85. package/dist/components/collections/command/index.parts.js.map +1 -0
  86. package/dist/components/collections/command/use-command-context.d.ts +10 -0
  87. package/dist/components/collections/command/use-command-context.js +10 -0
  88. package/dist/components/collections/command/use-command-context.js.map +1 -0
  89. package/dist/components/collections/command/use-command-filter.d.ts +27 -0
  90. package/dist/components/collections/command/use-command-filter.js +32 -0
  91. package/dist/components/collections/command/use-command-filter.js.map +1 -0
  92. package/dist/components/collections/select/select-backdrop.d.ts +1 -2
  93. package/dist/components/collections/select/select-backdrop.js +1 -2
  94. package/dist/components/collections/select/select-backdrop.js.map +1 -1
  95. package/dist/components/collections/select/select-group-label-variants.d.ts +2 -2
  96. package/dist/components/collections/select/select-group-label-variants.js +2 -2
  97. package/dist/components/collections/select/select-group-label-variants.js.map +1 -1
  98. package/dist/components/collections/select/select-item-variants.d.ts +3 -2
  99. package/dist/components/collections/select/select-item-variants.js +3 -2
  100. package/dist/components/collections/select/select-item-variants.js.map +1 -1
  101. package/dist/components/collections/select/select-popup-variants.d.ts +1 -1
  102. package/dist/components/collections/select/select-popup-variants.js +1 -1
  103. package/dist/components/collections/select/select-popup-variants.js.map +1 -1
  104. package/dist/components/collections/select/select-separator.d.ts +1 -1
  105. package/dist/components/collections/select/select-separator.js +1 -1
  106. package/dist/components/collections/select/select-separator.js.map +1 -1
  107. package/dist/components/collections/select/select-trigger-variants.d.ts +2 -2
  108. package/dist/components/collections/select/select-trigger-variants.js +5 -5
  109. package/dist/components/collections/select/select-trigger-variants.js.map +1 -1
  110. package/dist/components/collections/tree-view/tree-view-node-checkbox.js +1 -1
  111. package/dist/components/collections/tree-view/tree-view-node-checkbox.js.map +1 -1
  112. package/dist/components/collections/tree-view/tree-view-node-variants.d.ts +1 -1
  113. package/dist/components/collections/tree-view/tree-view-node-variants.js +6 -6
  114. package/dist/components/collections/tree-view/tree-view-node-variants.js.map +1 -1
  115. package/dist/components/collections/tree-view/tree-view-root.d.ts +1 -1
  116. package/dist/components/collections/tree-view/tree-view-root.js +1 -1
  117. package/dist/components/collections/tree-view/tree-view-root.js.map +1 -1
  118. package/dist/components/disclosure/collapsible/collapsible-panel-variants.d.ts +1 -1
  119. package/dist/components/disclosure/tabs/tabs-indicator-variants.d.ts +5 -0
  120. package/dist/components/disclosure/tabs/tabs-indicator-variants.js +7 -2
  121. package/dist/components/disclosure/tabs/tabs-indicator-variants.js.map +1 -1
  122. package/dist/components/disclosure/tabs/tabs-list-variants.d.ts +5 -0
  123. package/dist/components/disclosure/tabs/tabs-list-variants.js +7 -2
  124. package/dist/components/disclosure/tabs/tabs-list-variants.js.map +1 -1
  125. package/dist/components/disclosure/tabs/tabs-root-variants.d.ts +1 -1
  126. package/dist/components/disclosure/tabs/tabs-root-variants.js +10 -8
  127. package/dist/components/disclosure/tabs/tabs-root-variants.js.map +1 -1
  128. package/dist/components/disclosure/tabs/tabs-root.d.ts +1 -1
  129. package/dist/components/disclosure/tabs/tabs-root.js +1 -1
  130. package/dist/components/disclosure/tabs/tabs-root.js.map +1 -1
  131. package/dist/components/disclosure/tabs/tabs-tab-variants.d.ts +4 -0
  132. package/dist/components/disclosure/tabs/tabs-tab-variants.js +6 -2
  133. package/dist/components/disclosure/tabs/tabs-tab-variants.js.map +1 -1
  134. package/dist/components/display/avatar/avatar-root-variants.d.ts +1 -1
  135. package/dist/components/display/avatar/avatar-root-variants.js +162 -162
  136. package/dist/components/display/avatar/avatar-root-variants.js.map +1 -1
  137. package/dist/components/display/badge/badge-variants.d.ts +8 -5
  138. package/dist/components/display/badge/badge-variants.js +171 -166
  139. package/dist/components/display/badge/badge-variants.js.map +1 -1
  140. package/dist/components/display/badge/badge.d.ts +10 -1
  141. package/dist/components/display/badge/badge.js +40 -2
  142. package/dist/components/display/badge/badge.js.map +1 -1
  143. package/dist/components/display/card/card-body.d.ts +2 -2
  144. package/dist/components/display/card/card-body.js +3 -2
  145. package/dist/components/display/card/card-body.js.map +1 -1
  146. package/dist/components/display/card/card-description.d.ts +1 -2
  147. package/dist/components/display/card/card-description.js +1 -2
  148. package/dist/components/display/card/card-description.js.map +1 -1
  149. package/dist/components/display/card/card-footer.d.ts +1 -1
  150. package/dist/components/display/card/card-footer.js +1 -1
  151. package/dist/components/display/card/card-footer.js.map +1 -1
  152. package/dist/components/display/card/card-header.d.ts +1 -2
  153. package/dist/components/display/card/card-header.js +1 -2
  154. package/dist/components/display/card/card-header.js.map +1 -1
  155. package/dist/components/display/card/card-title.d.ts +1 -2
  156. package/dist/components/display/card/card-title.js +1 -2
  157. package/dist/components/display/card/card-title.js.map +1 -1
  158. package/dist/components/display/clipboard/clipboard-indicator.js +2 -2
  159. package/dist/components/display/clipboard/clipboard-indicator.js.map +1 -1
  160. package/dist/components/display/data-list/data-list-item-label-variants.d.ts +7 -0
  161. package/dist/components/display/data-list/data-list-item-label-variants.js +27 -0
  162. package/dist/components/display/data-list/data-list-item-label-variants.js.map +1 -0
  163. package/dist/components/display/data-list/data-list-item-label.d.ts +2 -1
  164. package/dist/components/display/data-list/data-list-item-label.js +9 -2
  165. package/dist/components/display/data-list/data-list-item-label.js.map +1 -1
  166. package/dist/components/display/data-list/data-list-item-value-variants.d.ts +1 -1
  167. package/dist/components/display/data-list/data-list-item-value-variants.js +9 -5
  168. package/dist/components/display/data-list/data-list-item-value-variants.js.map +1 -1
  169. package/dist/components/display/data-list/data-list-item-value.d.ts +2 -1
  170. package/dist/components/display/data-list/data-list-item-value.js +4 -3
  171. package/dist/components/display/data-list/data-list-item-value.js.map +1 -1
  172. package/dist/components/display/data-list/data-list-item-variants.d.ts +2 -6
  173. package/dist/components/display/data-list/data-list-item-variants.js +24 -26
  174. package/dist/components/display/data-list/data-list-item-variants.js.map +1 -1
  175. package/dist/components/display/data-list/data-list-item.d.ts +2 -1
  176. package/dist/components/display/data-list/data-list-item.js +7 -3
  177. package/dist/components/display/data-list/data-list-item.js.map +1 -1
  178. package/dist/components/display/data-list/data-list-root-variants.d.ts +1 -2
  179. package/dist/components/display/data-list/data-list-root-variants.js +7 -24
  180. package/dist/components/display/data-list/data-list-root-variants.js.map +1 -1
  181. package/dist/components/display/data-list/data-list-root.d.ts +3 -2
  182. package/dist/components/display/data-list/data-list-root.js +8 -3
  183. package/dist/components/display/data-list/data-list-root.js.map +1 -1
  184. package/dist/components/display/data-list/use-data-list-context.d.ts +18 -7
  185. package/dist/components/display/data-list/use-data-list-context.js +3 -2
  186. package/dist/components/display/data-list/use-data-list-context.js.map +1 -1
  187. package/dist/components/display/status/status-variants.d.ts +2 -2
  188. package/dist/components/display/status/status-variants.js +6 -6
  189. package/dist/components/display/status/status-variants.js.map +1 -1
  190. package/dist/components/display/tag/tag-root-variants.d.ts +2 -3
  191. package/dist/components/display/tag/tag-root-variants.js +163 -164
  192. package/dist/components/display/tag/tag-root-variants.js.map +1 -1
  193. package/dist/components/feedback/alert/alert-description.d.ts +1 -2
  194. package/dist/components/feedback/alert/alert-description.js +2 -3
  195. package/dist/components/feedback/alert/alert-description.js.map +1 -1
  196. package/dist/components/feedback/alert/alert-indicator.d.ts +2 -2
  197. package/dist/components/feedback/alert/alert-indicator.js +2 -2
  198. package/dist/components/feedback/alert/alert-indicator.js.map +1 -1
  199. package/dist/components/feedback/alert/alert-root-variants.d.ts +3 -3
  200. package/dist/components/feedback/alert/alert-root-variants.js +28 -28
  201. package/dist/components/feedback/alert/alert-root-variants.js.map +1 -1
  202. package/dist/components/feedback/alert/alert-title.d.ts +1 -2
  203. package/dist/components/feedback/alert/alert-title.js +2 -3
  204. package/dist/components/feedback/alert/alert-title.js.map +1 -1
  205. package/dist/components/feedback/meter/index.d.ts +2 -0
  206. package/dist/components/feedback/meter/index.js +2 -0
  207. package/dist/components/feedback/meter/index.parts.d.ts +12 -0
  208. package/dist/components/feedback/meter/index.parts.js +18 -0
  209. package/dist/components/feedback/meter/index.parts.js.map +1 -0
  210. package/dist/components/feedback/meter/meter-indicator.d.ts +17 -0
  211. package/dist/components/feedback/meter/meter-indicator.js +31 -0
  212. package/dist/components/feedback/meter/meter-indicator.js.map +1 -0
  213. package/dist/components/feedback/meter/meter-label.d.ts +13 -0
  214. package/dist/components/feedback/meter/meter-label.js +20 -0
  215. package/dist/components/feedback/meter/meter-label.js.map +1 -0
  216. package/dist/components/feedback/meter/meter-root-variants.d.ts +14 -0
  217. package/dist/components/feedback/meter/meter-root-variants.js +42 -0
  218. package/dist/components/feedback/meter/meter-root-variants.js.map +1 -0
  219. package/dist/components/feedback/meter/meter-root.d.ts +37 -0
  220. package/dist/components/feedback/meter/meter-root.js +51 -0
  221. package/dist/components/feedback/meter/meter-root.js.map +1 -0
  222. package/dist/components/feedback/meter/meter-track-variants.d.ts +6 -0
  223. package/dist/components/feedback/meter/meter-track-variants.js +22 -0
  224. package/dist/components/feedback/meter/meter-track-variants.js.map +1 -0
  225. package/dist/components/feedback/meter/meter-track.d.ts +13 -0
  226. package/dist/components/feedback/meter/meter-track.js +23 -0
  227. package/dist/components/feedback/meter/meter-track.js.map +1 -0
  228. package/dist/components/feedback/meter/meter-value.d.ts +14 -0
  229. package/dist/components/feedback/meter/meter-value.js +25 -0
  230. package/dist/components/feedback/meter/meter-value.js.map +1 -0
  231. package/dist/components/feedback/meter/use-meter-context.d.ts +23 -0
  232. package/dist/components/feedback/meter/use-meter-context.js +14 -0
  233. package/dist/components/feedback/meter/use-meter-context.js.map +1 -0
  234. package/dist/components/feedback/progress/index.d.ts +2 -0
  235. package/dist/components/feedback/progress/index.js +2 -0
  236. package/dist/components/feedback/progress/index.parts.d.ts +12 -0
  237. package/dist/components/feedback/progress/index.parts.js +18 -0
  238. package/dist/components/feedback/progress/index.parts.js.map +1 -0
  239. package/dist/components/feedback/progress/progress-indicator.d.ts +16 -0
  240. package/dist/components/feedback/progress/progress-indicator.js +34 -0
  241. package/dist/components/feedback/progress/progress-indicator.js.map +1 -0
  242. package/dist/components/feedback/progress/progress-label.d.ts +13 -0
  243. package/dist/components/feedback/progress/progress-label.js +20 -0
  244. package/dist/components/feedback/progress/progress-label.js.map +1 -0
  245. package/dist/components/feedback/progress/progress-root-variants.d.ts +15 -0
  246. package/dist/components/feedback/progress/progress-root-variants.js +43 -0
  247. package/dist/components/feedback/progress/progress-root-variants.js.map +1 -0
  248. package/dist/components/feedback/progress/progress-root.d.ts +34 -0
  249. package/dist/components/feedback/progress/progress-root.js +48 -0
  250. package/dist/components/feedback/progress/progress-root.js.map +1 -0
  251. package/dist/components/feedback/progress/progress-track-variants.d.ts +6 -0
  252. package/dist/components/feedback/progress/progress-track-variants.js +22 -0
  253. package/dist/components/feedback/progress/progress-track-variants.js.map +1 -0
  254. package/dist/components/feedback/progress/progress-track.d.ts +13 -0
  255. package/dist/components/feedback/progress/progress-track.js +23 -0
  256. package/dist/components/feedback/progress/progress-track.js.map +1 -0
  257. package/dist/components/feedback/progress/progress-value.d.ts +14 -0
  258. package/dist/components/feedback/progress/progress-value.js +25 -0
  259. package/dist/components/feedback/progress/progress-value.js.map +1 -0
  260. package/dist/components/feedback/progress/use-progress-context.d.ts +23 -0
  261. package/dist/components/feedback/progress/use-progress-context.js +14 -0
  262. package/dist/components/feedback/progress/use-progress-context.js.map +1 -0
  263. package/dist/components/feedback/spinner/spinner-variants.d.ts +1 -1
  264. package/dist/components/feedback/spinner/spinner-variants.js +1 -1
  265. package/dist/components/feedback/spinner/spinner-variants.js.map +1 -1
  266. package/dist/components/feedback/spinner/spinner.d.ts +1 -1
  267. package/dist/components/feedback/spinner/spinner.js +1 -1
  268. package/dist/components/feedback/spinner/spinner.js.map +1 -1
  269. package/dist/components/feedback/toast/toast-description.d.ts +2 -2
  270. package/dist/components/feedback/toast/toast-description.js +3 -3
  271. package/dist/components/feedback/toast/toast-description.js.map +1 -1
  272. package/dist/components/feedback/toast/toast-indicator.d.ts +4 -4
  273. package/dist/components/feedback/toast/toast-indicator.js +4 -4
  274. package/dist/components/feedback/toast/toast-indicator.js.map +1 -1
  275. package/dist/components/feedback/toast/toast-root-variants.d.ts +1 -1
  276. package/dist/components/feedback/toast/toast-root-variants.js +15 -15
  277. package/dist/components/feedback/toast/toast-root-variants.js.map +1 -1
  278. package/dist/components/feedback/toast/toast-title.d.ts +3 -3
  279. package/dist/components/feedback/toast/toast-title.js +4 -4
  280. package/dist/components/feedback/toast/toast-title.js.map +1 -1
  281. package/dist/components/feedback/toast/toast-viewport-variants.d.ts +1 -1
  282. package/dist/components/fields/checkbox/checkbox-root-variants.d.ts +3 -1
  283. package/dist/components/fields/checkbox/checkbox-root-variants.js +11 -9
  284. package/dist/components/fields/checkbox/checkbox-root-variants.js.map +1 -1
  285. package/dist/components/fields/currency-brl-input/currency-brl-input-variants.js +3 -3
  286. package/dist/components/fields/currency-brl-input/currency-brl-input-variants.js.map +1 -1
  287. package/dist/components/fields/field/field-root.d.ts +2 -1
  288. package/dist/components/fields/field/field-root.js +2 -1
  289. package/dist/components/fields/field/field-root.js.map +1 -1
  290. package/dist/components/fields/input/input-variants.d.ts +4 -3
  291. package/dist/components/fields/input/input-variants.js +7 -6
  292. package/dist/components/fields/input/input-variants.js.map +1 -1
  293. package/dist/components/fields/input-group/index.d.ts +3 -0
  294. package/dist/components/fields/input-group/index.js +2 -0
  295. package/dist/components/fields/input-group/input-group-variants.d.ts +81 -0
  296. package/dist/components/fields/input-group/input-group-variants.js +212 -0
  297. package/dist/components/fields/input-group/input-group-variants.js.map +1 -0
  298. package/dist/components/fields/input-group/input-group.d.ts +88 -0
  299. package/dist/components/fields/input-group/input-group.js +164 -0
  300. package/dist/components/fields/input-group/input-group.js.map +1 -0
  301. package/dist/components/fields/number-input/number-input-variants.js +3 -3
  302. package/dist/components/fields/number-input/number-input-variants.js.map +1 -1
  303. package/dist/components/fields/pattern-input/pattern-input-variants.js +3 -3
  304. package/dist/components/fields/pattern-input/pattern-input-variants.js.map +1 -1
  305. package/dist/components/fields/radio/index.d.ts +2 -0
  306. package/dist/components/fields/radio/index.js +2 -0
  307. package/dist/components/fields/radio/index.parts.d.ts +10 -0
  308. package/dist/components/fields/radio/index.parts.js +14 -0
  309. package/dist/components/fields/radio/index.parts.js.map +1 -0
  310. package/dist/components/fields/radio/radio-group.d.ts +40 -0
  311. package/dist/components/fields/radio/radio-group.js +45 -0
  312. package/dist/components/fields/radio/radio-group.js.map +1 -0
  313. package/dist/components/fields/radio/radio-indicator.d.ts +14 -0
  314. package/dist/components/fields/radio/radio-indicator.js +33 -0
  315. package/dist/components/fields/radio/radio-indicator.js.map +1 -0
  316. package/dist/components/fields/radio/radio-root-variants.d.ts +41 -0
  317. package/dist/components/fields/radio/radio-root-variants.js +93 -0
  318. package/dist/components/fields/radio/radio-root-variants.js.map +1 -0
  319. package/dist/components/fields/radio/radio-root.d.ts +27 -0
  320. package/dist/components/fields/radio/radio-root.js +40 -0
  321. package/dist/components/fields/radio/radio-root.js.map +1 -0
  322. package/dist/components/fields/radio-card/index.d.ts +2 -0
  323. package/dist/components/fields/radio-card/index.js +2 -0
  324. package/dist/components/fields/radio-card/index.parts.d.ts +12 -0
  325. package/dist/components/fields/radio-card/index.parts.js +18 -0
  326. package/dist/components/fields/radio-card/index.parts.js.map +1 -0
  327. package/dist/components/fields/radio-card/radio-card-description.d.ts +14 -0
  328. package/dist/components/fields/radio-card/radio-card-description.js +34 -0
  329. package/dist/components/fields/radio-card/radio-card-description.js.map +1 -0
  330. package/dist/components/fields/radio-card/radio-card-group.d.ts +41 -0
  331. package/dist/components/fields/radio-card/radio-card-group.js +51 -0
  332. package/dist/components/fields/radio-card/radio-card-group.js.map +1 -0
  333. package/dist/components/fields/radio-card/radio-card-indicator.d.ts +24 -0
  334. package/dist/components/fields/radio-card/radio-card-indicator.js +67 -0
  335. package/dist/components/fields/radio-card/radio-card-indicator.js.map +1 -0
  336. package/dist/components/fields/radio-card/radio-card-item-variants.d.ts +25 -0
  337. package/dist/components/fields/radio-card/radio-card-item-variants.js +83 -0
  338. package/dist/components/fields/radio-card/radio-card-item-variants.js.map +1 -0
  339. package/dist/components/fields/radio-card/radio-card-item.d.ts +33 -0
  340. package/dist/components/fields/radio-card/radio-card-item.js +60 -0
  341. package/dist/components/fields/radio-card/radio-card-item.js.map +1 -0
  342. package/dist/components/fields/radio-card/radio-card-title.d.ts +14 -0
  343. package/dist/components/fields/radio-card/radio-card-title.js +34 -0
  344. package/dist/components/fields/radio-card/radio-card-title.js.map +1 -0
  345. package/dist/components/fields/radio-card/use-radio-card-context.d.ts +25 -0
  346. package/dist/components/fields/radio-card/use-radio-card-context.js +14 -0
  347. package/dist/components/fields/radio-card/use-radio-card-context.js.map +1 -0
  348. package/dist/components/fields/radio-card/use-radio-card-item-context.d.ts +12 -0
  349. package/dist/components/fields/radio-card/use-radio-card-item-context.js +10 -0
  350. package/dist/components/fields/radio-card/use-radio-card-item-context.js.map +1 -0
  351. package/dist/components/fields/segmented-control/index.d.ts +2 -0
  352. package/dist/components/fields/segmented-control/index.js +2 -0
  353. package/dist/components/fields/segmented-control/index.parts.d.ts +10 -0
  354. package/dist/components/fields/segmented-control/index.parts.js +14 -0
  355. package/dist/components/fields/segmented-control/index.parts.js.map +1 -0
  356. package/dist/components/fields/segmented-control/segmented-control-indicator.d.ts +21 -0
  357. package/dist/components/fields/segmented-control/segmented-control-indicator.js +50 -0
  358. package/dist/components/fields/segmented-control/segmented-control-indicator.js.map +1 -0
  359. package/dist/components/fields/segmented-control/segmented-control-item-variants.d.ts +16 -0
  360. package/dist/components/fields/segmented-control/segmented-control-item-variants.js +72 -0
  361. package/dist/components/fields/segmented-control/segmented-control-item-variants.js.map +1 -0
  362. package/dist/components/fields/segmented-control/segmented-control-item.d.ts +17 -0
  363. package/dist/components/fields/segmented-control/segmented-control-item.js +29 -0
  364. package/dist/components/fields/segmented-control/segmented-control-item.js.map +1 -0
  365. package/dist/components/fields/segmented-control/segmented-control-root-variants.d.ts +21 -0
  366. package/dist/components/fields/segmented-control/segmented-control-root-variants.js +66 -0
  367. package/dist/components/fields/segmented-control/segmented-control-root-variants.js.map +1 -0
  368. package/dist/components/fields/segmented-control/segmented-control-root.d.ts +41 -0
  369. package/dist/components/fields/segmented-control/segmented-control-root.js +65 -0
  370. package/dist/components/fields/segmented-control/segmented-control-root.js.map +1 -0
  371. package/dist/components/fields/segmented-control/use-segmented-control-context.d.ts +33 -0
  372. package/dist/components/fields/segmented-control/use-segmented-control-context.js +15 -0
  373. package/dist/components/fields/segmented-control/use-segmented-control-context.js.map +1 -0
  374. package/dist/components/fields/segmented-control/use-segmented-control-indicator.d.ts +22 -0
  375. package/dist/components/fields/segmented-control/use-segmented-control-indicator.js +67 -0
  376. package/dist/components/fields/segmented-control/use-segmented-control-indicator.js.map +1 -0
  377. package/dist/components/fields/switch/switch-root-variants.d.ts +1 -1
  378. package/dist/components/fields/switch/switch-root-variants.js +3 -3
  379. package/dist/components/fields/switch/switch-root-variants.js.map +1 -1
  380. package/dist/components/fields/textarea/textarea-variants.js +3 -3
  381. package/dist/components/fields/textarea/textarea-variants.js.map +1 -1
  382. package/dist/components/layout/center-absolute/center-absolute-variants.d.ts +1 -1
  383. package/dist/components/layout/group/group-variants.d.ts +43 -0
  384. package/dist/components/layout/group/group-variants.js +72 -0
  385. package/dist/components/layout/group/group-variants.js.map +1 -0
  386. package/dist/components/layout/group/group.d.ts +38 -0
  387. package/dist/components/layout/group/group.js +55 -0
  388. package/dist/components/layout/group/group.js.map +1 -0
  389. package/dist/components/layout/group/index.d.ts +3 -0
  390. package/dist/components/layout/group/index.js +2 -0
  391. package/dist/components/layout/scroll-area/scroll-area-root.d.ts +16 -3
  392. package/dist/components/layout/scroll-area/scroll-area-root.js +6 -3
  393. package/dist/components/layout/scroll-area/scroll-area-root.js.map +1 -1
  394. package/dist/components/layout/scroll-area/scroll-area-scrollbar.d.ts +3 -0
  395. package/dist/components/layout/scroll-area/scroll-area-scrollbar.js +9 -2
  396. package/dist/components/layout/scroll-area/scroll-area-scrollbar.js.map +1 -1
  397. package/dist/components/layout/scroll-area/scroll-area-thumb.d.ts +5 -1
  398. package/dist/components/layout/scroll-area/scroll-area-thumb.js +15 -5
  399. package/dist/components/layout/scroll-area/scroll-area-thumb.js.map +1 -1
  400. package/dist/components/layout/scroll-area/scroll-area-viewport-variants.d.ts +1 -1
  401. package/dist/components/layout/separator/separator-variants.d.ts +1 -1
  402. package/dist/components/layout/separator/separator-variants.js +1 -1
  403. package/dist/components/layout/separator/separator-variants.js.map +1 -1
  404. package/dist/components/overlays/action-bar/action-bar-selection-trigger.js +2 -2
  405. package/dist/components/overlays/action-bar/action-bar-selection-trigger.js.map +1 -1
  406. package/dist/components/overlays/alert-dialog/alert-dialog-backdrop.d.ts +1 -2
  407. package/dist/components/overlays/alert-dialog/alert-dialog-backdrop.js +1 -2
  408. package/dist/components/overlays/alert-dialog/alert-dialog-backdrop.js.map +1 -1
  409. package/dist/components/overlays/alert-dialog/alert-dialog-body.d.ts +5 -2
  410. package/dist/components/overlays/alert-dialog/alert-dialog-body.js +8 -3
  411. package/dist/components/overlays/alert-dialog/alert-dialog-body.js.map +1 -1
  412. package/dist/components/overlays/alert-dialog/alert-dialog-description.d.ts +1 -2
  413. package/dist/components/overlays/alert-dialog/alert-dialog-description.js +1 -2
  414. package/dist/components/overlays/alert-dialog/alert-dialog-description.js.map +1 -1
  415. package/dist/components/overlays/alert-dialog/alert-dialog-footer.d.ts +6 -3
  416. package/dist/components/overlays/alert-dialog/alert-dialog-footer.js +9 -5
  417. package/dist/components/overlays/alert-dialog/alert-dialog-footer.js.map +1 -1
  418. package/dist/components/overlays/alert-dialog/alert-dialog-header.d.ts +9 -2
  419. package/dist/components/overlays/alert-dialog/alert-dialog-header.js +19 -5
  420. package/dist/components/overlays/alert-dialog/alert-dialog-header.js.map +1 -1
  421. package/dist/components/overlays/alert-dialog/alert-dialog-imperative.d.ts +87 -28
  422. package/dist/components/overlays/alert-dialog/alert-dialog-imperative.js +120 -55
  423. package/dist/components/overlays/alert-dialog/alert-dialog-imperative.js.map +1 -1
  424. package/dist/components/overlays/alert-dialog/alert-dialog-indicator-variants.d.ts +24 -0
  425. package/dist/components/overlays/alert-dialog/alert-dialog-indicator-variants.js +31 -0
  426. package/dist/components/overlays/alert-dialog/alert-dialog-indicator-variants.js.map +1 -0
  427. package/dist/components/overlays/alert-dialog/alert-dialog-indicator.d.ts +25 -0
  428. package/dist/components/overlays/alert-dialog/alert-dialog-indicator.js +51 -0
  429. package/dist/components/overlays/alert-dialog/alert-dialog-indicator.js.map +1 -0
  430. package/dist/components/overlays/alert-dialog/alert-dialog-outlet.d.ts +4 -0
  431. package/dist/components/overlays/alert-dialog/alert-dialog-outlet.js +13 -2
  432. package/dist/components/overlays/alert-dialog/alert-dialog-outlet.js.map +1 -1
  433. package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.d.ts +4 -2
  434. package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js +7 -6
  435. package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js.map +1 -1
  436. package/dist/components/overlays/alert-dialog/alert-dialog-popup.d.ts +2 -1
  437. package/dist/components/overlays/alert-dialog/alert-dialog-popup.js +2 -1
  438. package/dist/components/overlays/alert-dialog/alert-dialog-popup.js.map +1 -1
  439. package/dist/components/overlays/alert-dialog/alert-dialog-store.d.ts +20 -4
  440. package/dist/components/overlays/alert-dialog/alert-dialog-store.js +48 -5
  441. package/dist/components/overlays/alert-dialog/alert-dialog-store.js.map +1 -1
  442. package/dist/components/overlays/alert-dialog/alert-dialog-title.d.ts +3 -2
  443. package/dist/components/overlays/alert-dialog/alert-dialog-title.js +4 -3
  444. package/dist/components/overlays/alert-dialog/alert-dialog-title.js.map +1 -1
  445. package/dist/components/overlays/alert-dialog/alert-dialog-viewport.d.ts +1 -2
  446. package/dist/components/overlays/alert-dialog/alert-dialog-viewport.js +1 -2
  447. package/dist/components/overlays/alert-dialog/alert-dialog-viewport.js.map +1 -1
  448. package/dist/components/overlays/alert-dialog/index.parts.d.ts +4 -3
  449. package/dist/components/overlays/alert-dialog/index.parts.js +3 -1
  450. package/dist/components/overlays/alert-dialog/index.parts.js.map +1 -1
  451. package/dist/components/overlays/dialog/dialog-backdrop.d.ts +1 -2
  452. package/dist/components/overlays/dialog/dialog-backdrop.js +1 -2
  453. package/dist/components/overlays/dialog/dialog-backdrop.js.map +1 -1
  454. package/dist/components/overlays/dialog/dialog-body.d.ts +5 -5
  455. package/dist/components/overlays/dialog/dialog-body.js +6 -5
  456. package/dist/components/overlays/dialog/dialog-body.js.map +1 -1
  457. package/dist/components/overlays/dialog/dialog-description.d.ts +4 -4
  458. package/dist/components/overlays/dialog/dialog-description.js +4 -4
  459. package/dist/components/overlays/dialog/dialog-description.js.map +1 -1
  460. package/dist/components/overlays/dialog/dialog-footer.d.ts +5 -6
  461. package/dist/components/overlays/dialog/dialog-footer.js +5 -6
  462. package/dist/components/overlays/dialog/dialog-footer.js.map +1 -1
  463. package/dist/components/overlays/dialog/dialog-header.d.ts +5 -6
  464. package/dist/components/overlays/dialog/dialog-header.js +5 -6
  465. package/dist/components/overlays/dialog/dialog-header.js.map +1 -1
  466. package/dist/components/overlays/dialog/dialog-popup-variants.d.ts +5 -5
  467. package/dist/components/overlays/dialog/dialog-popup-variants.js +6 -7
  468. package/dist/components/overlays/dialog/dialog-popup-variants.js.map +1 -1
  469. package/dist/components/overlays/dialog/dialog-title.d.ts +5 -5
  470. package/dist/components/overlays/dialog/dialog-title.js +5 -5
  471. package/dist/components/overlays/dialog/dialog-title.js.map +1 -1
  472. package/dist/components/overlays/dialog/dialog-viewport.d.ts +2 -2
  473. package/dist/components/overlays/dialog/dialog-viewport.js +2 -2
  474. package/dist/components/overlays/dialog/dialog-viewport.js.map +1 -1
  475. package/dist/components/overlays/drawer/drawer-backdrop.d.ts +1 -1
  476. package/dist/components/overlays/drawer/drawer-backdrop.js +1 -1
  477. package/dist/components/overlays/drawer/drawer-backdrop.js.map +1 -1
  478. package/dist/components/overlays/drawer/drawer-body.d.ts +3 -3
  479. package/dist/components/overlays/drawer/drawer-body.js +4 -3
  480. package/dist/components/overlays/drawer/drawer-body.js.map +1 -1
  481. package/dist/components/overlays/drawer/drawer-description.d.ts +1 -2
  482. package/dist/components/overlays/drawer/drawer-description.js +1 -2
  483. package/dist/components/overlays/drawer/drawer-description.js.map +1 -1
  484. package/dist/components/overlays/drawer/drawer-footer.d.ts +1 -2
  485. package/dist/components/overlays/drawer/drawer-footer.js +1 -2
  486. package/dist/components/overlays/drawer/drawer-footer.js.map +1 -1
  487. package/dist/components/overlays/drawer/drawer-header.d.ts +1 -2
  488. package/dist/components/overlays/drawer/drawer-header.js +1 -2
  489. package/dist/components/overlays/drawer/drawer-header.js.map +1 -1
  490. package/dist/components/overlays/drawer/drawer-popup-variants.d.ts +1 -1
  491. package/dist/components/overlays/drawer/drawer-popup-variants.js +1 -2
  492. package/dist/components/overlays/drawer/drawer-popup-variants.js.map +1 -1
  493. package/dist/components/overlays/drawer/drawer-title.d.ts +1 -2
  494. package/dist/components/overlays/drawer/drawer-title.js +1 -2
  495. package/dist/components/overlays/drawer/drawer-title.js.map +1 -1
  496. package/dist/components/overlays/menu/create-handle.d.ts +10 -0
  497. package/dist/components/overlays/menu/create-handle.js +11 -0
  498. package/dist/components/overlays/menu/create-handle.js.map +1 -0
  499. package/dist/components/overlays/menu/index.parts.d.ts +21 -3
  500. package/dist/components/overlays/menu/index.parts.js +38 -2
  501. package/dist/components/overlays/menu/index.parts.js.map +1 -1
  502. package/dist/components/overlays/menu/menu-arrow.d.ts +17 -0
  503. package/dist/components/overlays/menu/menu-arrow.js +48 -0
  504. package/dist/components/overlays/menu/menu-arrow.js.map +1 -0
  505. package/dist/components/overlays/menu/menu-backdrop.d.ts +16 -0
  506. package/dist/components/overlays/menu/menu-backdrop.js +36 -0
  507. package/dist/components/overlays/menu/menu-backdrop.js.map +1 -0
  508. package/dist/components/overlays/menu/menu-checkbox-item-indicator.d.ts +16 -0
  509. package/dist/components/overlays/menu/menu-checkbox-item-indicator.js +27 -0
  510. package/dist/components/overlays/menu/menu-checkbox-item-indicator.js.map +1 -0
  511. package/dist/components/overlays/menu/menu-checkbox-item.d.ts +24 -0
  512. package/dist/components/overlays/menu/menu-checkbox-item.js +31 -0
  513. package/dist/components/overlays/menu/menu-checkbox-item.js.map +1 -0
  514. package/dist/components/overlays/menu/menu-clear.d.ts +20 -0
  515. package/dist/components/overlays/menu/menu-clear.js +45 -0
  516. package/dist/components/overlays/menu/menu-clear.js.map +1 -0
  517. package/dist/components/overlays/menu/menu-empty.d.ts +18 -0
  518. package/dist/components/overlays/menu/menu-empty.js +32 -0
  519. package/dist/components/overlays/menu/menu-empty.js.map +1 -0
  520. package/dist/components/overlays/menu/menu-filter-provider.d.ts +43 -0
  521. package/dist/components/overlays/menu/menu-filter-provider.js +42 -0
  522. package/dist/components/overlays/menu/menu-filter-provider.js.map +1 -0
  523. package/dist/components/overlays/menu/menu-group-label.d.ts +1 -1
  524. package/dist/components/overlays/menu/menu-group-label.js +1 -1
  525. package/dist/components/overlays/menu/menu-group-label.js.map +1 -1
  526. package/dist/components/overlays/menu/menu-input.d.ts +22 -0
  527. package/dist/components/overlays/menu/menu-input.js +58 -0
  528. package/dist/components/overlays/menu/menu-input.js.map +1 -0
  529. package/dist/components/overlays/menu/menu-item-variants.d.ts +2 -2
  530. package/dist/components/overlays/menu/menu-item-variants.js +7 -7
  531. package/dist/components/overlays/menu/menu-item-variants.js.map +1 -1
  532. package/dist/components/overlays/menu/menu-link-item.d.ts +19 -0
  533. package/dist/components/overlays/menu/menu-link-item.js +28 -0
  534. package/dist/components/overlays/menu/menu-link-item.js.map +1 -0
  535. package/dist/components/overlays/menu/menu-list.d.ts +25 -0
  536. package/dist/components/overlays/menu/menu-list.js +43 -0
  537. package/dist/components/overlays/menu/menu-list.js.map +1 -0
  538. package/dist/components/overlays/menu/menu-popup.d.ts +7 -6
  539. package/dist/components/overlays/menu/menu-popup.js +9 -9
  540. package/dist/components/overlays/menu/menu-popup.js.map +1 -1
  541. package/dist/components/overlays/menu/menu-positioner.d.ts +5 -1
  542. package/dist/components/overlays/menu/menu-positioner.js +11 -2
  543. package/dist/components/overlays/menu/menu-positioner.js.map +1 -1
  544. package/dist/components/overlays/menu/menu-radio-group.d.ts +17 -0
  545. package/dist/components/overlays/menu/menu-radio-group.js +22 -0
  546. package/dist/components/overlays/menu/menu-radio-group.js.map +1 -0
  547. package/dist/components/overlays/menu/menu-radio-item-indicator.d.ts +16 -0
  548. package/dist/components/overlays/menu/menu-radio-item-indicator.js +34 -0
  549. package/dist/components/overlays/menu/menu-radio-item-indicator.js.map +1 -0
  550. package/dist/components/overlays/menu/menu-radio-item.d.ts +21 -0
  551. package/dist/components/overlays/menu/menu-radio-item.js +30 -0
  552. package/dist/components/overlays/menu/menu-radio-item.js.map +1 -0
  553. package/dist/components/overlays/menu/menu-root.d.ts +15 -6
  554. package/dist/components/overlays/menu/menu-root.js +15 -6
  555. package/dist/components/overlays/menu/menu-root.js.map +1 -1
  556. package/dist/components/overlays/menu/menu-separator.d.ts +6 -1
  557. package/dist/components/overlays/menu/menu-separator.js +6 -1
  558. package/dist/components/overlays/menu/menu-separator.js.map +1 -1
  559. package/dist/components/overlays/menu/menu-submenu-root.d.ts +39 -0
  560. package/dist/components/overlays/menu/menu-submenu-root.js +42 -0
  561. package/dist/components/overlays/menu/menu-submenu-root.js.map +1 -0
  562. package/dist/components/overlays/menu/menu-submenu-trigger.d.ts +21 -0
  563. package/dist/components/overlays/menu/menu-submenu-trigger.js +40 -0
  564. package/dist/components/overlays/menu/menu-submenu-trigger.js.map +1 -0
  565. package/dist/components/overlays/menu/menu-viewport.d.ts +19 -0
  566. package/dist/components/overlays/menu/menu-viewport.js +51 -0
  567. package/dist/components/overlays/menu/menu-viewport.js.map +1 -0
  568. package/dist/components/overlays/menu/use-filter.d.ts +19 -0
  569. package/dist/components/overlays/menu/use-filter.js +19 -0
  570. package/dist/components/overlays/menu/use-filter.js.map +1 -0
  571. package/dist/components/overlays/menu/use-menu-submenu-context.d.ts +9 -0
  572. package/dist/components/overlays/menu/use-menu-submenu-context.js +12 -0
  573. package/dist/components/overlays/menu/use-menu-submenu-context.js.map +1 -0
  574. package/dist/components/overlays/popover/popover-arrow.d.ts +2 -2
  575. package/dist/components/overlays/popover/popover-arrow.js +2 -2
  576. package/dist/components/overlays/popover/popover-arrow.js.map +1 -1
  577. package/dist/components/overlays/popover/popover-backdrop.d.ts +5 -4
  578. package/dist/components/overlays/popover/popover-backdrop.js +5 -4
  579. package/dist/components/overlays/popover/popover-backdrop.js.map +1 -1
  580. package/dist/components/overlays/popover/popover-popup-variants.d.ts +3 -2
  581. package/dist/components/overlays/popover/popover-popup-variants.js +3 -2
  582. package/dist/components/overlays/popover/popover-popup-variants.js.map +1 -1
  583. package/dist/components/overlays/popover/popover-positioner.d.ts +4 -3
  584. package/dist/components/overlays/popover/popover-positioner.js +4 -3
  585. package/dist/components/overlays/popover/popover-positioner.js.map +1 -1
  586. package/dist/components/overlays/popover/popover-viewport.d.ts +4 -4
  587. package/dist/components/overlays/popover/popover-viewport.js +4 -4
  588. package/dist/components/overlays/popover/popover-viewport.js.map +1 -1
  589. package/dist/components/typography/highlight/highlight.d.ts +35 -0
  590. package/dist/components/typography/highlight/highlight.js +43 -0
  591. package/dist/components/typography/highlight/highlight.js.map +1 -0
  592. package/dist/components/typography/highlight/index.d.ts +2 -0
  593. package/dist/components/typography/highlight/index.js +2 -0
  594. package/dist/components/typography/kbd/kbd-variants.d.ts +1 -1
  595. package/dist/components/typography/kbd/kbd-variants.js +9 -9
  596. package/dist/components/typography/kbd/kbd-variants.js.map +1 -1
  597. package/dist/components/typography/link/index.d.ts +3 -0
  598. package/dist/components/typography/link/index.js +2 -0
  599. package/dist/components/typography/link/link-variants.d.ts +33 -0
  600. package/dist/components/typography/link/link-variants.js +91 -0
  601. package/dist/components/typography/link/link-variants.js.map +1 -0
  602. package/dist/components/typography/link/link.d.ts +50 -0
  603. package/dist/components/typography/link/link.js +74 -0
  604. package/dist/components/typography/link/link.js.map +1 -0
  605. package/dist/components/typography/mark/mark-variants.d.ts +8 -2
  606. package/dist/components/typography/mark/mark-variants.js +25 -21
  607. package/dist/components/typography/mark/mark-variants.js.map +1 -1
  608. package/dist/components/typography/pre/pre-variants.d.ts +1 -1
  609. package/dist/components/typography/pre/pre-variants.js +25 -25
  610. package/dist/components/typography/pre/pre-variants.js.map +1 -1
  611. package/dist/types/color-scheme.d.ts +2 -2
  612. package/package.json +17 -5
  613. package/src/theme/theme.css +1268 -1228
package/README.md CHANGED
@@ -120,7 +120,8 @@ Toast.add({ type: 'success', title: 'Nota 4821 emitida' });
120
120
  const confirmed = await AlertDialog.confirm({
121
121
  title: 'Excluir a nota 4821?',
122
122
  description: 'A exclusão não pode ser desfeita.',
123
- confirmButton: { children: 'Excluir', colorScheme: 'red' },
123
+ confirmLabel: 'Excluir',
124
+ destructive: true,
124
125
  });
125
126
  ```
126
127
 
@@ -28,7 +28,7 @@ export declare const buttonDefaultVariants: Required<ButtonVariants>;
28
28
  * há um bloco por combinação de cor e `variant`.
29
29
  */
30
30
  export declare const buttonVariants: (props?: ({
31
- colorScheme?: "gray" | "brand" | "red" | "green" | "blue" | "teal" | "pink" | "purple" | "cyan" | "orange" | "brown" | "yellow" | "amber" | null | undefined;
31
+ colorScheme?: "gray" | "accent" | "red" | "green" | "blue" | "teal" | "pink" | "purple" | "cyan" | "orange" | "brown" | "yellow" | "amber" | null | undefined;
32
32
  variant?: "solid" | "subtle" | "surface" | "outline" | "ghost" | "plain" | null | undefined;
33
33
  size?: "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
34
34
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -41,170 +41,170 @@ const buttonVariants = cva([
41
41
  gray: [
42
42
  "[--button-solid-bg:var(--color-black)]",
43
43
  "dark:[--button-solid-bg:var(--color-white)]",
44
- "[--button-subtle-bg:var(--color-gray-4)]",
45
- "[--button-subtle-hover-bg:var(--color-gray-5)]",
46
- "[--button-surface-bg:var(--color-gray-4)]",
47
- "[--button-surface-hover-bg:var(--color-gray-5)]",
48
- "[--button-surface-border:var(--color-gray-5)]",
49
- "[--button-outline-hover-bg:var(--color-gray-4)]",
50
- "[--button-outline-border:var(--color-gray-6)]",
51
- "[--button-ghost-hover-bg:var(--color-gray-4)]",
44
+ "[--button-subtle-bg:var(--gray-4)]",
45
+ "[--button-subtle-hover-bg:var(--gray-5)]",
46
+ "[--button-surface-bg:var(--gray-4)]",
47
+ "[--button-surface-hover-bg:var(--gray-5)]",
48
+ "[--button-surface-border:var(--gray-5)]",
49
+ "[--button-outline-hover-bg:var(--gray-4)]",
50
+ "[--button-outline-border:var(--gray-6)]",
51
+ "[--button-ghost-hover-bg:var(--gray-4)]",
52
52
  "text-gray-12",
53
53
  "ring-gray-9"
54
54
  ],
55
- brand: [
56
- "[--button-solid-bg:var(--color-brand-9)]",
57
- "[--button-subtle-bg:var(--color-brand-4)]",
58
- "[--button-subtle-hover-bg:var(--color-brand-5)]",
59
- "[--button-surface-bg:var(--color-brand-4)]",
60
- "[--button-surface-hover-bg:var(--color-brand-5)]",
61
- "[--button-surface-border:var(--color-brand-5)]",
62
- "[--button-outline-hover-bg:var(--color-brand-3)]",
63
- "[--button-outline-border:var(--color-brand-8)]",
64
- "[--button-ghost-hover-bg:var(--color-brand-4)]",
65
- "text-brand-11",
66
- "ring-brand-9"
55
+ accent: [
56
+ "[--button-solid-bg:var(--accent-9)]",
57
+ "[--button-subtle-bg:var(--accent-4)]",
58
+ "[--button-subtle-hover-bg:var(--accent-5)]",
59
+ "[--button-surface-bg:var(--accent-4)]",
60
+ "[--button-surface-hover-bg:var(--accent-5)]",
61
+ "[--button-surface-border:var(--accent-5)]",
62
+ "[--button-outline-hover-bg:var(--accent-3)]",
63
+ "[--button-outline-border:var(--accent-8)]",
64
+ "[--button-ghost-hover-bg:var(--accent-4)]",
65
+ "text-accent-11",
66
+ "ring-accent-9"
67
67
  ],
68
68
  red: [
69
- "[--button-solid-bg:var(--color-red-9)]",
70
- "[--button-subtle-bg:var(--color-red-4)]",
71
- "[--button-subtle-hover-bg:var(--color-red-5)]",
72
- "[--button-surface-bg:var(--color-red-4)]",
73
- "[--button-surface-hover-bg:var(--color-red-5)]",
74
- "[--button-surface-border:var(--color-red-5)]",
75
- "[--button-outline-hover-bg:var(--color-red-3)]",
76
- "[--button-outline-border:var(--color-red-8)]",
77
- "[--button-ghost-hover-bg:var(--color-red-4)]",
69
+ "[--button-solid-bg:var(--red-9)]",
70
+ "[--button-subtle-bg:var(--red-4)]",
71
+ "[--button-subtle-hover-bg:var(--red-5)]",
72
+ "[--button-surface-bg:var(--red-4)]",
73
+ "[--button-surface-hover-bg:var(--red-5)]",
74
+ "[--button-surface-border:var(--red-5)]",
75
+ "[--button-outline-hover-bg:var(--red-3)]",
76
+ "[--button-outline-border:var(--red-8)]",
77
+ "[--button-ghost-hover-bg:var(--red-4)]",
78
78
  "text-red-11",
79
79
  "ring-red-9"
80
80
  ],
81
81
  green: [
82
- "[--button-solid-bg:var(--color-green-9)]",
83
- "[--button-subtle-bg:var(--color-green-4)]",
84
- "[--button-subtle-hover-bg:var(--color-green-5)]",
85
- "[--button-surface-bg:var(--color-green-4)]",
86
- "[--button-surface-hover-bg:var(--color-green-5)]",
87
- "[--button-surface-border:var(--color-green-5)]",
88
- "[--button-outline-hover-bg:var(--color-green-3)]",
89
- "[--button-outline-border:var(--color-green-8)]",
90
- "[--button-ghost-hover-bg:var(--color-green-4)]",
82
+ "[--button-solid-bg:var(--green-9)]",
83
+ "[--button-subtle-bg:var(--green-4)]",
84
+ "[--button-subtle-hover-bg:var(--green-5)]",
85
+ "[--button-surface-bg:var(--green-4)]",
86
+ "[--button-surface-hover-bg:var(--green-5)]",
87
+ "[--button-surface-border:var(--green-5)]",
88
+ "[--button-outline-hover-bg:var(--green-3)]",
89
+ "[--button-outline-border:var(--green-8)]",
90
+ "[--button-ghost-hover-bg:var(--green-4)]",
91
91
  "text-green-11",
92
92
  "ring-green-9"
93
93
  ],
94
94
  blue: [
95
- "[--button-solid-bg:var(--color-blue-9)]",
96
- "[--button-subtle-bg:var(--color-blue-4)]",
97
- "[--button-subtle-hover-bg:var(--color-blue-5)]",
98
- "[--button-surface-bg:var(--color-blue-4)]",
99
- "[--button-surface-hover-bg:var(--color-blue-5)]",
100
- "[--button-surface-border:var(--color-blue-5)]",
101
- "[--button-outline-hover-bg:var(--color-blue-3)]",
102
- "[--button-outline-border:var(--color-blue-8)]",
103
- "[--button-ghost-hover-bg:var(--color-blue-4)]",
95
+ "[--button-solid-bg:var(--blue-9)]",
96
+ "[--button-subtle-bg:var(--blue-4)]",
97
+ "[--button-subtle-hover-bg:var(--blue-5)]",
98
+ "[--button-surface-bg:var(--blue-4)]",
99
+ "[--button-surface-hover-bg:var(--blue-5)]",
100
+ "[--button-surface-border:var(--blue-5)]",
101
+ "[--button-outline-hover-bg:var(--blue-3)]",
102
+ "[--button-outline-border:var(--blue-8)]",
103
+ "[--button-ghost-hover-bg:var(--blue-4)]",
104
104
  "text-blue-11",
105
105
  "ring-blue-9"
106
106
  ],
107
107
  teal: [
108
- "[--button-solid-bg:var(--color-teal-9)]",
109
- "[--button-subtle-bg:var(--color-teal-4)]",
110
- "[--button-subtle-hover-bg:var(--color-teal-5)]",
111
- "[--button-surface-bg:var(--color-teal-4)]",
112
- "[--button-surface-hover-bg:var(--color-teal-5)]",
113
- "[--button-surface-border:var(--color-teal-5)]",
114
- "[--button-outline-hover-bg:var(--color-teal-3)]",
115
- "[--button-outline-border:var(--color-teal-8)]",
116
- "[--button-ghost-hover-bg:var(--color-teal-4)]",
108
+ "[--button-solid-bg:var(--teal-9)]",
109
+ "[--button-subtle-bg:var(--teal-4)]",
110
+ "[--button-subtle-hover-bg:var(--teal-5)]",
111
+ "[--button-surface-bg:var(--teal-4)]",
112
+ "[--button-surface-hover-bg:var(--teal-5)]",
113
+ "[--button-surface-border:var(--teal-5)]",
114
+ "[--button-outline-hover-bg:var(--teal-3)]",
115
+ "[--button-outline-border:var(--teal-8)]",
116
+ "[--button-ghost-hover-bg:var(--teal-4)]",
117
117
  "text-teal-11",
118
118
  "ring-teal-9"
119
119
  ],
120
120
  pink: [
121
- "[--button-solid-bg:var(--color-pink-9)]",
122
- "[--button-subtle-bg:var(--color-pink-4)]",
123
- "[--button-subtle-hover-bg:var(--color-pink-5)]",
124
- "[--button-surface-bg:var(--color-pink-4)]",
125
- "[--button-surface-hover-bg:var(--color-pink-5)]",
126
- "[--button-surface-border:var(--color-pink-5)]",
127
- "[--button-outline-hover-bg:var(--color-pink-3)]",
128
- "[--button-outline-border:var(--color-pink-8)]",
129
- "[--button-ghost-hover-bg:var(--color-pink-4)]",
121
+ "[--button-solid-bg:var(--pink-9)]",
122
+ "[--button-subtle-bg:var(--pink-4)]",
123
+ "[--button-subtle-hover-bg:var(--pink-5)]",
124
+ "[--button-surface-bg:var(--pink-4)]",
125
+ "[--button-surface-hover-bg:var(--pink-5)]",
126
+ "[--button-surface-border:var(--pink-5)]",
127
+ "[--button-outline-hover-bg:var(--pink-3)]",
128
+ "[--button-outline-border:var(--pink-8)]",
129
+ "[--button-ghost-hover-bg:var(--pink-4)]",
130
130
  "text-pink-11",
131
131
  "ring-pink-9"
132
132
  ],
133
133
  purple: [
134
- "[--button-solid-bg:var(--color-purple-9)]",
135
- "[--button-subtle-bg:var(--color-purple-4)]",
136
- "[--button-subtle-hover-bg:var(--color-purple-5)]",
137
- "[--button-surface-bg:var(--color-purple-4)]",
138
- "[--button-surface-hover-bg:var(--color-purple-5)]",
139
- "[--button-surface-border:var(--color-purple-5)]",
140
- "[--button-outline-hover-bg:var(--color-purple-3)]",
141
- "[--button-outline-border:var(--color-purple-8)]",
142
- "[--button-ghost-hover-bg:var(--color-purple-4)]",
134
+ "[--button-solid-bg:var(--purple-9)]",
135
+ "[--button-subtle-bg:var(--purple-4)]",
136
+ "[--button-subtle-hover-bg:var(--purple-5)]",
137
+ "[--button-surface-bg:var(--purple-4)]",
138
+ "[--button-surface-hover-bg:var(--purple-5)]",
139
+ "[--button-surface-border:var(--purple-5)]",
140
+ "[--button-outline-hover-bg:var(--purple-3)]",
141
+ "[--button-outline-border:var(--purple-8)]",
142
+ "[--button-ghost-hover-bg:var(--purple-4)]",
143
143
  "text-purple-11",
144
144
  "ring-purple-9"
145
145
  ],
146
146
  cyan: [
147
- "[--button-solid-bg:var(--color-cyan-9)]",
148
- "[--button-subtle-bg:var(--color-cyan-4)]",
149
- "[--button-subtle-hover-bg:var(--color-cyan-5)]",
150
- "[--button-surface-bg:var(--color-cyan-4)]",
151
- "[--button-surface-hover-bg:var(--color-cyan-5)]",
152
- "[--button-surface-border:var(--color-cyan-5)]",
153
- "[--button-outline-hover-bg:var(--color-cyan-3)]",
154
- "[--button-outline-border:var(--color-cyan-8)]",
155
- "[--button-ghost-hover-bg:var(--color-cyan-4)]",
147
+ "[--button-solid-bg:var(--cyan-9)]",
148
+ "[--button-subtle-bg:var(--cyan-4)]",
149
+ "[--button-subtle-hover-bg:var(--cyan-5)]",
150
+ "[--button-surface-bg:var(--cyan-4)]",
151
+ "[--button-surface-hover-bg:var(--cyan-5)]",
152
+ "[--button-surface-border:var(--cyan-5)]",
153
+ "[--button-outline-hover-bg:var(--cyan-3)]",
154
+ "[--button-outline-border:var(--cyan-8)]",
155
+ "[--button-ghost-hover-bg:var(--cyan-4)]",
156
156
  "text-cyan-11",
157
157
  "ring-cyan-9"
158
158
  ],
159
159
  orange: [
160
- "[--button-solid-bg:var(--color-orange-9)]",
161
- "[--button-subtle-bg:var(--color-orange-4)]",
162
- "[--button-subtle-hover-bg:var(--color-orange-5)]",
163
- "[--button-surface-bg:var(--color-orange-4)]",
164
- "[--button-surface-hover-bg:var(--color-orange-5)]",
165
- "[--button-surface-border:var(--color-orange-5)]",
166
- "[--button-outline-hover-bg:var(--color-orange-3)]",
167
- "[--button-outline-border:var(--color-orange-8)]",
168
- "[--button-ghost-hover-bg:var(--color-orange-4)]",
160
+ "[--button-solid-bg:var(--orange-9)]",
161
+ "[--button-subtle-bg:var(--orange-4)]",
162
+ "[--button-subtle-hover-bg:var(--orange-5)]",
163
+ "[--button-surface-bg:var(--orange-4)]",
164
+ "[--button-surface-hover-bg:var(--orange-5)]",
165
+ "[--button-surface-border:var(--orange-5)]",
166
+ "[--button-outline-hover-bg:var(--orange-3)]",
167
+ "[--button-outline-border:var(--orange-8)]",
168
+ "[--button-ghost-hover-bg:var(--orange-4)]",
169
169
  "text-orange-11",
170
170
  "ring-orange-9"
171
171
  ],
172
172
  brown: [
173
- "[--button-solid-bg:var(--color-brown-9)]",
174
- "[--button-subtle-bg:var(--color-brown-4)]",
175
- "[--button-subtle-hover-bg:var(--color-brown-5)]",
176
- "[--button-surface-bg:var(--color-brown-4)]",
177
- "[--button-surface-hover-bg:var(--color-brown-5)]",
178
- "[--button-surface-border:var(--color-brown-5)]",
179
- "[--button-outline-hover-bg:var(--color-brown-3)]",
180
- "[--button-outline-border:var(--color-brown-8)]",
181
- "[--button-ghost-hover-bg:var(--color-brown-4)]",
173
+ "[--button-solid-bg:var(--brown-9)]",
174
+ "[--button-subtle-bg:var(--brown-4)]",
175
+ "[--button-subtle-hover-bg:var(--brown-5)]",
176
+ "[--button-surface-bg:var(--brown-4)]",
177
+ "[--button-surface-hover-bg:var(--brown-5)]",
178
+ "[--button-surface-border:var(--brown-5)]",
179
+ "[--button-outline-hover-bg:var(--brown-3)]",
180
+ "[--button-outline-border:var(--brown-8)]",
181
+ "[--button-ghost-hover-bg:var(--brown-4)]",
182
182
  "text-brown-11",
183
183
  "ring-brown-9"
184
184
  ],
185
185
  yellow: [
186
- "[--button-solid-bg:var(--color-yellow-9)]",
187
- "[--button-subtle-bg:var(--color-yellow-4)]",
188
- "[--button-subtle-hover-bg:var(--color-yellow-5)]",
189
- "[--button-surface-bg:var(--color-yellow-4)]",
190
- "[--button-surface-hover-bg:var(--color-yellow-5)]",
191
- "[--button-surface-border:var(--color-yellow-5)]",
192
- "[--button-outline-hover-bg:var(--color-yellow-3)]",
193
- "[--button-outline-border:var(--color-yellow-8)]",
194
- "[--button-ghost-hover-bg:var(--color-yellow-4)]",
186
+ "[--button-solid-bg:var(--yellow-9)]",
187
+ "[--button-subtle-bg:var(--yellow-4)]",
188
+ "[--button-subtle-hover-bg:var(--yellow-5)]",
189
+ "[--button-surface-bg:var(--yellow-4)]",
190
+ "[--button-surface-hover-bg:var(--yellow-5)]",
191
+ "[--button-surface-border:var(--yellow-5)]",
192
+ "[--button-outline-hover-bg:var(--yellow-3)]",
193
+ "[--button-outline-border:var(--yellow-8)]",
194
+ "[--button-ghost-hover-bg:var(--yellow-4)]",
195
195
  "text-yellow-11",
196
196
  "ring-yellow-9"
197
197
  ],
198
198
  amber: [
199
- "[--button-solid-bg:var(--color-amber-9)]",
200
- "[--button-subtle-bg:var(--color-amber-4)]",
201
- "[--button-subtle-hover-bg:var(--color-amber-5)]",
202
- "[--button-surface-bg:var(--color-amber-4)]",
203
- "[--button-surface-hover-bg:var(--color-amber-5)]",
204
- "[--button-surface-border:var(--color-amber-5)]",
205
- "[--button-outline-hover-bg:var(--color-amber-3)]",
206
- "[--button-outline-border:var(--color-amber-8)]",
207
- "[--button-ghost-hover-bg:var(--color-amber-4)]",
199
+ "[--button-solid-bg:var(--amber-9)]",
200
+ "[--button-subtle-bg:var(--amber-4)]",
201
+ "[--button-subtle-hover-bg:var(--amber-5)]",
202
+ "[--button-surface-bg:var(--amber-4)]",
203
+ "[--button-surface-hover-bg:var(--amber-5)]",
204
+ "[--button-surface-border:var(--amber-5)]",
205
+ "[--button-outline-hover-bg:var(--amber-3)]",
206
+ "[--button-outline-border:var(--amber-8)]",
207
+ "[--button-ghost-hover-bg:var(--amber-4)]",
208
208
  "text-amber-11",
209
209
  "ring-amber-9"
210
210
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"button-variants.js","names":[],"sources":["../../../../src/components/buttons/button/button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ColorSchemePalette } from '#types';\n\nexport type ButtonVariants = {\n /**\n * Cor do botão. Cada `variant` usa a escala da cor de um jeito (fundo sólido, fundo suave,\n * borda).\n *\n * @default 'gray'\n */\n colorScheme?: ColorSchemePalette;\n /**\n * Altura, padding, tamanho do texto e do ícone. `sm` = `h-9`, `md` = `h-10`, alinhado aos\n * outros controles de formulário.\n *\n * @default 'sm'\n */\n size?: '3xs' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Desenho do botão.\n *\n * @default 'solid'\n */\n variant?: 'solid' | 'subtle' | 'surface' | 'outline' | 'ghost' | 'plain';\n};\n\nexport const buttonDefaultVariants: Required<ButtonVariants> = {\n colorScheme: 'gray',\n size: 'sm',\n variant: 'solid',\n};\n\n/**\n * A cor só declara as variáveis `--button-*`, e a `variant` decide onde cada uma entra. Assim não\n * há um bloco por combinação de cor e `variant`.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'align-middle',\n 'shrink-0',\n\n 'whitespace-nowrap',\n 'font-medium',\n 'leading-[1.2]',\n\n 'border',\n 'border-transparent',\n 'rounded-md',\n 'corner-squircle',\n\n 'select-none',\n 'cursor-pointer',\n 'appearance-none',\n 'isolate',\n\n // A transição só existe durante o hover: fora dele, a troca de tema muda as cores na hora,\n // em vez de animar todos os botões da tela. Só o fundo, que é o que o hover muda: com a\n // `opacity` junto, o esmaecido do disabled demoraria para chegar e o spinner do `loading`\n // apareceria antes dele; com o `transition-colors`, o anel de foco que surge durante o hover\n // sairia da cor do texto.\n 'hover:transition-[background-color]',\n 'hover:ease-in',\n 'hover:duration-150',\n\n 'focus-ring-outside',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-loading:data-disabled:cursor-default',\n\n '[&_svg]:shrink-0',\n ],\n {\n variants: {\n colorScheme: {\n gray: [\n '[--button-solid-bg:var(--color-black)]',\n 'dark:[--button-solid-bg:var(--color-white)]',\n\n '[--button-subtle-bg:var(--color-gray-4)]',\n '[--button-subtle-hover-bg:var(--color-gray-5)]',\n\n '[--button-surface-bg:var(--color-gray-4)]',\n '[--button-surface-hover-bg:var(--color-gray-5)]',\n '[--button-surface-border:var(--color-gray-5)]',\n\n '[--button-outline-hover-bg:var(--color-gray-4)]',\n '[--button-outline-border:var(--color-gray-6)]',\n\n '[--button-ghost-hover-bg:var(--color-gray-4)]',\n\n 'text-gray-12',\n 'ring-gray-9',\n ],\n brand: [\n '[--button-solid-bg:var(--color-brand-9)]',\n\n '[--button-subtle-bg:var(--color-brand-4)]',\n '[--button-subtle-hover-bg:var(--color-brand-5)]',\n\n '[--button-surface-bg:var(--color-brand-4)]',\n '[--button-surface-hover-bg:var(--color-brand-5)]',\n '[--button-surface-border:var(--color-brand-5)]',\n\n '[--button-outline-hover-bg:var(--color-brand-3)]',\n '[--button-outline-border:var(--color-brand-8)]',\n\n '[--button-ghost-hover-bg:var(--color-brand-4)]',\n\n 'text-brand-11',\n 'ring-brand-9',\n ],\n red: [\n '[--button-solid-bg:var(--color-red-9)]',\n\n '[--button-subtle-bg:var(--color-red-4)]',\n '[--button-subtle-hover-bg:var(--color-red-5)]',\n\n '[--button-surface-bg:var(--color-red-4)]',\n '[--button-surface-hover-bg:var(--color-red-5)]',\n '[--button-surface-border:var(--color-red-5)]',\n\n '[--button-outline-hover-bg:var(--color-red-3)]',\n '[--button-outline-border:var(--color-red-8)]',\n\n '[--button-ghost-hover-bg:var(--color-red-4)]',\n\n 'text-red-11',\n 'ring-red-9',\n ],\n green: [\n '[--button-solid-bg:var(--color-green-9)]',\n\n '[--button-subtle-bg:var(--color-green-4)]',\n '[--button-subtle-hover-bg:var(--color-green-5)]',\n\n '[--button-surface-bg:var(--color-green-4)]',\n '[--button-surface-hover-bg:var(--color-green-5)]',\n '[--button-surface-border:var(--color-green-5)]',\n\n '[--button-outline-hover-bg:var(--color-green-3)]',\n '[--button-outline-border:var(--color-green-8)]',\n\n '[--button-ghost-hover-bg:var(--color-green-4)]',\n\n 'text-green-11',\n 'ring-green-9',\n ],\n blue: [\n '[--button-solid-bg:var(--color-blue-9)]',\n\n '[--button-subtle-bg:var(--color-blue-4)]',\n '[--button-subtle-hover-bg:var(--color-blue-5)]',\n\n '[--button-surface-bg:var(--color-blue-4)]',\n '[--button-surface-hover-bg:var(--color-blue-5)]',\n '[--button-surface-border:var(--color-blue-5)]',\n\n '[--button-outline-hover-bg:var(--color-blue-3)]',\n '[--button-outline-border:var(--color-blue-8)]',\n\n '[--button-ghost-hover-bg:var(--color-blue-4)]',\n\n 'text-blue-11',\n 'ring-blue-9',\n ],\n teal: [\n '[--button-solid-bg:var(--color-teal-9)]',\n\n '[--button-subtle-bg:var(--color-teal-4)]',\n '[--button-subtle-hover-bg:var(--color-teal-5)]',\n\n '[--button-surface-bg:var(--color-teal-4)]',\n '[--button-surface-hover-bg:var(--color-teal-5)]',\n '[--button-surface-border:var(--color-teal-5)]',\n\n '[--button-outline-hover-bg:var(--color-teal-3)]',\n '[--button-outline-border:var(--color-teal-8)]',\n\n '[--button-ghost-hover-bg:var(--color-teal-4)]',\n\n 'text-teal-11',\n 'ring-teal-9',\n ],\n pink: [\n '[--button-solid-bg:var(--color-pink-9)]',\n\n '[--button-subtle-bg:var(--color-pink-4)]',\n '[--button-subtle-hover-bg:var(--color-pink-5)]',\n\n '[--button-surface-bg:var(--color-pink-4)]',\n '[--button-surface-hover-bg:var(--color-pink-5)]',\n '[--button-surface-border:var(--color-pink-5)]',\n\n '[--button-outline-hover-bg:var(--color-pink-3)]',\n '[--button-outline-border:var(--color-pink-8)]',\n\n '[--button-ghost-hover-bg:var(--color-pink-4)]',\n\n 'text-pink-11',\n 'ring-pink-9',\n ],\n purple: [\n '[--button-solid-bg:var(--color-purple-9)]',\n\n '[--button-subtle-bg:var(--color-purple-4)]',\n '[--button-subtle-hover-bg:var(--color-purple-5)]',\n\n '[--button-surface-bg:var(--color-purple-4)]',\n '[--button-surface-hover-bg:var(--color-purple-5)]',\n '[--button-surface-border:var(--color-purple-5)]',\n\n '[--button-outline-hover-bg:var(--color-purple-3)]',\n '[--button-outline-border:var(--color-purple-8)]',\n\n '[--button-ghost-hover-bg:var(--color-purple-4)]',\n\n 'text-purple-11',\n 'ring-purple-9',\n ],\n cyan: [\n '[--button-solid-bg:var(--color-cyan-9)]',\n\n '[--button-subtle-bg:var(--color-cyan-4)]',\n '[--button-subtle-hover-bg:var(--color-cyan-5)]',\n\n '[--button-surface-bg:var(--color-cyan-4)]',\n '[--button-surface-hover-bg:var(--color-cyan-5)]',\n '[--button-surface-border:var(--color-cyan-5)]',\n\n '[--button-outline-hover-bg:var(--color-cyan-3)]',\n '[--button-outline-border:var(--color-cyan-8)]',\n\n '[--button-ghost-hover-bg:var(--color-cyan-4)]',\n\n 'text-cyan-11',\n 'ring-cyan-9',\n ],\n orange: [\n '[--button-solid-bg:var(--color-orange-9)]',\n\n '[--button-subtle-bg:var(--color-orange-4)]',\n '[--button-subtle-hover-bg:var(--color-orange-5)]',\n\n '[--button-surface-bg:var(--color-orange-4)]',\n '[--button-surface-hover-bg:var(--color-orange-5)]',\n '[--button-surface-border:var(--color-orange-5)]',\n\n '[--button-outline-hover-bg:var(--color-orange-3)]',\n '[--button-outline-border:var(--color-orange-8)]',\n\n '[--button-ghost-hover-bg:var(--color-orange-4)]',\n\n 'text-orange-11',\n 'ring-orange-9',\n ],\n brown: [\n '[--button-solid-bg:var(--color-brown-9)]',\n\n '[--button-subtle-bg:var(--color-brown-4)]',\n '[--button-subtle-hover-bg:var(--color-brown-5)]',\n\n '[--button-surface-bg:var(--color-brown-4)]',\n '[--button-surface-hover-bg:var(--color-brown-5)]',\n '[--button-surface-border:var(--color-brown-5)]',\n\n '[--button-outline-hover-bg:var(--color-brown-3)]',\n '[--button-outline-border:var(--color-brown-8)]',\n\n '[--button-ghost-hover-bg:var(--color-brown-4)]',\n\n 'text-brown-11',\n 'ring-brown-9',\n ],\n yellow: [\n '[--button-solid-bg:var(--color-yellow-9)]',\n\n '[--button-subtle-bg:var(--color-yellow-4)]',\n '[--button-subtle-hover-bg:var(--color-yellow-5)]',\n\n '[--button-surface-bg:var(--color-yellow-4)]',\n '[--button-surface-hover-bg:var(--color-yellow-5)]',\n '[--button-surface-border:var(--color-yellow-5)]',\n\n '[--button-outline-hover-bg:var(--color-yellow-3)]',\n '[--button-outline-border:var(--color-yellow-8)]',\n\n '[--button-ghost-hover-bg:var(--color-yellow-4)]',\n\n 'text-yellow-11',\n 'ring-yellow-9',\n ],\n amber: [\n '[--button-solid-bg:var(--color-amber-9)]',\n\n '[--button-subtle-bg:var(--color-amber-4)]',\n '[--button-subtle-hover-bg:var(--color-amber-5)]',\n\n '[--button-surface-bg:var(--color-amber-4)]',\n '[--button-surface-hover-bg:var(--color-amber-5)]',\n '[--button-surface-border:var(--color-amber-5)]',\n\n '[--button-outline-hover-bg:var(--color-amber-3)]',\n '[--button-outline-border:var(--color-amber-8)]',\n\n '[--button-ghost-hover-bg:var(--color-amber-4)]',\n\n 'text-amber-11',\n 'ring-amber-9',\n ],\n },\n variant: {\n solid: [\n 'bg-(--button-solid-bg)',\n 'hover:bg-(--button-solid-bg)/90',\n 'expanded:bg-(--button-solid-bg)/90',\n\n 'data-disabled:hover:bg-(--button-solid-bg)',\n 'data-disabled:expanded:bg-(--button-solid-bg)',\n\n 'border-transparent',\n\n 'text-white',\n ],\n subtle: [\n 'bg-(--button-subtle-bg)',\n 'hover:bg-(--button-subtle-hover-bg)',\n 'expanded:bg-(--button-subtle-hover-bg)',\n\n 'border-transparent',\n\n 'data-disabled:hover:bg-(--button-subtle-bg)',\n 'data-disabled:expanded:bg-(--button-subtle-bg)',\n ],\n surface: [\n 'bg-(--button-surface-bg)',\n 'hover:bg-(--button-surface-hover-bg)',\n 'expanded:bg-(--button-surface-hover-bg)',\n\n 'border',\n 'border-(--button-surface-border)',\n\n 'data-disabled:hover:bg-(--button-surface-bg)',\n 'data-disabled:expanded:bg-(--button-surface-bg)',\n ],\n outline: [\n 'bg-transparent',\n 'hover:bg-(--button-outline-hover-bg)',\n 'expanded:bg-(--button-outline-hover-bg)',\n\n 'border',\n 'border-(--button-outline-border)',\n\n 'data-disabled:hover:bg-transparent',\n 'data-disabled:expanded:bg-transparent',\n ],\n ghost: [\n 'hover:bg-(--button-ghost-hover-bg)',\n 'expanded:bg-(--button-ghost-hover-bg)',\n\n 'data-disabled:hover:bg-transparent',\n 'data-disabled:expanded:bg-transparent',\n ],\n plain: [],\n },\n size: {\n '3xs': [\n 'h-5',\n 'min-w-5',\n\n 'text-2xs',\n\n 'px-1.5',\n 'gap-1',\n\n '[&_svg]:size-2.5',\n ],\n '2xs': [\n 'h-6',\n 'min-w-6',\n\n 'text-xs',\n\n 'px-2',\n 'gap-1',\n\n '[&_svg]:size-3.5',\n ],\n xs: [\n 'h-8',\n 'min-w-8',\n\n 'text-xs',\n\n 'px-2.5',\n 'gap-1',\n\n '[&_svg]:size-4',\n ],\n sm: [\n 'h-9',\n 'min-w-9',\n\n 'text-sm',\n\n 'px-3.5',\n 'gap-2',\n\n '[&_svg]:size-4',\n ],\n md: [\n 'h-10',\n 'min-w-10',\n\n 'text-sm',\n\n 'px-4',\n 'gap-2',\n\n '[&_svg]:size-5',\n ],\n lg: [\n 'h-11',\n 'min-w-11',\n\n 'text-base',\n\n 'px-5',\n 'gap-3',\n\n '[&_svg]:size-5',\n ],\n xl: [\n 'h-12',\n 'min-w-12',\n\n 'text-base',\n\n 'px-6',\n 'gap-3',\n\n '[&_svg]:size-5',\n ],\n '2xl': [\n 'h-16',\n 'min-w-16',\n\n 'text-lg',\n\n 'px-7',\n 'gap-3',\n\n '[&_svg]:size-6',\n ],\n },\n },\n compoundVariants: [\n {\n variant: 'solid',\n colorScheme: 'gray',\n className: ['text-white', 'dark:text-black'],\n },\n // {\n // variant: 'outline',\n // colorScheme: 'gray',\n // className: ['bg-white', 'dark:bg-black'],\n // },\n {\n variant: 'solid',\n colorScheme: 'yellow',\n className: ['text-black'],\n },\n {\n variant: 'solid',\n colorScheme: 'amber',\n className: ['text-black'],\n },\n ],\n defaultVariants: {\n colorScheme: buttonDefaultVariants.colorScheme,\n size: buttonDefaultVariants.size,\n variant: buttonDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AA0BA,MAAa,wBAAkD;CAC7D,aAAa;CACb,MAAM;CACN,SAAS;AACX;;;;;AAMA,MAAa,iBAAiB,IAC5B;CACE;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CAOA;CACA;CACA;CAEA;CAEA;CACA;CAEA;CAEA;AACF,GACA;CACE,UAAU;EACR,aAAa;GACX,MAAM;IACJ;IACA;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,OAAO;IACL;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,KAAK;IACH;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,OAAO;IACL;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,QAAQ;IACN;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,QAAQ;IACN;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,OAAO;IACL;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,QAAQ;IACN;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,OAAO;IACL;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;EACF;EACA,SAAS;GACP,OAAO;IACL;IACA;IACA;IAEA;IACA;IAEA;IAEA;GACF;GACA,QAAQ;IACN;IACA;IACA;IAEA;IAEA;IACA;GACF;GACA,SAAS;IACP;IACA;IACA;IAEA;IACA;IAEA;IACA;GACF;GACA,SAAS;IACP;IACA;IACA;IAEA;IACA;IAEA;IACA;GACF;GACA,OAAO;IACL;IACA;IAEA;IACA;GACF;GACA,OAAO,CAAC;EACV;EACA,MAAM;GACJ,OAAO;IACL;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;IAEA;IACA;IAEA;GACF;EACF;CACF;CACA,kBAAkB;EAChB;GACE,SAAS;GACT,aAAa;GACb,WAAW,CAAC,cAAc,iBAAiB;EAC7C;EAMA;GACE,SAAS;GACT,aAAa;GACb,WAAW,CAAC,YAAY;EAC1B;EACA;GACE,SAAS;GACT,aAAa;GACb,WAAW,CAAC,YAAY;EAC1B;CACF;CACA,iBAAiB;EACf,aAAa,sBAAsB;EACnC,MAAM,sBAAsB;EAC5B,SAAS,sBAAsB;CACjC;AACF,CACF"}
1
+ {"version":3,"file":"button-variants.js","names":[],"sources":["../../../../src/components/buttons/button/button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ColorSchemePalette } from '#types';\n\nexport type ButtonVariants = {\n /**\n * Cor do botão. Cada `variant` usa a escala da cor de um jeito (fundo sólido, fundo suave,\n * borda).\n *\n * @default 'gray'\n */\n colorScheme?: ColorSchemePalette;\n /**\n * Altura, padding, tamanho do texto e do ícone. `sm` = `h-9`, `md` = `h-10`, alinhado aos\n * outros controles de formulário.\n *\n * @default 'sm'\n */\n size?: '3xs' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Desenho do botão.\n *\n * @default 'solid'\n */\n variant?: 'solid' | 'subtle' | 'surface' | 'outline' | 'ghost' | 'plain';\n};\n\nexport const buttonDefaultVariants: Required<ButtonVariants> = {\n colorScheme: 'gray',\n size: 'sm',\n variant: 'solid',\n};\n\n/**\n * A cor só declara as variáveis `--button-*`, e a `variant` decide onde cada uma entra. Assim não\n * há um bloco por combinação de cor e `variant`.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'align-middle',\n 'shrink-0',\n\n 'whitespace-nowrap',\n 'font-medium',\n 'leading-[1.2]',\n\n 'border',\n 'border-transparent',\n 'rounded-md',\n 'corner-squircle',\n\n 'select-none',\n 'cursor-pointer',\n 'appearance-none',\n 'isolate',\n\n // A transição só existe durante o hover: fora dele, a troca de tema muda as cores na hora,\n // em vez de animar todos os botões da tela. Só o fundo, que é o que o hover muda: com a\n // `opacity` junto, o esmaecido do disabled demoraria para chegar e o spinner do `loading`\n // apareceria antes dele; com o `transition-colors`, o anel de foco que surge durante o hover\n // sairia da cor do texto.\n 'hover:transition-[background-color]',\n 'hover:ease-in',\n 'hover:duration-150',\n\n 'focus-ring-outside',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-loading:data-disabled:cursor-default',\n\n '[&_svg]:shrink-0',\n ],\n {\n variants: {\n colorScheme: {\n gray: [\n '[--button-solid-bg:var(--color-black)]',\n 'dark:[--button-solid-bg:var(--color-white)]',\n\n '[--button-subtle-bg:var(--gray-4)]',\n '[--button-subtle-hover-bg:var(--gray-5)]',\n\n '[--button-surface-bg:var(--gray-4)]',\n '[--button-surface-hover-bg:var(--gray-5)]',\n '[--button-surface-border:var(--gray-5)]',\n\n '[--button-outline-hover-bg:var(--gray-4)]',\n '[--button-outline-border:var(--gray-6)]',\n\n '[--button-ghost-hover-bg:var(--gray-4)]',\n\n 'text-gray-12',\n 'ring-gray-9',\n ],\n accent: [\n '[--button-solid-bg:var(--accent-9)]',\n\n '[--button-subtle-bg:var(--accent-4)]',\n '[--button-subtle-hover-bg:var(--accent-5)]',\n\n '[--button-surface-bg:var(--accent-4)]',\n '[--button-surface-hover-bg:var(--accent-5)]',\n '[--button-surface-border:var(--accent-5)]',\n\n '[--button-outline-hover-bg:var(--accent-3)]',\n '[--button-outline-border:var(--accent-8)]',\n\n '[--button-ghost-hover-bg:var(--accent-4)]',\n\n 'text-accent-11',\n 'ring-accent-9',\n ],\n red: [\n '[--button-solid-bg:var(--red-9)]',\n\n '[--button-subtle-bg:var(--red-4)]',\n '[--button-subtle-hover-bg:var(--red-5)]',\n\n '[--button-surface-bg:var(--red-4)]',\n '[--button-surface-hover-bg:var(--red-5)]',\n '[--button-surface-border:var(--red-5)]',\n\n '[--button-outline-hover-bg:var(--red-3)]',\n '[--button-outline-border:var(--red-8)]',\n\n '[--button-ghost-hover-bg:var(--red-4)]',\n\n 'text-red-11',\n 'ring-red-9',\n ],\n green: [\n '[--button-solid-bg:var(--green-9)]',\n\n '[--button-subtle-bg:var(--green-4)]',\n '[--button-subtle-hover-bg:var(--green-5)]',\n\n '[--button-surface-bg:var(--green-4)]',\n '[--button-surface-hover-bg:var(--green-5)]',\n '[--button-surface-border:var(--green-5)]',\n\n '[--button-outline-hover-bg:var(--green-3)]',\n '[--button-outline-border:var(--green-8)]',\n\n '[--button-ghost-hover-bg:var(--green-4)]',\n\n 'text-green-11',\n 'ring-green-9',\n ],\n blue: [\n '[--button-solid-bg:var(--blue-9)]',\n\n '[--button-subtle-bg:var(--blue-4)]',\n '[--button-subtle-hover-bg:var(--blue-5)]',\n\n '[--button-surface-bg:var(--blue-4)]',\n '[--button-surface-hover-bg:var(--blue-5)]',\n '[--button-surface-border:var(--blue-5)]',\n\n '[--button-outline-hover-bg:var(--blue-3)]',\n '[--button-outline-border:var(--blue-8)]',\n\n '[--button-ghost-hover-bg:var(--blue-4)]',\n\n 'text-blue-11',\n 'ring-blue-9',\n ],\n teal: [\n '[--button-solid-bg:var(--teal-9)]',\n\n '[--button-subtle-bg:var(--teal-4)]',\n '[--button-subtle-hover-bg:var(--teal-5)]',\n\n '[--button-surface-bg:var(--teal-4)]',\n '[--button-surface-hover-bg:var(--teal-5)]',\n '[--button-surface-border:var(--teal-5)]',\n\n '[--button-outline-hover-bg:var(--teal-3)]',\n '[--button-outline-border:var(--teal-8)]',\n\n '[--button-ghost-hover-bg:var(--teal-4)]',\n\n 'text-teal-11',\n 'ring-teal-9',\n ],\n pink: [\n '[--button-solid-bg:var(--pink-9)]',\n\n '[--button-subtle-bg:var(--pink-4)]',\n '[--button-subtle-hover-bg:var(--pink-5)]',\n\n '[--button-surface-bg:var(--pink-4)]',\n '[--button-surface-hover-bg:var(--pink-5)]',\n '[--button-surface-border:var(--pink-5)]',\n\n '[--button-outline-hover-bg:var(--pink-3)]',\n '[--button-outline-border:var(--pink-8)]',\n\n '[--button-ghost-hover-bg:var(--pink-4)]',\n\n 'text-pink-11',\n 'ring-pink-9',\n ],\n purple: [\n '[--button-solid-bg:var(--purple-9)]',\n\n '[--button-subtle-bg:var(--purple-4)]',\n '[--button-subtle-hover-bg:var(--purple-5)]',\n\n '[--button-surface-bg:var(--purple-4)]',\n '[--button-surface-hover-bg:var(--purple-5)]',\n '[--button-surface-border:var(--purple-5)]',\n\n '[--button-outline-hover-bg:var(--purple-3)]',\n '[--button-outline-border:var(--purple-8)]',\n\n '[--button-ghost-hover-bg:var(--purple-4)]',\n\n 'text-purple-11',\n 'ring-purple-9',\n ],\n cyan: [\n '[--button-solid-bg:var(--cyan-9)]',\n\n '[--button-subtle-bg:var(--cyan-4)]',\n '[--button-subtle-hover-bg:var(--cyan-5)]',\n\n '[--button-surface-bg:var(--cyan-4)]',\n '[--button-surface-hover-bg:var(--cyan-5)]',\n '[--button-surface-border:var(--cyan-5)]',\n\n '[--button-outline-hover-bg:var(--cyan-3)]',\n '[--button-outline-border:var(--cyan-8)]',\n\n '[--button-ghost-hover-bg:var(--cyan-4)]',\n\n 'text-cyan-11',\n 'ring-cyan-9',\n ],\n orange: [\n '[--button-solid-bg:var(--orange-9)]',\n\n '[--button-subtle-bg:var(--orange-4)]',\n '[--button-subtle-hover-bg:var(--orange-5)]',\n\n '[--button-surface-bg:var(--orange-4)]',\n '[--button-surface-hover-bg:var(--orange-5)]',\n '[--button-surface-border:var(--orange-5)]',\n\n '[--button-outline-hover-bg:var(--orange-3)]',\n '[--button-outline-border:var(--orange-8)]',\n\n '[--button-ghost-hover-bg:var(--orange-4)]',\n\n 'text-orange-11',\n 'ring-orange-9',\n ],\n brown: [\n '[--button-solid-bg:var(--brown-9)]',\n\n '[--button-subtle-bg:var(--brown-4)]',\n '[--button-subtle-hover-bg:var(--brown-5)]',\n\n '[--button-surface-bg:var(--brown-4)]',\n '[--button-surface-hover-bg:var(--brown-5)]',\n '[--button-surface-border:var(--brown-5)]',\n\n '[--button-outline-hover-bg:var(--brown-3)]',\n '[--button-outline-border:var(--brown-8)]',\n\n '[--button-ghost-hover-bg:var(--brown-4)]',\n\n 'text-brown-11',\n 'ring-brown-9',\n ],\n yellow: [\n '[--button-solid-bg:var(--yellow-9)]',\n\n '[--button-subtle-bg:var(--yellow-4)]',\n '[--button-subtle-hover-bg:var(--yellow-5)]',\n\n '[--button-surface-bg:var(--yellow-4)]',\n '[--button-surface-hover-bg:var(--yellow-5)]',\n '[--button-surface-border:var(--yellow-5)]',\n\n '[--button-outline-hover-bg:var(--yellow-3)]',\n '[--button-outline-border:var(--yellow-8)]',\n\n '[--button-ghost-hover-bg:var(--yellow-4)]',\n\n 'text-yellow-11',\n 'ring-yellow-9',\n ],\n amber: [\n '[--button-solid-bg:var(--amber-9)]',\n\n '[--button-subtle-bg:var(--amber-4)]',\n '[--button-subtle-hover-bg:var(--amber-5)]',\n\n '[--button-surface-bg:var(--amber-4)]',\n '[--button-surface-hover-bg:var(--amber-5)]',\n '[--button-surface-border:var(--amber-5)]',\n\n '[--button-outline-hover-bg:var(--amber-3)]',\n '[--button-outline-border:var(--amber-8)]',\n\n '[--button-ghost-hover-bg:var(--amber-4)]',\n\n 'text-amber-11',\n 'ring-amber-9',\n ],\n },\n variant: {\n solid: [\n 'bg-(--button-solid-bg)',\n 'hover:bg-(--button-solid-bg)/90',\n 'expanded:bg-(--button-solid-bg)/90',\n\n 'data-disabled:hover:bg-(--button-solid-bg)',\n 'data-disabled:expanded:bg-(--button-solid-bg)',\n\n 'border-transparent',\n\n 'text-white',\n ],\n subtle: [\n 'bg-(--button-subtle-bg)',\n 'hover:bg-(--button-subtle-hover-bg)',\n 'expanded:bg-(--button-subtle-hover-bg)',\n\n 'border-transparent',\n\n 'data-disabled:hover:bg-(--button-subtle-bg)',\n 'data-disabled:expanded:bg-(--button-subtle-bg)',\n ],\n surface: [\n 'bg-(--button-surface-bg)',\n 'hover:bg-(--button-surface-hover-bg)',\n 'expanded:bg-(--button-surface-hover-bg)',\n\n 'border',\n 'border-(--button-surface-border)',\n\n 'data-disabled:hover:bg-(--button-surface-bg)',\n 'data-disabled:expanded:bg-(--button-surface-bg)',\n ],\n outline: [\n 'bg-transparent',\n 'hover:bg-(--button-outline-hover-bg)',\n 'expanded:bg-(--button-outline-hover-bg)',\n\n 'border',\n 'border-(--button-outline-border)',\n\n 'data-disabled:hover:bg-transparent',\n 'data-disabled:expanded:bg-transparent',\n ],\n ghost: [\n 'hover:bg-(--button-ghost-hover-bg)',\n 'expanded:bg-(--button-ghost-hover-bg)',\n\n 'data-disabled:hover:bg-transparent',\n 'data-disabled:expanded:bg-transparent',\n ],\n plain: [],\n },\n size: {\n '3xs': [\n 'h-5',\n 'min-w-5',\n\n 'text-2xs',\n\n 'px-1.5',\n 'gap-1',\n\n '[&_svg]:size-2.5',\n ],\n '2xs': [\n 'h-6',\n 'min-w-6',\n\n 'text-xs',\n\n 'px-2',\n 'gap-1',\n\n '[&_svg]:size-3.5',\n ],\n xs: [\n 'h-8',\n 'min-w-8',\n\n 'text-xs',\n\n 'px-2.5',\n 'gap-1',\n\n '[&_svg]:size-4',\n ],\n sm: [\n 'h-9',\n 'min-w-9',\n\n 'text-sm',\n\n 'px-3.5',\n 'gap-2',\n\n '[&_svg]:size-4',\n ],\n md: [\n 'h-10',\n 'min-w-10',\n\n 'text-sm',\n\n 'px-4',\n 'gap-2',\n\n '[&_svg]:size-5',\n ],\n lg: [\n 'h-11',\n 'min-w-11',\n\n 'text-base',\n\n 'px-5',\n 'gap-3',\n\n '[&_svg]:size-5',\n ],\n xl: [\n 'h-12',\n 'min-w-12',\n\n 'text-base',\n\n 'px-6',\n 'gap-3',\n\n '[&_svg]:size-5',\n ],\n '2xl': [\n 'h-16',\n 'min-w-16',\n\n 'text-lg',\n\n 'px-7',\n 'gap-3',\n\n '[&_svg]:size-6',\n ],\n },\n },\n compoundVariants: [\n {\n variant: 'solid',\n colorScheme: 'gray',\n className: ['text-white', 'dark:text-black'],\n },\n // {\n // variant: 'outline',\n // colorScheme: 'gray',\n // className: ['bg-white', 'dark:bg-black'],\n // },\n {\n variant: 'solid',\n colorScheme: 'yellow',\n className: ['text-black'],\n },\n {\n variant: 'solid',\n colorScheme: 'amber',\n className: ['text-black'],\n },\n ],\n defaultVariants: {\n colorScheme: buttonDefaultVariants.colorScheme,\n size: buttonDefaultVariants.size,\n variant: buttonDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AA0BA,MAAa,wBAAkD;CAC7D,aAAa;CACb,MAAM;CACN,SAAS;AACX;;;;;AAMA,MAAa,iBAAiB,IAC5B;CACE;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CAOA;CACA;CACA;CAEA;CAEA;CACA;CAEA;CAEA;AACF,GACA;CACE,UAAU;EACR,aAAa;GACX,MAAM;IACJ;IACA;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,QAAQ;IACN;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,KAAK;IACH;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,OAAO;IACL;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,QAAQ;IACN;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,MAAM;IACJ;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,QAAQ;IACN;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,OAAO;IACL;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,QAAQ;IACN;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;GACA,OAAO;IACL;IAEA;IACA;IAEA;IACA;IACA;IAEA;IACA;IAEA;IAEA;IACA;GACF;EACF;EACA,SAAS;GACP,OAAO;IACL;IACA;IACA;IAEA;IACA;IAEA;IAEA;GACF;GACA,QAAQ;IACN;IACA;IACA;IAEA;IAEA;IACA;GACF;GACA,SAAS;IACP;IACA;IACA;IAEA;IACA;IAEA;IACA;GACF;GACA,SAAS;IACP;IACA;IACA;IAEA;IACA;IAEA;IACA;GACF;GACA,OAAO;IACL;IACA;IAEA;IACA;GACF;GACA,OAAO,CAAC;EACV;EACA,MAAM;GACJ,OAAO;IACL;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;IAEA;IACA;IAEA;GACF;EACF;CACF;CACA,kBAAkB;EAChB;GACE,SAAS;GACT,aAAa;GACb,WAAW,CAAC,cAAc,iBAAiB;EAC7C;EAMA;GACE,SAAS;GACT,aAAa;GACb,WAAW,CAAC,YAAY;EAC1B;EACA;GACE,SAAS;GACT,aAAa;GACb,WAAW,CAAC,YAAY;EAC1B;CACF;CACA,iBAAiB;EACf,aAAa,sBAAsB;EACnC,MAAM,sBAAsB;EAC5B,SAAS,sBAAsB;CACjC;AACF,CACF"}
@@ -35,7 +35,7 @@ export type ButtonState = Button$1.State;
35
35
  * @example
36
36
  * ```tsx
37
37
  * <Button
38
- * colorScheme="brand"
38
+ * colorScheme="accent"
39
39
  * icon={<PlusIcon />}
40
40
  * >
41
41
  * Adicionar
@@ -20,7 +20,7 @@ const splitVariantProps = createSplitProps();
20
20
  * @example
21
21
  * ```tsx
22
22
  * <Button
23
- * colorScheme="brand"
23
+ * colorScheme="accent"
24
24
  * icon={<PlusIcon />}
25
25
  * >
26
26
  * Adicionar
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","names":["BaseButton"],"sources":["../../../../src/components/buttons/button/button.tsx"],"sourcesContent":["import { Button as BaseButton } from '@base-ui/react/button';\nimport {\n createSplitProps,\n type MergeOverride,\n mergeBooleansOr,\n} from '@lucasbernardosn/ts-utils';\nimport { Icon, type IconProps } from '#components/display/icon';\nimport { Spinner } from '#components/feedback/spinner';\nimport {\n mergeStateClassNames,\n mergeTwClassNames,\n normalizeDataAttr,\n} from '#utils';\nimport { type ButtonVariants, buttonVariants } from './button-variants';\n\nexport type ButtonProps = MergeOverride<\n BaseButton.Props,\n ButtonVariants & {\n /**\n * Ícone ao lado do texto, no tamanho definido pelo `size`.\n */\n icon?: IconProps['render'];\n /**\n * Lado do texto em que o `icon` aparece.\n *\n * @default 'left'\n */\n iconPosition?: 'left' | 'right';\n /**\n * Mostra um spinner no lugar do conteúdo e desabilita o botão. O conteúdo continua no\n * layout, invisível, para a largura do botão não mudar.\n *\n * @default false\n */\n loading?: boolean;\n }\n>;\n\nexport type ButtonState = BaseButton.State;\n\nconst splitVariantProps = createSplitProps<ButtonVariants>();\n\n/**\n * Botão da lib. Desabilitado (ou em `loading`), continua focável, para o leitor de tela e a\n * navegação por teclado não perderem o botão de vista.\n *\n * O `type` padrão é `button`: para enviar um formulário, passe `type=\"submit\"`. Para navegação,\n * use um link, não o `render` com `<a>`: o Button impõe a semântica de botão e o link perderia\n * o \"abrir em nova aba\" e a navegação do router.\n *\n * @example\n * ```tsx\n * <Button\n * colorScheme=\"brand\"\n * icon={<PlusIcon />}\n * >\n * Adicionar\n * </Button>\n * ```\n */\nexport const Button = (props: ButtonProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, [\n 'colorScheme',\n 'size',\n 'variant',\n ]);\n\n const {\n className,\n loading,\n children,\n disabled,\n icon,\n iconPosition = 'left',\n ...rest\n } = elementProps;\n\n return (\n <BaseButton\n data-component=\"Button\"\n type=\"button\"\n disabled={normalizeDataAttr(mergeBooleansOr(disabled, loading))}\n data-loading={normalizeDataAttr(loading)}\n aria-busy={normalizeDataAttr(loading)}\n focusableWhenDisabled={true}\n className={mergeStateClassNames(buttonVariants(variantProps), className)}\n {...rest}\n >\n {loading ? (\n <>\n <Spinner\n aria-hidden={true}\n className={mergeTwClassNames([\n 'absolute',\n\n 'border-r-current',\n 'border-b-current',\n ])}\n />\n\n <span\n className={mergeTwClassNames([\n 'inline-flex',\n 'items-center',\n // Herda o `gap` do botão, que precisa ser o pai direto no DOM: um\n // wrapper no meio (mesmo com `display: contents`) zeraria o espaço\n // entre ícone e texto, e o botão encolheria no loading.\n 'gap-[inherit]',\n\n // Some da tela, mas continua no layout (a largura não muda) e na árvore de\n // acessibilidade: o texto segue sendo o nome do botão. Com `invisible`, o\n // leitor de tela ouviria um botão sem nome.\n 'opacity-0',\n ])}\n >\n <ButtonContent\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n </span>\n </>\n ) : (\n <ButtonContent\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n )}\n </BaseButton>\n );\n};\n\nButton.displayName = 'Button';\n\nconst ButtonContent = (\n props: Pick<ButtonProps, 'children' | 'icon' | 'iconPosition'>,\n) => {\n const { children, icon, iconPosition = 'left' } = props;\n\n return (\n <>\n {icon && iconPosition === 'left' && <Icon render={icon} />}\n\n {children}\n\n {icon && iconPosition === 'right' && <Icon render={icon} />}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAwCA,MAAM,oBAAoB,iBAAiC;;;;;;;;;;;;;;;;;;;AAoB3D,MAAa,UAAU,UAAuB;CAC5C,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO;EAC5D;EACA;EACA;CACF,CAAC;CAED,MAAM,EACJ,WACA,SACA,UACA,UACA,MACA,eAAe,QACf,GAAG,SACD;CAEJ,OACE,oBAACA,UAAD;EACE,kBAAe;EACf,MAAK;EACL,UAAU,kBAAkB,gBAAgB,UAAU,OAAO,CAAC;EAC9D,gBAAc,kBAAkB,OAAO;EACvC,aAAW,kBAAkB,OAAO;EACpC,uBAAuB;EACvB,WAAW,qBAAqB,eAAe,YAAY,GAAG,SAAS;EACvE,GAAI;EAEH,UAAA,UACC,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,SAAD;GACE,eAAa;GACb,WAAW,kBAAkB;IAC3B;IAEA;IACA;GACF,CAAC;EACF,CAAA,GAED,oBAAC,QAAD;GACE,WAAW,kBAAkB;IAC3B;IACA;IAIA;IAKA;GACF,CAAC;GAED,UAAA,oBAAC,eAAD;IACQ;IACQ;IAEb;GACY,CAAA;EACX,CAAA,CACN,EAAA,CAAA,IAEF,oBAAC,eAAD;GACQ;GACQ;GAEb;EACY,CAAA;CAEP,CAAA;AAEhB;AAEA,OAAO,cAAc;AAErB,MAAM,iBACJ,UACG;CACH,MAAM,EAAE,UAAU,MAAM,eAAe,WAAW;CAElD,OACE,qBAAA,UAAA,EAAA,UAAA;EACG,QAAQ,iBAAiB,UAAU,oBAAC,MAAD,EAAM,QAAQ,KAAO,CAAA;EAExD;EAEA,QAAQ,iBAAiB,WAAW,oBAAC,MAAD,EAAM,QAAQ,KAAO,CAAA;CAC1D,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"button.js","names":["BaseButton"],"sources":["../../../../src/components/buttons/button/button.tsx"],"sourcesContent":["import { Button as BaseButton } from '@base-ui/react/button';\nimport {\n createSplitProps,\n type MergeOverride,\n mergeBooleansOr,\n} from '@lucasbernardosn/ts-utils';\nimport { Icon, type IconProps } from '#components/display/icon';\nimport { Spinner } from '#components/feedback/spinner';\nimport {\n mergeStateClassNames,\n mergeTwClassNames,\n normalizeDataAttr,\n} from '#utils';\nimport { type ButtonVariants, buttonVariants } from './button-variants';\n\nexport type ButtonProps = MergeOverride<\n BaseButton.Props,\n ButtonVariants & {\n /**\n * Ícone ao lado do texto, no tamanho definido pelo `size`.\n */\n icon?: IconProps['render'];\n /**\n * Lado do texto em que o `icon` aparece.\n *\n * @default 'left'\n */\n iconPosition?: 'left' | 'right';\n /**\n * Mostra um spinner no lugar do conteúdo e desabilita o botão. O conteúdo continua no\n * layout, invisível, para a largura do botão não mudar.\n *\n * @default false\n */\n loading?: boolean;\n }\n>;\n\nexport type ButtonState = BaseButton.State;\n\nconst splitVariantProps = createSplitProps<ButtonVariants>();\n\n/**\n * Botão da lib. Desabilitado (ou em `loading`), continua focável, para o leitor de tela e a\n * navegação por teclado não perderem o botão de vista.\n *\n * O `type` padrão é `button`: para enviar um formulário, passe `type=\"submit\"`. Para navegação,\n * use um link, não o `render` com `<a>`: o Button impõe a semântica de botão e o link perderia\n * o \"abrir em nova aba\" e a navegação do router.\n *\n * @example\n * ```tsx\n * <Button\n * colorScheme=\"accent\"\n * icon={<PlusIcon />}\n * >\n * Adicionar\n * </Button>\n * ```\n */\nexport const Button = (props: ButtonProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, [\n 'colorScheme',\n 'size',\n 'variant',\n ]);\n\n const {\n className,\n loading,\n children,\n disabled,\n icon,\n iconPosition = 'left',\n ...rest\n } = elementProps;\n\n return (\n <BaseButton\n data-component=\"Button\"\n type=\"button\"\n disabled={normalizeDataAttr(mergeBooleansOr(disabled, loading))}\n data-loading={normalizeDataAttr(loading)}\n aria-busy={normalizeDataAttr(loading)}\n focusableWhenDisabled={true}\n className={mergeStateClassNames(buttonVariants(variantProps), className)}\n {...rest}\n >\n {loading ? (\n <>\n <Spinner\n aria-hidden={true}\n className={mergeTwClassNames([\n 'absolute',\n\n 'border-r-current',\n 'border-b-current',\n ])}\n />\n\n <span\n className={mergeTwClassNames([\n 'inline-flex',\n 'items-center',\n // Herda o `gap` do botão, que precisa ser o pai direto no DOM: um\n // wrapper no meio (mesmo com `display: contents`) zeraria o espaço\n // entre ícone e texto, e o botão encolheria no loading.\n 'gap-[inherit]',\n\n // Some da tela, mas continua no layout (a largura não muda) e na árvore de\n // acessibilidade: o texto segue sendo o nome do botão. Com `invisible`, o\n // leitor de tela ouviria um botão sem nome.\n 'opacity-0',\n ])}\n >\n <ButtonContent\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n </span>\n </>\n ) : (\n <ButtonContent\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n )}\n </BaseButton>\n );\n};\n\nButton.displayName = 'Button';\n\nconst ButtonContent = (\n props: Pick<ButtonProps, 'children' | 'icon' | 'iconPosition'>,\n) => {\n const { children, icon, iconPosition = 'left' } = props;\n\n return (\n <>\n {icon && iconPosition === 'left' && <Icon render={icon} />}\n\n {children}\n\n {icon && iconPosition === 'right' && <Icon render={icon} />}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAwCA,MAAM,oBAAoB,iBAAiC;;;;;;;;;;;;;;;;;;;AAoB3D,MAAa,UAAU,UAAuB;CAC5C,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO;EAC5D;EACA;EACA;CACF,CAAC;CAED,MAAM,EACJ,WACA,SACA,UACA,UACA,MACA,eAAe,QACf,GAAG,SACD;CAEJ,OACE,oBAACA,UAAD;EACE,kBAAe;EACf,MAAK;EACL,UAAU,kBAAkB,gBAAgB,UAAU,OAAO,CAAC;EAC9D,gBAAc,kBAAkB,OAAO;EACvC,aAAW,kBAAkB,OAAO;EACpC,uBAAuB;EACvB,WAAW,qBAAqB,eAAe,YAAY,GAAG,SAAS;EACvE,GAAI;EAEH,UAAA,UACC,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,SAAD;GACE,eAAa;GACb,WAAW,kBAAkB;IAC3B;IAEA;IACA;GACF,CAAC;EACF,CAAA,GAED,oBAAC,QAAD;GACE,WAAW,kBAAkB;IAC3B;IACA;IAIA;IAKA;GACF,CAAC;GAED,UAAA,oBAAC,eAAD;IACQ;IACQ;IAEb;GACY,CAAA;EACX,CAAA,CACN,EAAA,CAAA,IAEF,oBAAC,eAAD;GACQ;GACQ;GAEb;EACY,CAAA;CAEP,CAAA;AAEhB;AAEA,OAAO,cAAc;AAErB,MAAM,iBACJ,UACG;CACH,MAAM,EAAE,UAAU,MAAM,eAAe,WAAW;CAElD,OACE,qBAAA,UAAA,EAAA,UAAA;EACG,QAAQ,iBAAiB,UAAU,oBAAC,MAAD,EAAM,QAAQ,KAAO,CAAA;EAExD;EAEA,QAAQ,iBAAiB,WAAW,oBAAC,MAAD,EAAM,QAAQ,KAAO,CAAA;CAC1D,EAAA,CAAA;AAEN"}
@@ -16,6 +16,9 @@ export type IconButtonVariants = {
16
16
  size?: ButtonVariants['size'];
17
17
  };
18
18
  export declare const iconButtonDefaultVariants: Required<IconButtonVariants>;
19
+ /**
20
+ * O `Toggle` só com ícone copia o `p-0` e o ajuste do ícone no toque por `size`.
21
+ */
19
22
  export declare const iconButtonVariants: (props?: ({
20
23
  round?: boolean | null | undefined;
21
24
  size?: "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
@@ -4,6 +4,9 @@ const iconButtonDefaultVariants = {
4
4
  round: false,
5
5
  size: "sm"
6
6
  };
7
+ /**
8
+ * O `Toggle` só com ícone copia o `p-0` e o ajuste do ícone no toque por `size`.
9
+ */
7
10
  const iconButtonVariants = cva(["p-0"], {
8
11
  variants: {
9
12
  round: {
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button-variants.js","names":[],"sources":["../../../../src/components/buttons/icon-button/icon-button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ButtonVariants } from '#components/buttons/button';\n\nexport type IconButtonVariants = {\n /**\n * Deixa o botão redondo.\n *\n * @default false\n */\n round?: boolean;\n /**\n * Mesma escala do `Button`. No toque, o ícone cresce um pouco para compensar a falta do texto.\n *\n * @default 'sm'\n */\n size?: ButtonVariants['size'];\n};\n\nexport const iconButtonDefaultVariants: Required<IconButtonVariants> = {\n round: false,\n size: 'sm',\n};\n\nexport const iconButtonVariants = cva(['p-0'], {\n variants: {\n round: {\n // O `Button` aplica `corner-squircle`, que deforma o `rounded-full`: o `corner-round`\n // o substitui no merge e garante o círculo.\n true: ['rounded-full', 'corner-round'],\n false: [],\n },\n size: {\n '3xs': ['pointer-coarse:[&_svg]:size-3'],\n '2xs': ['pointer-coarse:[&_svg]:size-4'],\n xs: ['pointer-coarse:[&_svg]:size-4.5'],\n sm: ['pointer-coarse:[&_svg]:size-4.5'],\n md: ['pointer-coarse:[&_svg]:size-5.5'],\n lg: ['pointer-coarse:[&_svg]:size-5.5'],\n xl: ['pointer-coarse:[&_svg]:size-5.5'],\n '2xl': ['pointer-coarse:[&_svg]:size-6.5'],\n },\n },\n defaultVariants: {\n round: iconButtonDefaultVariants.round,\n size: iconButtonDefaultVariants.size,\n },\n});\n"],"mappings":";;AAkBA,MAAa,4BAA0D;CACrE,OAAO;CACP,MAAM;AACR;AAEA,MAAa,qBAAqB,IAAI,CAAC,KAAK,GAAG;CAC7C,UAAU;EACR,OAAO;GAGL,MAAM,CAAC,gBAAgB,cAAc;GACrC,OAAO,CAAC;EACV;EACA,MAAM;GACJ,OAAO,CAAC,+BAA+B;GACvC,OAAO,CAAC,+BAA+B;GACvC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,OAAO,CAAC,iCAAiC;EAC3C;CACF;CACA,iBAAiB;EACf,OAAO,0BAA0B;EACjC,MAAM,0BAA0B;CAClC;AACF,CAAC"}
1
+ {"version":3,"file":"icon-button-variants.js","names":[],"sources":["../../../../src/components/buttons/icon-button/icon-button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ButtonVariants } from '#components/buttons/button';\n\nexport type IconButtonVariants = {\n /**\n * Deixa o botão redondo.\n *\n * @default false\n */\n round?: boolean;\n /**\n * Mesma escala do `Button`. No toque, o ícone cresce um pouco para compensar a falta do texto.\n *\n * @default 'sm'\n */\n size?: ButtonVariants['size'];\n};\n\nexport const iconButtonDefaultVariants: Required<IconButtonVariants> = {\n round: false,\n size: 'sm',\n};\n\n/**\n * O `Toggle` só com ícone copia o `p-0` e o ajuste do ícone no toque por `size`.\n */\nexport const iconButtonVariants = cva(['p-0'], {\n variants: {\n round: {\n // O `Button` aplica `corner-squircle`, que deforma o `rounded-full`: o `corner-round`\n // o substitui no merge e garante o círculo.\n true: ['rounded-full', 'corner-round'],\n false: [],\n },\n size: {\n '3xs': ['pointer-coarse:[&_svg]:size-3'],\n '2xs': ['pointer-coarse:[&_svg]:size-4'],\n xs: ['pointer-coarse:[&_svg]:size-4.5'],\n sm: ['pointer-coarse:[&_svg]:size-4.5'],\n md: ['pointer-coarse:[&_svg]:size-5.5'],\n lg: ['pointer-coarse:[&_svg]:size-5.5'],\n xl: ['pointer-coarse:[&_svg]:size-5.5'],\n '2xl': ['pointer-coarse:[&_svg]:size-6.5'],\n },\n },\n defaultVariants: {\n round: iconButtonDefaultVariants.round,\n size: iconButtonDefaultVariants.size,\n },\n});\n"],"mappings":";;AAkBA,MAAa,4BAA0D;CACrE,OAAO;CACP,MAAM;AACR;;;;AAKA,MAAa,qBAAqB,IAAI,CAAC,KAAK,GAAG;CAC7C,UAAU;EACR,OAAO;GAGL,MAAM,CAAC,gBAAgB,cAAc;GACrC,OAAO,CAAC;EACV;EACA,MAAM;GACJ,OAAO,CAAC,+BAA+B;GACvC,OAAO,CAAC,+BAA+B;GACvC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,IAAI,CAAC,iCAAiC;GACtC,OAAO,CAAC,iCAAiC;EAC3C;CACF;CACA,iBAAiB;EACf,OAAO,0BAA0B;EACjC,MAAM,0BAA0B;CAClC;AACF,CAAC"}
@@ -22,7 +22,8 @@ export type ResponsiveButtonProps = MergeOverride<ButtonProps, {
22
22
  icon: NonNullable<ButtonProps['icon']>;
23
23
  }>;
24
24
  /**
25
- * Botão com texto em telas largas e só com ícone nas estreitas.
25
+ * Botão com texto em telas largas e só com ícone nas estreitas. A troca segue a largura da
26
+ * janela, não a do contêiner em que o botão está.
26
27
  *
27
28
  * Na tela larga, o nome do botão é o texto visível; na estreita, o `aria-label` ou, sem ele, o
28
29
  * próprio texto. A troca remonta o botão: se ele estiver focado quando a largura cruza o
@@ -4,7 +4,8 @@ import { IconButton } from "../icon-button/icon-button.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/components/buttons/responsive-button/responsive-button.tsx
6
6
  /**
7
- * Botão com texto em telas largas e só com ícone nas estreitas.
7
+ * Botão com texto em telas largas e só com ícone nas estreitas. A troca segue a largura da
8
+ * janela, não a do contêiner em que o botão está.
8
9
  *
9
10
  * Na tela larga, o nome do botão é o texto visível; na estreita, o `aria-label` ou, sem ele, o
10
11
  * próprio texto. A troca remonta o botão: se ele estiver focado quando a largura cruza o
@@ -1 +1 @@
1
- {"version":3,"file":"responsive-button.js","names":[],"sources":["../../../../src/components/buttons/responsive-button/responsive-button.tsx"],"sourcesContent":["import type { MergeOverride } from '@lucasbernardosn/ts-utils';\nimport { Button, type ButtonProps } from '#components/buttons/button';\nimport { IconButton } from '#components/buttons/icon-button';\nimport { type Breakpoint, useIsBreakpoint } from '#hooks';\n\nexport type ResponsiveButtonProps = MergeOverride<\n ButtonProps,\n {\n /**\n * Nome do botão abaixo do `breakpoint`, quando só o ícone fica. Sem ele, o nome é o\n * `children`, se for texto; com um `children` que não é texto, passe o `aria-label`, ou o\n * botão de ícone fica sem nome.\n */\n 'aria-label'?: string;\n /**\n * A partir desta largura mostra o `Button` com texto; abaixo dela, só o `IconButton`.\n *\n * @default 'md'\n */\n breakpoint?: Breakpoint;\n /**\n * Ícone, mostrado nos dois formatos.\n */\n icon: NonNullable<ButtonProps['icon']>;\n }\n>;\n\n/**\n * Botão com texto em telas largas e só com ícone nas estreitas.\n *\n * Na tela larga, o nome do botão é o texto visível; na estreita, o `aria-label` ou, sem ele, o\n * próprio texto. A troca remonta o botão: se ele estiver focado quando a largura cruza o\n * `breakpoint` (ao girar o celular, por exemplo), o foco se perde.\n *\n * @example\n * ```tsx\n * <ResponsiveButton icon={<PlusIcon />}>Novo pedido</ResponsiveButton>\n * ```\n */\nexport const ResponsiveButton = (props: ResponsiveButtonProps) => {\n const { breakpoint = 'md', 'aria-label': ariaLabel, ...rest } = props;\n\n const isBreakpoint = useIsBreakpoint(breakpoint);\n\n /**\n * O `aria-label` só vai para o `IconButton`: no `Button`, ele substituiria o texto visível\n * como nome, e quem usa controle por voz fala o que vê.\n */\n const iconButtonLabel =\n ariaLabel ?? (typeof rest.children === 'string' ? rest.children : '');\n\n return isBreakpoint ? (\n <Button {...rest} />\n ) : (\n <IconButton\n aria-label={iconButtonLabel}\n {...rest}\n />\n );\n};\n\nResponsiveButton.displayName = 'ResponsiveButton';\n"],"mappings":";;;;;;;;;;;;;;;;;AAuCA,MAAa,oBAAoB,UAAiC;CAChE,MAAM,EAAE,aAAa,MAAM,cAAc,WAAW,GAAG,SAAS;CAEhE,MAAM,eAAe,gBAAgB,UAAU;;;;;CAM/C,MAAM,kBACJ,cAAc,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;CAEpE,OAAO,eACL,oBAAC,QAAD,EAAQ,GAAI,KAAO,CAAA,IAEnB,oBAAC,YAAD;EACE,cAAY;EACZ,GAAI;CACL,CAAA;AAEL;AAEA,iBAAiB,cAAc"}
1
+ {"version":3,"file":"responsive-button.js","names":[],"sources":["../../../../src/components/buttons/responsive-button/responsive-button.tsx"],"sourcesContent":["import type { MergeOverride } from '@lucasbernardosn/ts-utils';\nimport { Button, type ButtonProps } from '#components/buttons/button';\nimport { IconButton } from '#components/buttons/icon-button';\nimport { type Breakpoint, useIsBreakpoint } from '#hooks';\n\nexport type ResponsiveButtonProps = MergeOverride<\n ButtonProps,\n {\n /**\n * Nome do botão abaixo do `breakpoint`, quando só o ícone fica. Sem ele, o nome é o\n * `children`, se for texto; com um `children` que não é texto, passe o `aria-label`, ou o\n * botão de ícone fica sem nome.\n */\n 'aria-label'?: string;\n /**\n * A partir desta largura mostra o `Button` com texto; abaixo dela, só o `IconButton`.\n *\n * @default 'md'\n */\n breakpoint?: Breakpoint;\n /**\n * Ícone, mostrado nos dois formatos.\n */\n icon: NonNullable<ButtonProps['icon']>;\n }\n>;\n\n/**\n * Botão com texto em telas largas e só com ícone nas estreitas. A troca segue a largura da\n * janela, não a do contêiner em que o botão está.\n *\n * Na tela larga, o nome do botão é o texto visível; na estreita, o `aria-label` ou, sem ele, o\n * próprio texto. A troca remonta o botão: se ele estiver focado quando a largura cruza o\n * `breakpoint` (ao girar o celular, por exemplo), o foco se perde.\n *\n * @example\n * ```tsx\n * <ResponsiveButton icon={<PlusIcon />}>Novo pedido</ResponsiveButton>\n * ```\n */\nexport const ResponsiveButton = (props: ResponsiveButtonProps) => {\n const { breakpoint = 'md', 'aria-label': ariaLabel, ...rest } = props;\n\n const isBreakpoint = useIsBreakpoint(breakpoint);\n\n /**\n * O `aria-label` só vai para o `IconButton`: no `Button`, ele substituiria o texto visível\n * como nome, e quem usa controle por voz fala o que vê.\n */\n const iconButtonLabel =\n ariaLabel ?? (typeof rest.children === 'string' ? rest.children : '');\n\n return isBreakpoint ? (\n <Button {...rest} />\n ) : (\n <IconButton\n aria-label={iconButtonLabel}\n {...rest}\n />\n );\n};\n\nResponsiveButton.displayName = 'ResponsiveButton';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAwCA,MAAa,oBAAoB,UAAiC;CAChE,MAAM,EAAE,aAAa,MAAM,cAAc,WAAW,GAAG,SAAS;CAEhE,MAAM,eAAe,gBAAgB,UAAU;;;;;CAM/C,MAAM,kBACJ,cAAc,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;CAEpE,OAAO,eACL,oBAAC,QAAD,EAAQ,GAAI,KAAO,CAAA,IAEnB,oBAAC,YAAD;EACE,cAAY;EACZ,GAAI;CACL,CAAA;AAEL;AAEA,iBAAiB,cAAc"}
@@ -0,0 +1,3 @@
1
+ import { ToggleVariants } from "./toggle-variants.js";
2
+ import { Toggle, ToggleChangeEventDetails, ToggleChangeEventReason, ToggleProps, ToggleState } from "./toggle.js";
3
+ export { Toggle, type ToggleChangeEventDetails, type ToggleChangeEventReason, type ToggleProps, type ToggleState, type ToggleVariants };
@@ -0,0 +1,2 @@
1
+ import { Toggle } from "./toggle.js";
2
+ export { Toggle };
@@ -0,0 +1,47 @@
1
+ import { ButtonVariants } from "../button/button-variants.js";
2
+ import "../button/index.js";
3
+ //#region src/components/buttons/toggle/toggle-variants.d.ts
4
+ export type ToggleVariants = {
5
+ /**
6
+ * Cor do botão, a mesma do `Button`.
7
+ *
8
+ * @default 'gray'
9
+ */
10
+ colorScheme?: ButtonVariants['colorScheme'];
11
+ /**
12
+ * Altura, padding, tamanho do texto e do ícone, a mesma escala do `Button`. Só com `icon`, o
13
+ * botão fica quadrado e, no toque, o ícone cresce um pouco para compensar a falta do texto.
14
+ *
15
+ * @default 'sm'
16
+ */
17
+ size?: ButtonVariants['size'];
18
+ /**
19
+ * Desenho do botão.
20
+ * - `ghost`: sem fundo e sem borda; ligado, vira o `solid` do `Button`.
21
+ * - `outline`: com borda; ligado, vira o `solid` do `Button`.
22
+ * - `plain`: sem fundo nos dois estados; ligado, só o texto e o ícone ganham a cor de passo 9
23
+ * do `colorScheme`. Pensado para o botão só com ícone (favorito, estrela).
24
+ *
25
+ * @default 'ghost'
26
+ */
27
+ variant?: 'ghost' | 'outline' | 'plain';
28
+ };
29
+ export declare const toggleDefaultVariants: Required<ToggleVariants>;
30
+ /**
31
+ * No `ghost` e no `outline`, o Toggle troca a `variant` do `Button` para `solid` ao ligar (feito
32
+ * no componente), então o hover, o disabled e a cor do texto do ligado vêm do próprio `Button`. A
33
+ * `plain` mantém a `variant` nos dois estados: desligada, usa `text-gray-11`; ligada, pinta o
34
+ * texto com a variável `--button-solid-bg`, que o `colorScheme` do `Button` declara no mesmo
35
+ * elemento. Essas classes chegam ao `Button` como `className` e são mescladas por último, por isso
36
+ * vencem o `text-*` do `colorScheme`.
37
+ *
38
+ * O `iconOnly` (só `icon`, sem texto) copia do `IconButton` o `p-0` e o ajuste do ícone no toque
39
+ * por `size`; a origem é o `icon-button-variants.ts`.
40
+ */
41
+ export declare const toggleVariants: (props?: ({
42
+ variant?: "outline" | "ghost" | "plain" | null | undefined;
43
+ iconOnly?: boolean | null | undefined;
44
+ size?: "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
45
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
46
+ //#endregion
47
+ //# sourceMappingURL=toggle-variants.d.ts.map