@etus/ui 0.4.0-beta.20 → 0.4.0-beta.22

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 (235) hide show
  1. package/dist/{chunk-KBU4KJKC.js → chunk-2DFFIU44.js} +4 -4
  2. package/dist/{chunk-KBU4KJKC.js.map → chunk-2DFFIU44.js.map} +1 -1
  3. package/dist/{chunk-YMCKML6D.js → chunk-2JDLQ4VR.js} +4 -4
  4. package/dist/{chunk-YMCKML6D.js.map → chunk-2JDLQ4VR.js.map} +1 -1
  5. package/dist/{chunk-JE46MFMN.js → chunk-2LVRSLWI.js} +4 -4
  6. package/dist/{chunk-JE46MFMN.js.map → chunk-2LVRSLWI.js.map} +1 -1
  7. package/dist/{chunk-GRODCJS4.js → chunk-2VOKY2TU.js} +4 -4
  8. package/dist/{chunk-GRODCJS4.js.map → chunk-2VOKY2TU.js.map} +1 -1
  9. package/dist/{chunk-UC5J6GWG.js → chunk-3TRT6TKW.js} +6 -6
  10. package/dist/chunk-3TRT6TKW.js.map +1 -0
  11. package/dist/{chunk-UZZCEQH4.js → chunk-3XVOI4HK.js} +3 -3
  12. package/dist/{chunk-UZZCEQH4.js.map → chunk-3XVOI4HK.js.map} +1 -1
  13. package/dist/{chunk-WGKOYZRI.js → chunk-4S6CPTSO.js} +5 -5
  14. package/dist/chunk-4S6CPTSO.js.map +1 -0
  15. package/dist/{chunk-GVNG5ME6.js → chunk-6CO3FRGG.js} +201 -17
  16. package/dist/chunk-6CO3FRGG.js.map +1 -0
  17. package/dist/chunk-7MJS37Q4.js +135 -0
  18. package/dist/chunk-7MJS37Q4.js.map +1 -0
  19. package/dist/{chunk-QXET2TML.js → chunk-A33MLHXO.js} +3 -3
  20. package/dist/{chunk-QXET2TML.js.map → chunk-A33MLHXO.js.map} +1 -1
  21. package/dist/{chunk-STADVFL2.js → chunk-A6BDDZ27.js} +3 -3
  22. package/dist/{chunk-STADVFL2.js.map → chunk-A6BDDZ27.js.map} +1 -1
  23. package/dist/{chunk-WSDWJX4Y.js → chunk-AGXEGVSY.js} +3 -3
  24. package/dist/{chunk-WSDWJX4Y.js.map → chunk-AGXEGVSY.js.map} +1 -1
  25. package/dist/{chunk-R42LSLJL.js → chunk-AOLVER6U.js} +3 -3
  26. package/dist/{chunk-R42LSLJL.js.map → chunk-AOLVER6U.js.map} +1 -1
  27. package/dist/{chunk-YMQDTTO7.js → chunk-CEUARW3D.js} +3 -3
  28. package/dist/{chunk-YMQDTTO7.js.map → chunk-CEUARW3D.js.map} +1 -1
  29. package/dist/{chunk-LDK6ADKM.js → chunk-DZV32N5V.js} +4 -4
  30. package/dist/{chunk-LDK6ADKM.js.map → chunk-DZV32N5V.js.map} +1 -1
  31. package/dist/{chunk-2SUZS6GZ.js → chunk-E5UFATRY.js} +11 -3
  32. package/dist/chunk-E5UFATRY.js.map +1 -0
  33. package/dist/{chunk-RQBYBBMP.js → chunk-EINYBB7T.js} +5 -5
  34. package/dist/{chunk-RQBYBBMP.js.map → chunk-EINYBB7T.js.map} +1 -1
  35. package/dist/{chunk-4LZ53BAG.js → chunk-EKKJXJX7.js} +4 -2
  36. package/dist/chunk-EKKJXJX7.js.map +1 -0
  37. package/dist/{chunk-4OWRNWHW.js → chunk-FCVFYUCL.js} +14 -5
  38. package/dist/chunk-FCVFYUCL.js.map +1 -0
  39. package/dist/{chunk-6QVXMYKH.js → chunk-FGTYI4ZG.js} +3 -3
  40. package/dist/{chunk-6QVXMYKH.js.map → chunk-FGTYI4ZG.js.map} +1 -1
  41. package/dist/{chunk-6G5QK3SU.js → chunk-FLXU5LWR.js} +44 -4
  42. package/dist/chunk-FLXU5LWR.js.map +1 -0
  43. package/dist/{chunk-P4WMDGAQ.js → chunk-G5JO3Q3K.js} +3 -3
  44. package/dist/{chunk-P4WMDGAQ.js.map → chunk-G5JO3Q3K.js.map} +1 -1
  45. package/dist/{chunk-RMJVCJ6U.js → chunk-GKG2LRGY.js} +6 -6
  46. package/dist/chunk-GKG2LRGY.js.map +1 -0
  47. package/dist/{chunk-N7VMQWM3.js → chunk-GN6B4W3G.js} +4 -4
  48. package/dist/{chunk-N7VMQWM3.js.map → chunk-GN6B4W3G.js.map} +1 -1
  49. package/dist/chunk-GX2VJT7D.js +136 -0
  50. package/dist/chunk-GX2VJT7D.js.map +1 -0
  51. package/dist/{chunk-MNYU5MHO.js → chunk-H4KC2YSL.js} +5 -5
  52. package/dist/{chunk-MNYU5MHO.js.map → chunk-H4KC2YSL.js.map} +1 -1
  53. package/dist/{chunk-GLHKHYJY.js → chunk-IARO2PPN.js} +55 -15
  54. package/dist/chunk-IARO2PPN.js.map +1 -0
  55. package/dist/{chunk-ELRIFGMN.js → chunk-JWXZFGNT.js} +30 -6
  56. package/dist/chunk-JWXZFGNT.js.map +1 -0
  57. package/dist/{chunk-Y4FEW7SR.js → chunk-K5RHYIFF.js} +16 -6
  58. package/dist/chunk-K5RHYIFF.js.map +1 -0
  59. package/dist/{chunk-T3LWBCVR.js → chunk-LKCOHB3C.js} +36 -3
  60. package/dist/chunk-LKCOHB3C.js.map +1 -0
  61. package/dist/{chunk-7PX3WBR3.js → chunk-LWIIO75I.js} +5 -3
  62. package/dist/chunk-LWIIO75I.js.map +1 -0
  63. package/dist/{chunk-U7TPJMGY.js → chunk-MR3IPJAO.js} +6 -2
  64. package/dist/chunk-MR3IPJAO.js.map +1 -0
  65. package/dist/chunk-MVL4DVRW.js +177 -0
  66. package/dist/chunk-MVL4DVRW.js.map +1 -0
  67. package/dist/{chunk-L4OQ6BJ5.js → chunk-N3DBRKUS.js} +3 -3
  68. package/dist/{chunk-L4OQ6BJ5.js.map → chunk-N3DBRKUS.js.map} +1 -1
  69. package/dist/{chunk-TIPKU427.js → chunk-N7DAU4LE.js} +3 -3
  70. package/dist/{chunk-TIPKU427.js.map → chunk-N7DAU4LE.js.map} +1 -1
  71. package/dist/{chunk-ZVSMLMMS.js → chunk-NORI6ECA.js} +44 -4
  72. package/dist/chunk-NORI6ECA.js.map +1 -0
  73. package/dist/{chunk-NLPVF34P.js → chunk-NT4GLWNR.js} +14 -9
  74. package/dist/chunk-NT4GLWNR.js.map +1 -0
  75. package/dist/{chunk-7AR5QRRX.js → chunk-NZNAR4HJ.js} +27 -11
  76. package/dist/chunk-NZNAR4HJ.js.map +1 -0
  77. package/dist/{chunk-TNSMTINE.js → chunk-OJIFG4LW.js} +3 -3
  78. package/dist/{chunk-TNSMTINE.js.map → chunk-OJIFG4LW.js.map} +1 -1
  79. package/dist/{chunk-PTXC4KPQ.js → chunk-OSHGYI2O.js} +4 -4
  80. package/dist/{chunk-PTXC4KPQ.js.map → chunk-OSHGYI2O.js.map} +1 -1
  81. package/dist/chunk-OW5R4KST.js +108 -0
  82. package/dist/chunk-OW5R4KST.js.map +1 -0
  83. package/dist/{chunk-QJOWG2D4.js → chunk-PVF23ZX2.js} +3 -3
  84. package/dist/{chunk-QJOWG2D4.js.map → chunk-PVF23ZX2.js.map} +1 -1
  85. package/dist/{chunk-KHCHATTD.js → chunk-PYCQBP4O.js} +4 -4
  86. package/dist/{chunk-KHCHATTD.js.map → chunk-PYCQBP4O.js.map} +1 -1
  87. package/dist/{chunk-KDNTSZF5.js → chunk-Q4E7OG7J.js} +3 -3
  88. package/dist/{chunk-KDNTSZF5.js.map → chunk-Q4E7OG7J.js.map} +1 -1
  89. package/dist/{chunk-KLFYTLF3.js → chunk-Q7MAQ7MO.js} +3 -3
  90. package/dist/{chunk-KLFYTLF3.js.map → chunk-Q7MAQ7MO.js.map} +1 -1
  91. package/dist/{chunk-S6BREP2G.js → chunk-QMCQIOCP.js} +21 -7
  92. package/dist/chunk-QMCQIOCP.js.map +1 -0
  93. package/dist/{chunk-SSKSWSVO.js → chunk-R2Z64IC3.js} +4 -4
  94. package/dist/{chunk-SSKSWSVO.js.map → chunk-R2Z64IC3.js.map} +1 -1
  95. package/dist/{chunk-UNHPLKMR.js → chunk-RK27HS7W.js} +3 -3
  96. package/dist/{chunk-UNHPLKMR.js.map → chunk-RK27HS7W.js.map} +1 -1
  97. package/dist/{chunk-IKLFWGFS.js → chunk-RTSAERFS.js} +7 -7
  98. package/dist/{chunk-IKLFWGFS.js.map → chunk-RTSAERFS.js.map} +1 -1
  99. package/dist/{chunk-EO4NGM5W.js → chunk-S7HXZ5T3.js} +65 -16
  100. package/dist/chunk-S7HXZ5T3.js.map +1 -0
  101. package/dist/{chunk-I5RDX6O3.js → chunk-TBPPBA3S.js} +31 -25
  102. package/dist/chunk-TBPPBA3S.js.map +1 -0
  103. package/dist/{chunk-TDANAN5A.js → chunk-TD2EFGHO.js} +7 -3
  104. package/dist/chunk-TD2EFGHO.js.map +1 -0
  105. package/dist/{chunk-3R6MY3YJ.js → chunk-TVAIT3F5.js} +3 -3
  106. package/dist/{chunk-3R6MY3YJ.js.map → chunk-TVAIT3F5.js.map} +1 -1
  107. package/dist/{chunk-VHJ6ALIE.js → chunk-TX4GUAZ6.js} +11 -3
  108. package/dist/chunk-TX4GUAZ6.js.map +1 -0
  109. package/dist/{chunk-7XJQYAGY.js → chunk-U55YU7DB.js} +22 -6
  110. package/dist/chunk-U55YU7DB.js.map +1 -0
  111. package/dist/{chunk-5GV4LDX7.js → chunk-VI3QWOII.js} +4 -2
  112. package/dist/chunk-VI3QWOII.js.map +1 -0
  113. package/dist/{chunk-PXR6CZIL.js → chunk-VYCXCOUH.js} +3 -3
  114. package/dist/{chunk-PXR6CZIL.js.map → chunk-VYCXCOUH.js.map} +1 -1
  115. package/dist/{chunk-SKI25Q7O.js → chunk-W72PXQDH.js} +4 -4
  116. package/dist/{chunk-SKI25Q7O.js.map → chunk-W72PXQDH.js.map} +1 -1
  117. package/dist/{chunk-4SFBDK4E.js → chunk-WTKHA2NF.js} +3 -3
  118. package/dist/{chunk-4SFBDK4E.js.map → chunk-WTKHA2NF.js.map} +1 -1
  119. package/dist/{chunk-KXJ3SEW7.js → chunk-YNZ6T4IU.js} +13 -5
  120. package/dist/chunk-YNZ6T4IU.js.map +1 -0
  121. package/dist/{chunk-7QEFKWUR.js → chunk-YZBCJDYO.js} +4 -4
  122. package/dist/{chunk-7QEFKWUR.js.map → chunk-YZBCJDYO.js.map} +1 -1
  123. package/dist/{chunk-PVIIIQJI.js → chunk-ZTD3QXLY.js} +4 -4
  124. package/dist/{chunk-PVIIIQJI.js.map → chunk-ZTD3QXLY.js.map} +1 -1
  125. package/dist/{chunk-HHWUROMA.js → chunk-ZZFCKHE2.js} +4 -4
  126. package/dist/{chunk-HHWUROMA.js.map → chunk-ZZFCKHE2.js.map} +1 -1
  127. package/dist/components/advanced/Calendar/index.js +3 -3
  128. package/dist/components/advanced/Command/index.js +2 -2
  129. package/dist/components/advanced/EventCalendar/index.js +3 -3
  130. package/dist/components/advanced/FilterBuilder/index.js +5 -5
  131. package/dist/components/advanced/MarkdownEditor/index.js +3 -3
  132. package/dist/components/advanced/ReportBuilder/index.js +4 -4
  133. package/dist/components/advanced/index.js +17 -17
  134. package/dist/components/data-display/Banner/index.js +1 -1
  135. package/dist/components/data-display/BarChart/index.js +1 -1
  136. package/dist/components/data-display/Carousel/index.js +3 -3
  137. package/dist/components/data-display/DataTable/FilterBuilder/index.js +5 -5
  138. package/dist/components/data-display/DataTable/index.js +9 -9
  139. package/dist/components/data-display/ImageGallery/index.js +4 -4
  140. package/dist/components/data-display/Item/index.js +1 -1
  141. package/dist/components/data-display/KPICard/index.js +1 -1
  142. package/dist/components/data-display/List/index.js +2 -2
  143. package/dist/components/data-display/RadarChart/index.js +1 -1
  144. package/dist/components/data-display/RadialChart/index.js +1 -1
  145. package/dist/components/data-display/index.js +35 -35
  146. package/dist/components/feedback/AlertDialog/index.js +3 -3
  147. package/dist/components/feedback/ConfirmModal/index.js +4 -4
  148. package/dist/components/feedback/Dialog/index.js +1 -1
  149. package/dist/components/feedback/ErrorPage/index.js +1 -1
  150. package/dist/components/feedback/Notification/index.js +2 -2
  151. package/dist/components/feedback/index.js +9 -9
  152. package/dist/components/forms/DatePicker/index.js +4 -4
  153. package/dist/components/forms/DateRangePicker/index.js +5 -5
  154. package/dist/components/forms/EmailInput/index.js +3 -3
  155. package/dist/components/forms/InputGroup/index.js +5 -5
  156. package/dist/components/forms/NumberInput/index.js +2 -2
  157. package/dist/components/forms/PasswordInput/index.js +3 -3
  158. package/dist/components/forms/PaymentInput/index.js +1 -1
  159. package/dist/components/forms/PhoneInput/index.js +1 -1
  160. package/dist/components/forms/RadioGroup/index.js +1 -1
  161. package/dist/components/forms/Rating/index.js +1 -1
  162. package/dist/components/forms/SearchInput/index.js +3 -3
  163. package/dist/components/forms/Switch/index.js +1 -1
  164. package/dist/components/forms/TagsInput/index.js +1 -1
  165. package/dist/components/forms/TextInput/index.js +2 -2
  166. package/dist/components/forms/URLInput/index.js +3 -3
  167. package/dist/components/forms/index.js +33 -33
  168. package/dist/components/index.js +159 -159
  169. package/dist/components/layout/Collapsible/index.js +1 -1
  170. package/dist/components/layout/index.js +5 -5
  171. package/dist/components/navigation/AccountSwitch/index.js +3 -3
  172. package/dist/components/navigation/Breadcrumb/index.js +1 -1
  173. package/dist/components/navigation/ContextMenu/index.js +1 -1
  174. package/dist/components/navigation/DropdownMenu/index.js +1 -1
  175. package/dist/components/navigation/Pagination/index.js +3 -3
  176. package/dist/components/navigation/Sidebar/index.js +8 -7
  177. package/dist/components/navigation/index.js +18 -17
  178. package/dist/components/primitives/Avatar/index.js +1 -1
  179. package/dist/components/primitives/Button/index.js +2 -2
  180. package/dist/components/primitives/ButtonGroup/index.js +1 -1
  181. package/dist/components/primitives/ConfirmButton/index.js +4 -4
  182. package/dist/components/primitives/Icon/index.js +1 -1
  183. package/dist/components/primitives/Kbd/index.js +1 -1
  184. package/dist/components/primitives/Link/index.js +1 -1
  185. package/dist/components/primitives/ProgressCircle/index.js +1 -1
  186. package/dist/components/primitives/SplitButton/index.js +2 -2
  187. package/dist/components/primitives/Text/index.js +1 -1
  188. package/dist/components/primitives/index.js +18 -18
  189. package/dist/components/workflow/ApprovalFlow/index.js +4 -4
  190. package/dist/components/workflow/CommentSystem/index.js +4 -4
  191. package/dist/components/workflow/Dashboard/index.js +3 -3
  192. package/dist/components/workflow/DashboardBuilder/index.js +5 -5
  193. package/dist/components/workflow/KanbanBoard/index.js +4 -4
  194. package/dist/components/workflow/ReportGenerator/index.js +3 -3
  195. package/dist/components/workflow/TaskStatus/index.js +2 -2
  196. package/dist/components/workflow/Wizard/index.js +3 -3
  197. package/dist/components/workflow/index.js +17 -17
  198. package/dist/hooks/index.js +1 -1
  199. package/dist/index.d.ts +322 -49
  200. package/dist/index.js +159 -159
  201. package/dist/styles.css +27 -8
  202. package/package.json +2 -2
  203. package/dist/chunk-2SUZS6GZ.js.map +0 -1
  204. package/dist/chunk-4LZ53BAG.js.map +0 -1
  205. package/dist/chunk-4OWRNWHW.js.map +0 -1
  206. package/dist/chunk-5GV4LDX7.js.map +0 -1
  207. package/dist/chunk-6G5QK3SU.js.map +0 -1
  208. package/dist/chunk-6VEQLD2P.js +0 -75
  209. package/dist/chunk-6VEQLD2P.js.map +0 -1
  210. package/dist/chunk-7AR5QRRX.js.map +0 -1
  211. package/dist/chunk-7PX3WBR3.js.map +0 -1
  212. package/dist/chunk-7XJQYAGY.js.map +0 -1
  213. package/dist/chunk-ELRIFGMN.js.map +0 -1
  214. package/dist/chunk-EO4NGM5W.js.map +0 -1
  215. package/dist/chunk-GLHKHYJY.js.map +0 -1
  216. package/dist/chunk-GVNG5ME6.js.map +0 -1
  217. package/dist/chunk-I5RDX6O3.js.map +0 -1
  218. package/dist/chunk-JUZ4JQWH.js +0 -69
  219. package/dist/chunk-JUZ4JQWH.js.map +0 -1
  220. package/dist/chunk-K4UCALQQ.js +0 -67
  221. package/dist/chunk-K4UCALQQ.js.map +0 -1
  222. package/dist/chunk-KXJ3SEW7.js.map +0 -1
  223. package/dist/chunk-NLPVF34P.js.map +0 -1
  224. package/dist/chunk-RMJVCJ6U.js.map +0 -1
  225. package/dist/chunk-S6BREP2G.js.map +0 -1
  226. package/dist/chunk-T3LWBCVR.js.map +0 -1
  227. package/dist/chunk-TDANAN5A.js.map +0 -1
  228. package/dist/chunk-U7TPJMGY.js.map +0 -1
  229. package/dist/chunk-UC5J6GWG.js.map +0 -1
  230. package/dist/chunk-VHJ6ALIE.js.map +0 -1
  231. package/dist/chunk-WGKOYZRI.js.map +0 -1
  232. package/dist/chunk-WUS45IZW.js +0 -36
  233. package/dist/chunk-WUS45IZW.js.map +0 -1
  234. package/dist/chunk-Y4FEW7SR.js.map +0 -1
  235. package/dist/chunk-ZVSMLMMS.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"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","file":"chunk-JWXZFGNT.js","sourcesContent":["import type {\n ButtonGroupContextValue,\n ButtonGroupItemProps,\n ButtonGroupProps,\n ButtonGroupSeparatorProps,\n ButtonGroupTextProps,\n} from \"./ButtonGroup.types\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Divider } from \"../Divider\"\n\n/**\n * Context for ButtonGroup prop inheritance\n * Child buttons can use useButtonGroup() to access group-level props\n */\nconst ButtonGroupContext = React.createContext<ButtonGroupContextValue | null>(null)\n\n/**\n * Hook to access ButtonGroup context values\n * Returns null if not inside a ButtonGroup\n */\nfunction useButtonGroup(): ButtonGroupContextValue | null {\n return React.use(ButtonGroupContext)\n}\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2\",\n {\n variants: {\n variant: {\n default: \"\",\n segmented:\n \"border border-[color:var(--button-group-root-border-color-default)] rounded-[var(--button-group-root-radius)] shadow-[var(--button-group-root-shadow)] overflow-clip isolate [&>*:not(:first-child)]:rounded-none [&>*:first-child]:rounded-l-[var(--button-group-root-radius)] [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-r-[var(--button-group-root-radius)] [&>*:last-child]:rounded-l-none\",\n primary:\n \"border border-[color:var(--button-group-root-border-color-primary)] bg-[color:var(--button-group-root-bg-primary)] text-[color:var(--button-group-root-fg-primary)] rounded-[var(--button-group-root-radius)] shadow-[var(--button-group-root-shadow)] overflow-clip isolate [&>*:not(:first-child)]:rounded-none [&>*:first-child]:rounded-l-[var(--button-group-root-radius)] [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-r-[var(--button-group-root-radius)] [&>*:last-child]:rounded-l-none\",\n },\n orientation: {\n horizontal: \"\",\n vertical: \"flex-col\",\n },\n // Figma \"Type\" (1265:2984): Segmented = colado (fusão de bordas, o\n // attached de hoje); Default = botões SOLTOS com gap de 4px e radius\n // próprio (\"detached\"). O visual do style (Default/Primary) no\n // detached vem dos próprios filhos (ex.: Button variant=\"primary\")\n type: {\n attached: \"\",\n detached: \"gap-1\",\n },\n },\n compoundVariants: [\n // Fusão de bordas/radius entre filhos — só no attached\n {\n orientation: \"horizontal\",\n type: \"attached\",\n className:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n },\n {\n orientation: \"vertical\",\n type: \"attached\",\n className:\n \"[&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n // Segmented variant removes default border handling (items have their own dividers)\n {\n variant: \"segmented\",\n orientation: \"horizontal\",\n type: \"attached\",\n className:\n \"[&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:border-r [&>*:not(:last-child)]:border-border\",\n },\n {\n variant: \"segmented\",\n orientation: \"vertical\",\n type: \"attached\",\n className:\n \"[&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:border-b [&>*:not(:last-child)]:border-border\",\n },\n ],\n defaultVariants: {\n variant: \"default\",\n orientation: \"horizontal\",\n type: \"attached\",\n },\n }\n)\n\nconst buttonGroupItemVariants = cva(\n \"inline-flex items-center justify-center gap-[var(--button-group-item-gap)] leading-[length:var(--button-group-item-line-height)] font-[var(--button-group-item-font-weight)] transition-colors outline-none whitespace-nowrap [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-5 [&_svg]:shrink-0 focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset disabled:pointer-events-none disabled:text-muted-foreground\",\n {\n variants: {\n size: {\n sm: \"h-[var(--button-group-item-height-sm)] text-[length:var(--button-group-item-font-size-sm)]\",\n md: \"h-[var(--button-group-item-height-md)] text-[length:var(--button-group-item-font-size-md)]\",\n lg: \"h-[var(--button-group-item-height-lg)] text-[length:var(--button-group-item-font-size-lg)]\",\n },\n iconMode: {\n none: \"\",\n leading: \"\",\n dot: \"\",\n only: \"\",\n },\n current: {\n true: \"bg-[color:var(--button-group-item-background-active)]\",\n false: \"bg-[color:var(--button-group-item-background)] hover:bg-[color:var(--button-group-item-background-hover)]\",\n },\n },\n compoundVariants: [\n // Padding pairs per size × iconMode (only is icon-only, gets symmetric px)\n { size: \"sm\", iconMode: \"none\", className: \"px-[var(--button-group-item-padding-x-sm)] py-[var(--button-group-item-padding-y-sm)]\" },\n { size: \"sm\", iconMode: \"leading\", className: \"pl-2.5 pr-[var(--button-group-item-padding-x-sm)] py-[var(--button-group-item-padding-y-sm)]\" },\n { size: \"sm\", iconMode: \"dot\", className: \"px-[var(--button-group-item-padding-x-sm)] py-[var(--button-group-item-padding-y-sm)]\" },\n { size: \"sm\", iconMode: \"only\", className: \"px-2 py-[var(--button-group-item-padding-y-sm)]\" },\n { size: \"md\", iconMode: \"none\", className: \"px-[var(--button-group-item-padding-x-md)] py-[var(--button-group-item-padding-y-md)]\" },\n { size: \"md\", iconMode: \"leading\", className: \"pl-3 pr-[var(--button-group-item-padding-x-md)] py-[var(--button-group-item-padding-y-md)]\" },\n { size: \"md\", iconMode: \"dot\", className: \"px-[var(--button-group-item-padding-x-md)] py-[var(--button-group-item-padding-y-md)]\" },\n { size: \"md\", iconMode: \"only\", className: \"px-2.5 py-[var(--button-group-item-padding-y-md)]\" },\n { size: \"lg\", iconMode: \"none\", className: \"px-[var(--button-group-item-padding-x-lg)] py-[var(--button-group-item-padding-y-lg)]\" },\n { size: \"lg\", iconMode: \"leading\", className: \"pl-3.5 pr-[var(--button-group-item-padding-x-lg)] py-[var(--button-group-item-padding-y-lg)]\" },\n { size: \"lg\", iconMode: \"dot\", className: \"px-[var(--button-group-item-padding-x-lg)] py-[var(--button-group-item-padding-y-lg)]\" },\n { size: \"lg\", iconMode: \"only\", className: \"px-3 py-[var(--button-group-item-padding-y-lg)]\" },\n ],\n defaultVariants: {\n size: \"md\",\n iconMode: \"none\",\n current: false,\n },\n }\n)\n\nfunction ButtonGroup({\n className,\n orientation,\n variant,\n type,\n size,\n buttonVariant,\n disabled,\n children,\n ...props\n}: ButtonGroupProps) {\n const contextValue = React.useMemo<ButtonGroupContextValue>(\n () => ({ size, buttonVariant, disabled }),\n [size, buttonVariant, disabled]\n )\n\n return (\n <ButtonGroupContext value={contextValue}>\n <div\n className={cn(buttonGroupVariants({ orientation, variant, type }), className)}\n data-orientation={orientation}\n data-slot=\"button-group\"\n data-type={type}\n data-variant={variant}\n role=\"group\"\n {...props}\n >\n {children}\n </div>\n </ButtonGroupContext>\n )\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: ButtonGroupTextProps) {\n const Comp = asChild ? Slot : \"div\"\n\n return (\n <Comp\n className={cn(\n \"bg-[color:var(--button-group-text-background)] flex items-center gap-2 rounded-[var(--button-group-root-radius)] border px-[var(--button-group-text-padding-x)] text-[length:var(--button-group-text-font-size)] font-[var(--button-group-text-font-weight)] shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n data-slot=\"button-group-text\"\n {...props}\n />\n )\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: ButtonGroupSeparatorProps) {\n return (\n <Divider\n className={cn(\n \"bg-[color:var(--button-group-separator-color)] relative !m-0 self-stretch data-[orientation=vertical]:h-auto\",\n className\n )}\n data-slot=\"button-group-separator\"\n orientation={orientation}\n {...props}\n />\n )\n}\n\n/**\n * ButtonGroupItem - Individual segment in a segmented button group\n * Use within ButtonGroup variant=\"segmented\"\n */\nfunction ButtonGroupItem({\n className,\n current = false,\n iconMode = \"none\",\n icon,\n dot,\n children,\n disabled,\n size = \"md\",\n ...props\n}: ButtonGroupItemProps) {\n // Determine effective icon mode based on props\n const effectiveIconMode = icon && !children ? \"only\" : dot ? \"dot\" : icon ? \"leading\" : iconMode\n\n return (\n <button\n className={cn(\n buttonGroupItemVariants({\n size,\n iconMode: effectiveIconMode,\n current,\n }),\n className\n )}\n data-current={current}\n data-slot=\"button-group-item\"\n disabled={disabled}\n type=\"button\"\n {...props}\n >\n {/* Status dot */}\n {dot && (\n <span\n className={cn(\n \"size-2 rounded-full shrink-0\",\n typeof dot === \"string\" ? dot : \"bg-success\"\n )}\n data-slot=\"button-group-item-dot\"\n />\n )}\n\n {/* Leading icon */}\n {icon && effectiveIconMode !== \"dot\" && (\n <span className=\"shrink-0\" data-slot=\"button-group-item-icon\">\n {icon}\n </span>\n )}\n\n {/* Text content */}\n {children && effectiveIconMode !== \"only\" && (\n <span data-slot=\"button-group-item-text\">{children}</span>\n )}\n </button>\n )\n}\n\nexport {\n ButtonGroup,\n ButtonGroupContext,\n ButtonGroupItem,\n buttonGroupItemVariants,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n useButtonGroup,\n}\n"]}
