@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
@@ -100,9 +100,9 @@ var phoneInputVariants = cva(
100
100
  {
101
101
  variants: {
102
102
  size: {
103
- sm: "h-8 text-sm",
104
- md: "h-9 text-base md:text-sm",
105
- lg: "h-10 text-base"
103
+ sm: "h-[var(--input-size-sm-h)] text-sm",
104
+ md: "h-[var(--input-size-md-h)] text-base md:text-sm",
105
+ lg: "h-[var(--input-size-lg-h)] text-base"
106
106
  },
107
107
  variant: {
108
108
  default: "border-input shadow-xs",
@@ -334,5 +334,5 @@ function PhoneInput({
334
334
  }
335
335
 
336
336
  export { PhoneInput, defaultCountries, findCountryByCode, findCountryByDialCode, formatPhoneNumber, getPhoneDigits, phoneInputCountryButtonVariants, phoneInputDropdownVariants, phoneInputInputVariants, phoneInputOptionVariants, phoneInputVariants };
337
- //# sourceMappingURL=chunk-WGKOYZRI.js.map
338
- //# sourceMappingURL=chunk-WGKOYZRI.js.map
337
+ //# sourceMappingURL=chunk-4S6CPTSO.js.map
338
+ //# sourceMappingURL=chunk-4S6CPTSO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/forms/PhoneInput/countries.ts","../src/components/forms/PhoneInput/PhoneInput.variants.ts","../src/components/forms/PhoneInput/PhoneInput.tsx"],"names":[],"mappings":"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","file":"chunk-4S6CPTSO.js","sourcesContent":["/* eslint-disable sonarjs/no-duplicate-string -- Country data naturally has repeated format patterns */\n\n/**\n * Country information for phone input\n */\nexport interface Country {\n /** ISO 3166-1 alpha-2 country code */\n code: string\n /** International dial code */\n dialCode: string\n /** Flag emoji */\n flag: string\n /** Phone number format pattern (# = digit) */\n format?: string\n /** Country name in English */\n name: string\n}\n\n/**\n * Default list of countries with dial codes\n * Prioritizes common countries at the top\n */\nexport const defaultCountries: Country[] = [\n // Priority countries\n { code: \"BR\", dialCode: \"+55\", name: \"Brazil\", flag: \"🇧🇷\", format: \"(##) #####-####\" },\n { code: \"US\", dialCode: \"+1\", name: \"United States\", flag: \"🇺🇸\", format: \"(###) ###-####\" },\n { code: \"GB\", dialCode: \"+44\", name: \"United Kingdom\", flag: \"🇬🇧\", format: \"#### ######\" },\n { code: \"CA\", dialCode: \"+1\", name: \"Canada\", flag: \"🇨🇦\", format: \"(###) ###-####\" },\n { code: \"PT\", dialCode: \"+351\", name: \"Portugal\", flag: \"🇵🇹\", format: \"### ### ###\" },\n { code: \"ES\", dialCode: \"+34\", name: \"Spain\", flag: \"🇪🇸\", format: \"### ### ###\" },\n\n // Latin America\n { code: \"AR\", dialCode: \"+54\", name: \"Argentina\", flag: \"🇦🇷\", format: \"## ####-####\" },\n { code: \"CL\", dialCode: \"+56\", name: \"Chile\", flag: \"🇨🇱\", format: \"# #### ####\" },\n { code: \"CO\", dialCode: \"+57\", name: \"Colombia\", flag: \"🇨🇴\", format: \"### #######\" },\n { code: \"MX\", dialCode: \"+52\", name: \"Mexico\", flag: \"🇲🇽\", format: \"### ### ####\" },\n { code: \"PE\", dialCode: \"+51\", name: \"Peru\", flag: \"🇵🇪\", format: \"### ### ###\" },\n { code: \"UY\", dialCode: \"+598\", name: \"Uruguay\", flag: \"🇺🇾\", format: \"## ### ###\" },\n { code: \"VE\", dialCode: \"+58\", name: \"Venezuela\", flag: \"🇻🇪\", format: \"### #######\" },\n\n // Europe\n { code: \"DE\", dialCode: \"+49\", name: \"Germany\", flag: \"🇩🇪\", format: \"#### #######\" },\n { code: \"FR\", dialCode: \"+33\", name: \"France\", flag: \"🇫🇷\", format: \"# ## ## ## ##\" },\n { code: \"IT\", dialCode: \"+39\", name: \"Italy\", flag: \"🇮🇹\", format: \"### #######\" },\n { code: \"NL\", dialCode: \"+31\", name: \"Netherlands\", flag: \"🇳🇱\", format: \"# ########\" },\n { code: \"BE\", dialCode: \"+32\", name: \"Belgium\", flag: \"🇧🇪\", format: \"### ## ## ##\" },\n { code: \"CH\", dialCode: \"+41\", name: \"Switzerland\", flag: \"🇨🇭\", format: \"## ### ## ##\" },\n { code: \"AT\", dialCode: \"+43\", name: \"Austria\", flag: \"🇦🇹\", format: \"### #######\" },\n { code: \"PL\", dialCode: \"+48\", name: \"Poland\", flag: \"🇵🇱\", format: \"### ### ###\" },\n { code: \"SE\", dialCode: \"+46\", name: \"Sweden\", flag: \"🇸🇪\", format: \"## ### ## ##\" },\n { code: \"NO\", dialCode: \"+47\", name: \"Norway\", flag: \"🇳🇴\", format: \"### ## ###\" },\n { code: \"DK\", dialCode: \"+45\", name: \"Denmark\", flag: \"🇩🇰\", format: \"## ## ## ##\" },\n { code: \"FI\", dialCode: \"+358\", name: \"Finland\", flag: \"🇫🇮\", format: \"## ### ####\" },\n { code: \"IE\", dialCode: \"+353\", name: \"Ireland\", flag: \"🇮🇪\", format: \"## #######\" },\n\n // Asia\n { code: \"JP\", dialCode: \"+81\", name: \"Japan\", flag: \"🇯🇵\", format: \"##-####-####\" },\n { code: \"CN\", dialCode: \"+86\", name: \"China\", flag: \"🇨🇳\", format: \"### #### ####\" },\n { code: \"IN\", dialCode: \"+91\", name: \"India\", flag: \"🇮🇳\", format: \"##### #####\" },\n { code: \"KR\", dialCode: \"+82\", name: \"South Korea\", flag: \"🇰🇷\", format: \"##-####-####\" },\n { code: \"SG\", dialCode: \"+65\", name: \"Singapore\", flag: \"🇸🇬\", format: \"#### ####\" },\n { code: \"HK\", dialCode: \"+852\", name: \"Hong Kong\", flag: \"🇭🇰\", format: \"#### ####\" },\n { code: \"TW\", dialCode: \"+886\", name: \"Taiwan\", flag: \"🇹🇼\", format: \"### ### ###\" },\n { code: \"TH\", dialCode: \"+66\", name: \"Thailand\", flag: \"🇹🇭\", format: \"## ### ####\" },\n { code: \"MY\", dialCode: \"+60\", name: \"Malaysia\", flag: \"🇲🇾\", format: \"##-### ####\" },\n { code: \"ID\", dialCode: \"+62\", name: \"Indonesia\", flag: \"🇮🇩\", format: \"### ### ####\" },\n { code: \"PH\", dialCode: \"+63\", name: \"Philippines\", flag: \"🇵🇭\", format: \"### ### ####\" },\n { code: \"VN\", dialCode: \"+84\", name: \"Vietnam\", flag: \"🇻🇳\", format: \"## ### ## ##\" },\n\n // Middle East\n { code: \"AE\", dialCode: \"+971\", name: \"UAE\", flag: \"🇦🇪\", format: \"## ### ####\" },\n { code: \"SA\", dialCode: \"+966\", name: \"Saudi Arabia\", flag: \"🇸🇦\", format: \"## ### ####\" },\n { code: \"IL\", dialCode: \"+972\", name: \"Israel\", flag: \"🇮🇱\", format: \"##-###-####\" },\n { code: \"TR\", dialCode: \"+90\", name: \"Turkey\", flag: \"🇹🇷\", format: \"### ### ## ##\" },\n\n // Oceania\n { code: \"AU\", dialCode: \"+61\", name: \"Australia\", flag: \"🇦🇺\", format: \"### ### ###\" },\n { code: \"NZ\", dialCode: \"+64\", name: \"New Zealand\", flag: \"🇳🇿\", format: \"## ### ####\" },\n\n // Africa\n { code: \"ZA\", dialCode: \"+27\", name: \"South Africa\", flag: \"🇿🇦\", format: \"## ### ####\" },\n { code: \"NG\", dialCode: \"+234\", name: \"Nigeria\", flag: \"🇳🇬\", format: \"### ### ####\" },\n { code: \"EG\", dialCode: \"+20\", name: \"Egypt\", flag: \"🇪🇬\", format: \"## #### ####\" },\n { code: \"KE\", dialCode: \"+254\", name: \"Kenya\", flag: \"🇰🇪\", format: \"### ######\" },\n]\n\n/**\n * Find country by ISO code\n */\nexport function findCountryByCode(code: string, countries = defaultCountries): Country | undefined {\n return countries.find((c) => c.code.toLowerCase() === code.toLowerCase())\n}\n\n/**\n * Find country by dial code\n */\nexport function findCountryByDialCode(dialCode: string, countries = defaultCountries): Country | undefined {\n return countries.find((c) => c.dialCode === dialCode)\n}\n\n/**\n * Format a phone number according to the country format\n */\nexport function formatPhoneNumber(value: string, country: Country): string {\n // Remove all non-digit characters\n const digits = value.replaceAll(/\\D/g, \"\")\n\n if (!country.format) {\n return digits\n }\n\n let result = \"\"\n let digitIndex = 0\n\n for (const char of country.format) {\n if (digitIndex >= digits.length) break\n\n if (char === \"#\") {\n result += digits[digitIndex] ?? \"\"\n digitIndex++\n } else {\n result += char\n }\n }\n\n return result\n}\n\n/**\n * Get the raw digits from a formatted phone number\n */\nexport function getPhoneDigits(value: string): string {\n return value.replaceAll(/\\D/g, \"\")\n}\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * PhoneInput container variant styles using CVA\n */\nexport const phoneInputVariants = cva(\n [\n \"flex w-full min-w-0 rounded-md border bg-transparent transition-[color,box-shadow] outline-none\",\n \"dark:bg-input/30\",\n \"focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]\",\n \"has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n ],\n {\n variants: {\n size: {\n sm: \"h-[var(--input-size-sm-h)] text-sm\",\n md: \"h-[var(--input-size-md-h)] text-base md:text-sm\",\n lg: \"h-[var(--input-size-lg-h)] text-base\",\n },\n variant: {\n default: \"border-input shadow-xs\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-input\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * Country selector button styles\n */\nexport const phoneInputCountryButtonVariants = cva(\n [\n \"flex items-center gap-1.5 shrink-0 border-r border-[color:var(--phone-input-country-select-border-color)] bg-transparent outline-none transition-colors\",\n \"hover:bg-muted/50\",\n \"focus-visible:bg-muted/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 text-sm\",\n md: \"px-3 text-sm\",\n lg: \"px-3.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Phone number input styles\n */\nexport const phoneInputInputVariants = cva(\n [\n \"flex-1 min-w-0 bg-transparent outline-none\",\n \"placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 text-sm\",\n md: \"px-3 text-base md:text-sm\",\n lg: \"px-3.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Country dropdown styles\n */\nexport const phoneInputDropdownVariants = cva(\n [\n \"absolute left-0 top-full z-50 mt-1 max-h-60 min-w-52 overflow-auto rounded-md border bg-popover p-1 shadow-md\",\n \"animate-in fade-in-0 zoom-in-95\",\n ]\n)\n\n/**\n * Country option styles\n */\nexport const phoneInputOptionVariants = cva(\n [\n \"flex items-center gap-2 cursor-pointer rounded-sm px-2 py-1.5 text-sm outline-none transition-colors\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:bg-accent focus-visible:text-accent-foreground\",\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground\",\n ]\n)\n\nexport type PhoneInputVariantProps = VariantProps<typeof phoneInputVariants>\n","\"use client\"\n\nimport type { PhoneInputProps } from \"./PhoneInput.types\"\n\nimport { ChevronDown } from \"lucide-react\"\nimport * as React from \"react\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n type Country,\n defaultCountries,\n findCountryByCode,\n formatPhoneNumber,\n getPhoneDigits,\n} from \"./countries\"\nimport {\n phoneInputCountryButtonVariants,\n phoneInputDropdownVariants,\n phoneInputInputVariants,\n phoneInputOptionVariants,\n phoneInputVariants,\n} from \"./PhoneInput.variants\"\n\n/**\n * PhoneInput - An international phone number input with country selector\n *\n * @example\n * ```tsx\n * // Basic usage\n * <PhoneInput\n * placeholder=\"Enter phone number\"\n * defaultCountry=\"BR\"\n * />\n *\n * // Controlled\n * const [phone, setPhone] = useState(\"\")\n * <PhoneInput\n * value={phone}\n * onChange={(value, country) => {\n * setPhone(value)\n * console.log(`${country.dialCode} ${value}`)\n * }}\n * />\n * ```\n */\nfunction PhoneInput({\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n onCountryChange,\n defaultCountry = \"BR\",\n countries = defaultCountries,\n disabled,\n size = \"md\",\n variant,\n invalid,\n placeholder = \"Phone number\",\n className,\n ...props\n}: PhoneInputProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [isOpen, setIsOpen] = useState(false)\n\n // Find initial country - fallback to first country or Brazil\n const initialCountry = findCountryByCode(defaultCountry, countries) ?? countries[0] ?? defaultCountries[0]\n if (!initialCountry) {\n throw new Error(\"PhoneInput requires at least one country option.\")\n }\n const [selectedCountry, setSelectedCountry] = useState<Country>(() => initialCountry)\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState(defaultValue)\n\n // Determine if controlled\n const isControlled = controlledValue !== undefined\n const phoneValue = isControlled ? controlledValue : internalValue\n\n // Format the display value\n const displayValue = formatPhoneNumber(phoneValue, selectedCountry)\n\n const handleCountrySelect = useCallback(\n (country: Country) => {\n setSelectedCountry(country)\n setIsOpen(false)\n onCountryChange?.(country)\n inputRef.current?.focus()\n\n // Notify parent of the change with current value\n if (phoneValue) {\n onChange?.(phoneValue, country)\n }\n },\n [onCountryChange, onChange, phoneValue]\n )\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const rawValue = getPhoneDigits(e.target.value)\n\n if (!isControlled) {\n setInternalValue(rawValue)\n }\n\n onChange?.(rawValue, selectedCountry)\n },\n [isControlled, onChange, selectedCountry]\n )\n\n // Close dropdown on click outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside)\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n }\n }, [isOpen])\n\n // Handle keyboard navigation\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Escape\") {\n setIsOpen(false)\n } else if (e.key === \"ArrowDown\" && !isOpen) {\n setIsOpen(true)\n }\n },\n [isOpen]\n )\n\n return (\n <div\n ref={containerRef}\n className={cn(\"relative\", className)}\n data-slot=\"phone-input\"\n onKeyDown={handleKeyDown}\n >\n <div\n aria-invalid={invalid ?? undefined}\n className={phoneInputVariants({ size, variant })}\n >\n {/* Country selector */}\n <button\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-label={`Select country, current: ${selectedCountry.name}`}\n className={phoneInputCountryButtonVariants({ size })}\n data-slot=\"phone-input-country\"\n disabled={disabled}\n type=\"button\"\n onClick={() => { setIsOpen(!isOpen); }}\n >\n <span className=\"text-base\">{selectedCountry.flag}</span>\n <span className=\"text-muted-foreground\">{selectedCountry.dialCode}</span>\n <ChevronDown\n className={cn(\n \"size-4 text-muted-foreground transition-transform\",\n isOpen && \"rotate-180\"\n )}\n />\n </button>\n\n {/* Phone number input */}\n <input\n ref={inputRef}\n aria-invalid={invalid ?? undefined}\n className={phoneInputInputVariants({ size })}\n data-slot=\"phone-input-field\"\n disabled={disabled}\n placeholder={placeholder}\n type=\"tel\"\n value={displayValue}\n onChange={handleInputChange}\n {...props}\n />\n </div>\n\n {/* Country dropdown */}\n {isOpen && (\n <div\n className={phoneInputDropdownVariants()}\n data-slot=\"phone-input-dropdown\"\n role=\"listbox\"\n >\n {countries.map((country) => (\n <div\n key={country.code}\n aria-selected={country.code === selectedCountry.code}\n className={phoneInputOptionVariants()}\n data-selected={country.code === selectedCountry.code}\n data-slot=\"phone-input-option\"\n role=\"option\"\n onClick={() => { handleCountrySelect(country); }}\n >\n <span className=\"text-base\">{country.flag}</span>\n <span className=\"flex-1\">{country.name}</span>\n <span className=\"text-muted-foreground\">{country.dialCode}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\nexport { PhoneInput }\n"]}
@@ -1,17 +1,18 @@
1
1
  import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from './chunk-5T7EKOJ5.js';
2
- import { useIsMobile } from './chunk-WH7Y2MAY.js';
2
+ import { Collapsible, CollapsibleTrigger, CollapsibleContent } from './chunk-MVL4DVRW.js';
3
3
  import { SkeletonLoader } from './chunk-NGX3ITG4.js';
4
- import { TextInput } from './chunk-K4UCALQQ.js';
5
- import { Avatar } from './chunk-U7TPJMGY.js';
6
- import { Button } from './chunk-L4OQ6BJ5.js';
4
+ import { useIsMobile } from './chunk-WH7Y2MAY.js';
5
+ import { Avatar } from './chunk-MR3IPJAO.js';
6
+ import { TextInput } from './chunk-GX2VJT7D.js';
7
+ import { Button } from './chunk-N3DBRKUS.js';
7
8
  import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-TEVGCTUN.js';
8
9
  import { Divider } from './chunk-LCBB3N5H.js';
9
10
  import { cn } from './chunk-RVAYDRMA.js';
10
11
  import { Slot } from '@radix-ui/react-slot';
11
- import { PanelLeftIcon, PanelLeftCloseIcon, ChevronsUpDown, MoonIcon, SunIcon } from 'lucide-react';
12
+ import { PanelLeftIcon, ChevronRight, ChevronDown, PanelLeftCloseIcon, ChevronsUpDown, MoonIcon, SunIcon } from 'lucide-react';
12
13
  import * as React from 'react';
13
14
  import { cva } from 'class-variance-authority';
14
- import { jsx, jsxs } from 'react/jsx-runtime';
15
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
15
16
 
16
17
  var PEER_SIZE_POSITIONS = [
17
18
  "peer-data-[size=sm]/menu-button:top-1",
@@ -202,7 +203,11 @@ var sidebarRailButtonVariants = cva(
202
203
  "rounded-[var(--sidebar-rail-item-radius)]",
203
204
  "outline-hidden ring-sidebar-ring focus-visible:ring-2",
204
205
  "disabled:pointer-events-none disabled:opacity-50",
205
- "[&>svg]:size-[var(--sidebar-rail-item-icon-size)] [&>svg]:shrink-0"
206
+ "[&>svg]:size-[var(--sidebar-rail-item-icon-size)] [&>svg]:shrink-0",
207
+ // Rail expandida (Figma Rail Item Expanded=True): linha cheia, ícone + label
208
+ "gap-[var(--sidebar-nav-item-gap)]",
209
+ "group-data-[rail-expanded=true]/sidebar-wrapper:w-full",
210
+ "group-data-[rail-expanded=true]/sidebar-wrapper:justify-start"
206
211
  ],
207
212
  {
208
213
  variants: {
@@ -273,6 +278,58 @@ var sidebarMenuSubButtonVariants = cva(
273
278
  }
274
279
  }
275
280
  );
281
+ var sidebarPanelItemVariants = cva(
282
+ [
283
+ "peer/panel-item flex h-[var(--sidebar-panel-item-height)] w-full min-w-0 items-center gap-2 pr-2",
284
+ "rounded-[var(--sidebar-nav-item-radius)] text-left text-sm leading-none text-sidebar-foreground",
285
+ "outline-hidden ring-sidebar-ring transition-colors focus-visible:ring-2",
286
+ "hover:bg-[color:var(--sidebar-nav-item-bg-hover)]",
287
+ "disabled:pointer-events-none disabled:opacity-50",
288
+ "aria-disabled:pointer-events-none aria-disabled:opacity-50",
289
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
290
+ "[&>span]:min-w-0 [&>span]:flex-1 [&>span]:truncate",
291
+ "[&>svg]:size-3 [&>svg]:shrink-0",
292
+ "[&>svg]:transition-transform [&>svg]:duration-[var(--duration-normal)] motion-reduce:[&>svg]:transition-none",
293
+ "data-[state=open]:[&>svg]:rotate-90"
294
+ ],
295
+ {
296
+ variants: {
297
+ level: {
298
+ 1: "pl-2",
299
+ 2: "pl-[var(--sidebar-panel-item-indent-2)]",
300
+ 3: "pl-[var(--sidebar-panel-item-indent-3)]"
301
+ },
302
+ dropdown: {
303
+ true: "",
304
+ false: ""
305
+ }
306
+ },
307
+ compoundVariants: [
308
+ // Com chevron o pl recua um degrau; chevron 12 + gap 8 realinham o texto
309
+ { level: 2, dropdown: true, className: "pl-2" },
310
+ { level: 3, dropdown: true, className: "pl-[var(--sidebar-panel-item-indent-2)]" }
311
+ ],
312
+ defaultVariants: {
313
+ level: 1,
314
+ dropdown: false
315
+ }
316
+ }
317
+ );
318
+ var sidebarPanelGroupVariants = cva([
319
+ "flex w-full min-w-0 flex-col gap-[var(--sidebar-section-gap)]"
320
+ ]);
321
+ var sidebarPanelGroupTriggerVariants = cva([
322
+ "flex w-full min-w-0 items-center gap-2.5 px-2",
323
+ "text-xs text-[color:var(--muted-foreground)]",
324
+ "outline-hidden ring-sidebar-ring rounded-[var(--sidebar-nav-item-radius)] focus-visible:ring-2",
325
+ "[&>span]:min-w-0 [&>span]:flex-1 [&>span]:truncate [&>span]:text-left",
326
+ "[&>svg]:size-3 [&>svg]:shrink-0",
327
+ "[&>svg]:transition-transform [&>svg]:duration-[var(--duration-normal)] motion-reduce:[&>svg]:transition-none",
328
+ "data-[state=open]:[&>svg]:rotate-180"
329
+ ]);
330
+ var sidebarPanelGroupContentVariants = cva([
331
+ "flex w-full min-w-0 flex-col gap-2 px-1"
332
+ ]);
276
333
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
277
334
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
278
335
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
@@ -296,6 +353,20 @@ function SidebarProvider({
296
353
  }) {
297
354
  const isMobile = useIsMobile();
298
355
  const [openMobile, setOpenMobile] = React.useState(false);
356
+ const [railExpanded, setRailExpanded] = React.useState(false);
357
+ const toggleRail = React.useCallback(() => {
358
+ setRailExpanded((prev) => !prev);
359
+ }, []);
360
+ React.useEffect(() => {
361
+ if (!railExpanded) return;
362
+ const handleEscape = (event) => {
363
+ if (event.key === "Escape") setRailExpanded(false);
364
+ };
365
+ window.addEventListener("keydown", handleEscape);
366
+ return () => {
367
+ window.removeEventListener("keydown", handleEscape);
368
+ };
369
+ }, [railExpanded]);
299
370
  const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
300
371
  const open = openProp ?? internalOpen;
301
372
  const cookieTimeoutRef = React.useRef(void 0);
@@ -359,10 +430,13 @@ function SidebarProvider({
359
430
  isMobile,
360
431
  mode,
361
432
  openMobile,
433
+ railExpanded,
362
434
  setOpenMobile,
435
+ setRailExpanded,
436
+ toggleRail,
363
437
  toggleSidebar
364
438
  }),
365
- [state, open, setOpen, isMobile, mode, openMobile, setOpenMobile, toggleSidebar]
439
+ [state, open, setOpen, isMobile, mode, openMobile, railExpanded, setOpenMobile, toggleRail, toggleSidebar]
366
440
  );
367
441
  return /* @__PURE__ */ jsx(SidebarContext, { value: contextValue, children: /* @__PURE__ */ jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx(
368
442
  "div",
@@ -379,6 +453,7 @@ function SidebarProvider({
379
453
  },
380
454
  className: cn(sidebarProviderVariants(), className),
381
455
  "data-mode": mode,
456
+ "data-rail-expanded": mode === "dual" ? railExpanded : void 0,
382
457
  "data-slot": "sidebar-wrapper",
383
458
  ...props,
384
459
  children
@@ -450,7 +525,7 @@ function SidebarDualMode({
450
525
  "nav",
451
526
  {
452
527
  "aria-label": "Main navigation",
453
- className: "flex h-full w-full flex-row",
528
+ className: "flex h-full w-full flex-row pl-[var(--sidebar-rail-width)]",
454
529
  "data-sidebar": "sidebar",
455
530
  "data-slot": "sidebar-inner",
456
531
  children
@@ -918,25 +993,54 @@ function SidebarMenuSubButton({
918
993
  }
919
994
  function SidebarRailContent({
920
995
  className,
996
+ onBlur,
997
+ onFocus,
998
+ onMouseEnter,
999
+ onMouseLeave,
921
1000
  ...props
922
1001
  }) {
923
- const { isMobile, mode } = useSidebar();
1002
+ const { isMobile, mode, railExpanded, setRailExpanded } = useSidebar();
924
1003
  if (isMobile && mode === "dual") return null;
1004
+ const isDual = mode === "dual";
925
1005
  return /* @__PURE__ */ jsx(
926
1006
  "div",
927
1007
  {
928
1008
  className: cn(
929
1009
  // --rail-* is deprecated: width comes from the sidebar contract and the
930
1010
  // colors are the sidebar semantic tokens the rest of the file already uses
931
- "flex h-full w-[var(--sidebar-rail-width)] shrink-0 flex-col items-center justify-between",
1011
+ // Overlay (Figma 2483:1600): a rail é absolute e o nav do dual mode
1012
+ // reserva os 64px com pl — expandida, ela cobre o painel sem movê-lo
1013
+ "absolute inset-y-0 left-0 z-20",
1014
+ "flex h-full flex-col justify-between",
932
1015
  "gap-[var(--sidebar-rail-group-gap)]",
933
1016
  "px-[var(--sidebar-container-padding-x)] py-[var(--sidebar-container-padding-y)]",
934
1017
  "border-r border-sidebar-border",
935
1018
  "bg-sidebar",
1019
+ "transition-[width] duration-[var(--duration-normal)] ease-linear motion-reduce:transition-none",
1020
+ railExpanded ? "w-[var(--sidebar-rail-width-expanded)] items-stretch" : "w-[var(--sidebar-rail-width)] items-center",
936
1021
  className
937
1022
  ),
938
1023
  "data-sidebar": "rail-content",
939
1024
  "data-slot": "sidebar-rail-content",
1025
+ "data-state": railExpanded ? "expanded" : "collapsed",
1026
+ onBlur: (event) => {
1027
+ if (isDual && !event.currentTarget.contains(event.relatedTarget)) {
1028
+ setRailExpanded(false);
1029
+ }
1030
+ onBlur?.(event);
1031
+ },
1032
+ onFocus: (event) => {
1033
+ if (isDual) setRailExpanded(true);
1034
+ onFocus?.(event);
1035
+ },
1036
+ onMouseEnter: (event) => {
1037
+ if (isDual) setRailExpanded(true);
1038
+ onMouseEnter?.(event);
1039
+ },
1040
+ onMouseLeave: (event) => {
1041
+ if (isDual) setRailExpanded(false);
1042
+ onMouseLeave?.(event);
1043
+ },
940
1044
  ...props
941
1045
  }
942
1046
  );
@@ -944,17 +1048,25 @@ function SidebarRailContent({
944
1048
  function SidebarRailButton({
945
1049
  isActive = false,
946
1050
  tooltip,
1051
+ label,
947
1052
  className,
1053
+ children,
948
1054
  ...props
949
1055
  }) {
950
- const button = /* @__PURE__ */ jsx(
1056
+ const { railExpanded } = useSidebar();
1057
+ const button = /* @__PURE__ */ jsxs(
951
1058
  "button",
952
1059
  {
953
1060
  className: cn(sidebarRailButtonVariants({ isActive: isActive ?? void 0 }), className),
954
1061
  "data-active": isActive,
955
1062
  "data-sidebar": "rail-button",
956
1063
  "data-slot": "sidebar-rail-button",
957
- ...props
1064
+ ...props,
1065
+ children: [
1066
+ children,
1067
+ label && // Figma Rail Item Expanded=True: ícone + label; visível só com a rail expandida
1068
+ /* @__PURE__ */ jsx("span", { className: "hidden truncate text-sm group-data-[rail-expanded=true]/sidebar-wrapper:inline", children: label })
1069
+ ]
958
1070
  }
959
1071
  );
960
1072
  if (!tooltip) {
@@ -962,7 +1074,7 @@ function SidebarRailButton({
962
1074
  }
963
1075
  return /* @__PURE__ */ jsxs(Tooltip, { children: [
964
1076
  /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: button }),
965
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: tooltip })
1077
+ /* @__PURE__ */ jsx(TooltipContent, { hidden: railExpanded, side: "right", children: tooltip })
966
1078
  ] });
967
1079
  }
968
1080
  function SidebarPanelContent({
@@ -990,6 +1102,78 @@ function SidebarPanelContent({
990
1102
  }
991
1103
  );
992
1104
  }
1105
+ function SidebarPanelItem({
1106
+ asChild = false,
1107
+ level = 1,
1108
+ isActive = false,
1109
+ dropdown = false,
1110
+ children,
1111
+ className,
1112
+ ...props
1113
+ }) {
1114
+ const Comp = asChild ? Slot : "button";
1115
+ return /* @__PURE__ */ jsx(
1116
+ Comp,
1117
+ {
1118
+ className: cn(sidebarPanelItemVariants({ level, dropdown }), className),
1119
+ "data-active": isActive,
1120
+ "data-level": level,
1121
+ "data-sidebar": "panel-item",
1122
+ "data-slot": "sidebar-panel-item",
1123
+ type: asChild ? void 0 : "button",
1124
+ ...props,
1125
+ children: asChild ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
1126
+ dropdown && /* @__PURE__ */ jsx(ChevronRight, { "aria-hidden": "true" }),
1127
+ /* @__PURE__ */ jsx("span", { children })
1128
+ ] })
1129
+ }
1130
+ );
1131
+ }
1132
+ function SidebarPanelGroup({
1133
+ title,
1134
+ defaultOpen = true,
1135
+ open,
1136
+ onOpenChange,
1137
+ children,
1138
+ className,
1139
+ ...props
1140
+ }) {
1141
+ return /* @__PURE__ */ jsxs(
1142
+ Collapsible,
1143
+ {
1144
+ className: cn(sidebarPanelGroupVariants(), className),
1145
+ "data-sidebar": "panel-group",
1146
+ "data-slot": "sidebar-panel-group",
1147
+ defaultOpen,
1148
+ open,
1149
+ onOpenChange,
1150
+ ...props,
1151
+ children: [
1152
+ /* @__PURE__ */ jsxs(
1153
+ CollapsibleTrigger,
1154
+ {
1155
+ className: cn(sidebarPanelGroupTriggerVariants()),
1156
+ "data-sidebar": "panel-group-trigger",
1157
+ "data-slot": "sidebar-panel-group-trigger",
1158
+ children: [
1159
+ /* @__PURE__ */ jsx("span", { children: title }),
1160
+ /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true" })
1161
+ ]
1162
+ }
1163
+ ),
1164
+ /* @__PURE__ */ jsx(CollapsibleContent, { "data-slot": "sidebar-panel-group-collapsible", children: /* @__PURE__ */ jsx(
1165
+ "div",
1166
+ {
1167
+ className: cn(sidebarPanelGroupContentVariants()),
1168
+ "data-sidebar": "panel-group-content",
1169
+ "data-slot": "sidebar-panel-group-content",
1170
+ children
1171
+ }
1172
+ ) })
1173
+ ]
1174
+ }
1175
+ );
1176
+ }
993
1177
  function SevenLogo({ className, ...props }) {
994
1178
  return /* @__PURE__ */ jsxs(
995
1179
  "svg",
@@ -1274,6 +1458,6 @@ function SidebarThemeToggle({
1274
1458
  );
1275
1459
  }
1276
1460
 
1277
- export { Sidebar, SidebarAvatar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPanelContent, SidebarProvider, SidebarRail, SidebarRailButton, SidebarRailContent, SidebarSeparator, SidebarThemeToggle, SidebarTrigger, sidebarContainerVariants, sidebarContentVariants, sidebarDesktopVariants, sidebarFooterVariants, sidebarGapVariants, sidebarGroupActionVariants, sidebarGroupContentVariants, sidebarGroupLabelVariants, sidebarGroupVariants, sidebarHeaderVariants, sidebarInnerVariants, sidebarInputVariants, sidebarInsetVariants, sidebarMenuActionShowOnHoverVariants, sidebarMenuActionVariants, sidebarMenuBadgeVariants, sidebarMenuButtonVariants, sidebarMenuItemVariants, sidebarMenuSkeletonVariants, sidebarMenuSubButtonVariants, sidebarMenuSubItemVariants, sidebarMenuSubVariants, sidebarMenuVariants, sidebarMobileVariants, sidebarNonCollapsibleVariants, sidebarProviderVariants, sidebarRailButtonVariants, sidebarRailVariants, sidebarSeparatorVariants, sidebarTriggerVariants, useSidebar };
1278
- //# sourceMappingURL=chunk-GVNG5ME6.js.map
1279
- //# sourceMappingURL=chunk-GVNG5ME6.js.map
1461
+ export { Sidebar, SidebarAvatar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPanelContent, SidebarPanelGroup, SidebarPanelItem, SidebarProvider, SidebarRail, SidebarRailButton, SidebarRailContent, SidebarSeparator, SidebarThemeToggle, SidebarTrigger, sidebarContainerVariants, sidebarContentVariants, sidebarDesktopVariants, sidebarFooterVariants, sidebarGapVariants, sidebarGroupActionVariants, sidebarGroupContentVariants, sidebarGroupLabelVariants, sidebarGroupVariants, sidebarHeaderVariants, sidebarInnerVariants, sidebarInputVariants, sidebarInsetVariants, sidebarMenuActionShowOnHoverVariants, sidebarMenuActionVariants, sidebarMenuBadgeVariants, sidebarMenuButtonVariants, sidebarMenuItemVariants, sidebarMenuSkeletonVariants, sidebarMenuSubButtonVariants, sidebarMenuSubItemVariants, sidebarMenuSubVariants, sidebarMenuVariants, sidebarMobileVariants, sidebarNonCollapsibleVariants, sidebarPanelGroupContentVariants, sidebarPanelGroupTriggerVariants, sidebarPanelGroupVariants, sidebarPanelItemVariants, sidebarProviderVariants, sidebarRailButtonVariants, sidebarRailVariants, sidebarSeparatorVariants, sidebarTriggerVariants, useSidebar };
1462
+ //# sourceMappingURL=chunk-6CO3FRGG.js.map
1463
+ //# sourceMappingURL=chunk-6CO3FRGG.js.map