@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
@@ -0,0 +1,33 @@
1
+ import { ColorSchemeCore } from "../../../types/color-scheme.js";
2
+ //#region src/components/fields/segmented-control/use-segmented-control-context.d.ts
3
+ /**
4
+ * Variantes do SegmentedControl. Informadas no `SegmentedControl.Root` e repassadas aos itens por
5
+ * contexto.
6
+ */
7
+ export type SegmentedControlVariants = {
8
+ /**
9
+ * Cor do item marcado, que é o `solid` do `Button`: preto ou branco no `gray`, `accent-9` no
10
+ * `accent`. A trilha é neutra nas duas.
11
+ *
12
+ * @default 'gray'
13
+ */
14
+ colorScheme?: ColorSchemeCore;
15
+ /**
16
+ * Disposição dos itens. O `RadioGroup` do Base UI não tem orientação: as setas andam entre os
17
+ * itens nas duas direções, qualquer que seja o valor.
18
+ *
19
+ * @default 'horizontal'
20
+ */
21
+ orientation?: 'horizontal' | 'vertical';
22
+ /**
23
+ * Altura total do controle, padding, tamanho do texto e do ícone. Segue a altura dos campos de
24
+ * formulário: `xs` = `h-8`, `sm` = `h-9`, `md` = `h-10`, `lg` = `h-11`.
25
+ *
26
+ * @default 'sm'
27
+ */
28
+ size?: 'xs' | 'sm' | 'md' | 'lg';
29
+ };
30
+ export declare const segmentedControlDefaultVariants: Required<SegmentedControlVariants>;
31
+ export declare const SegmentedControlContextProvider: import("react").Provider<SegmentedControlVariants>, useSegmentedControlContext: () => SegmentedControlVariants;
32
+ //#endregion
33
+ //# sourceMappingURL=use-segmented-control-context.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { createContext } from "@lucasbernardosn/react-utils";
2
+ //#region src/components/fields/segmented-control/use-segmented-control-context.ts
3
+ const segmentedControlDefaultVariants = {
4
+ colorScheme: "gray",
5
+ orientation: "horizontal",
6
+ size: "sm"
7
+ };
8
+ const [SegmentedControlContextProvider, useSegmentedControlContext] = createContext({
9
+ name: "SegmentedControlContext",
10
+ providers: ["SegmentedControl.Root"]
11
+ });
12
+ //#endregion
13
+ export { SegmentedControlContextProvider, segmentedControlDefaultVariants, useSegmentedControlContext };
14
+
15
+ //# sourceMappingURL=use-segmented-control-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-segmented-control-context.js","names":[],"sources":["../../../../src/components/fields/segmented-control/use-segmented-control-context.ts"],"sourcesContent":["import { createContext } from '@lucasbernardosn/react-utils';\nimport type { ColorSchemeCore } from '#types';\n\n/**\n * Variantes do SegmentedControl. Informadas no `SegmentedControl.Root` e repassadas aos itens por\n * contexto.\n */\nexport type SegmentedControlVariants = {\n /**\n * Cor do item marcado, que é o `solid` do `Button`: preto ou branco no `gray`, `accent-9` no\n * `accent`. A trilha é neutra nas duas.\n *\n * @default 'gray'\n */\n colorScheme?: ColorSchemeCore;\n /**\n * Disposição dos itens. O `RadioGroup` do Base UI não tem orientação: as setas andam entre os\n * itens nas duas direções, qualquer que seja o valor.\n *\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n /**\n * Altura total do controle, padding, tamanho do texto e do ícone. Segue a altura dos campos de\n * formulário: `xs` = `h-8`, `sm` = `h-9`, `md` = `h-10`, `lg` = `h-11`.\n *\n * @default 'sm'\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n};\n\nexport const segmentedControlDefaultVariants: Required<SegmentedControlVariants> =\n {\n colorScheme: 'gray',\n orientation: 'horizontal',\n size: 'sm',\n };\n\nexport const [SegmentedControlContextProvider, useSegmentedControlContext] =\n createContext<SegmentedControlVariants>({\n name: 'SegmentedControlContext',\n providers: ['SegmentedControl.Root'],\n });\n"],"mappings":";;AA+BA,MAAa,kCACX;CACE,aAAa;CACb,aAAa;CACb,MAAM;AACR;AAEF,MAAa,CAAC,iCAAiC,8BAC7C,cAAwC;CACtC,MAAM;CACN,WAAW,CAAC,uBAAuB;AACrC,CAAC"}
@@ -0,0 +1,22 @@
1
+ //#region src/components/fields/segmented-control/use-segmented-control-indicator.d.ts
2
+ /**
3
+ * Mede o item marcado e escreve a posição do `SegmentedControl.Indicator` no próprio `Root`, nas
4
+ * variáveis `--segmented-control-indicator-left`, `-top`, `-width` e `-height` (o
5
+ * `offsetLeft`, `offsetTop`, `offsetWidth` e `offsetHeight` do item, em px). O `Root` é o
6
+ * ancestral posicionado do indicador e dos itens, então os dois medem a partir da mesma origem.
7
+ *
8
+ * A medida é refeita quando o item marcado muda (`data-checked`, seja o valor controlado ou não),
9
+ * quando um item entra ou sai e quando o `Root` ou um item muda de tamanho (fonte que carrega,
10
+ * texto que muda, largura que muda). Sem item marcado, as variáveis ficam como estavam e o CSS
11
+ * esconde o indicador. Um controle sem layout (`display: none`) não é medido.
12
+ *
13
+ * `isMeasured` vira `true` na primeira medida e não volta: até lá o `Root` não tem
14
+ * `data-measured`, o indicador fica escondido, o item marcado se pinta e a transição do indicador
15
+ * está desligada. Assim o primeiro desenho não tem o salto do indicador chegando da origem.
16
+ */
17
+ export declare const useSegmentedControlIndicator: () => {
18
+ rootRef: import("react").RefObject<HTMLDivElement | null>;
19
+ isMeasured: boolean;
20
+ };
21
+ //#endregion
22
+ //# sourceMappingURL=use-segmented-control-indicator.d.ts.map
@@ -0,0 +1,67 @@
1
+ import { useRef, useState } from "react";
2
+ import { useIsoLayoutEffect } from "@base-ui/utils/useIsoLayoutEffect";
3
+ //#region src/components/fields/segmented-control/use-segmented-control-indicator.ts
4
+ const itemSelector = "[data-component=\"SegmentedControl.Item\"]";
5
+ const checkedItemSelector = `${itemSelector}[data-checked]`;
6
+ /**
7
+ * Mede o item marcado e escreve a posição do `SegmentedControl.Indicator` no próprio `Root`, nas
8
+ * variáveis `--segmented-control-indicator-left`, `-top`, `-width` e `-height` (o
9
+ * `offsetLeft`, `offsetTop`, `offsetWidth` e `offsetHeight` do item, em px). O `Root` é o
10
+ * ancestral posicionado do indicador e dos itens, então os dois medem a partir da mesma origem.
11
+ *
12
+ * A medida é refeita quando o item marcado muda (`data-checked`, seja o valor controlado ou não),
13
+ * quando um item entra ou sai e quando o `Root` ou um item muda de tamanho (fonte que carrega,
14
+ * texto que muda, largura que muda). Sem item marcado, as variáveis ficam como estavam e o CSS
15
+ * esconde o indicador. Um controle sem layout (`display: none`) não é medido.
16
+ *
17
+ * `isMeasured` vira `true` na primeira medida e não volta: até lá o `Root` não tem
18
+ * `data-measured`, o indicador fica escondido, o item marcado se pinta e a transição do indicador
19
+ * está desligada. Assim o primeiro desenho não tem o salto do indicador chegando da origem.
20
+ */
21
+ const useSegmentedControlIndicator = () => {
22
+ const rootRef = useRef(null);
23
+ const [isMeasured, setIsMeasured] = useState(false);
24
+ useIsoLayoutEffect(() => {
25
+ const root = rootRef.current;
26
+ if (!root) return;
27
+ const measure = () => {
28
+ const item = root.querySelector(checkedItemSelector);
29
+ if (!item || item.offsetWidth === 0 && item.offsetHeight === 0) return;
30
+ root.style.setProperty("--segmented-control-indicator-left", `${item.offsetLeft}px`);
31
+ root.style.setProperty("--segmented-control-indicator-top", `${item.offsetTop}px`);
32
+ root.style.setProperty("--segmented-control-indicator-width", `${item.offsetWidth}px`);
33
+ root.style.setProperty("--segmented-control-indicator-height", `${item.offsetHeight}px`);
34
+ setIsMeasured(true);
35
+ };
36
+ const resizeObserver = new ResizeObserver(measure);
37
+ const observeSizes = () => {
38
+ resizeObserver.disconnect();
39
+ resizeObserver.observe(root);
40
+ for (const item of root.querySelectorAll(itemSelector)) resizeObserver.observe(item);
41
+ };
42
+ const mutationObserver = new MutationObserver((records) => {
43
+ if (records.some((record) => record.type === "childList")) observeSizes();
44
+ measure();
45
+ });
46
+ mutationObserver.observe(root, {
47
+ attributes: true,
48
+ attributeFilter: ["data-checked"],
49
+ childList: true,
50
+ subtree: true
51
+ });
52
+ observeSizes();
53
+ measure();
54
+ return () => {
55
+ resizeObserver.disconnect();
56
+ mutationObserver.disconnect();
57
+ };
58
+ }, []);
59
+ return {
60
+ rootRef,
61
+ isMeasured
62
+ };
63
+ };
64
+ //#endregion
65
+ export { useSegmentedControlIndicator };
66
+
67
+ //# sourceMappingURL=use-segmented-control-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-segmented-control-indicator.js","names":[],"sources":["../../../../src/components/fields/segmented-control/use-segmented-control-indicator.ts"],"sourcesContent":["import { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRef, useState } from 'react';\n\nconst itemSelector = '[data-component=\"SegmentedControl.Item\"]';\n\nconst checkedItemSelector = `${itemSelector}[data-checked]`;\n\n/**\n * Mede o item marcado e escreve a posição do `SegmentedControl.Indicator` no próprio `Root`, nas\n * variáveis `--segmented-control-indicator-left`, `-top`, `-width` e `-height` (o\n * `offsetLeft`, `offsetTop`, `offsetWidth` e `offsetHeight` do item, em px). O `Root` é o\n * ancestral posicionado do indicador e dos itens, então os dois medem a partir da mesma origem.\n *\n * A medida é refeita quando o item marcado muda (`data-checked`, seja o valor controlado ou não),\n * quando um item entra ou sai e quando o `Root` ou um item muda de tamanho (fonte que carrega,\n * texto que muda, largura que muda). Sem item marcado, as variáveis ficam como estavam e o CSS\n * esconde o indicador. Um controle sem layout (`display: none`) não é medido.\n *\n * `isMeasured` vira `true` na primeira medida e não volta: até lá o `Root` não tem\n * `data-measured`, o indicador fica escondido, o item marcado se pinta e a transição do indicador\n * está desligada. Assim o primeiro desenho não tem o salto do indicador chegando da origem.\n */\nexport const useSegmentedControlIndicator = () => {\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [isMeasured, setIsMeasured] = useState(false);\n\n useIsoLayoutEffect(() => {\n const root = rootRef.current;\n\n if (!root) {\n return;\n }\n\n const measure = () => {\n const item = root.querySelector<HTMLElement>(checkedItemSelector);\n\n if (!item || (item.offsetWidth === 0 && item.offsetHeight === 0)) {\n return;\n }\n\n root.style.setProperty(\n '--segmented-control-indicator-left',\n `${item.offsetLeft}px`,\n );\n root.style.setProperty(\n '--segmented-control-indicator-top',\n `${item.offsetTop}px`,\n );\n root.style.setProperty(\n '--segmented-control-indicator-width',\n `${item.offsetWidth}px`,\n );\n root.style.setProperty(\n '--segmented-control-indicator-height',\n `${item.offsetHeight}px`,\n );\n\n setIsMeasured(true);\n };\n\n const resizeObserver = new ResizeObserver(measure);\n\n const observeSizes = () => {\n resizeObserver.disconnect();\n resizeObserver.observe(root);\n\n for (const item of root.querySelectorAll(itemSelector)) {\n resizeObserver.observe(item);\n }\n };\n\n const mutationObserver = new MutationObserver((records) => {\n if (records.some((record) => record.type === 'childList')) {\n observeSizes();\n }\n\n measure();\n });\n\n mutationObserver.observe(root, {\n attributes: true,\n attributeFilter: ['data-checked'],\n childList: true,\n subtree: true,\n });\n\n observeSizes();\n measure();\n\n return () => {\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n }, []);\n\n return { rootRef, isMeasured };\n};\n"],"mappings":";;;AAGA,MAAM,eAAe;AAErB,MAAM,sBAAsB,GAAG,aAAa;;;;;;;;;;;;;;;;AAiB5C,MAAa,qCAAqC;CAChD,MAAM,UAAU,OAAuB,IAAI;CAE3C,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAElD,yBAAyB;EACvB,MAAM,OAAO,QAAQ;EAErB,IAAI,CAAC,MACH;EAGF,MAAM,gBAAgB;GACpB,MAAM,OAAO,KAAK,cAA2B,mBAAmB;GAEhE,IAAI,CAAC,QAAS,KAAK,gBAAgB,KAAK,KAAK,iBAAiB,GAC5D;GAGF,KAAK,MAAM,YACT,sCACA,GAAG,KAAK,WAAW,GACrB;GACA,KAAK,MAAM,YACT,qCACA,GAAG,KAAK,UAAU,GACpB;GACA,KAAK,MAAM,YACT,uCACA,GAAG,KAAK,YAAY,GACtB;GACA,KAAK,MAAM,YACT,wCACA,GAAG,KAAK,aAAa,GACvB;GAEA,cAAc,IAAI;EACpB;EAEA,MAAM,iBAAiB,IAAI,eAAe,OAAO;EAEjD,MAAM,qBAAqB;GACzB,eAAe,WAAW;GAC1B,eAAe,QAAQ,IAAI;GAE3B,KAAK,MAAM,QAAQ,KAAK,iBAAiB,YAAY,GACnD,eAAe,QAAQ,IAAI;EAE/B;EAEA,MAAM,mBAAmB,IAAI,kBAAkB,YAAY;GACzD,IAAI,QAAQ,MAAM,WAAW,OAAO,SAAS,WAAW,GACtD,aAAa;GAGf,QAAQ;EACV,CAAC;EAED,iBAAiB,QAAQ,MAAM;GAC7B,YAAY;GACZ,iBAAiB,CAAC,cAAc;GAChC,WAAW;GACX,SAAS;EACX,CAAC;EAED,aAAa;EACb,QAAQ;EAER,aAAa;GACX,eAAe,WAAW;GAC1B,iBAAiB,WAAW;EAC9B;CACF,GAAG,CAAC,CAAC;CAEL,OAAO;EAAE;EAAS;CAAW;AAC/B"}
@@ -26,7 +26,7 @@ export declare const switchRootDefaultVariants: Required<SwitchRootVariants>;
26
26
  * de foco também fica vermelho.