@@ -28,12 +28,19 @@ var linkVariants = cva(
28
28
  always: "underline underline-offset-4",
29
29
  hover: "hover:underline underline-offset-4",
30
30
  none: "no-underline hover:no-underline"
31
+ },
32
+ // Figma State=Disabled (1376:4896, todas as cores): fg status-disabled;
33
+ // vem depois de variant no cn, então vence a cor visual
34
+ disabled: {
35
+ true: "pointer-events-none text-[color:var(--status-disabled-foreground)] no-underline hover:no-underline",
36
+ false: ""
31
37
  }
32
38
  },
33
39
  defaultVariants: {
34
40
  variant: "default",
35
41
  size: "inherit",
36
- underline: "hover"
42
+ underline: "hover",
43
+ disabled: false
37
44
  },
38
45
  compoundVariants: [
39
46
  // inline variant always has underline, override underline prop
@@ -55,6 +62,7 @@ function Link({
55
62
  size,
56
63
  underline,
57
64
  asChild = false,
65
+ disabled = false,
58
66
  external = false,
59
67
  leftIcon,
60
68
  rightIcon,
@@ -104,13 +112,15 @@ function Link({
104
112
  return /* @__PURE__ */ jsx(
105
113
  Comp,
106
114
  {
107
- className: cn(linkVariants({ variant, size, underline }), className),
115
+ "aria-disabled": disabled || void 0,
116
+ className: cn(linkVariants({ variant, size, underline, disabled }), className),
117
+ "data-disabled": disabled ? "" : void 0,
108
118
  "data-id": dataId,
109
119
  "data-slot": "link",
110
- href,
120
+ href: disabled && !asChild ? void 0 : href,
111
121
  rel: external ? "noopener noreferrer" : rel,
112
122
  target: external ? "_blank" : void 0,
113
- onClick: handleClick,
123
+ onClick: disabled ? void 0 : handleClick,
114
124
  ...props,
115
125
  children: renderContent()
116
126
  }
@@ -118,5 +128,5 @@ function Link({
118
128
  }
119
129
 
120
130
  export { Link, linkVariants };
121
- //# sourceMappingURL=chunk-Y4FEW7SR.js.map
122
- //# sourceMappingURL=chunk-Y4FEW7SR.js.map
131
+ //# sourceMappingURL=chunk-K5RHYIFF.js.map
132
+ //# sourceMappingURL=chunk-K5RHYIFF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/Link/Link.tsx"],"names":[],"mappings":"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","file":"chunk-K5RHYIFF.js","sourcesContent":["import type { LinkEventPayload, LinkProps } from \"./Link.types\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva } from \"class-variance-authority\"\nimport { ExternalLink } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst linkVariants = cva(\n \"inline-flex items-center gap-1 transition-colors outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px] [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"text-[color:var(--link-color-default)]\",\n muted: \"text-[color:var(--link-color-muted)]\",\n subtle: \"text-[color:var(--link-color-subtle)]\",\n nav: \"text-[color:var(--link-color-nav)] hover:text-[color:var(--link-color-nav-hover)]\",\n inline: \"text-[color:var(--link-color-default)] underline underline-offset-4\",\n unstyled: \"\",\n },\n size: {\n xs: \"text-[length:var(--link-text-xs)]\",\n sm: \"text-[length:var(--link-text-sm)]\",\n default: \"text-[length:var(--link-text-default)]\",\n lg: \"text-[length:var(--link-text-lg)]\",\n inherit: \"\",\n },\n underline: {\n always: \"underline underline-offset-4\",\n hover: \"hover:underline underline-offset-4\",\n none: \"no-underline hover:no-underline\",\n },\n // Figma State=Disabled (1376:4896, todas as cores): fg status-disabled;\n // vem depois de variant no cn, então vence a cor visual\n disabled: {\n true: \"pointer-events-none text-[color:var(--status-disabled-foreground)] no-underline hover:no-underline\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"inherit\",\n underline: \"hover\",\n disabled: false,\n },\n compoundVariants: [\n // inline variant always has underline, override underline prop\n {\n variant: \"inline\",\n className: \"underline underline-offset-4\",\n },\n // nav variant never has underline, override underline prop\n {\n variant: \"nav\",\n className: \"no-underline hover:no-underline\",\n },\n ],\n }\n)\n\nfunction Link({\n className,\n variant,\n size,\n underline,\n asChild = false,\n disabled = false,\n external = false,\n leftIcon,\n rightIcon,\n showExternalIcon = true,\n children,\n onClick,\n href,\n rel,\n \"data-id\": dataId,\n ...props\n}: LinkProps) {\n const Comp = asChild ? Slot : \"a\"\n\n // Create event payload for callbacks\n const createPayload = React.useCallback((): LinkEventPayload => ({\n ...(dataId ? { id: dataId } : {}),\n timestamp: Date.now(),\n isExternal: external,\n ...(href ? { href } : {}),\n }), [dataId, external, href])\n\n // Wrapped click handler that emits LinkEventPayload\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onClick?.(event, createPayload())\n },\n [onClick, createPayload]\n )\n\n // Determine if we should show the external icon\n const shouldShowExternalIcon = external && showExternalIcon && !rightIcon\n\n // Render content with icons\n const renderContent = () => {\n // If asChild, we pass children directly (Slot handles composition)\n if (asChild) {\n return children\n }\n\n return (\n <>\n {leftIcon && (\n <span aria-hidden=\"true\" data-slot=\"left-icon\">\n {leftIcon}\n </span>\n )}\n {children}\n {rightIcon && (\n <span aria-hidden=\"true\" data-slot=\"right-icon\">\n {rightIcon}\n </span>\n )}\n {shouldShowExternalIcon && (\n <>\n <span className=\"sr-only\">(opens in new tab)</span>\n <ExternalLink\n aria-hidden=\"true\"\n className=\"size-3\"\n data-slot=\"external-icon\"\n />\n </>\n )}\n </>\n )\n }\n\n return (\n <Comp\n // Âncora não tem disabled nativo: sem href vira placeholder link\n // (fora do tab order) + aria-disabled pro leitor de tela\n aria-disabled={disabled || undefined}\n className={cn(linkVariants({ variant, size, underline, disabled }), className)}\n data-disabled={disabled ? \"\" : undefined}\n data-id={dataId}\n data-slot=\"link\"\n href={disabled && !asChild ? undefined : href}\n rel={external ? \"noopener noreferrer\" : rel}\n target={external ? \"_blank\" : undefined}\n onClick={disabled ? undefined : handleClick}\n {...props}\n >\n {renderContent()}\n </Comp>\n )\n}\n\nexport { Link, linkVariants }\n"]}
@@ -103,7 +103,40 @@ var inputIconVariants = cva(
103
103
  }
104
104
  }
105
105
  );
106
+ var inputCompositionVariants = cva(
107
+ [
108
+ "flex w-full min-w-0 items-center gap-2",
109
+ "rounded-[var(--input-radius)] border transition-[color,box-shadow]",
110
+ "bg-[color:var(--input-bg-default)] border-[color:var(--input-border-default)]",
111
+ "dark:bg-input",
112
+ "hover:border-[color:var(--border-semantic-strong)]",
113
+ "focus-within:border-[color:var(--input-border-focus)] focus-within:ring-[color:var(--input-border-focus)]/20 focus-within:ring-4",
114
+ "has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:bg-[color:var(--input-bg-disabled)]",
115
+ "aria-invalid:ring-[color:var(--input-border-error)]/20 dark:aria-invalid:ring-[color:var(--input-border-error)]/40 aria-invalid:border-[color:var(--input-border-error)]"
116
+ ],
117
+ {
118
+ variants: {
119
+ size: {
120
+ xs: "h-[var(--input-size-xs-h)] px-[var(--input-size-xs-px)] text-[length:var(--input-size-xs-text)]",
121
+ sm: "h-[var(--input-size-sm-h)] px-[var(--input-size-sm-px)] text-[length:var(--input-size-sm-text)]",
122
+ md: "h-[var(--input-size-md-h)] px-[var(--input-size-md-px)] text-[length:var(--input-size-md-text)]",
123
+ lg: "h-[var(--input-size-lg-h)] px-[var(--input-size-lg-px)] text-[length:var(--input-size-lg-text)]",
124
+ xl: "h-[var(--input-size-xl-h)] px-[var(--input-size-xl-px)] text-[length:var(--input-size-xl-text)]"
125
+ },
126
+ variant: {
127
+ default: "shadow-xs",
128
+ filled: "border-transparent bg-muted",
129
+ flushed: "rounded-none border-x-0 border-t-0 border-b-[color:var(--input-border-default)] px-0",
130
+ unstyled: "border-0 bg-transparent shadow-none focus-within:ring-0"
131
+ }
132
+ },
133
+ defaultVariants: {
134
+ size: "md",
135
+ variant: "default"
136
+ }
137
+ }
138
+ );
106
139
 
107
- export { inputIconVariants, inputVariants, inputWrapperVariants };
108
- //# sourceMappingURL=chunk-T3LWBCVR.js.map
109
- //# sourceMappingURL=chunk-T3LWBCVR.js.map
140
+ export { inputCompositionVariants, inputIconVariants, inputVariants, inputWrapperVariants };
141
+ //# sourceMappingURL=chunk-LKCOHB3C.js.map
142
+ //# sourceMappingURL=chunk-LKCOHB3C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/forms/TextInput/TextInput.variants.ts"],"names":[],"mappings":"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","file":"chunk-LKCOHB3C.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Input variant styles using CVA\n */\nexport const inputVariants = cva(\n // Base styles\n [\n \"w-full min-w-0 rounded-[var(--input-radius)] border transition-[color,box-shadow] outline-none\",\n \"bg-[color:var(--input-bg-default)] text-[color:var(--input-fg-default)] border-[color:var(--input-border-default)]\",\n \"file:text-[color:var(--input-fg-default)] placeholder:text-[color:var(--input-fg-placeholder)]\",\n \"selection:bg-primary selection:text-primary-foreground\",\n \"dark:bg-input\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-[color:var(--input-bg-disabled)] disabled:text-[color:var(--input-fg-disabled)]\",\n \"hover:border-[color:var(--border-semantic-strong)]\",\n \"focus-visible:border-[color:var(--input-border-focus)] focus-visible:ring-[color:var(--input-border-focus)]/20 focus-visible:ring-4\",\n \"aria-invalid:ring-[color:var(--input-border-error)]/20 dark:aria-invalid:ring-[color:var(--input-border-error)]/40 aria-invalid:border-[color:var(--input-border-error)]\",\n ],\n {\n variants: {\n size: {\n xs: \"h-[var(--input-size-xs-h)] px-[var(--input-size-xs-px)] py-[var(--input-size-xs-py)] text-[length:var(--input-size-xs-text)]\",\n sm: \"h-[var(--input-size-sm-h)] px-[var(--input-size-sm-px)] py-[var(--input-size-sm-py)] text-[length:var(--input-size-sm-text)]\",\n md: \"h-[var(--input-size-md-h)] px-[var(--input-size-md-px)] py-[var(--input-size-md-py)] text-[length:var(--input-size-md-text)]\",\n lg: \"h-[var(--input-size-lg-h)] px-[var(--input-size-lg-px)] py-[var(--input-size-lg-py)] text-[length:var(--input-size-lg-text)]\",\n xl: \"h-[var(--input-size-xl-h)] px-[var(--input-size-xl-px)] py-[var(--input-size-xl-py)] text-[length:var(--input-size-xl-text)]\",\n },\n variant: {\n default: \"shadow-xs\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-[color:var(--input-border-default)] px-0\",\n unstyled: \"border-0 bg-transparent shadow-none focus-visible:ring-0\",\n },\n hasLeadingIcon: {\n true: \"\",\n false: \"\",\n },\n hasTrailingIcon: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n // Unstyled without icons should have no padding\n { variant: \"unstyled\", hasLeadingIcon: false, hasTrailingIcon: false, className: \"p-0\" },\n // Leading icon padding adjustments\n { size: \"xs\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-xs)]\" },\n { size: \"sm\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-sm)]\" },\n { size: \"md\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-md)]\" },\n { size: \"lg\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-lg)]\" },\n { size: \"xl\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-xl)]\" },\n // Trailing icon padding adjustments\n { size: \"xs\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-xs)]\" },\n { size: \"sm\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-sm)]\" },\n { size: \"md\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-md)]\" },\n { size: \"lg\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-lg)]\" },\n { size: \"xl\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-xl)]\" },\n ],\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n hasLeadingIcon: false,\n hasTrailingIcon: false,\n },\n }\n)\n\n/**\n * Input wrapper styles for when icons are present\n */\nexport const inputWrapperVariants = cva(\"relative w-full\")\n\n/**\n * Input icon styles using CVA\n */\nexport const inputIconVariants = cva(\n \"absolute top-1/2 -translate-y-1/2 flex items-center justify-center text-[color:var(--input-fg-icon)]\",\n {\n variants: {\n position: {\n leading: \"left-0\",\n trailing: \"right-0\",\n },\n size: {\n xs: \"size-[var(--input-icon-size-xs)]\",\n sm: \"size-[var(--input-icon-size-sm)]\",\n md: \"size-[var(--input-icon-size-md)]\",\n lg: \"size-[var(--input-icon-size-lg)]\",\n xl: \"size-[var(--input-icon-size-xl)]\",\n },\n interactive: {\n true: \"pointer-events-auto\",\n false: \"pointer-events-none\",\n },\n },\n compoundVariants: [\n // Leading icon position adjustments\n { position: \"leading\", size: \"xs\", className: \"left-[var(--input-icon-position-xs)]\" },\n { position: \"leading\", size: \"sm\", className: \"left-[var(--input-icon-position-sm)]\" },\n { position: \"leading\", size: \"md\", className: \"left-[var(--input-icon-position-md)]\" },\n { position: \"leading\", size: \"lg\", className: \"left-[var(--input-icon-position-lg)]\" },\n { position: \"leading\", size: \"xl\", className: \"left-[var(--input-icon-position-xl)]\" },\n // Trailing icon position adjustments\n { position: \"trailing\", size: \"xs\", className: \"right-[var(--input-icon-position-xs)]\" },\n { position: \"trailing\", size: \"sm\", className: \"right-[var(--input-icon-position-sm)]\" },\n { position: \"trailing\", size: \"md\", className: \"right-[var(--input-icon-position-md)]\" },\n { position: \"trailing\", size: \"lg\", className: \"right-[var(--input-icon-position-lg)]\" },\n { position: \"trailing\", size: \"xl\", className: \"right-[var(--input-icon-position-xl)]\" },\n ],\n defaultVariants: {\n position: \"leading\",\n size: \"md\",\n },\n }\n)\n\nexport type InputVariantProps = VariantProps<typeof inputVariants>\nexport type InputIconVariantProps = VariantProps<typeof inputIconVariants>\n\n/**\n * Composition container — Figma Input Type=Leading Text / Trailing Dropdown\n * (1384:8287): prefixo textual com divider e/ou dropdown no fim exigem o\n * border no CONTAINER (focus-within), com o input interno unstyled\n */\nexport const inputCompositionVariants = cva(\n [\n \"flex w-full min-w-0 items-center gap-2\",\n \"rounded-[var(--input-radius)] border transition-[color,box-shadow]\",\n \"bg-[color:var(--input-bg-default)] border-[color:var(--input-border-default)]\",\n \"dark:bg-input\",\n \"hover:border-[color:var(--border-semantic-strong)]\",\n \"focus-within:border-[color:var(--input-border-focus)] focus-within:ring-[color:var(--input-border-focus)]/20 focus-within:ring-4\",\n \"has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:bg-[color:var(--input-bg-disabled)]\",\n \"aria-invalid:ring-[color:var(--input-border-error)]/20 dark:aria-invalid:ring-[color:var(--input-border-error)]/40 aria-invalid:border-[color:var(--input-border-error)]\",\n ],\n {\n variants: {\n size: {\n xs: \"h-[var(--input-size-xs-h)] px-[var(--input-size-xs-px)] text-[length:var(--input-size-xs-text)]\",\n sm: \"h-[var(--input-size-sm-h)] px-[var(--input-size-sm-px)] text-[length:var(--input-size-sm-text)]\",\n md: \"h-[var(--input-size-md-h)] px-[var(--input-size-md-px)] text-[length:var(--input-size-md-text)]\",\n lg: \"h-[var(--input-size-lg-h)] px-[var(--input-size-lg-px)] text-[length:var(--input-size-lg-text)]\",\n xl: \"h-[var(--input-size-xl-h)] px-[var(--input-size-xl-px)] text-[length:var(--input-size-xl-text)]\",\n },\n variant: {\n default: \"shadow-xs\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-[color:var(--input-border-default)] px-0\",\n unstyled: \"border-0 bg-transparent shadow-none focus-within:ring-0\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n"]}
@@ -11,10 +11,11 @@ var textVariants = cva("", {
11
11
  display1: "text-[length:var(--typography-display-d1-font-size)] leading-[var(--typography-display-d1-line-height)] font-[number:var(--typography-display-d1-font-weight)] font-[family-name:var(--typography-display-d1-font-family)] text-[color:var(--text-color-default)]",
12
12
  display2: "text-[length:var(--typography-display-d2-font-size)] leading-[var(--typography-display-d2-line-height)] font-[number:var(--typography-display-d2-font-weight)] font-[family-name:var(--typography-display-d2-font-family)] text-[color:var(--text-color-default)]",
13
13
  display3: "text-[length:var(--typography-display-d3-font-size)] leading-[var(--typography-display-d3-line-height)] font-[number:var(--typography-display-d3-font-weight)] font-[family-name:var(--typography-display-d3-font-family)] text-[color:var(--text-color-default)]",
14
- // Paragraph — body copy at three reading sizes (p1 largest → p3 smallest).
14
+ // Paragraph — body copy at four reading sizes (p1 largest → p4 smallest, Figma Paragraph 1–4).
15
15
  p1: "text-[length:var(--typography-paragraph-p1-font-size)] leading-[var(--typography-paragraph-p1-line-height)] font-[number:var(--typography-paragraph-p1-font-weight)] text-[color:var(--text-color-default)]",
16
16
  p2: "text-[length:var(--typography-paragraph-p2-font-size)] leading-[var(--typography-paragraph-p2-line-height)] font-[number:var(--typography-paragraph-p2-font-weight)] text-[color:var(--text-color-default)]",
17
17
  p3: "text-[length:var(--typography-paragraph-p3-font-size)] leading-[var(--typography-paragraph-p3-line-height)] font-[number:var(--typography-paragraph-p3-font-weight)] text-[color:var(--text-color-default)]",
18
+ p4: "text-[length:var(--typography-paragraph-p4-font-size)] leading-[var(--typography-paragraph-p4-line-height)] font-[number:var(--typography-paragraph-p4-font-weight)] text-[color:var(--text-color-default)]",
18
19
  // Caption — small, supporting labels and metadata.
19
20
  caption1: "text-[length:var(--typography-caption-c1-font-size)] leading-[var(--typography-caption-c1-line-height)] font-[number:var(--typography-caption-c1-font-weight)] text-[color:var(--text-color-default)]",
20
21
  caption2: "text-[length:var(--typography-caption-c2-font-size)] leading-[var(--typography-caption-c2-line-height)] font-[number:var(--typography-caption-c2-font-weight)] text-[color:var(--text-color-default)]",
@@ -57,6 +58,7 @@ var PARAGRAPH_VARIANTS = /* @__PURE__ */ new Set([
57
58
  "p1",
58
59
  "p2",
59
60
  "p3",
61
+ "p4",
60
62
  "display1",
61
63
  "display2",
62
64
  "display3"
@@ -92,5 +94,5 @@ function Text({
92
94
  }
93
95
 
94
96
  export { Text, textVariants };
95
- //# sourceMappingURL=chunk-7PX3WBR3.js.map
96
- //# sourceMappingURL=chunk-7PX3WBR3.js.map
97
+ //# sourceMappingURL=chunk-LWIIO75I.js.map
98
+ //# sourceMappingURL=chunk-LWIIO75I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/Text/Text.tsx"],"names":[],"mappings":";;;;;;AAMA,IAAM,YAAA,GAAe,IAAI,EAAA,EAAI;AAAA,EAC3B,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA;AAAA,MAEP,QAAA,EACE,mQAAA;AAAA,MACF,QAAA,EACE,mQAAA;AAAA,MACF,QAAA,EACE,mQAAA;AAAA;AAAA,MAEF,EAAA,EAAI,6MAAA;AAAA,MACJ,EAAA,EAAI,6MAAA;AAAA,MACJ,EAAA,EAAI,6MAAA;AAAA,MACJ,EAAA,EAAI,6MAAA;AAAA;AAAA,MAEJ,QAAA,EACE,uMAAA;AAAA,MACF,QAAA,EACE,uMAAA;AAAA;AAAA,MAEF,IAAA,EAAM,kIAAA;AAAA,MACN,IAAA,EAAM,4HAAA;AAAA,MACN,KAAA,EAAO,0HAAA;AAAA,MACP,KAAA,EAAO,4HAAA;AAAA,MACP,KAAA,EAAO,4HAAA;AAAA,MACP,IAAA,EAAM;AAAA,KACR;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,uFAAA;AAAA,MACJ,EAAA,EAAI,uFAAA;AAAA,MACJ,IAAA,EAAM,2FAAA;AAAA,MACN,EAAA,EAAI,uFAAA;AAAA,MACJ,EAAA,EAAI,uFAAA;AAAA,MACJ,KAAA,EAAO,yFAAA;AAAA,MACP,KAAA,EAAO,yFAAA;AAAA,MACP,KAAA,EAAO;AAAA,KACT;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,MAAA,EAAQ,kCAAA;AAAA,MACR,MAAA,EAAQ,kCAAA;AAAA,MACR,QAAA,EAAU,oCAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACR;AAAA,IACA,KAAA,EAAO;AAAA;AAAA;AAAA,MAGL,OAAA,EAAS,wCAAA;AAAA,MACT,KAAA,EAAO;AAAA;AACT,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC;AAyBD,IAAM,kBAAA,uBAAyB,GAAA,CAAuC;AAAA,EACpE,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAED,SAAS,IAAA,CAAK;AAAA,EACZ,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,EAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAc;AACZ,EAAA,MAAM,eAAA,GACJ,OAAA,KAAY,MAAA,GACR,MAAA,GACA,OAAA,IAAW,kBAAA,CAAmB,GAAA,CAAI,OAAO,CAAA,GACvC,GAAA,GACA,QAAA,GACE,GAAA,GACA,MAAA;AACV,EAAA,MAAM,kBAA+B,EAAA,IAAM,eAAA;AAC3C,EAAA,MAAM,IAAA,GAAO,UAAU,IAAA,GAAO,eAAA;AAE9B,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,aAAa,EAAE,OAAA,EAAS,IAAA,EAAM,MAAA,EAAQ,OAAO,CAAA;AAAA,QAC7C,QAAA,IAAY,UAAA;AAAA,QACZ;AAAA,OACF;AAAA,MACA,WAAA,EAAU,MAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"chunk-LWIIO75I.js","sourcesContent":["import { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n // Display — high-impact, oversized type from the Figma typography scale.\n display1:\n \"text-[length:var(--typography-display-d1-font-size)] leading-[var(--typography-display-d1-line-height)] font-[number:var(--typography-display-d1-font-weight)] font-[family-name:var(--typography-display-d1-font-family)] text-[color:var(--text-color-default)]\",\n display2:\n \"text-[length:var(--typography-display-d2-font-size)] leading-[var(--typography-display-d2-line-height)] font-[number:var(--typography-display-d2-font-weight)] font-[family-name:var(--typography-display-d2-font-family)] text-[color:var(--text-color-default)]\",\n display3:\n \"text-[length:var(--typography-display-d3-font-size)] leading-[var(--typography-display-d3-line-height)] font-[number:var(--typography-display-d3-font-weight)] font-[family-name:var(--typography-display-d3-font-family)] text-[color:var(--text-color-default)]\",\n // Paragraph — body copy at four reading sizes (p1 largest → p4 smallest, Figma Paragraph 1–4).\n p1: \"text-[length:var(--typography-paragraph-p1-font-size)] leading-[var(--typography-paragraph-p1-line-height)] font-[number:var(--typography-paragraph-p1-font-weight)] text-[color:var(--text-color-default)]\",\n p2: \"text-[length:var(--typography-paragraph-p2-font-size)] leading-[var(--typography-paragraph-p2-line-height)] font-[number:var(--typography-paragraph-p2-font-weight)] text-[color:var(--text-color-default)]\",\n p3: \"text-[length:var(--typography-paragraph-p3-font-size)] leading-[var(--typography-paragraph-p3-line-height)] font-[number:var(--typography-paragraph-p3-font-weight)] text-[color:var(--text-color-default)]\",\n p4: \"text-[length:var(--typography-paragraph-p4-font-size)] leading-[var(--typography-paragraph-p4-line-height)] font-[number:var(--typography-paragraph-p4-font-weight)] text-[color:var(--text-color-default)]\",\n // Caption — small, supporting labels and metadata.\n caption1:\n \"text-[length:var(--typography-caption-c1-font-size)] leading-[var(--typography-caption-c1-line-height)] font-[number:var(--typography-caption-c1-font-weight)] text-[color:var(--text-color-default)]\",\n caption2:\n \"text-[length:var(--typography-caption-c2-font-size)] leading-[var(--typography-caption-c2-line-height)] font-[number:var(--typography-caption-c2-font-weight)] text-[color:var(--text-color-default)]\",\n // @deprecated body/lead/large/small/muted — use as variants tipográficas (p*/caption*/display*) ou o componente <Heading> p/ títulos. Removidas em v2.\n body: \"text-[length:var(--text-size-base-font-size)] leading-[var(--text-size-base-line-height)] text-[color:var(--text-color-default)]\",\n lead: \"text-[length:var(--text-size-xl-font-size)] leading-[var(--text-size-xl-line-height)] text-[color:var(--text-color-muted)]\",\n large: \"text-[length:var(--text-size-lg-font-size)] leading-[var(--text-size-lg-line-height)] font-[var(--text-weight-semibold)]\",\n small: \"text-[length:var(--text-size-sm-font-size)] leading-[var(--text-size-sm-line-height)] text-[color:var(--text-color-muted)]\",\n muted: \"text-[length:var(--text-size-sm-font-size)] leading-[var(--text-size-sm-line-height)] text-[color:var(--text-color-muted)]\",\n code: \"relative rounded-[var(--text-variant-code-radius)] bg-muted px-[var(--text-variant-code-padding-x)] py-[var(--text-variant-code-padding-y)] font-mono text-[length:var(--text-size-sm-font-size)]\",\n },\n size: {\n xs: \"text-[length:var(--text-size-xs-font-size)] leading-[var(--text-size-xs-line-height)]\",\n sm: \"text-[length:var(--text-size-sm-font-size)] leading-[var(--text-size-sm-line-height)]\",\n base: \"text-[length:var(--text-size-base-font-size)] leading-[var(--text-size-base-line-height)]\",\n lg: \"text-[length:var(--text-size-lg-font-size)] leading-[var(--text-size-lg-line-height)]\",\n xl: \"text-[length:var(--text-size-xl-font-size)] leading-[var(--text-size-xl-line-height)]\",\n \"2xl\": \"text-[length:var(--text-size-2xl-font-size)] leading-[var(--text-size-2xl-line-height)]\",\n \"3xl\": \"text-[length:var(--text-size-3xl-font-size)] leading-[var(--text-size-3xl-line-height)]\",\n \"4xl\": \"text-[length:var(--text-size-4xl-font-size)] leading-[var(--text-size-4xl-line-height)]\",\n },\n weight: {\n normal: \"font-[var(--text-weight-normal)]\",\n medium: \"font-[var(--text-weight-medium)]\",\n semibold: \"font-[var(--text-weight-semibold)]\",\n bold: \"font-[var(--text-weight-bold)]\",\n },\n color: {\n // Emits the default color (not \"\") so `color=\"default\"` actively RESETS the\n // baked color of legacy muted variants (lead/small/muted) — review fix.\n default: \"text-[color:var(--text-color-default)]\",\n muted: \"text-[color:var(--text-color-muted)]\",\n },\n },\n defaultVariants: {\n variant: \"body\",\n },\n})\n\ntype TextElement =\n | \"code\"\n | \"div\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"label\"\n | \"p\"\n | \"span\"\n\ninterface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\">,\n VariantProps<typeof textVariants> {\n as?: TextElement\n asChild?: boolean\n /** HTML for attribute, used when as=\"label\" */\n htmlFor?: string\n truncate?: boolean\n}\n\nconst PARAGRAPH_VARIANTS = new Set<NonNullable<TextProps[\"variant\"]>>([\n \"p1\",\n \"p2\",\n \"p3\",\n \"p4\",\n \"display1\",\n \"display2\",\n \"display3\",\n])\n\nfunction Text({\n className,\n variant,\n size,\n weight,\n color,\n as,\n asChild = false,\n truncate = false,\n children,\n ...props\n}: TextProps) {\n const fallbackElement: TextElement =\n variant === \"code\"\n ? \"code\"\n : variant && PARAGRAPH_VARIANTS.has(variant)\n ? \"p\"\n : truncate\n ? \"p\"\n : \"span\"\n const inferredElement: TextElement = as ?? fallbackElement\n const Comp = asChild ? Slot : inferredElement\n\n return (\n <Comp\n className={cn(\n textVariants({ variant, size, weight, color }),\n truncate && \"truncate\",\n className\n )}\n data-slot=\"text\"\n {...props}\n >\n {children}\n </Comp>\n )\n}\n\nexport { Text, type TextElement, type TextProps, textVariants }\n"]}
@@ -16,6 +16,7 @@ var avatarVariants = cva(
16
16
  default: "size-[var(--avatar-size-default)] text-[length:var(--avatar-text-default)]",
17
17
  lg: "size-[var(--avatar-size-lg)] text-[length:var(--avatar-text-lg)]",
18
18
  xl: "size-[var(--avatar-size-xl)] text-[length:var(--avatar-text-xl)]",
19
+ "2xl": "size-[var(--avatar-size-2xl)] text-[length:var(--avatar-text-2xl)]",
19
20
  "3xl": "size-[var(--avatar-size-3xl)] text-[length:var(--avatar-text-3xl)]",
20
21
  "4xl": "size-[var(--avatar-size-4xl)] text-[length:var(--avatar-text-4xl)]"
21
22
  },
@@ -246,6 +247,7 @@ var avatarGroupVariants = cva("flex", {
246
247
  default: "-space-x-3",
247
248
  lg: "-space-x-3",
248
249
  xl: "-space-x-4",
250
+ "2xl": "-space-x-4",
249
251
  "3xl": "-space-x-5",
250
252
  "4xl": "-space-x-6"
251
253
  }
@@ -379,6 +381,7 @@ var avatarAddButtonVariants = cva(
379
381
  default: "size-[var(--avatar-size-default)]",
380
382
  lg: "size-[var(--avatar-size-lg)]",
381
383
  xl: "size-[var(--avatar-size-xl)]",
384
+ "2xl": "size-[var(--avatar-size-2xl)]",
382
385
  "3xl": "size-[var(--avatar-size-3xl)]",
383
386
  "4xl": "size-[var(--avatar-size-4xl)]"
384
387
  }
@@ -399,6 +402,7 @@ function AvatarAddButton({
399
402
  default: "size-4",
400
403
  lg: "size-5",
401
404
  xl: "size-6",
405
+ "2xl": "size-6.5",
402
406
  "3xl": "size-7",
403
407
  "4xl": "size-8"
404
408
  };
@@ -456,5 +460,5 @@ function AvatarLabelGroupSkeleton({
456
460
  }
457
461
 
458
462
  export { Avatar, AvatarAddButton, AvatarBadge, AvatarFallback, AvatarGroup, AvatarImage, AvatarLabelGroup, AvatarLabelGroupSkeleton, AvatarSkeleton, AvatarStatus, avatarAddButtonVariants, avatarBadgeVariants, avatarFallbackVariants, avatarGroupVariants, avatarLabelGroupVariants, avatarStatusVariants, avatarVariants, getInitials };
459
- //# sourceMappingURL=chunk-U7TPJMGY.js.map
460
- //# sourceMappingURL=chunk-U7TPJMGY.js.map
463
+ //# sourceMappingURL=chunk-MR3IPJAO.js.map
464
+ //# sourceMappingURL=chunk-MR3IPJAO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/Avatar/Avatar.tsx","../src/components/primitives/Avatar/AvatarStatus.tsx","../src/components/primitives/Avatar/AvatarBadge.tsx","../src/components/primitives/Avatar/AvatarGroup.tsx","../src/components/primitives/Avatar/AvatarLabelGroup.tsx","../src/components/primitives/Avatar/AvatarAddButton.tsx","../src/components/primitives/Avatar/AvatarSkeleton.tsx"],"names":["cva","jsx","jsxs","iconSizes"],"mappings":"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","file":"chunk-MR3IPJAO.js","sourcesContent":["\"use client\"\n\nimport type { AvatarFallbackProps, AvatarImageProps, AvatarProps } from \"./Avatar.types\"\n\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\nimport { cva } from \"class-variance-authority\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"../../feedback/Tooltip\"\n\nconst avatarVariants = cva(\n \"relative flex shrink-0 overflow-hidden\",\n {\n variants: {\n size: {\n xs: \"size-[var(--avatar-size-xs)] text-[length:var(--avatar-text-xs)]\",\n sm: \"size-[var(--avatar-size-sm)] text-[length:var(--avatar-text-sm)]\",\n default: \"size-[var(--avatar-size-default)] text-[length:var(--avatar-text-default)]\",\n lg: \"size-[var(--avatar-size-lg)] text-[length:var(--avatar-text-lg)]\",\n xl: \"size-[var(--avatar-size-xl)] text-[length:var(--avatar-text-xl)]\",\n \"2xl\": \"size-[var(--avatar-size-2xl)] text-[length:var(--avatar-text-2xl)]\",\n \"3xl\": \"size-[var(--avatar-size-3xl)] text-[length:var(--avatar-text-3xl)]\",\n \"4xl\": \"size-[var(--avatar-size-4xl)] text-[length:var(--avatar-text-4xl)]\",\n },\n shape: {\n circle: \"rounded-[var(--avatar-radius-circle)]\",\n },\n bordered: {\n true: \"ring-2 ring-background\",\n false: \"\",\n },\n interactive: {\n true: \"cursor-pointer transition-transform hover:scale-105 focus-visible:outline-none focus-visible:ring-[length:var(--avatar-focus-ring-width)] focus-visible:ring-offset-[length:var(--avatar-focus-ring-offset)] focus-visible:ring-[color:var(--avatar-focus-ring-color)]\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n shape: \"circle\",\n bordered: false,\n interactive: false,\n },\n }\n)\n\n// Static contrast border classes for Tailwind JIT compatibility\n// Uses base-black/8 token instead of hardcoded rgba values\nconst contrastBorderClasses = {\n \"xs-circle\": \"after:absolute after:inset-0 after:rounded-full after:border-[0.5px] after:border-[color:var(--avatar-border-contrast)] after:pointer-events-none\",\n \"sm-circle\": \"after:absolute after:inset-0 after:rounded-full after:border-[0.5px] after:border-[color:var(--avatar-border-contrast)] after:pointer-events-none\",\n \"default-circle\": \"after:absolute after:inset-0 after:rounded-full after:border-[0.75px] after:border-[color:var(--avatar-border-contrast)] after:pointer-events-none\",\n \"lg-circle\": \"after:absolute after:inset-0 after:rounded-full after:border-[0.75px] after:border-[color:var(--avatar-border-contrast)] after:pointer-events-none\",\n \"xl-circle\": \"after:absolute after:inset-0 after:rounded-full after:border-[0.75px] after:border-[color:var(--avatar-border-contrast)] after:pointer-events-none\",\n} as const\n\nfunction getContrastBorderClass(size: string, shape: string): string {\n const key = `${size}-${shape}` as keyof typeof contrastBorderClasses\n return key in contrastBorderClasses ? contrastBorderClasses[key] : contrastBorderClasses[\"default-circle\"]\n}\n\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"circle\",\n bordered,\n interactive,\n contrastBorder = true,\n tooltip,\n children,\n ...props\n}: AvatarProps) {\n const avatarElement = (\n <AvatarPrimitive.Root\n className={cn(\n avatarVariants({ size, shape, bordered, interactive }),\n contrastBorder && size && shape && getContrastBorderClass(size, shape),\n className\n )}\n data-slot=\"avatar\"\n tabIndex={tooltip ? 0 : undefined}\n {...props}\n >\n {children}\n </AvatarPrimitive.Root>\n )\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n {avatarElement}\n </TooltipTrigger>\n <TooltipContent>\n {tooltip}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n return avatarElement\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: AvatarImageProps) {\n return (\n <AvatarPrimitive.Image\n className={cn(\"aspect-square size-full object-cover\", className)}\n data-slot=\"avatar-image\"\n {...props}\n />\n )\n}\n\nconst avatarFallbackVariants = cva(\n \"flex size-full items-center justify-center font-medium\",\n {\n variants: {\n colorScheme: {\n default: \"bg-[color:var(--avatar-fallback-bg-default)] text-[color:var(--avatar-fallback-text-default)]\",\n primary: \"bg-[color:var(--avatar-fallback-bg-primary)] text-[color:var(--avatar-fallback-text-primary)]\",\n secondary: \"bg-[color:var(--avatar-fallback-bg-secondary)] text-[color:var(--avatar-fallback-text-secondary)]\",\n success: \"bg-[color:var(--avatar-fallback-bg-success)] text-[color:var(--avatar-fallback-text-success)]\",\n warning: \"bg-[color:var(--avatar-fallback-bg-warning)] text-[color:var(--avatar-fallback-text-warning)]\",\n destructive: \"bg-[color:var(--avatar-fallback-bg-destructive)] text-[color:var(--avatar-fallback-text-destructive)]\",\n },\n },\n defaultVariants: {\n colorScheme: \"default\",\n },\n }\n)\n\nfunction AvatarFallback({\n className,\n colorScheme = \"default\",\n ...props\n}: AvatarFallbackProps) {\n return (\n <AvatarPrimitive.Fallback\n className={cn(avatarFallbackVariants({ colorScheme }), className)}\n data-slot=\"avatar-fallback\"\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarFallback, avatarFallbackVariants, AvatarImage, avatarVariants }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst avatarStatusVariants = cva(\n \"absolute bottom-0 right-0 rounded-full ring-[1.5px] ring-background\",\n {\n variants: {\n status: {\n online: \"bg-success\",\n offline: \"bg-muted-foreground\",\n busy: \"bg-destructive\",\n away: \"bg-warning\",\n },\n size: {\n xs: \"size-1.5\", // 6px\n sm: \"size-2\", // 8px\n default: \"size-2.5\", // 10px\n lg: \"size-3\", // 12px\n xl: \"size-3.5\", // 14px\n },\n },\n defaultVariants: {\n status: \"offline\",\n size: \"default\",\n },\n }\n)\n\nexport interface AvatarStatusProps extends React.ComponentProps<\"span\"> {\n /**\n * The size of the status indicator (should match parent Avatar size)\n * @default \"default\"\n */\n size?: \"default\" | \"lg\" | \"sm\" | \"xl\" | \"xs\"\n /**\n * The status to display\n * @default \"offline\"\n */\n status?: \"away\" | \"busy\" | \"offline\" | \"online\"\n}\n\nconst statusLabels = {\n online: \"Online\",\n offline: \"Offline\",\n busy: \"Busy\",\n away: \"Away\",\n} as const\n\nfunction AvatarStatus({\n className,\n status = \"offline\",\n size,\n ...props\n}: AvatarStatusProps) {\n return (\n <span\n aria-label={statusLabels[status]}\n className={cn(avatarStatusVariants({ status, size, className }))}\n data-slot=\"avatar-status\"\n role=\"status\"\n {...props}\n />\n )\n}\n\nexport { AvatarStatus, avatarStatusVariants }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { Building2, CheckCircle2 } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst avatarBadgeVariants = cva(\n \"absolute -bottom-0.5 -right-0.5 flex items-center justify-center rounded-full ring-[1.5px] ring-background\",\n {\n variants: {\n variant: {\n company: \"bg-brius-500 text-base-white\",\n verified: \"bg-sevends-blue-600 text-base-white\",\n },\n size: {\n xs: \"size-2.5\", // 10px\n sm: \"size-3\", // 12px\n default: \"size-3.5\", // 14px\n lg: \"size-4\", // 16px\n xl: \"size-5\", // 18px\n },\n },\n defaultVariants: {\n variant: \"verified\",\n size: \"default\",\n },\n }\n)\n\nconst iconSizes = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n default: \"size-3\",\n lg: \"size-3.5\",\n xl: \"size-4\",\n} as const\n\nexport interface AvatarBadgeProps extends React.ComponentProps<\"span\"> {\n /**\n * The size of the badge (should match parent Avatar size)\n * @default \"default\"\n */\n size?: \"default\" | \"lg\" | \"sm\" | \"xl\" | \"xs\"\n /**\n * The badge variant to display\n * @default \"verified\"\n */\n variant?: \"company\" | \"verified\"\n}\n\nconst badgeLabels = {\n company: \"Company account\",\n verified: \"Verified account\",\n} as const\n\nfunction AvatarBadge({\n className,\n variant = \"verified\",\n size = \"default\",\n children,\n ...props\n}: AvatarBadgeProps) {\n const defaultIcon = variant === \"company\"\n ? <Building2 className={iconSizes[size]} />\n : <CheckCircle2 className={iconSizes[size]} />\n\n return (\n <span\n aria-label={badgeLabels[variant]}\n className={cn(avatarBadgeVariants({ variant, size, className }))}\n data-slot=\"avatar-badge\"\n role=\"img\"\n {...props}\n >\n {children ?? defaultIcon}\n </span>\n )\n}\n\nexport { AvatarBadge, avatarBadgeVariants }\n","\"use client\"\n\nimport type { AvatarProps, AvatarSize } from \"./Avatar.types\"\n\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Avatar, AvatarFallback } from \"./Avatar\"\n\nconst avatarGroupVariants = cva(\"flex\", {\n variants: {\n size: {\n xs: \"-space-x-1\",\n sm: \"-space-x-2\",\n default: \"-space-x-3\",\n lg: \"-space-x-3\",\n xl: \"-space-x-4\",\n \"2xl\": \"-space-x-4\",\n \"3xl\": \"-space-x-5\",\n \"4xl\": \"-space-x-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\nexport interface AvatarGroupProps extends React.ComponentProps<\"div\"> {\n /**\n * Whether to apply ring-2 ring-background to all avatars for visual separation\n * @default true\n */\n bordered?: boolean\n /**\n * Child Avatar components\n */\n children: React.ReactNode\n /**\n * Maximum number of avatars to display before showing \"+N\" indicator\n */\n max?: number\n /**\n * Size to apply to all child avatars\n * @default \"default\"\n */\n size?: AvatarSize\n}\n\nfunction AvatarGroup({\n className,\n max,\n size = \"default\",\n bordered = true,\n children,\n ...props\n}: AvatarGroupProps) {\n // eslint-disable-next-line @eslint-react/no-children-to-array -- Required to count and slice children for max limit\n const childArray = React.Children.toArray(children)\n const hasMax = max !== undefined\n const visibleChildren = hasMax ? childArray.slice(0, max) : childArray\n const remainingCount = hasMax ? Math.max(0, childArray.length - max) : 0\n\n return (\n <div\n aria-label={`Avatar group${hasMax && remainingCount > 0 ? `, showing ${String(visibleChildren.length)} of ${String(childArray.length)}` : \"\"}`}\n className={cn(avatarGroupVariants({ size, className }))}\n data-slot=\"avatar-group\"\n role=\"group\"\n {...props}\n >\n {/* eslint-disable @eslint-react/no-clone-element -- Required to inject size/bordered props to Avatar children */}\n {visibleChildren.map((child) => {\n if (React.isValidElement<AvatarProps>(child) && child.type === Avatar) {\n // Children.toArray assigns stable keys to all children\n return React.cloneElement(child, {\n size: child.props.size ?? size,\n bordered: child.props.bordered ?? bordered,\n className: cn(\n bordered && \"ring-2 ring-background\",\n child.props.className\n ),\n })\n }\n return child\n })}\n {/* eslint-enable @eslint-react/no-clone-element */}\n {remainingCount > 0 && (\n <Avatar\n bordered={bordered}\n className={cn(bordered && \"ring-2 ring-background\")}\n size={size}\n >\n <AvatarFallback className=\"bg-muted text-muted-foreground text-xs font-medium\">\n +{remainingCount}\n </AvatarFallback>\n </Avatar>\n )}\n </div>\n )\n}\n\nexport { AvatarGroup, avatarGroupVariants }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"../../feedback/Tooltip\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"./Avatar\"\nimport { AvatarBadge, type AvatarBadgeProps } from \"./AvatarBadge\"\nimport { AvatarStatus, type AvatarStatusProps } from \"./AvatarStatus\"\n\nconst avatarLabelGroupVariants = cva(\n \"flex items-center gap-3\",\n {\n variants: {\n interactive: {\n true: \"cursor-pointer rounded-lg transition-colors hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 -m-2 p-2\",\n false: \"\",\n },\n },\n defaultVariants: {\n interactive: false,\n },\n }\n)\n\nexport interface AvatarLabelGroupProps extends React.ComponentProps<\"div\"> {\n /**\n * Alternative text for the avatar image\n */\n alt?: string\n /**\n * Optional badge variant (company or verified)\n * Cannot be used together with status\n */\n badge?: AvatarBadgeProps[\"variant\"]\n /**\n * Optional description text below the name\n */\n description?: string\n /**\n * Whether the component is interactive (shows hover/focus states)\n * @default false\n */\n interactive?: boolean\n /**\n * The name to display (required, also used for initials fallback)\n */\n name: string\n /**\n * Click handler for interactive mode\n */\n onClick?: React.MouseEventHandler<HTMLDivElement>\n /**\n * Size variant for the avatar and status/badge indicator\n * @default \"default\"\n */\n size?: AvatarStatusProps[\"size\"]\n /**\n * The image source for the avatar\n */\n src?: string\n /**\n * Optional status indicator (online, offline, busy, away)\n * Cannot be used together with badge\n */\n status?: AvatarStatusProps[\"status\"]\n /**\n * Tooltip text to display on hover\n * If true, uses name + description\n * @default undefined\n */\n tooltip?: boolean | string\n}\n\n/**\n * Generates initials from a name string\n * Takes first letter of first two words, uppercased\n */\nfunction getInitials(name: string): string {\n return name\n .split(\" \")\n .map((word) => word[0])\n .join(\"\")\n .toUpperCase()\n .slice(0, 2)\n}\n\nfunction AvatarLabelGroup({\n className,\n src,\n alt,\n name,\n description,\n size = \"default\",\n status,\n badge,\n interactive = false,\n onClick,\n tooltip,\n ...props\n}: AvatarLabelGroupProps) {\n // Generate tooltip text\n const tooltipText = tooltip === true\n ? description ? `${name} - ${description}` : name\n : typeof tooltip === \"string\" ? tooltip : undefined\n\n const content = (\n <div\n className={cn(avatarLabelGroupVariants({ interactive }), className)}\n data-slot=\"avatar-label-group\"\n role={interactive ? \"button\" : undefined}\n tabIndex={interactive || tooltipText ? 0 : undefined}\n onClick={interactive ? onClick : undefined}\n {...props}\n >\n <div className=\"relative\">\n <Avatar interactive={interactive} size={size}>\n {src && <AvatarImage alt={alt ?? name} src={src} />}\n <AvatarFallback>{getInitials(name)}</AvatarFallback>\n </Avatar>\n {status && <AvatarStatus size={size} status={status} />}\n {badge && !status && <AvatarBadge size={size} variant={badge} />}\n </div>\n <div className=\"flex flex-col gap-0.5\">\n <span className=\"text-sm font-medium text-foreground\">{name}</span>\n {description && (\n <span className=\"text-sm text-muted-foreground\">{description}</span>\n )}\n </div>\n </div>\n )\n\n if (tooltipText) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n {content}\n </TooltipTrigger>\n <TooltipContent>\n {tooltipText}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n return content\n}\n\nexport { AvatarLabelGroup, avatarLabelGroupVariants, getInitials }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { Plus } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst avatarAddButtonVariants = cva(\n \"relative flex shrink-0 items-center justify-center overflow-hidden rounded-full border-2 border-dashed border-muted-foreground/50 bg-muted text-muted-foreground transition-colors hover:border-primary hover:bg-primary/10 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 cursor-pointer\",\n {\n variants: {\n size: {\n xs: \"size-[var(--avatar-size-xs)]\",\n sm: \"size-[var(--avatar-size-sm)]\",\n default: \"size-[var(--avatar-size-default)]\",\n lg: \"size-[var(--avatar-size-lg)]\",\n xl: \"size-[var(--avatar-size-xl)]\",\n \"2xl\": \"size-[var(--avatar-size-2xl)]\",\n \"3xl\": \"size-[var(--avatar-size-3xl)]\",\n \"4xl\": \"size-[var(--avatar-size-4xl)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport interface AvatarAddButtonProps extends React.ComponentProps<\"button\"> {\n size?: \"2xl\" | \"3xl\" | \"4xl\" | \"default\" | \"lg\" | \"sm\" | \"xl\" | \"xs\"\n}\n\nfunction AvatarAddButton({\n className,\n size = \"default\",\n ...props\n}: AvatarAddButtonProps) {\n const iconSizes = {\n xs: \"size-3\",\n sm: \"size-3.5\",\n default: \"size-4\",\n lg: \"size-5\",\n xl: \"size-6\",\n \"2xl\": \"size-6.5\",\n \"3xl\": \"size-7\",\n \"4xl\": \"size-8\",\n }\n\n return (\n <button\n aria-label=\"Add user\"\n className={cn(avatarAddButtonVariants({ size, className }))}\n data-slot=\"avatar-add-button\"\n type=\"button\"\n {...props}\n >\n <Plus className={iconSizes[size]} />\n </button>\n )\n}\n\nexport { AvatarAddButton, avatarAddButtonVariants }\n","\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { avatarVariants } from \"./Avatar\"\n\nexport interface AvatarSkeletonProps extends React.ComponentProps<\"div\"> {\n /**\n * The shape of the skeleton\n * @default \"circle\"\n */\n shape?: \"circle\"\n /**\n * The size of the skeleton\n * @default \"default\"\n */\n size?: \"default\" | \"lg\" | \"sm\" | \"xl\" | \"xs\"\n}\n\nexport interface AvatarLabelGroupSkeletonProps extends React.ComponentProps<\"div\"> {\n /**\n * The size of the avatar skeleton\n * @default \"default\"\n */\n size?: \"default\" | \"lg\" | \"sm\" | \"xl\" | \"xs\"\n}\n\n/**\n * Skeleton placeholder for Avatar component\n * Use while loading user data\n */\nfunction AvatarSkeleton({\n size = \"default\",\n shape = \"circle\",\n className,\n ...props\n}: AvatarSkeletonProps) {\n return (\n <div\n className={cn(\n avatarVariants({ size, shape }),\n \"bg-muted animate-pulse\",\n className\n )}\n data-slot=\"avatar-skeleton\"\n {...props}\n />\n )\n}\n\n/**\n * Skeleton placeholder for AvatarLabelGroup component\n * Use while loading user data with name and description\n */\nfunction AvatarLabelGroupSkeleton({\n size = \"default\",\n className,\n ...props\n}: AvatarLabelGroupSkeletonProps) {\n return (\n <div\n className={cn(\"flex items-center gap-3\", className)}\n data-slot=\"avatar-label-group-skeleton\"\n {...props}\n >\n <AvatarSkeleton size={size} />\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"h-4 w-24 rounded bg-muted animate-pulse\" />\n <div className=\"h-3 w-32 rounded bg-muted animate-pulse\" />\n </div>\n </div>\n )\n}\n\nexport { AvatarLabelGroupSkeleton, AvatarSkeleton }\n"]}
@@ -0,0 +1,177 @@
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
3
+ import * as React from 'react';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ var collapsibleVariants = cva(
8
+ [
9
+ // Base styles - intentionally minimal as this is primarily a behavior component
10
+ ],
11
+ {
12
+ variants: {
13
+ // Figma 1425:10889 — apresentação carded: inside = moldura única
14
+ // (Open Inside); outside = trigger e conteúdo em cards separados
15
+ variant: {
16
+ unstyled: "",
17
+ card: "flex w-full flex-col"
18
+ },
19
+ placement: {
20
+ inside: "",
21
+ outside: ""
22
+ }
23
+ },
24
+ compoundVariants: [
25
+ {
26
+ variant: "card",
27
+ placement: "inside",
28
+ className: "gap-4 overflow-clip rounded-md border border-border bg-popover p-4 shadow-xs"
29
+ },
30
+ { variant: "card", placement: "outside", className: "gap-4" }
31
+ ],
32
+ defaultVariants: {
33
+ variant: "unstyled",
34
+ placement: "inside"
35
+ }
36
+ }
37
+ );
38
+ var collapsibleTriggerVariants = cva(
39
+ [
40
+ // Base styles for trigger
41
+ "cursor-pointer",
42
+ "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50"
43
+ ],
44
+ {
45
+ variants: {
46
+ variant: {
47
+ unstyled: "",
48
+ card: "flex w-full items-center justify-between gap-2 text-left text-sm text-[color:var(--popover-foreground)] transition-colors [&_svg]:size-5 [&_svg]:shrink-0"
49
+ },
50
+ placement: {
51
+ inside: "",
52
+ outside: ""
53
+ }
54
+ },
55
+ compoundVariants: [
56
+ // Outside: o trigger é um card próprio (Figma Open Outside/Hover/Disabled)
57
+ {
58
+ variant: "card",
59
+ placement: "outside",
60
+ className: "rounded-md border border-border bg-popover px-4 py-3.5 shadow-xs hover:bg-muted data-[disabled]:bg-muted data-[disabled]:text-[color:var(--muted-foreground)]"
61
+ },
62
+ // Inside: o card é o root; hover pinta a área do trigger
63
+ {
64
+ variant: "card",
65
+ placement: "inside",
66
+ className: "rounded-sm hover:bg-muted"
67
+ }
68
+ ],
69
+ defaultVariants: {
70
+ variant: "unstyled",
71
+ placement: "inside"
72
+ }
73
+ }
74
+ );
75
+ var collapsibleContentVariants = cva(
76
+ [
77
+ "overflow-hidden"
78
+ ],
79
+ {
80
+ variants: {
81
+ /**
82
+ * Animation variant for content transition
83
+ * - animated: Smooth height and opacity animation
84
+ * - none: No animation, instant show/hide
85
+ */
86
+ animation: {
87
+ animated: [
88
+ "data-[state=open]:animate-collapsible-down",
89
+ "data-[state=closed]:animate-collapsible-up"
90
+ ],
91
+ none: []
92
+ }
93
+ },
94
+ defaultVariants: {
95
+ animation: "animated"
96
+ }
97
+ }
98
+ );
99
+ var collapsibleContentInnerVariants = cva("text-sm", {
100
+ variants: {
101
+ placement: {
102
+ inside: "",
103
+ outside: "mt-4 rounded-md border border-border bg-popover p-4 shadow-xs"
104
+ }
105
+ },
106
+ defaultVariants: {
107
+ placement: "inside"
108
+ }
109
+ });
110
+ var CollapsibleStyleContext = React.createContext({ variant: "unstyled", placement: "inside" });
111
+ function Collapsible({
112
+ className,
113
+ variant = "unstyled",
114
+ placement = "inside",
115
+ ...props
116
+ }) {
117
+ const styleValue = React.useMemo(
118
+ () => ({ variant, placement }),
119
+ [variant, placement]
120
+ );
121
+ return /* @__PURE__ */ jsx(CollapsibleStyleContext, { value: styleValue, children: /* @__PURE__ */ jsx(
122
+ CollapsiblePrimitive.Root,
123
+ {
124
+ className: cn(collapsibleVariants({ variant, placement }), className),
125
+ "data-placement": variant === "card" ? placement : void 0,
126
+ "data-slot": "collapsible",
127
+ "data-variant": variant,
128
+ ...props
129
+ }
130
+ ) });
131
+ }
132
+ function CollapsibleTrigger2({ className, ...props }) {
133
+ const { variant, placement } = React.use(CollapsibleStyleContext);
134
+ return /* @__PURE__ */ jsx(
135
+ CollapsiblePrimitive.CollapsibleTrigger,
136
+ {
137
+ className: cn(
138
+ collapsibleTriggerVariants({ variant, placement }),
139
+ className
140
+ ),
141
+ "data-slot": "collapsible-trigger",
142
+ ...props
143
+ }
144
+ );
145
+ }
146
+ function CollapsibleContent2({
147
+ className,
148
+ animation,
149
+ children,
150
+ ...props
151
+ }) {
152
+ const { variant, placement } = React.use(CollapsibleStyleContext);
153
+ return /* @__PURE__ */ jsx(
154
+ CollapsiblePrimitive.CollapsibleContent,
155
+ {
156
+ className: cn(collapsibleContentVariants({ animation }), className),
157
+ "data-slot": "collapsible-content",
158
+ ...props,
159
+ children: variant === "card" ? (
160
+ // Moldura/padding numa div interna pra não interferir na animação
161
+ // de height do Radix
162
+ /* @__PURE__ */ jsx(
163
+ "div",
164
+ {
165
+ className: cn(collapsibleContentInnerVariants({ placement })),
166
+ "data-slot": "collapsible-content-inner",
167
+ children
168
+ }
169
+ )
170
+ ) : children
171
+ }
172
+ );
173
+ }
174
+
175
+ export { Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, collapsibleContentInnerVariants, collapsibleContentVariants, collapsibleTriggerVariants, collapsibleVariants };
176
+ //# sourceMappingURL=chunk-MVL4DVRW.js.map
177
+ //# sourceMappingURL=chunk-MVL4DVRW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/Collapsible/Collapsible.variants.ts","../src/components/layout/Collapsible/Collapsible.tsx"],"names":["CollapsibleTrigger","CollapsibleContent"],"mappings":"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","file":"chunk-MVL4DVRW.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Collapsible root variant styles\n * Container component for expandable/collapsible content\n */\nexport const collapsibleVariants = cva(\n [\n // Base styles - intentionally minimal as this is primarily a behavior component\n ],\n {\n variants: {\n // Figma 1425:10889 — apresentação carded: inside = moldura única\n // (Open Inside); outside = trigger e conteúdo em cards separados\n variant: {\n unstyled: \"\",\n card: \"flex w-full flex-col\",\n },\n placement: {\n inside: \"\",\n outside: \"\",\n },\n },\n compoundVariants: [\n {\n variant: \"card\",\n placement: \"inside\",\n className:\n \"gap-4 overflow-clip rounded-md border border-border bg-popover p-4 shadow-xs\",\n },\n { variant: \"card\", placement: \"outside\", className: \"gap-4\" },\n ],\n defaultVariants: {\n variant: \"unstyled\",\n placement: \"inside\",\n },\n }\n)\n\n/**\n * CollapsibleTrigger variant styles\n * Element that toggles the collapsible state\n */\nexport const collapsibleTriggerVariants = cva(\n [\n // Base styles for trigger\n \"cursor-pointer\",\n \"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50\",\n ],\n {\n variants: {\n variant: {\n unstyled: \"\",\n card: \"flex w-full items-center justify-between gap-2 text-left text-sm text-[color:var(--popover-foreground)] transition-colors [&_svg]:size-5 [&_svg]:shrink-0\",\n },\n placement: {\n inside: \"\",\n outside: \"\",\n },\n },\n compoundVariants: [\n // Outside: o trigger é um card próprio (Figma Open Outside/Hover/Disabled)\n {\n variant: \"card\",\n placement: \"outside\",\n className:\n \"rounded-md border border-border bg-popover px-4 py-3.5 shadow-xs hover:bg-muted data-[disabled]:bg-muted data-[disabled]:text-[color:var(--muted-foreground)]\",\n },\n // Inside: o card é o root; hover pinta a área do trigger\n {\n variant: \"card\",\n placement: \"inside\",\n className: \"rounded-sm hover:bg-muted\",\n },\n ],\n defaultVariants: {\n variant: \"unstyled\",\n placement: \"inside\",\n },\n }\n)\n\n/**\n * CollapsibleContent variant styles\n * Content that expands/collapses with animation support\n */\nexport const collapsibleContentVariants = cva(\n [\n \"overflow-hidden\",\n ],\n {\n variants: {\n /**\n * Animation variant for content transition\n * - animated: Smooth height and opacity animation\n * - none: No animation, instant show/hide\n */\n animation: {\n animated: [\n \"data-[state=open]:animate-collapsible-down\",\n \"data-[state=closed]:animate-collapsible-up\",\n ],\n none: [],\n },\n },\n defaultVariants: {\n animation: \"animated\",\n },\n }\n)\n\nexport type CollapsibleVariantProps = VariantProps<typeof collapsibleVariants>\nexport type CollapsibleTriggerVariantProps = VariantProps<typeof collapsibleTriggerVariants>\nexport type CollapsibleContentVariantProps = VariantProps<typeof collapsibleContentVariants>\n\n/**\n * Inner wrapper do conteúdo no modo card — moldura/padding fora do elemento\n * animado pelo Radix (evita glitch na animação de height)\n */\nexport const collapsibleContentInnerVariants = cva(\"text-sm\", {\n variants: {\n placement: {\n inside: \"\",\n outside:\n \"mt-4 rounded-md border border-border bg-popover p-4 shadow-xs\",\n },\n },\n defaultVariants: {\n placement: \"inside\",\n },\n})\n\nexport type CollapsibleContentInnerVariantProps = VariantProps<\n typeof collapsibleContentInnerVariants\n>\n","import type {\n CollapsibleContentProps,\n CollapsibleProps,\n CollapsibleTriggerProps,\n} from \"./Collapsible.types\"\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n collapsibleContentInnerVariants,\n collapsibleContentVariants,\n collapsibleTriggerVariants,\n collapsibleVariants,\n} from \"./Collapsible.variants\"\n\n// Estilo carded do Figma (1425:10889) flui pro trigger/content via context —\n// unstyled (default) preserva o uso headless (ex.: SidebarPanelGroup)\nconst CollapsibleStyleContext = React.createContext<{\n placement: \"inside\" | \"outside\"\n variant: \"card\" | \"unstyled\"\n}>({ variant: \"unstyled\", placement: \"inside\" })\n\nfunction Collapsible({\n className,\n variant = \"unstyled\",\n placement = \"inside\",\n ...props\n}: CollapsibleProps) {\n const styleValue = React.useMemo(\n () => ({ variant, placement }),\n [variant, placement]\n )\n\n return (\n <CollapsibleStyleContext value={styleValue}>\n <CollapsiblePrimitive.Root\n className={cn(collapsibleVariants({ variant, placement }), className)}\n data-placement={variant === \"card\" ? placement : undefined}\n data-slot=\"collapsible\"\n data-variant={variant}\n {...props}\n />\n </CollapsibleStyleContext>\n )\n}\n\nfunction CollapsibleTrigger({ className, ...props }: CollapsibleTriggerProps) {\n const { variant, placement } = React.use(CollapsibleStyleContext)\n\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n className={cn(\n collapsibleTriggerVariants({ variant, placement }),\n className\n )}\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n )\n}\n\nfunction CollapsibleContent({\n className,\n animation,\n children,\n ...props\n}: CollapsibleContentProps) {\n const { variant, placement } = React.use(CollapsibleStyleContext)\n\n return (\n <CollapsiblePrimitive.CollapsibleContent\n className={cn(collapsibleContentVariants({ animation }), className)}\n data-slot=\"collapsible-content\"\n {...props}\n >\n {variant === \"card\" ? (\n // Moldura/padding numa div interna pra não interferir na animação\n // de height do Radix\n <div\n className={cn(collapsibleContentInnerVariants({ placement }))}\n data-slot=\"collapsible-content-inner\"\n >\n {children}\n </div>\n ) : (\n children\n )}\n </CollapsiblePrimitive.CollapsibleContent>\n )\n}\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger }\n"]}
@@ -1,4 +1,4 @@
1
- import { useButtonGroup } from './chunk-ELRIFGMN.js';
1
+ import { useButtonGroup } from './chunk-JWXZFGNT.js';
2
2
  import { Badge } from './chunk-HNQX6ZG7.js';
3
3
  import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-TEVGCTUN.js';
4
4
  import { cn } from './chunk-RVAYDRMA.js';
@@ -229,5 +229,5 @@ function Button({
229
229
  }
230
230
 
231
231
  export { Button, buttonVariants };
232
- //# sourceMappingURL=chunk-L4OQ6BJ5.js.map
233
- //# sourceMappingURL=chunk-L4OQ6BJ5.js.map
232
+ //# sourceMappingURL=chunk-N3DBRKUS.js.map
233
+ //# sourceMappingURL=chunk-N3DBRKUS.js.map