27
27
  */
28
28
  export declare const switchRootVariants: (props?: ({
29
- colorScheme?: "gray" | "brand" | null | undefined;
29
+ colorScheme?: "gray" | "accent" | null | undefined;
30
30
  size?: "xs" | "sm" | "md" | "lg" | null | undefined;
31
31
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
32
32
  //#endregion
@@ -54,10 +54,10 @@ const switchRootVariants = cva([
54
54
  "dark:[--switch-thumb-checked-bg:var(--color-black)]",
55
55
  "ring-gray-9"
56
56
  ],
57
- brand: [
58
- "[--switch-checked-bg:var(--color-brand-9)]",
57
+ accent: [
58
+ "[--switch-checked-bg:var(--accent-9)]",
59
59
  "[--switch-thumb-checked-bg:var(--color-white)]",
60
- "ring-brand-9"
60
+ "ring-accent-9"
61
61
  ]
62
62
  },
63
63
  size: {
@@ -1 +1 @@
1
- {"version":3,"file":"switch-root-variants.js","names":[],"sources":["../../../../src/components/fields/switch/switch-root-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ColorSchemeCore } from '#types';\n\nexport type SwitchRootVariants = {\n /**\n * Cor do trilho ligado, da bolinha ligada e do anel de foco.\n *\n * @default 'gray'\n */\n colorScheme?: ColorSchemeCore;\n /**\n * Tamanho do trilho. A bolinha do `Switch.Thumb` acompanha.\n *\n * @default 'md'\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n};\n\nexport const switchRootDefaultVariants: Required<SwitchRootVariants> = {\n colorScheme: 'gray',\n size: 'md',\n};\n\n/**\n * O trilho declara as medidas e as cores em CSS variables, e o `Switch.Thumb` as lê:\n * - `--switch-width` e `--switch-height` vêm do `size`, e a bolinha mede a altura do trilho;\n * - `--switch-x` é o deslocamento da bolinha ligada (a largura menos a altura), negativo em RTL;\n * - `--switch-checked-bg` e `--switch-thumb-checked-bg` vêm do `colorScheme`.\n *\n * Inválido (`data-invalid` do `Field` ou `aria-invalid`) contorna o trilho desligado de vermelho,\n * como a caixa desmarcada do `Checkbox`: o erro de um switch quase sempre é \"não ligado\". O anel\n * de foco também fica vermelho.\n */\nexport const switchRootVariants = cva(\n [\n 'relative',\n 'inline-flex',\n 'shrink-0',\n 'align-middle',\n\n 'w-(--switch-width)',\n 'h-(--switch-height)',\n\n '[--switch-x:calc(var(--switch-width)-var(--switch-height))]',\n 'rtl:[--switch-x:calc((var(--switch-width)-var(--switch-height))*-1)]',\n\n 'rounded-full',\n\n 'bg-gray-6',\n 'data-checked:bg-(--switch-checked-bg)',\n 'inset-shadow-sm',\n\n 'transition-[background-color]', // O `transition-colors` animaria também a cor do anel de foco\n\n 'cursor-pointer',\n 'select-none',\n\n 'focus-ring-outside',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-readonly:cursor-default',\n\n 'data-invalid:not-data-checked:outline-2',\n 'data-invalid:not-data-checked:outline-offset-2',\n 'data-invalid:not-data-checked:outline-solid',\n 'data-invalid:not-data-checked:outline-red-9',\n 'aria-invalid:not-data-checked:outline-2',\n 'aria-invalid:not-data-checked:outline-offset-2',\n 'aria-invalid:not-data-checked:outline-solid',\n 'aria-invalid:not-data-checked:outline-red-9',\n 'data-invalid:ring-red-9',\n 'aria-invalid:ring-red-9',\n ],\n {\n variants: {\n colorScheme: {\n gray: [\n '[--switch-checked-bg:var(--color-black)]',\n 'dark:[--switch-checked-bg:var(--color-white)]',\n '[--switch-thumb-checked-bg:var(--color-white)]',\n 'dark:[--switch-thumb-checked-bg:var(--color-black)]',\n 'ring-gray-9',\n ],\n brand: [\n '[--switch-checked-bg:var(--color-brand-9)]',\n '[--switch-thumb-checked-bg:var(--color-white)]',\n 'ring-brand-9',\n ],\n },\n size: {\n xs: ['[--switch-width:--spacing(6)]', '[--switch-height:--spacing(3)]'],\n sm: ['[--switch-width:--spacing(8)]', '[--switch-height:--spacing(4)]'],\n md: [\n '[--switch-width:--spacing(10)]',\n '[--switch-height:--spacing(5)]',\n ],\n lg: [\n '[--switch-width:--spacing(12)]',\n '[--switch-height:--spacing(6)]',\n ],\n },\n },\n defaultVariants: {\n colorScheme: switchRootDefaultVariants.colorScheme,\n size: switchRootDefaultVariants.size,\n },\n },\n);\n"],"mappings":";;AAkBA,MAAa,4BAA0D;CACrE,aAAa;CACb,MAAM;AACR;;;;;;;;;;;AAYA,MAAa,qBAAqB,IAChC;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CAEA;CACA;CAEA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EACR,aAAa;GACX,MAAM;IACJ;IACA;IACA;IACA;IACA;GACF;GACA,OAAO;IACL;IACA;IACA;GACF;EACF;EACA,MAAM;GACJ,IAAI,CAAC,iCAAiC,gCAAgC;GACtE,IAAI,CAAC,iCAAiC,gCAAgC;GACtE,IAAI,CACF,kCACA,gCACF;GACA,IAAI,CACF,kCACA,gCACF;EACF;CACF;CACA,iBAAiB;EACf,aAAa,0BAA0B;EACvC,MAAM,0BAA0B;CAClC;AACF,CACF"}
1
+ {"version":3,"file":"switch-root-variants.js","names":[],"sources":["../../../../src/components/fields/switch/switch-root-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ColorSchemeCore } from '#types';\n\nexport type SwitchRootVariants = {\n /**\n * Cor do trilho ligado, da bolinha ligada e do anel de foco.\n *\n * @default 'gray'\n */\n colorScheme?: ColorSchemeCore;\n /**\n * Tamanho do trilho. A bolinha do `Switch.Thumb` acompanha.\n *\n * @default 'md'\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n};\n\nexport const switchRootDefaultVariants: Required<SwitchRootVariants> = {\n colorScheme: 'gray',\n size: 'md',\n};\n\n/**\n * O trilho declara as medidas e as cores em CSS variables, e o `Switch.Thumb` as lê:\n * - `--switch-width` e `--switch-height` vêm do `size`, e a bolinha mede a altura do trilho;\n * - `--switch-x` é o deslocamento da bolinha ligada (a largura menos a altura), negativo em RTL;\n * - `--switch-checked-bg` e `--switch-thumb-checked-bg` vêm do `colorScheme`.\n *\n * Inválido (`data-invalid` do `Field` ou `aria-invalid`) contorna o trilho desligado de vermelho,\n * como a caixa desmarcada do `Checkbox`: o erro de um switch quase sempre é \"não ligado\". O anel\n * de foco também fica vermelho.\n */\nexport const switchRootVariants = cva(\n [\n 'relative',\n 'inline-flex',\n 'shrink-0',\n 'align-middle',\n\n 'w-(--switch-width)',\n 'h-(--switch-height)',\n\n '[--switch-x:calc(var(--switch-width)-var(--switch-height))]',\n 'rtl:[--switch-x:calc((var(--switch-width)-var(--switch-height))*-1)]',\n\n 'rounded-full',\n\n 'bg-gray-6',\n 'data-checked:bg-(--switch-checked-bg)',\n 'inset-shadow-sm',\n\n 'transition-[background-color]', // O `transition-colors` animaria também a cor do anel de foco\n\n 'cursor-pointer',\n 'select-none',\n\n 'focus-ring-outside',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-readonly:cursor-default',\n\n 'data-invalid:not-data-checked:outline-2',\n 'data-invalid:not-data-checked:outline-offset-2',\n 'data-invalid:not-data-checked:outline-solid',\n 'data-invalid:not-data-checked:outline-red-9',\n 'aria-invalid:not-data-checked:outline-2',\n 'aria-invalid:not-data-checked:outline-offset-2',\n 'aria-invalid:not-data-checked:outline-solid',\n 'aria-invalid:not-data-checked:outline-red-9',\n 'data-invalid:ring-red-9',\n 'aria-invalid:ring-red-9',\n ],\n {\n variants: {\n colorScheme: {\n gray: [\n '[--switch-checked-bg:var(--color-black)]',\n 'dark:[--switch-checked-bg:var(--color-white)]',\n '[--switch-thumb-checked-bg:var(--color-white)]',\n 'dark:[--switch-thumb-checked-bg:var(--color-black)]',\n 'ring-gray-9',\n ],\n accent: [\n '[--switch-checked-bg:var(--accent-9)]',\n '[--switch-thumb-checked-bg:var(--color-white)]',\n 'ring-accent-9',\n ],\n },\n size: {\n xs: ['[--switch-width:--spacing(6)]', '[--switch-height:--spacing(3)]'],\n sm: ['[--switch-width:--spacing(8)]', '[--switch-height:--spacing(4)]'],\n md: [\n '[--switch-width:--spacing(10)]',\n '[--switch-height:--spacing(5)]',\n ],\n lg: [\n '[--switch-width:--spacing(12)]',\n '[--switch-height:--spacing(6)]',\n ],\n },\n },\n defaultVariants: {\n colorScheme: switchRootDefaultVariants.colorScheme,\n size: switchRootDefaultVariants.size,\n },\n },\n);\n"],"mappings":";;AAkBA,MAAa,4BAA0D;CACrE,aAAa;CACb,MAAM;AACR;;;;;;;;;;;AAYA,MAAa,qBAAqB,IAChC;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CAEA;CACA;CAEA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EACR,aAAa;GACX,MAAM;IACJ;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;GACF;EACF;EACA,MAAM;GACJ,IAAI,CAAC,iCAAiC,gCAAgC;GACtE,IAAI,CAAC,iCAAiC,gCAAgC;GACtE,IAAI,CACF,kCACA,gCACF;GACA,IAAI,CACF,kCACA,gCACF;EACF;CACF;CACA,iBAAiB;EACf,aAAa,0BAA0B;EACvC,MAAM,0BAA0B;CAClC;AACF,CACF"}
@@ -52,16 +52,16 @@ const textareaVariants = cva([
52
52
  "data-disabled:opacity-50",
53
53
  "data-disabled:cursor-not-allowed",
54
54
  "data-invalid:border-red-9",
55
- "data-invalid:[--textarea-focus-color:var(--color-red-9)]",
55
+ "data-invalid:[--textarea-focus-color:var(--red-9)]",
56
56
  "aria-invalid:border-red-9",
57
- "aria-invalid:[--textarea-focus-color:var(--color-red-9)]"
57
+ "aria-invalid:[--textarea-focus-color:var(--red-9)]"
58
58
  ], {
59
59
  variants: {
60
60
  variant: {
61
61
  outline: [
62
62
  "bg-white/90",
63
63
  "dark:bg-black/90",
64
- "border-gray-alpha-7"
64
+ "border-gray-7"
65
65
  ],
66
66
  subtle: ["bg-gray-4", "border-transparent"]
67
67
  },
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-variants.js","names":[],"sources":["../../../../src/components/fields/textarea/textarea-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type TextareaVariants = {\n /**\n * Padding e tamanho do texto, com os nomes do `Input`. Sem altura fixa: ela vem de `rows` ou,\n * com `field-sizing-content`, do conteúdo. Em tela de toque, do `2xs` ao `md` o texto sobe para\n * 16px, para o iPhone não dar zoom no foco.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Fundo e borda do campo.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'subtle';\n};\n\nexport const textareaDefaultVariants: Required<TextareaVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam do\n * mesmo jeito, explicados lá. As diferenças:\n * - sem `data-placeholder` nem altura fixa: a altura vem de `rows` ou, com `field-sizing-content`,\n * do conteúdo;\n * - `block`, `resize-y` e o padding vertical em `--textarea-py`.\n *\n * Cada tamanho declara o padding vertical em `--textarea-py`, que três classes da base leem:\n * - `py`;\n * - `scroll-pb`: ao digitar na última linha de um textarea com rolagem, o navegador rola até o\n * cursor; sem ele, a linha fica colada na borda de baixo, sem o padding;\n * - `min-h`: uma linha (`1lh`, que acompanha o texto, inclusive em tela de toque), mais o padding e\n * a borda. Arrastando a alça, o campo não encolhe a ponto de cortar o texto.\n */\nexport const textareaVariants = cva(\n [\n 'relative',\n 'block', // Como `inline-block`, o padrão, deixa um vão embaixo, na linha de base do texto em volta\n 'w-full',\n 'min-h-[calc(1lh+var(--textarea-py)*2+2px)]',\n\n 'py-(--textarea-py)',\n 'scroll-pb-(--textarea-py)',\n\n 'appearance-none',\n 'outline-none',\n\n 'resize-y',\n\n 'text-start',\n 'font-normal', // Sem isto, herda o peso do `<label>` em volta\n 'text-gray-12',\n\n 'placeholder:text-gray-11/80',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n '[--textarea-focus-color:var(--color-black)]',\n 'dark:[--textarea-focus-color:var(--color-white)]',\n\n 'focus-visible:outline-1',\n 'focus-visible:outline-solid',\n 'focus-visible:-outline-offset-2', // Offset = borda + anel: o campo não cresce no foco\n 'focus-visible:outline-(--textarea-focus-color)',\n 'focus-visible:border-(--textarea-focus-color)',\n\n 'data-focused:outline-1',\n 'data-focused:outline-solid',\n 'data-focused:-outline-offset-2',\n 'data-focused:outline-(--textarea-focus-color)',\n 'data-focused:border-(--textarea-focus-color)',\n\n 'disabled:opacity-50',\n 'disabled:cursor-not-allowed',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-invalid:border-red-9',\n 'data-invalid:[--textarea-focus-color:var(--color-red-9)]',\n 'aria-invalid:border-red-9',\n 'aria-invalid:[--textarea-focus-color:var(--color-red-9)]',\n ],\n {\n variants: {\n variant: {\n outline: [\n 'bg-white/90',\n 'dark:bg-black/90',\n\n 'border-gray-alpha-7',\n ],\n subtle: [\n 'bg-gray-4',\n\n 'border-transparent',\n ],\n },\n size: {\n '2xs': [\n 'px-2',\n '[--textarea-py:--spacing(1)]',\n\n 'text-xs',\n // Em tela de toque, 16px: abaixo disso o Safari do iPhone dá zoom ao focar o campo.\n 'any-pointer-coarse:text-base',\n ],\n xs: [\n 'px-2',\n '[--textarea-py:--spacing(2)]',\n\n 'text-xs',\n 'any-pointer-coarse:text-base',\n ],\n sm: [\n 'px-2.5',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n md: [\n 'px-3',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n lg: [\n 'px-4',\n '[--textarea-py:--spacing(3)]',\n\n 'text-base',\n ],\n xl: [\n 'px-4.5',\n '[--textarea-py:--spacing(4)]',\n\n 'text-base',\n ],\n '2xl': [\n 'px-5',\n '[--textarea-py:--spacing(4)]',\n\n 'text-lg',\n ],\n },\n },\n defaultVariants: {\n size: textareaDefaultVariants.size,\n variant: textareaDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AAmBA,MAAa,0BAAsD;CACjE,MAAM;CACN,SAAS;AACX;;;;;;;;;;;;;;;AAgBA,MAAa,mBAAmB,IAC9B;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;IACP;IACA;IAEA;GACF;GACA,QAAQ,CACN,aAEA,oBACF;EACF;EACA,MAAM;GACJ,OAAO;IACL;IACA;IAEA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;GACF;EACF;CACF;CACA,iBAAiB;EACf,MAAM,wBAAwB;EAC9B,SAAS,wBAAwB;CACnC;AACF,CACF"}
1
+ {"version":3,"file":"textarea-variants.js","names":[],"sources":["../../../../src/components/fields/textarea/textarea-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type TextareaVariants = {\n /**\n * Padding e tamanho do texto, com os nomes do `Input`. Sem altura fixa: ela vem de `rows` ou,\n * com `field-sizing-content`, do conteúdo. Em tela de toque, do `2xs` ao `md` o texto sobe para\n * 16px, para o iPhone não dar zoom no foco.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Fundo e borda do campo.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'subtle';\n};\n\nexport const textareaDefaultVariants: Required<TextareaVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam do\n * mesmo jeito, explicados lá. As diferenças:\n * - sem `data-placeholder` nem altura fixa: a altura vem de `rows` ou, com `field-sizing-content`,\n * do conteúdo;\n * - `block`, `resize-y` e o padding vertical em `--textarea-py`.\n *\n * Cada tamanho declara o padding vertical em `--textarea-py`, que três classes da base leem:\n * - `py`;\n * - `scroll-pb`: ao digitar na última linha de um textarea com rolagem, o navegador rola até o\n * cursor; sem ele, a linha fica colada na borda de baixo, sem o padding;\n * - `min-h`: uma linha (`1lh`, que acompanha o texto, inclusive em tela de toque), mais o padding e\n * a borda. Arrastando a alça, o campo não encolhe a ponto de cortar o texto.\n */\nexport const textareaVariants = cva(\n [\n 'relative',\n 'block', // Como `inline-block`, o padrão, deixa um vão embaixo, na linha de base do texto em volta\n 'w-full',\n 'min-h-[calc(1lh+var(--textarea-py)*2+2px)]',\n\n 'py-(--textarea-py)',\n 'scroll-pb-(--textarea-py)',\n\n 'appearance-none',\n 'outline-none',\n\n 'resize-y',\n\n 'text-start',\n 'font-normal', // Sem isto, herda o peso do `<label>` em volta\n 'text-gray-12',\n\n 'placeholder:text-gray-11/80',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n '[--textarea-focus-color:var(--color-black)]',\n 'dark:[--textarea-focus-color:var(--color-white)]',\n\n 'focus-visible:outline-1',\n 'focus-visible:outline-solid',\n 'focus-visible:-outline-offset-2', // Offset = borda + anel: o campo não cresce no foco\n 'focus-visible:outline-(--textarea-focus-color)',\n 'focus-visible:border-(--textarea-focus-color)',\n\n 'data-focused:outline-1',\n 'data-focused:outline-solid',\n 'data-focused:-outline-offset-2',\n 'data-focused:outline-(--textarea-focus-color)',\n 'data-focused:border-(--textarea-focus-color)',\n\n 'disabled:opacity-50',\n 'disabled:cursor-not-allowed',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-invalid:border-red-9',\n 'data-invalid:[--textarea-focus-color:var(--red-9)]',\n 'aria-invalid:border-red-9',\n 'aria-invalid:[--textarea-focus-color:var(--red-9)]',\n ],\n {\n variants: {\n variant: {\n outline: [\n 'bg-white/90',\n 'dark:bg-black/90',\n\n 'border-gray-7',\n ],\n subtle: [\n 'bg-gray-4',\n\n 'border-transparent',\n ],\n },\n size: {\n '2xs': [\n 'px-2',\n '[--textarea-py:--spacing(1)]',\n\n 'text-xs',\n // Em tela de toque, 16px: abaixo disso o Safari do iPhone dá zoom ao focar o campo.\n 'any-pointer-coarse:text-base',\n ],\n xs: [\n 'px-2',\n '[--textarea-py:--spacing(2)]',\n\n 'text-xs',\n 'any-pointer-coarse:text-base',\n ],\n sm: [\n 'px-2.5',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n md: [\n 'px-3',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n lg: [\n 'px-4',\n '[--textarea-py:--spacing(3)]',\n\n 'text-base',\n ],\n xl: [\n 'px-4.5',\n '[--textarea-py:--spacing(4)]',\n\n 'text-base',\n ],\n '2xl': [\n 'px-5',\n '[--textarea-py:--spacing(4)]',\n\n 'text-lg',\n ],\n },\n },\n defaultVariants: {\n size: textareaDefaultVariants.size,\n variant: textareaDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AAmBA,MAAa,0BAAsD;CACjE,MAAM;CACN,SAAS;AACX;;;;;;;;;;;;;;;AAgBA,MAAa,mBAAmB,IAC9B;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;IACP;IACA;IAEA;GACF;GACA,QAAQ,CACN,aAEA,oBACF;EACF;EACA,MAAM;GACJ,OAAO;IACL;IACA;IAEA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;GACF;EACF;CACF;CACA,iBAAiB;EACf,MAAM,wBAAwB;EAC9B,SAAS,wBAAwB;CACnC;AACF,CACF"}
@@ -9,7 +9,7 @@ export type CenterAbsoluteVariants = {
9
9
  };
10
10
  export declare const centerAbsoluteDefaultVariants: Required<CenterAbsoluteVariants>;
11
11
  export declare const centerAbsoluteVariants: (props?: ({
12
- axis?: "vertical" | "horizontal" | "both" | null | undefined;
12
+ axis?: "both" | "horizontal" | "vertical" | null | undefined;
13
13
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
14
14
  //#endregion
15
15
  //# sourceMappingURL=center-absolute-variants.d.ts.map
@@ -0,0 +1,43 @@
1
+ //#region src/components/layout/group/group-variants.d.ts
2
+ export type GroupVariants = {
3
+ /**
4
+ * Cola os filhos, sem espaço entre eles: os cantos de dentro ficam retos e as bordas de dois
5
+ * vizinhos se sobrepõem numa só.
6
+ *
7
+ * @default false
8
+ */
9
+ attached?: boolean;
10
+ /**
11
+ * Direção em que os filhos ficam.
12
+ *
13
+ * @default 'horizontal'
14
+ */
15
+ orientation?: 'horizontal' | 'vertical';
16
+ /**
17
+ * Ocupa a largura toda e divide o espaço em partes iguais entre os filhos.
18
+ *
19
+ * @default false
20
+ */
21
+ grow?: boolean;
22
+ };
23
+ export declare const groupDefaultVariants: Required<GroupVariants>;
24
+ /**
25
+ * Com `attached`, o grupo tira os cantos de dentro dos filhos diretos e sobrepõe as bordas, só por
26
+ * CSS, sem clonar os filhos nem marcá-los. Cada regra do grupo (`.group > *:not(:first-child)`,
27
+ * 0,2,0) vence o `rounded-md` do filho (`.filho`, 0,1,0). Um filho que desenha a própria borda
28
+ * dentro de outro elemento (um `InputGroup` com addon, cuja caixa está um nível abaixo) não tem os
29
+ * cantos ajustados.
30
+ *
31
+ * A sobreposição de 1px (`-ms-px`, `-mt-px`) faz a borda de dois vizinhos coincidir. O filho com
32
+ * foco ou hover sobe, dentro do `isolate` do grupo, para a borda dele aparecer inteira por cima da
33
+ * vizinha; o `has()` cobre o filho que contém o elemento focado (um campo dentro de uma caixa) e o
34
+ * `data-focused` do `Field`. O foco (`z-2`) fica acima do hover (`z-1`): sem isso, passar o mouse
35
+ * no vizinho cobriria a borda do filho focado.
36
+ */
37
+ export declare const groupVariants: (props?: ({
38
+ attached?: boolean | null | undefined;
39
+ orientation?: "horizontal" | "vertical" | null | undefined;
40
+ grow?: boolean | null | undefined;
41
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
42
+ //#endregion
43
+ //# sourceMappingURL=group-variants.d.ts.map
@@ -0,0 +1,72 @@
1
+ import { cva } from "class-variance-authority";
2
+ //#region src/components/layout/group/group-variants.ts
3
+ const groupDefaultVariants = {
4
+ attached: false,
5
+ orientation: "horizontal",
6
+ grow: false
7
+ };
8
+ /**
9
+ * Com `attached`, o grupo tira os cantos de dentro dos filhos diretos e sobrepõe as bordas, só por
10
+ * CSS, sem clonar os filhos nem marcá-los. Cada regra do grupo (`.group > *:not(:first-child)`,
11
+ * 0,2,0) vence o `rounded-md` do filho (`.filho`, 0,1,0). Um filho que desenha a própria borda
12
+ * dentro de outro elemento (um `InputGroup` com addon, cuja caixa está um nível abaixo) não tem os
13
+ * cantos ajustados.
14
+ *
15
+ * A sobreposição de 1px (`-ms-px`, `-mt-px`) faz a borda de dois vizinhos coincidir. O filho com
16
+ * foco ou hover sobe, dentro do `isolate` do grupo, para a borda dele aparecer inteira por cima da
17
+ * vizinha; o `has()` cobre o filho que contém o elemento focado (um campo dentro de uma caixa) e o
18
+ * `data-focused` do `Field`. O foco (`z-2`) fica acima do hover (`z-1`): sem isso, passar o mouse
19
+ * no vizinho cobriria a borda do filho focado.
20
+ */
21
+ const groupVariants = cva(["relative", "isolate"], {
22
+ variants: {
23
+ attached: {
24
+ true: [
25
+ "gap-0",
26
+ "[&>*:focus-visible]:z-2",
27
+ "[&>*:has(:focus-visible)]:z-2",
28
+ "[&>*:has([data-focused])]:z-2",
29
+ "[&>*:hover]:z-1"
30
+ ],
31
+ false: ["gap-2"]
32
+ },
33
+ orientation: {
34
+ horizontal: ["flex-row"],
35
+ vertical: ["flex-col"]
36
+ },
37
+ grow: {
38
+ true: [
39
+ "flex",
40
+ "w-full",
41
+ "*:flex-1"
42
+ ],
43
+ false: ["inline-flex"]
44
+ }
45
+ },
46
+ compoundVariants: [{
47
+ attached: true,
48
+ orientation: "horizontal",
49
+ className: [
50
+ "[&>*:not(:first-child)]:rounded-s-none",
51
+ "[&>*:not(:last-child)]:rounded-e-none",
52
+ "[&>*:not(:first-child)]:-ms-px"
53
+ ]
54
+ }, {
55
+ attached: true,
56
+ orientation: "vertical",
57
+ className: [
58
+ "[&>*:not(:first-child)]:rounded-t-none",
59
+ "[&>*:not(:last-child)]:rounded-b-none",
60
+ "[&>*:not(:first-child)]:-mt-px"
61
+ ]
62
+ }],
63
+ defaultVariants: {
64
+ attached: groupDefaultVariants.attached,
65
+ orientation: groupDefaultVariants.orientation,
66
+ grow: groupDefaultVariants.grow
67
+ }
68
+ });
69
+ //#endregion
70
+ export { groupDefaultVariants, groupVariants };
71
+
72
+ //# sourceMappingURL=group-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-variants.js","names":[],"sources":["../../../../src/components/layout/group/group-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type GroupVariants = {\n /**\n * Cola os filhos, sem espaço entre eles: os cantos de dentro ficam retos e as bordas de dois\n * vizinhos se sobrepõem numa só.\n *\n * @default false\n */\n attached?: boolean;\n /**\n * Direção em que os filhos ficam.\n *\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n /**\n * Ocupa a largura toda e divide o espaço em partes iguais entre os filhos.\n *\n * @default false\n */\n grow?: boolean;\n};\n\nexport const groupDefaultVariants: Required<GroupVariants> = {\n attached: false,\n orientation: 'horizontal',\n grow: false,\n};\n\n/**\n * Com `attached`, o grupo tira os cantos de dentro dos filhos diretos e sobrepõe as bordas, só por\n * CSS, sem clonar os filhos nem marcá-los. Cada regra do grupo (`.group > *:not(:first-child)`,\n * 0,2,0) vence o `rounded-md` do filho (`.filho`, 0,1,0). Um filho que desenha a própria borda\n * dentro de outro elemento (um `InputGroup` com addon, cuja caixa está um nível abaixo) não tem os\n * cantos ajustados.\n *\n * A sobreposição de 1px (`-ms-px`, `-mt-px`) faz a borda de dois vizinhos coincidir. O filho com\n * foco ou hover sobe, dentro do `isolate` do grupo, para a borda dele aparecer inteira por cima da\n * vizinha; o `has()` cobre o filho que contém o elemento focado (um campo dentro de uma caixa) e o\n * `data-focused` do `Field`. O foco (`z-2`) fica acima do hover (`z-1`): sem isso, passar o mouse\n * no vizinho cobriria a borda do filho focado.\n */\nexport const groupVariants = cva(['relative', 'isolate'], {\n variants: {\n attached: {\n true: [\n 'gap-0',\n\n '[&>*:focus-visible]:z-2',\n '[&>*:has(:focus-visible)]:z-2',\n '[&>*:has([data-focused])]:z-2',\n '[&>*:hover]:z-1',\n ],\n false: ['gap-2'],\n },\n orientation: {\n horizontal: ['flex-row'],\n vertical: ['flex-col'],\n },\n grow: {\n true: ['flex', 'w-full', '*:flex-1'],\n false: ['inline-flex'],\n },\n },\n compoundVariants: [\n {\n attached: true,\n orientation: 'horizontal',\n className: [\n '[&>*:not(:first-child)]:rounded-s-none',\n '[&>*:not(:last-child)]:rounded-e-none',\n '[&>*:not(:first-child)]:-ms-px',\n ],\n },\n {\n attached: true,\n orientation: 'vertical',\n className: [\n '[&>*:not(:first-child)]:rounded-t-none',\n '[&>*:not(:last-child)]:rounded-b-none',\n '[&>*:not(:first-child)]:-mt-px',\n ],\n },\n ],\n defaultVariants: {\n attached: groupDefaultVariants.attached,\n orientation: groupDefaultVariants.orientation,\n grow: groupDefaultVariants.grow,\n },\n});\n"],"mappings":";;AAwBA,MAAa,uBAAgD;CAC3D,UAAU;CACV,aAAa;CACb,MAAM;AACR;;;;;;;;;;;;;;AAeA,MAAa,gBAAgB,IAAI,CAAC,YAAY,SAAS,GAAG;CACxD,UAAU;EACR,UAAU;GACR,MAAM;IACJ;IAEA;IACA;IACA;IACA;GACF;GACA,OAAO,CAAC,OAAO;EACjB;EACA,aAAa;GACX,YAAY,CAAC,UAAU;GACvB,UAAU,CAAC,UAAU;EACvB;EACA,MAAM;GACJ,MAAM;IAAC;IAAQ;IAAU;GAAU;GACnC,OAAO,CAAC,aAAa;EACvB;CACF;CACA,kBAAkB,CAChB;EACE,UAAU;EACV,aAAa;EACb,WAAW;GACT;GACA;GACA;EACF;CACF,GACA;EACE,UAAU;EACV,aAAa;EACb,WAAW;GACT;GACA;GACA;EACF;CACF,CACF;CACA,iBAAiB;EACf,UAAU,qBAAqB;EAC/B,aAAa,qBAAqB;EAClC,MAAM,qBAAqB;CAC7B;AACF,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { GroupVariants } from "./group-variants.js";
2
+ import { MergeOverride } from "@lucasbernardosn/ts-utils";
3
+ import { useRender } from "@base-ui/react";
4
+ //#region src/components/layout/group/group.d.ts
5
+ export type GroupProps = MergeOverride<useRender.ComponentProps<'div'>, GroupVariants>;
6
+ /**
7
+ * Agrupa elementos lado a lado ou em coluna, com espaço entre eles ou colados: botões
8
+ * relacionados, um campo com um botão, o addon de um `InputGroup`. Os filhos esticam na altura
9
+ * (ou na largura, em coluna) do maior.
10
+ *
11
+ * - Com `attached`, o grupo tira os cantos de dentro dos filhos diretos e sobrepõe as bordas
12
+ * (o mecanismo está no `groupVariants`). Um filho que desenha a borda um nível abaixo dele
13
+ * (um `InputGroup` com addon) não tem os cantos de dentro ajustados.
14
+ * - O `grow` ocupa a linha toda e divide a largura em partes iguais.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <Group attached>
19
+ * <Button variant="outline">Dia</Button>
20
+ * <Button variant="outline">Semana</Button>
21
+ * <Button variant="outline">Mês</Button>
22
+ * </Group>
23
+ *
24
+ * <Group attached>
25
+ * <InputGroup>
26
+ * <Input aria-label="Cupom" />
27
+ * </InputGroup>
28
+ *
29
+ * <Button>Aplicar</Button>
30
+ * </Group>
31
+ * ```
32
+ */
33
+ export declare const Group: {
34
+ (props: GroupProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
35
+ displayName: string;
36
+ };
37
+ //#endregion
38
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1,55 @@
1
+ import { mergeTwClassNames } from "../../../utils/merge-class-names.js";
2
+ import { groupVariants } from "./group-variants.js";
3
+ import { createSplitProps } from "@lucasbernardosn/ts-utils";
4
+ import { mergeProps, useRender } from "@base-ui/react";
5
+ //#region src/components/layout/group/group.tsx
6
+ const splitVariantProps = createSplitProps();
7
+ /**
8
+ * Agrupa elementos lado a lado ou em coluna, com espaço entre eles ou colados: botões
9
+ * relacionados, um campo com um botão, o addon de um `InputGroup`. Os filhos esticam na altura
10
+ * (ou na largura, em coluna) do maior.
11
+ *
12
+ * - Com `attached`, o grupo tira os cantos de dentro dos filhos diretos e sobrepõe as bordas
13
+ * (o mecanismo está no `groupVariants`). Um filho que desenha a borda um nível abaixo dele
14
+ * (um `InputGroup` com addon) não tem os cantos de dentro ajustados.
15
+ * - O `grow` ocupa a linha toda e divide a largura em partes iguais.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <Group attached>
20
+ * <Button variant="outline">Dia</Button>
21
+ * <Button variant="outline">Semana</Button>
22
+ * <Button variant="outline">Mês</Button>
23
+ * </Group>
24
+ *
25
+ * <Group attached>
26
+ * <InputGroup>
27
+ * <Input aria-label="Cupom" />
28
+ * </InputGroup>
29
+ *
30
+ * <Button>Aplicar</Button>
31
+ * </Group>
32
+ * ```
33
+ */
34
+ const Group = (props) => {
35
+ const [variantProps, elementProps] = splitVariantProps(props, [
36
+ "attached",
37
+ "orientation",
38
+ "grow"
39
+ ]);
40
+ const { render, className, ...rest } = elementProps;
41
+ const baseProps = {
42
+ "data-component": "Group",
43
+ className: mergeTwClassNames(groupVariants(variantProps), className)
44
+ };
45
+ return useRender({
46
+ render,
47
+ defaultTagName: "div",
48
+ props: mergeProps(baseProps, rest)
49
+ });
50
+ };
51
+ Group.displayName = "Group";
52
+ //#endregion
53
+ export { Group };
54
+
55
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","names":[],"sources":["../../../../src/components/layout/group/group.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport {\n createSplitProps,\n type MergeOverride,\n} from '@lucasbernardosn/ts-utils';\nimport { mergeTwClassNames } from '#utils';\nimport { type GroupVariants, groupVariants } from './group-variants';\n\nexport type GroupProps = MergeOverride<\n useRender.ComponentProps<'div'>,\n GroupVariants\n>;\n\nconst splitVariantProps = createSplitProps<GroupVariants>();\n\n/**\n * Agrupa elementos lado a lado ou em coluna, com espaço entre eles ou colados: botões\n * relacionados, um campo com um botão, o addon de um `InputGroup`. Os filhos esticam na altura\n * (ou na largura, em coluna) do maior.\n *\n * - Com `attached`, o grupo tira os cantos de dentro dos filhos diretos e sobrepõe as bordas\n * (o mecanismo está no `groupVariants`). Um filho que desenha a borda um nível abaixo dele\n * (um `InputGroup` com addon) não tem os cantos de dentro ajustados.\n * - O `grow` ocupa a linha toda e divide a largura em partes iguais.\n *\n * @example\n * ```tsx\n * <Group attached>\n * <Button variant=\"outline\">Dia</Button>\n * <Button variant=\"outline\">Semana</Button>\n * <Button variant=\"outline\">Mês</Button>\n * </Group>\n *\n * <Group attached>\n * <InputGroup>\n * <Input aria-label=\"Cupom\" />\n * </InputGroup>\n *\n * <Button>Aplicar</Button>\n * </Group>\n * ```\n */\nexport const Group = (props: GroupProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, [\n 'attached',\n 'orientation',\n 'grow',\n ]);\n\n const { render, className, ...rest } = elementProps;\n\n const baseProps = {\n 'data-component': 'Group',\n className: mergeTwClassNames(groupVariants(variantProps), className),\n };\n\n return useRender({\n render,\n defaultTagName: 'div',\n props: mergeProps(baseProps, rest),\n });\n};\n\nGroup.displayName = 'Group';\n"],"mappings":";;;;;AAaA,MAAM,oBAAoB,iBAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6B1D,MAAa,SAAS,UAAsB;CAC1C,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO;EAC5D;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,QAAQ,WAAW,GAAG,SAAS;CAEvC,MAAM,YAAY;EAChB,kBAAkB;EAClB,WAAW,kBAAkB,cAAc,YAAY,GAAG,SAAS;CACrE;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,MAAM,cAAc"}
@@ -0,0 +1,3 @@
1
+ import { GroupVariants } from "./group-variants.js";
2
+ import { Group, GroupProps } from "./group.js";
3
+ export { Group, type GroupProps, type GroupVariants };
@@ -0,0 +1,2 @@
1
+ import { Group } from "./group.js";
2
+ export { Group };
@@ -1,6 +1,17 @@
1
+ import { MergeOverride } from "@lucasbernardosn/ts-utils";
1
2
  import { ScrollArea } from "@base-ui/react/scroll-area";
2
3
  //#region src/components/layout/scroll-area/scroll-area-root.d.ts
3
- export type ScrollAreaRootProps = ScrollArea.Root.Props;
4
+ export type ScrollAreaRootProps = MergeOverride<ScrollArea.Root.Props, {
5
+ /**
6
+ * Quando as barras aparecem. Com `'auto'`, no hover e na rolagem. Com `'always'`, ficam sempre
7
+ * visíveis com mouse, com a trilha de 16px; no toque, continuam sumindo. Serve a uma área de
8
+ * dados, em que a barra mostra a posição e que há mais conteúdo ao lado. Vale para as barras
9
+ * filhas diretas do `Root`, não para as de um `ScrollArea` aninhado.
10
+ *
11
+ * @default 'auto'
12
+ */
13
+ scrollbars?: 'auto' | 'always';
14
+ }>;
4
15
  export type ScrollAreaRootState = ScrollArea.Root.State;
5
16
  /**
6
17
  * Agrupa as partes e serve de referência de posição para as barras. **Não declara tamanho**:
@@ -14,9 +25,11 @@ export type ScrollAreaRootState = ScrollArea.Root.State;
14
25
  *
15
26
  * | Variável | Controla | Padrão |
16
27
  * | --- | --- | --- |
17
- * | `--scroll-area-scrollbar-size` | espessura da trilha | 4px no toque, 6px com mouse |
28
+ * | `--scroll-area-scrollbar-size` | espessura da trilha | 4px no toque, 12px com mouse, 16px com mouse e `scrollbars="always"` |
18
29
  * | `--scroll-area-scrollbar-inset` | recuo da trilha até a borda | 2px |
19
- * | `--scroll-area-thumb-size` | espessura do polegar na trilha | a trilha toda |
30
+ * | `--scroll-area-thumb-size` | espessura do polegar na trilha | a trilha toda no toque, 6px com mouse |
31
+ *
32
+ * A visibilidade e a espessura de `scrollbars="always"` são explicadas no `Scrollbar`.
20
33
  *
21
34
  * Como funciona:
22
35
  * 1. o `Root` zera as três com `initial` — assim um `ScrollArea` aninhado não herda os valores
@@ -14,9 +14,11 @@ import { ScrollArea } from "@base-ui/react/scroll-area";
14
14
  *
15
15
  * | Variável | Controla | Padrão |
16
16
  * | --- | --- | --- |
17
- * | `--scroll-area-scrollbar-size` | espessura da trilha | 4px no toque, 6px com mouse |
17
+ * | `--scroll-area-scrollbar-size` | espessura da trilha | 4px no toque, 12px com mouse, 16px com mouse e `scrollbars="always"` |
18
18
  * | `--scroll-area-scrollbar-inset` | recuo da trilha até a borda | 2px |
19
- * | `--scroll-area-thumb-size` | espessura do polegar na trilha | a trilha toda |
19
+ * | `--scroll-area-thumb-size` | espessura do polegar na trilha | a trilha toda no toque, 6px com mouse |
20
+ *
21
+ * A visibilidade e a espessura de `scrollbars="always"` são explicadas no `Scrollbar`.
20
22
  *
21
23
  * Como funciona:
22
24
  * 1. o `Root` zera as três com `initial` — assim um `ScrollArea` aninhado não herda os valores
@@ -32,9 +34,10 @@ import { ScrollArea } from "@base-ui/react/scroll-area";
32
34
  * ```
33
35
  */
34
36
  const ScrollAreaRoot = (props) => {
35
- const { className, ...rest } = props;
37
+ const { className, scrollbars, ...rest } = props;
36
38
  return /* @__PURE__ */ jsx(ScrollArea.Root, {
37
39
  "data-component": "ScrollArea.Root",
40
+ "data-scrollbars": scrollbars === "always" ? "always" : void 0,
38
41
  className: mergeStateClassNames([
39
42
  "overflow-hidden",
40
43
  "[--scroll-area-scrollbar-size:initial]",
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-root.js","names":["BaseScrollArea"],"sources":["../../../../src/components/layout/scroll-area/scroll-area-root.tsx"],"sourcesContent":["import { ScrollArea as BaseScrollArea } from '@base-ui/react/scroll-area';\nimport { mergeStateClassNames } from '#utils';\n\nexport type ScrollAreaRootProps = BaseScrollArea.Root.Props;\n\nexport type ScrollAreaRootState = BaseScrollArea.Root.State;\n\n/**\n * Agrupa as partes e serve de referência de posição para as barras. **Não declara tamanho**:\n * com altura definida a área rola; sem altura ela cresce com o conteúdo e quem rola é o\n * contêiner de cima. Altura e largura (`h-72`, `flex-1`, `md:h-52`) ficam com quem usa.\n *\n * #### Personalização das barras\n *\n * Por variável CSS na `className` do `Root`. As barras herdam — inclusive as de\n * `ScrollArea.Bars`, que não recebe props.\n *\n * | Variável | Controla | Padrão |\n * | --- | --- | --- |\n * | `--scroll-area-scrollbar-size` | espessura da trilha | 4px no toque, 6px com mouse |\n * | `--scroll-area-scrollbar-inset` | recuo da trilha até a borda | 2px |\n * | `--scroll-area-thumb-size` | espessura do polegar na trilha | a trilha toda |\n *\n * Como funciona:\n * 1. o `Root` zera as três com `initial` — assim um `ScrollArea` aninhado não herda os valores\n * do de fora;\n * 2. `Scrollbar` e `Thumb` leem cada uma com um padrão no `var()`: é ali que os valores padrão\n * moram, e eles valem enquanto a variável estiver zerada;\n * 3. a classe de quem usa substitui o `initial`, porque o `mergeTwClassNames` descarta a classe\n * conflitante anterior.\n *\n * @example\n * ```tsx\n * <ScrollArea.Root className=\"h-72 [--scroll-area-scrollbar-size:--spacing(2.5)]\">\n * ```\n */\nexport const ScrollAreaRoot = (props: ScrollAreaRootProps) => {\n const { className, ...rest } = props;\n\n return (\n <BaseScrollArea.Root\n data-component=\"ScrollArea.Root\"\n className={mergeStateClassNames(\n [\n // Zera o piso automático de item flex/grid: `flex-1` basta para encolher e rolar, sem\n // `min-h-0`/`min-w-0`. Também recorta os cantos do `rounded-*` e impede que um\n // decorativo vazado dê scroll à página (no Chrome Android, a barra de endereço passa a\n // recolher). `overflow-clip` recortaria, mas não zera o piso.\n //\n // Custo: sem altura, numa coluna flex que não comporta os filhos, o `Root` encolhe e\n // rola em vez de crescer. `shrink-0` devolve o crescimento.\n 'overflow-hidden',\n\n // Ver \"Personalização das barras\" acima.\n '[--scroll-area-scrollbar-size:initial]',\n '[--scroll-area-scrollbar-inset:initial]',\n '[--scroll-area-thumb-size:initial]',\n\n // Anel do `Viewport` (`focusRing`), pintado aqui porque a máscara do `fade` apagaria o\n // que o viewport pintasse. A utility dispara pelo `data-focus-ring` do filho.\n 'focus-ring-inside',\n 'ring-gray-12',\n ],\n className,\n )}\n {...rest}\n />\n );\n};\n\nScrollAreaRoot.displayName = 'ScrollArea.Root';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAa,kBAAkB,UAA+B;CAC5D,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,OACE,oBAACA,WAAe,MAAhB;EACE,kBAAe;EACf,WAAW,qBACT;GAQE;GAGA;GACA;GACA;GAIA;GACA;EACF,GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,eAAe,cAAc"}
1
+ {"version":3,"file":"scroll-area-root.js","names":["BaseScrollArea"],"sources":["../../../../src/components/layout/scroll-area/scroll-area-root.tsx"],"sourcesContent":["import { ScrollArea as BaseScrollArea } from '@base-ui/react/scroll-area';\nimport type { MergeOverride } from '@lucasbernardosn/ts-utils';\nimport { mergeStateClassNames } from '#utils';\n\nexport type ScrollAreaRootProps = MergeOverride<\n BaseScrollArea.Root.Props,\n {\n /**\n * Quando as barras aparecem. Com `'auto'`, no hover e na rolagem. Com `'always'`, ficam sempre\n * visíveis com mouse, com a trilha de 16px; no toque, continuam sumindo. Serve a uma área de\n * dados, em que a barra mostra a posição e que há mais conteúdo ao lado. Vale para as barras\n * filhas diretas do `Root`, não para as de um `ScrollArea` aninhado.\n *\n * @default 'auto'\n */\n scrollbars?: 'auto' | 'always';\n }\n>;\n\nexport type ScrollAreaRootState = BaseScrollArea.Root.State;\n\n/**\n * Agrupa as partes e serve de referência de posição para as barras. **Não declara tamanho**:\n * com altura definida a área rola; sem altura ela cresce com o conteúdo e quem rola é o\n * contêiner de cima. Altura e largura (`h-72`, `flex-1`, `md:h-52`) ficam com quem usa.\n *\n * #### Personalização das barras\n *\n * Por variável CSS na `className` do `Root`. As barras herdam — inclusive as de\n * `ScrollArea.Bars`, que não recebe props.\n *\n * | Variável | Controla | Padrão |\n * | --- | --- | --- |\n * | `--scroll-area-scrollbar-size` | espessura da trilha | 4px no toque, 12px com mouse, 16px com mouse e `scrollbars=\"always\"` |\n * | `--scroll-area-scrollbar-inset` | recuo da trilha até a borda | 2px |\n * | `--scroll-area-thumb-size` | espessura do polegar na trilha | a trilha toda no toque, 6px com mouse |\n *\n * A visibilidade e a espessura de `scrollbars=\"always\"` são explicadas no `Scrollbar`.\n *\n * Como funciona:\n * 1. o `Root` zera as três com `initial` — assim um `ScrollArea` aninhado não herda os valores\n * do de fora;\n * 2. `Scrollbar` e `Thumb` leem cada uma com um padrão no `var()`: é ali que os valores padrão\n * moram, e eles valem enquanto a variável estiver zerada;\n * 3. a classe de quem usa substitui o `initial`, porque o `mergeTwClassNames` descarta a classe\n * conflitante anterior.\n *\n * @example\n * ```tsx\n * <ScrollArea.Root className=\"h-72 [--scroll-area-scrollbar-size:--spacing(2.5)]\">\n * ```\n */\nexport const ScrollAreaRoot = (props: ScrollAreaRootProps) => {\n const { className, scrollbars, ...rest } = props;\n\n return (\n <BaseScrollArea.Root\n data-component=\"ScrollArea.Root\"\n data-scrollbars={scrollbars === 'always' ? 'always' : undefined}\n className={mergeStateClassNames(\n [\n // Zera o piso automático de item flex/grid: `flex-1` basta para encolher e rolar, sem\n // `min-h-0`/`min-w-0`. Também recorta os cantos do `rounded-*` e impede que um\n // decorativo vazado dê scroll à página (no Chrome Android, a barra de endereço passa a\n // recolher). `overflow-clip` recortaria, mas não zera o piso.\n //\n // Custo: sem altura, numa coluna flex que não comporta os filhos, o `Root` encolhe e\n // rola em vez de crescer. `shrink-0` devolve o crescimento.\n 'overflow-hidden',\n\n // Ver \"Personalização das barras\" acima.\n '[--scroll-area-scrollbar-size:initial]',\n '[--scroll-area-scrollbar-inset:initial]',\n '[--scroll-area-thumb-size:initial]',\n\n // Anel do `Viewport` (`focusRing`), pintado aqui porque a máscara do `fade` apagaria o\n // que o viewport pintasse. A utility dispara pelo `data-focus-ring` do filho.\n 'focus-ring-inside',\n 'ring-gray-12',\n ],\n className,\n )}\n {...rest}\n />\n );\n};\n\nScrollAreaRoot.displayName = 'ScrollArea.Root';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAa,kBAAkB,UAA+B;CAC5D,MAAM,EAAE,WAAW,YAAY,GAAG,SAAS;CAE3C,OACE,oBAACA,WAAe,MAAhB;EACE,kBAAe;EACf,mBAAiB,eAAe,WAAW,WAAW,KAAA;EACtD,WAAW,qBACT;GAQE;GAGA;GACA;GACA;GAIA;GACA;EACF,GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,eAAe,cAAc"}
@@ -8,6 +8,9 @@ export type ScrollAreaScrollbarState = ScrollArea.Scrollbar.State;
8
8
  *
9
9
  * Espessura e recuo se ajustam pelas variáveis do `Root`, não por classe: um `w-*` passado aqui
10
10
  * perde para as regras `data-[orientation=…]:`, que têm especificidade maior.
11
+ *
12
+ * Com `scrollbars="always"` no `Root`, as barras filhas diretas dele ficam sempre visíveis com
13
+ * mouse, com a trilha de 16px; no toque, seguem o comportamento padrão.
11
14
  */
12
15
  export declare const ScrollAreaScrollbar: {
13
16
  (props: ScrollAreaScrollbarProps): import("react").JSX.Element;