xertica-ui 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1057) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/README.md +27 -3
  3. package/assets/xertica-logo.svg +37 -37
  4. package/assets/xertica-x-logo.svg +20 -20
  5. package/bin/cli.ts +477 -70
  6. package/bin/generate-tokens.ts +262 -262
  7. package/bin/language-config.ts +361 -361
  8. package/components/assets/xertica-orbe-animation.ts +1162 -1162
  9. package/components/assistant/code-block/code-block.stories.tsx +57 -57
  10. package/components/assistant/code-block/code-block.test.tsx +44 -44
  11. package/components/assistant/code-block/index.ts +1 -1
  12. package/components/assistant/formatted-document/formatted-document.stories.tsx +51 -51
  13. package/components/assistant/formatted-document/formatted-document.test.tsx +42 -42
  14. package/components/assistant/formatted-document/index.ts +1 -1
  15. package/components/assistant/index.ts +6 -6
  16. package/components/assistant/markdown-message/MarkdownMessage.tsx +152 -152
  17. package/components/assistant/markdown-message/index.ts +1 -1
  18. package/components/assistant/markdown-message/markdown-message.stories.tsx +50 -50
  19. package/components/assistant/markdown-message/markdown-message.test.tsx +33 -33
  20. package/components/assistant/modern-chat-input/ModernChatInput.tsx +554 -554
  21. package/components/assistant/modern-chat-input/index.ts +1 -1
  22. package/components/assistant/modern-chat-input/modern-chat-input.stories.tsx +131 -131
  23. package/components/assistant/modern-chat-input/modern-chat-input.test.tsx +79 -79
  24. package/components/assistant/xertica-assistant/index.ts +3 -3
  25. package/components/assistant/xertica-assistant/parts/AssistantTypingIndicator.tsx +41 -41
  26. package/components/assistant/xertica-assistant/parts/index.ts +16 -16
  27. package/components/assistant/xertica-assistant/types.ts +134 -134
  28. package/components/assistant/xertica-assistant/xertica-assistant.stories.tsx +407 -407
  29. package/components/assistant/xertica-assistant/xertica-assistant.test.tsx +65 -65
  30. package/components/blocks/card-patterns/ActivityCardSkeleton.tsx +56 -56
  31. package/components/blocks/card-patterns/FeatureCard.tsx +109 -109
  32. package/components/blocks/card-patterns/FeatureCardSkeleton.tsx +63 -63
  33. package/components/blocks/card-patterns/NotificationCardSkeleton.tsx +81 -81
  34. package/components/blocks/card-patterns/ProfileCardSkeleton.tsx +69 -69
  35. package/components/blocks/card-patterns/ProjectCardSkeleton.tsx +72 -72
  36. package/components/blocks/card-patterns/QuickActionCard.tsx +68 -68
  37. package/components/blocks/card-patterns/QuickActionCardSkeleton.tsx +44 -44
  38. package/components/blocks/card-patterns/card-patterns.mdx +123 -123
  39. package/components/blocks/index.ts +1 -1
  40. package/components/brand/branding/branding.stories.tsx +57 -57
  41. package/components/brand/index.ts +6 -6
  42. package/components/brand/language-selector/LanguageSelector.tsx +102 -102
  43. package/components/brand/language-selector/index.ts +1 -1
  44. package/components/brand/language-selector/language-selector.mdx +126 -126
  45. package/components/brand/language-selector/language-selector.stories.tsx +114 -114
  46. package/components/brand/language-selector/language-selector.test.tsx +101 -101
  47. package/components/brand/theme-toggle/index.ts +1 -1
  48. package/components/brand/theme-toggle/theme-toggle.stories.tsx +34 -34
  49. package/components/brand/theme-toggle/theme-toggle.test.tsx +34 -34
  50. package/components/brand/xertica-logo/XerticaLogo.stories.tsx +82 -82
  51. package/components/brand/xertica-logo/XerticaLogo.tsx +104 -104
  52. package/components/brand/xertica-logo/index.ts +1 -1
  53. package/components/brand/xertica-logo/xertica-logo.test.tsx +26 -26
  54. package/components/brand/xertica-orbe/XerticaOrbe.tsx +1927 -1927
  55. package/components/brand/xertica-orbe/index.ts +1 -1
  56. package/components/brand/xertica-orbe/xertica-orbe.stories.tsx +40 -40
  57. package/components/brand/xertica-orbe/xertica-orbe.test.tsx +19 -19
  58. package/components/brand/xertica-provider/XerticaProvider.tsx +112 -112
  59. package/components/brand/xertica-provider/index.ts +1 -1
  60. package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
  61. package/components/brand/xertica-provider/xertica-provider.test.tsx +74 -74
  62. package/components/brand/xertica-xlogo/XerticaXLogo.stories.tsx +79 -79
  63. package/components/brand/xertica-xlogo/XerticaXLogo.tsx +65 -65
  64. package/components/brand/xertica-xlogo/index.ts +1 -1
  65. package/components/brand/xertica-xlogo/xertica-xlogo.test.tsx +16 -16
  66. package/components/examples/ApiKeyMapExample.tsx +71 -71
  67. package/components/examples/DrawingMapExample.tsx +565 -565
  68. package/components/examples/FilterableMapExample.tsx +393 -393
  69. package/components/examples/LocationPickerExample.tsx +348 -348
  70. package/components/examples/MapExamples.tsx +268 -268
  71. package/components/examples/MapGmpExample.tsx +169 -169
  72. package/components/examples/MapShowcase.tsx +471 -471
  73. package/components/examples/RouteMapExamples.tsx +329 -329
  74. package/components/examples/SidebarLogoExample.tsx +65 -65
  75. package/components/examples/SimpleFilterableMap.tsx +219 -219
  76. package/components/examples/index.ts +45 -45
  77. package/components/figma/ImageWithFallback.tsx +27 -27
  78. package/components/hooks/index.ts +13 -13
  79. package/components/hooks/use-layout-shortcuts.ts +43 -43
  80. package/components/layout/header/header.stories.tsx +204 -204
  81. package/components/layout/header/header.test.tsx +75 -75
  82. package/components/layout/header/header.tsx +349 -349
  83. package/components/layout/header/index.ts +1 -1
  84. package/components/layout/index.ts +2 -2
  85. package/components/layout/sidebar/index.ts +3 -3
  86. package/components/layout/sidebar/sidebar.mdx +1 -1
  87. package/components/layout/sidebar/sidebar.stories.tsx +586 -586
  88. package/components/layout/sidebar/sidebar.test.tsx +76 -76
  89. package/components/layout/sidebar/use-sidebar.ts +104 -104
  90. package/components/media/audio-player/AudioPlayer.stories.tsx +124 -124
  91. package/components/media/audio-player/AudioPlayer.test.tsx +106 -106
  92. package/components/media/audio-player/AudioPlayer.tsx +1 -1
  93. package/components/media/audio-player/index.ts +1 -1
  94. package/components/media/audio-player/use-audio-player.ts +312 -312
  95. package/components/media/index.ts +3 -3
  96. package/components/media/video-player/VideoPlayer.stories.tsx +98 -98
  97. package/components/media/video-player/VideoPlayer.test.tsx +73 -73
  98. package/components/media/video-player/index.ts +1 -1
  99. package/components/pages/forgot-password-page/ForgotPasswordPage.stories.tsx +24 -24
  100. package/components/pages/forgot-password-page/ForgotPasswordPage.tsx +188 -188
  101. package/components/pages/forgot-password-page/forgot-password-page.test.tsx +45 -45
  102. package/components/pages/forgot-password-page/index.ts +1 -1
  103. package/components/pages/home-content/HomeContent.stories.tsx +43 -43
  104. package/components/pages/home-content/HomeContent.tsx +1 -1
  105. package/components/pages/home-content/home-content.mdx +62 -62
  106. package/components/pages/home-content/index.ts +1 -1
  107. package/components/pages/home-page/HomePage.stories.tsx +39 -39
  108. package/components/pages/home-page/home-page.mdx +53 -53
  109. package/components/pages/home-page/home-page.test.tsx +53 -53
  110. package/components/pages/home-page/index.ts +1 -1
  111. package/components/pages/index.ts +8 -8
  112. package/components/pages/login-page/LoginPage.stories.tsx +39 -39
  113. package/components/pages/login-page/index.ts +1 -1
  114. package/components/pages/login-page/login-page.test.tsx +63 -63
  115. package/components/pages/reset-password-page/ResetPasswordPage.stories.tsx +24 -24
  116. package/components/pages/reset-password-page/index.ts +1 -1
  117. package/components/pages/template-content/TemplateContent.stories.tsx +43 -43
  118. package/components/pages/template-content/TemplateContent.tsx +1 -1
  119. package/components/pages/template-content/index.ts +1 -1
  120. package/components/pages/template-content/template-content.mdx +61 -61
  121. package/components/pages/template-page/TemplatePage.stories.tsx +39 -39
  122. package/components/pages/template-page/TemplatePage.tsx +62 -62
  123. package/components/pages/template-page/index.ts +1 -1
  124. package/components/pages/template-page/template-page.mdx +53 -53
  125. package/components/pages/template-page/template-page.test.tsx +52 -52
  126. package/components/pages/verify-email-page/VerifyEmailPage.stories.tsx +41 -41
  127. package/components/pages/verify-email-page/index.ts +1 -1
  128. package/components/public-api-smoke.test.tsx +52 -52
  129. package/components/shared/CustomTooltipContent.tsx +48 -48
  130. package/components/shared/assistant-utils.test.ts +16 -16
  131. package/components/shared/assistant-utils.ts +225 -225
  132. package/components/shared/error-boundary.stories.tsx +132 -132
  133. package/components/shared/error-boundary.tsx +154 -154
  134. package/components/shared/error-fallbacks.tsx +226 -226
  135. package/components/shared/layout-constants.ts +8 -8
  136. package/components/shared/navigation.ts +35 -35
  137. package/components/shared/use-mobile.test.ts +16 -16
  138. package/components/shared/use-mobile.ts +36 -36
  139. package/components/shared/utils.test.ts +14 -14
  140. package/components/shared/utils.ts +6 -6
  141. package/components/ui/accordion/accordion.mdx +8 -8
  142. package/components/ui/accordion/accordion.stories.tsx +105 -105
  143. package/components/ui/accordion/accordion.test.tsx +59 -59
  144. package/components/ui/accordion/accordion.tsx +77 -77
  145. package/components/ui/accordion/index.ts +1 -1
  146. package/components/ui/alert/alert.mdx +8 -8
  147. package/components/ui/alert/alert.stories.tsx +86 -86
  148. package/components/ui/alert/alert.test.tsx +53 -53
  149. package/components/ui/alert/alert.tsx +93 -93
  150. package/components/ui/alert/index.ts +1 -1
  151. package/components/ui/alert-dialog/alert-dialog.mdx +8 -8
  152. package/components/ui/alert-dialog/alert-dialog.stories.tsx +84 -84
  153. package/components/ui/alert-dialog/alert-dialog.test.tsx +70 -70
  154. package/components/ui/alert-dialog/alert-dialog.tsx +149 -149
  155. package/components/ui/alert-dialog/index.ts +1 -1
  156. package/components/ui/aspect-ratio/aspect-ratio.mdx +8 -8
  157. package/components/ui/aspect-ratio/aspect-ratio.stories.tsx +46 -46
  158. package/components/ui/aspect-ratio/aspect-ratio.test.tsx +28 -28
  159. package/components/ui/aspect-ratio/aspect-ratio.tsx +20 -20
  160. package/components/ui/aspect-ratio/index.ts +1 -1
  161. package/components/ui/assistant-chart/AssistantChart.tsx +64 -64
  162. package/components/ui/assistant-chart/assistant-chart.mdx +8 -8
  163. package/components/ui/assistant-chart/assistant-chart.stories.tsx +44 -44
  164. package/components/ui/assistant-chart/assistant-chart.test.tsx +46 -46
  165. package/components/ui/assistant-chart/index.ts +1 -1
  166. package/components/ui/avatar/avatar.mdx +8 -8
  167. package/components/ui/avatar/avatar.stories.tsx +86 -86
  168. package/components/ui/avatar/avatar.test.tsx +55 -55
  169. package/components/ui/avatar/avatar.tsx +71 -71
  170. package/components/ui/avatar/index.ts +1 -1
  171. package/components/ui/badge/badge.mdx +8 -8
  172. package/components/ui/badge/badge.stories.tsx +72 -72
  173. package/components/ui/badge/badge.test.tsx +40 -40
  174. package/components/ui/badge/badge.tsx +58 -58
  175. package/components/ui/badge/index.ts +1 -1
  176. package/components/ui/breadcrumb/breadcrumb.mdx +8 -8
  177. package/components/ui/breadcrumb/breadcrumb.stories.tsx +123 -123
  178. package/components/ui/breadcrumb/breadcrumb.test.tsx +70 -70
  179. package/components/ui/breadcrumb/breadcrumb.tsx +114 -114
  180. package/components/ui/breadcrumb/index.ts +1 -1
  181. package/components/ui/button/button.mdx +8 -8
  182. package/components/ui/button/button.stories.tsx +183 -183
  183. package/components/ui/button/button.test.tsx +64 -64
  184. package/components/ui/button/button.tsx +98 -98
  185. package/components/ui/button/index.ts +1 -1
  186. package/components/ui/calendar/calendar.mdx +8 -8
  187. package/components/ui/calendar/calendar.stories.tsx +108 -108
  188. package/components/ui/calendar/calendar.test.tsx +53 -53
  189. package/components/ui/calendar/calendar.tsx +230 -230
  190. package/components/ui/calendar/index.ts +1 -1
  191. package/components/ui/card/card.mdx +8 -8
  192. package/components/ui/card/card.stories.tsx +301 -301
  193. package/components/ui/card/card.test.tsx +55 -55
  194. package/components/ui/card/card.tsx +83 -83
  195. package/components/ui/card/index.ts +1 -1
  196. package/components/ui/carousel/carousel.mdx +8 -8
  197. package/components/ui/carousel/carousel.stories.tsx +80 -80
  198. package/components/ui/carousel/carousel.test.tsx +75 -75
  199. package/components/ui/carousel/carousel.tsx +242 -242
  200. package/components/ui/carousel/index.ts +1 -1
  201. package/components/ui/chart/chart.mdx +8 -8
  202. package/components/ui/chart/chart.stories.tsx +1328 -1328
  203. package/components/ui/chart/chart.test.tsx +178 -178
  204. package/components/ui/chart/chart.tsx +2232 -2232
  205. package/components/ui/chart/index.ts +1 -1
  206. package/components/ui/checkbox/checkbox.mdx +8 -8
  207. package/components/ui/checkbox/checkbox.stories.tsx +109 -109
  208. package/components/ui/checkbox/checkbox.test.tsx +49 -49
  209. package/components/ui/checkbox/checkbox.tsx +68 -68
  210. package/components/ui/checkbox/index.ts +1 -1
  211. package/components/ui/collapsible/collapsible.mdx +8 -8
  212. package/components/ui/collapsible/collapsible.stories.tsx +45 -45
  213. package/components/ui/collapsible/collapsible.test.tsx +51 -51
  214. package/components/ui/collapsible/collapsible.tsx +32 -32
  215. package/components/ui/collapsible/index.ts +1 -1
  216. package/components/ui/command/command.mdx +8 -8
  217. package/components/ui/command/command.stories.tsx +134 -134
  218. package/components/ui/command/command.test.tsx +48 -48
  219. package/components/ui/command/command.tsx +163 -163
  220. package/components/ui/command/index.ts +1 -1
  221. package/components/ui/context-menu/context-menu.mdx +8 -8
  222. package/components/ui/context-menu/context-menu.stories.tsx +76 -76
  223. package/components/ui/context-menu/context-menu.test.tsx +61 -61
  224. package/components/ui/context-menu/context-menu.tsx +236 -236
  225. package/components/ui/context-menu/index.ts +1 -1
  226. package/components/ui/dialog/dialog.mdx +8 -8
  227. package/components/ui/dialog/dialog.stories.tsx +174 -174
  228. package/components/ui/dialog/dialog.test.tsx +78 -78
  229. package/components/ui/dialog/dialog.tsx +189 -189
  230. package/components/ui/dialog/index.ts +1 -1
  231. package/components/ui/drawer/drawer.mdx +8 -8
  232. package/components/ui/drawer/drawer.stories.tsx +71 -71
  233. package/components/ui/drawer/drawer.test.tsx +67 -67
  234. package/components/ui/drawer/drawer.tsx +146 -146
  235. package/components/ui/drawer/index.ts +1 -1
  236. package/components/ui/dropdown-menu/dropdown-menu.mdx +8 -8
  237. package/components/ui/dropdown-menu/dropdown-menu.stories.tsx +156 -156
  238. package/components/ui/dropdown-menu/dropdown-menu.test.tsx +62 -62
  239. package/components/ui/dropdown-menu/dropdown-menu.tsx +240 -240
  240. package/components/ui/dropdown-menu/index.ts +1 -1
  241. package/components/ui/empty/empty.mdx +8 -8
  242. package/components/ui/empty/empty.stories.tsx +85 -85
  243. package/components/ui/empty/empty.test.tsx +31 -31
  244. package/components/ui/empty/empty.tsx +88 -88
  245. package/components/ui/empty/index.ts +1 -1
  246. package/components/ui/file-upload/file-upload.mdx +8 -8
  247. package/components/ui/file-upload/file-upload.stories.tsx +144 -144
  248. package/components/ui/file-upload/file-upload.test.tsx +65 -65
  249. package/components/ui/file-upload/file-upload.tsx +142 -142
  250. package/components/ui/file-upload/index.ts +2 -2
  251. package/components/ui/file-upload/use-file-upload.ts +177 -177
  252. package/components/ui/form/form.stories.tsx +85 -85
  253. package/components/ui/form/form.test.tsx +75 -75
  254. package/components/ui/form/form.tsx +163 -163
  255. package/components/ui/form/index.ts +1 -1
  256. package/components/ui/google-maps-loader/google-maps-loader.test.tsx +35 -35
  257. package/components/ui/google-maps-loader/google-maps-loader.tsx +465 -465
  258. package/components/ui/google-maps-loader/index.ts +1 -1
  259. package/components/ui/hover-card/hover-card.mdx +8 -8
  260. package/components/ui/hover-card/hover-card.stories.tsx +61 -61
  261. package/components/ui/hover-card/hover-card.test.tsx +48 -48
  262. package/components/ui/hover-card/hover-card.tsx +50 -50
  263. package/components/ui/hover-card/index.ts +1 -1
  264. package/components/ui/index.ts +400 -400
  265. package/components/ui/input/index.ts +1 -1
  266. package/components/ui/input/input.mdx +8 -8
  267. package/components/ui/input/input.stories.tsx +153 -153
  268. package/components/ui/input/input.test.tsx +47 -47
  269. package/components/ui/input/input.tsx +57 -57
  270. package/components/ui/input-otp/index.ts +1 -1
  271. package/components/ui/input-otp/input-otp.mdx +8 -8
  272. package/components/ui/input-otp/input-otp.stories.tsx +120 -120
  273. package/components/ui/input-otp/input-otp.test.tsx +74 -74
  274. package/components/ui/input-otp/input-otp.tsx +101 -101
  275. package/components/ui/label/index.ts +1 -1
  276. package/components/ui/label/label.mdx +8 -8
  277. package/components/ui/label/label.stories.tsx +74 -74
  278. package/components/ui/label/label.test.tsx +45 -45
  279. package/components/ui/label/label.tsx +53 -53
  280. package/components/ui/map/index.ts +1 -1
  281. package/components/ui/map/map.mdx +8 -8
  282. package/components/ui/map/map.stories.tsx +86 -86
  283. package/components/ui/map/map.test.tsx +82 -82
  284. package/components/ui/map/map.tsx +506 -506
  285. package/components/ui/map/mock.test.tsx +13 -13
  286. package/components/ui/map-config/index.ts +1 -1
  287. package/components/ui/map-config/map-config.ts +18 -18
  288. package/components/ui/map-layers/index.ts +1 -1
  289. package/components/ui/map-layers/map-layers.test.tsx +48 -48
  290. package/components/ui/map-layers/map-layers.tsx +126 -126
  291. package/components/ui/map.exports/index.ts +1 -1
  292. package/components/ui/map.exports/map.exports.ts +31 -31
  293. package/components/ui/menubar/index.ts +1 -1
  294. package/components/ui/menubar/menubar.mdx +8 -8
  295. package/components/ui/menubar/menubar.stories.tsx +130 -130
  296. package/components/ui/menubar/menubar.test.tsx +53 -53
  297. package/components/ui/menubar/menubar.tsx +265 -265
  298. package/components/ui/navigation-menu/index.ts +1 -1
  299. package/components/ui/navigation-menu/navigation-menu.mdx +8 -8
  300. package/components/ui/navigation-menu/navigation-menu.stories.tsx +126 -126
  301. package/components/ui/navigation-menu/navigation-menu.test.tsx +47 -47
  302. package/components/ui/navigation-menu/navigation-menu.tsx +165 -165
  303. package/components/ui/notification-badge/index.ts +1 -1
  304. package/components/ui/notification-badge/notification-badge.mdx +8 -8
  305. package/components/ui/notification-badge/notification-badge.stories.tsx +66 -66
  306. package/components/ui/notification-badge/notification-badge.test.tsx +61 -61
  307. package/components/ui/notification-badge/notification-badge.tsx +91 -91
  308. package/components/ui/page-header/index.ts +1 -1
  309. package/components/ui/page-header/page-header.stories.tsx +69 -69
  310. package/components/ui/page-header/page-header.test.tsx +37 -37
  311. package/components/ui/page-header/page-header.tsx +124 -124
  312. package/components/ui/pagination/index.ts +3 -3
  313. package/components/ui/pagination/pagination.mdx +8 -8
  314. package/components/ui/pagination/pagination.stories.tsx +210 -210
  315. package/components/ui/pagination/pagination.test.tsx +63 -63
  316. package/components/ui/pagination/pagination.tsx +140 -140
  317. package/components/ui/pagination/use-pagination.ts +173 -173
  318. package/components/ui/popover/index.ts +1 -1
  319. package/components/ui/popover/popover.mdx +8 -8
  320. package/components/ui/popover/popover.stories.tsx +73 -73
  321. package/components/ui/popover/popover.test.tsx +48 -48
  322. package/components/ui/popover/popover.tsx +54 -54
  323. package/components/ui/progress/index.ts +1 -1
  324. package/components/ui/progress/progress.mdx +8 -8
  325. package/components/ui/progress/progress.stories.tsx +55 -55
  326. package/components/ui/progress/progress.test.tsx +23 -23
  327. package/components/ui/progress/progress.tsx +68 -68
  328. package/components/ui/radio-group/index.ts +1 -1
  329. package/components/ui/radio-group/radio-group.mdx +8 -8
  330. package/components/ui/radio-group/radio-group.stories.tsx +114 -114
  331. package/components/ui/radio-group/radio-group.test.tsx +78 -78
  332. package/components/ui/radio-group/radio-group.tsx +93 -93
  333. package/components/ui/rating/index.ts +1 -1
  334. package/components/ui/rating/rating.mdx +8 -8
  335. package/components/ui/rating/rating.stories.tsx +50 -50
  336. package/components/ui/rating/rating.test.tsx +48 -48
  337. package/components/ui/rating/rating.tsx +145 -145
  338. package/components/ui/resizable/index.ts +1 -1
  339. package/components/ui/resizable/resizable.mdx +8 -8
  340. package/components/ui/resizable/resizable.stories.tsx +88 -88
  341. package/components/ui/resizable/resizable.test.tsx +61 -61
  342. package/components/ui/resizable/resizable.tsx +452 -452
  343. package/components/ui/rich-text-editor/index.ts +7 -7
  344. package/components/ui/rich-text-editor/rich-text-editor.stories.tsx +290 -290
  345. package/components/ui/rich-text-editor/rich-text-editor.test.tsx +86 -86
  346. package/components/ui/rich-text-editor/rich-text-editor.tsx +634 -634
  347. package/components/ui/rich-text-editor/use-rich-text-editor.ts +453 -453
  348. package/components/ui/route-map/index.ts +1 -1
  349. package/components/ui/route-map/route-map.mdx +8 -8
  350. package/components/ui/route-map/route-map.stories.tsx +48 -48
  351. package/components/ui/route-map/route-map.test.tsx +108 -108
  352. package/components/ui/route-map/route-map.tsx +349 -349
  353. package/components/ui/scroll-area/index.ts +1 -1
  354. package/components/ui/scroll-area/scroll-area.mdx +8 -8
  355. package/components/ui/scroll-area/scroll-area.stories.tsx +31 -31
  356. package/components/ui/scroll-area/scroll-area.test.tsx +27 -27
  357. package/components/ui/scroll-area/scroll-area.tsx +70 -70
  358. package/components/ui/search/index.ts +1 -1
  359. package/components/ui/search/search.mdx +8 -8
  360. package/components/ui/search/search.stories.tsx +107 -107
  361. package/components/ui/search/search.test.tsx +67 -67
  362. package/components/ui/search/search.tsx +141 -141
  363. package/components/ui/select/index.ts +1 -1
  364. package/components/ui/select/select.mdx +8 -8
  365. package/components/ui/select/select.stories.tsx +163 -163
  366. package/components/ui/select/select.test.tsx +99 -99
  367. package/components/ui/select/select.tsx +195 -195
  368. package/components/ui/separator/index.ts +1 -1
  369. package/components/ui/separator/separator.mdx +8 -8
  370. package/components/ui/separator/separator.stories.tsx +55 -55
  371. package/components/ui/separator/separator.test.tsx +23 -23
  372. package/components/ui/separator/separator.tsx +39 -39
  373. package/components/ui/sheet/index.ts +1 -1
  374. package/components/ui/sheet/sheet.mdx +8 -8
  375. package/components/ui/sheet/sheet.stories.tsx +93 -93
  376. package/components/ui/sheet/sheet.test.tsx +62 -62
  377. package/components/ui/sheet/sheet.tsx +149 -149
  378. package/components/ui/simple-map/index.ts +1 -1
  379. package/components/ui/simple-map/simple-map.mdx +8 -8
  380. package/components/ui/simple-map/simple-map.stories.tsx +44 -44
  381. package/components/ui/simple-map/simple-map.test.tsx +36 -36
  382. package/components/ui/simple-map/simple-map.tsx +92 -92
  383. package/components/ui/skeleton/index.ts +1 -1
  384. package/components/ui/skeleton/skeleton.mdx +8 -8
  385. package/components/ui/skeleton/skeleton.stories.tsx +36 -36
  386. package/components/ui/skeleton/skeleton.test.tsx +19 -19
  387. package/components/ui/skeleton/skeleton.tsx +25 -25
  388. package/components/ui/slider/index.ts +1 -1
  389. package/components/ui/slider/slider.mdx +8 -8
  390. package/components/ui/slider/slider.stories.tsx +44 -44
  391. package/components/ui/slider/slider.test.tsx +25 -25
  392. package/components/ui/slider/slider.tsx +66 -66
  393. package/components/ui/sonner/index.ts +1 -1
  394. package/components/ui/sonner/sonner.mdx +8 -8
  395. package/components/ui/sonner/sonner.stories.tsx +41 -41
  396. package/components/ui/sonner/sonner.test.tsx +24 -24
  397. package/components/ui/sonner/sonner.tsx +74 -74
  398. package/components/ui/stats-card/stats-card-skeleton.tsx +62 -62
  399. package/components/ui/stats-card/stats-card.mdx +8 -8
  400. package/components/ui/stats-card/stats-card.test.tsx +34 -34
  401. package/components/ui/stats-card/stats-card.tsx +93 -93
  402. package/components/ui/stepper/index.ts +3 -3
  403. package/components/ui/stepper/stepper.mdx +8 -8
  404. package/components/ui/stepper/stepper.stories.tsx +171 -171
  405. package/components/ui/stepper/stepper.test.tsx +47 -47
  406. package/components/ui/stepper/stepper.tsx +190 -190
  407. package/components/ui/stepper/use-stepper.ts +139 -139
  408. package/components/ui/switch/index.ts +1 -1
  409. package/components/ui/switch/switch.mdx +8 -8
  410. package/components/ui/switch/switch.stories.tsx +93 -93
  411. package/components/ui/switch/switch.test.tsx +44 -44
  412. package/components/ui/switch/switch.tsx +70 -70
  413. package/components/ui/table/index.ts +1 -1
  414. package/components/ui/table/table.mdx +8 -8
  415. package/components/ui/table/table.stories.tsx +114 -114
  416. package/components/ui/table/table.test.tsx +43 -43
  417. package/components/ui/table/table.tsx +104 -104
  418. package/components/ui/tabs/index.ts +1 -1
  419. package/components/ui/tabs/tabs.mdx +8 -8
  420. package/components/ui/tabs/tabs.stories.tsx +140 -140
  421. package/components/ui/tabs/tabs.test.tsx +50 -50
  422. package/components/ui/tabs/tabs.tsx +66 -66
  423. package/components/ui/textarea/index.ts +1 -1
  424. package/components/ui/textarea/textarea.mdx +8 -8
  425. package/components/ui/textarea/textarea.stories.tsx +69 -69
  426. package/components/ui/textarea/textarea.test.tsx +41 -41
  427. package/components/ui/textarea/textarea.tsx +61 -61
  428. package/components/ui/timeline/index.ts +1 -1
  429. package/components/ui/timeline/timeline.mdx +8 -8
  430. package/components/ui/timeline/timeline.stories.tsx +97 -97
  431. package/components/ui/timeline/timeline.test.tsx +53 -53
  432. package/components/ui/timeline/timeline.tsx +124 -124
  433. package/components/ui/toggle/index.ts +1 -1
  434. package/components/ui/toggle/toggle.mdx +8 -8
  435. package/components/ui/toggle/toggle.stories.tsx +56 -56
  436. package/components/ui/toggle/toggle.test.tsx +32 -32
  437. package/components/ui/toggle/toggle.tsx +55 -55
  438. package/components/ui/toggle-group/index.ts +1 -1
  439. package/components/ui/toggle-group/toggle-group.mdx +8 -8
  440. package/components/ui/toggle-group/toggle-group.stories.tsx +66 -66
  441. package/components/ui/toggle-group/toggle-group.test.tsx +47 -47
  442. package/components/ui/toggle-group/toggle-group.tsx +79 -79
  443. package/components/ui/tooltip/index.ts +1 -1
  444. package/components/ui/tooltip/tooltip.mdx +8 -8
  445. package/components/ui/tooltip/tooltip.stories.tsx +83 -83
  446. package/components/ui/tooltip/tooltip.test.tsx +39 -39
  447. package/components/ui/tooltip/tooltip.tsx +69 -69
  448. package/components/ui/tree-view/index.ts +4 -4
  449. package/components/ui/tree-view/tree-view.mdx +8 -8
  450. package/components/ui/tree-view/tree-view.stories.tsx +154 -154
  451. package/components/ui/tree-view/tree-view.test.tsx +58 -58
  452. package/components/ui/tree-view/tree-view.tsx +171 -171
  453. package/components/ui/tree-view/use-tree-view.ts +237 -237
  454. package/contexts/ApiKeyContext.test.tsx +26 -26
  455. package/contexts/ApiKeyContext.tsx +196 -196
  456. package/contexts/AssistenteContext.test.tsx +17 -17
  457. package/contexts/AssistenteContext.tsx +113 -113
  458. package/contexts/AuthContext.tsx +118 -118
  459. package/contexts/BrandColorsContext.test.tsx +21 -21
  460. package/contexts/BrandColorsContext.tsx +251 -251
  461. package/contexts/LanguageContext.test.tsx +121 -121
  462. package/contexts/LanguageContext.tsx +251 -251
  463. package/contexts/LayoutContext.test.tsx +29 -29
  464. package/contexts/LayoutContext.tsx +140 -140
  465. package/contexts/ThemeContext.test.tsx +38 -38
  466. package/contexts/ThemeContext.tsx +111 -111
  467. package/contexts/index.ts +8 -8
  468. package/contexts/theme-data.ts +340 -340
  469. package/dist/{AssistantChart-BAx9VQvb.cjs → AssistantChart-Bdd44uBn.cjs} +388 -127
  470. package/dist/{AssistantChart-CVko2A1W.js → AssistantChart-CFhDdGyU.js} +391 -130
  471. package/dist/AssistantChart-COGiOV-g.cjs +3541 -0
  472. package/dist/AssistantChart-CWX1OWNM.js +3373 -0
  473. package/dist/{AssistantChart-CVzmmhx4.js → AssistantChart-C_hwFRRr.js} +4 -4
  474. package/dist/{AssistantChart-BAudAfne.cjs → AssistantChart-CldVCVDe.cjs} +5 -5
  475. package/dist/{AssistantChart-BP8upjMk.js → AssistantChart-Cu3m7RBo.js} +5 -5
  476. package/dist/AssistantChart-CxGjH7Qk.js +3477 -0
  477. package/dist/AssistantChart-DIpshm3i.js +4784 -0
  478. package/dist/AssistantChart-D_PTeu8P.cjs +3503 -0
  479. package/dist/{AssistantChart-9w31gdAb.cjs → AssistantChart-DoZCyS5r.cjs} +4 -4
  480. package/dist/AssistantChart-zjsy2GaZ.cjs +4810 -0
  481. package/dist/AudioPlayer-9psiEucT.cjs +1282 -0
  482. package/dist/AudioPlayer-B1lt5cPl.cjs +989 -0
  483. package/dist/AudioPlayer-BZ7bibzU.cjs +982 -0
  484. package/dist/AudioPlayer-BpRPS4-1.cjs +1277 -0
  485. package/dist/AudioPlayer-C12BjQBV.cjs +997 -0
  486. package/dist/{AudioPlayer-1ypwE2Wh.cjs → AudioPlayer-CFeV8t-5.cjs} +1 -1
  487. package/dist/{AudioPlayer-DuKXrCfy.js → AudioPlayer-CGRUtUdN.js} +1 -1
  488. package/dist/AudioPlayer-Coly3q5R.js +1278 -0
  489. package/dist/AudioPlayer-CySJIyvL.js +937 -0
  490. package/dist/AudioPlayer-DMcG_c7L.js +990 -0
  491. package/dist/AudioPlayer-DcFKRJE_.js +998 -0
  492. package/dist/AudioPlayer-Dp2bD1Gk.js +1278 -0
  493. package/dist/AudioPlayer-IAU5q5T1.cjs +936 -0
  494. package/dist/AudioPlayer-e8LfNoqO.js +983 -0
  495. package/dist/BrandColorsContext-565dDHd5.js +660 -0
  496. package/dist/BrandColorsContext-BcJbtkqn.cjs +659 -0
  497. package/dist/BrandColorsContext-DZT7JjeD.js +659 -0
  498. package/dist/BrandColorsContext-awnBCmC4.cjs +666 -0
  499. package/dist/{xertica-assistant-Qp3ydksa.cjs → CodeBlock-7TTgmdGG.cjs} +263 -51
  500. package/dist/{xertica-assistant-gnCJdcZY.js → CodeBlock-BeSt1h5P.js} +219 -7
  501. package/dist/CodeBlock-BgfYL_rD.cjs +2094 -0
  502. package/dist/CodeBlock-BlcqlA9M.cjs +2094 -0
  503. package/dist/CodeBlock-Bnmeu5ez.cjs +2094 -0
  504. package/dist/CodeBlock-BtfPlbAI.js +2078 -0
  505. package/dist/CodeBlock-CIySIuYr.js +2078 -0
  506. package/dist/CodeBlock-CuPtUM-7.cjs +2094 -0
  507. package/dist/CodeBlock-D6ffWXgc.js +2078 -0
  508. package/dist/CodeBlock-D8dcwbit.cjs +2094 -0
  509. package/dist/CodeBlock-DMZrFnlw.cjs +2094 -0
  510. package/dist/CodeBlock-DYkTfR0f.js +221 -0
  511. package/dist/CodeBlock-DlBehYN8.js +2078 -0
  512. package/dist/CodeBlock-DnYNI8rQ.js +2078 -0
  513. package/dist/CodeBlock-DvKWbSnE.cjs +2094 -0
  514. package/dist/CodeBlock-DwMCfkFY.js +2078 -0
  515. package/dist/CodeBlock-Dy6CNYyj.js +2078 -0
  516. package/dist/CodeBlock-EOvp9cVu.cjs +223 -0
  517. package/dist/CodeBlock-U1pPOQI7.cjs +2094 -0
  518. package/dist/CodeBlock-f_GpNhEB.js +2078 -0
  519. package/dist/CodeBlock-oB6u8nI1.js +2078 -0
  520. package/dist/CodeBlock-tZC31B73.cjs +2094 -0
  521. package/dist/CustomTooltipContent-BhdIeBEg.cjs +54 -0
  522. package/dist/CustomTooltipContent-CNbVB2NS.js +33 -0
  523. package/dist/FeatureCard-BZ4CYxFf.cjs +497 -0
  524. package/dist/FeatureCard-CxC-7C-C.cjs +300 -0
  525. package/dist/FeatureCard-DNycVGwT.js +485 -0
  526. package/dist/FeatureCard-DbHWCb4E.js +301 -0
  527. package/dist/FeatureCardSkeleton-DZqc96mt.js +27 -0
  528. package/dist/FeatureCardSkeleton-pTa0YNKP.cjs +29 -0
  529. package/dist/ImageWithFallback-CGtidP6B.cjs +4542 -0
  530. package/dist/ImageWithFallback-lsg3pdFg.js +4508 -0
  531. package/dist/{LanguageContext-DvUt5jBg.cjs → LanguageContext-B_KFTCzT.cjs} +2 -2
  532. package/dist/{LanguageContext-BwhwC3G2.js → LanguageContext-CS14yCpi.js} +2 -2
  533. package/dist/LanguageSelector-B5YfbHra.js +231 -0
  534. package/dist/LanguageSelector-D6uacAIM.cjs +230 -0
  535. package/dist/LayoutContext-B45-e9DI.cjs +93 -0
  536. package/dist/LayoutContext-BAql6ZRY.js +97 -0
  537. package/dist/LayoutContext-BEq_-n98.cjs +96 -0
  538. package/dist/LayoutContext-Bav3UMEA.js +94 -0
  539. package/dist/LayoutContext-BvK-ggDa.cjs +96 -0
  540. package/dist/LayoutContext-DNl1xSoX.js +92 -0
  541. package/dist/{ThemeContext-ept8jhXI.js → ThemeContext-BWq9ACPo.js} +8 -13
  542. package/dist/ThemeContext-BXjrgUjW.js +1917 -0
  543. package/dist/{ThemeContext-Bo-W2WZH.js → ThemeContext-BgclCB35.js} +3 -3
  544. package/dist/{ThemeContext-CP3a0jxy.cjs → ThemeContext-Bmod0Cg2.cjs} +8 -13
  545. package/dist/ThemeContext-BoH4NLfN.js +734 -0
  546. package/dist/{ThemeContext-BbBNoFTG.js → ThemeContext-C2EwAPDt.js} +2 -2
  547. package/dist/{ThemeContext-U4dEYc6C.cjs → ThemeContext-CGk3KK0k.cjs} +1 -8
  548. package/dist/ThemeContext-CMD3z2Dz.cjs +1930 -0
  549. package/dist/{ThemeContext-D3LzacmG.js → ThemeContext-CQSo4Iwc.js} +1 -8
  550. package/dist/{ThemeContext-BblcjQup.cjs → ThemeContext-DQUOeziy.cjs} +3 -3
  551. package/dist/ThemeContext-j5aGtPky.cjs +1924 -0
  552. package/dist/ThemeContext-r69W20Xg.cjs +733 -0
  553. package/dist/{ThemeContext-Cmr8Ex8H.cjs → ThemeContext-vTjumZeM.cjs} +2 -2
  554. package/dist/ThemeContext-x_F2zsnv.js +1923 -0
  555. package/dist/{VerifyEmailPage-BRSP-Pwt.cjs → VerifyEmailPage--1Vurewl.cjs} +3 -3
  556. package/dist/{VerifyEmailPage-BE-L9mB7.js → VerifyEmailPage-1WwWczAn.js} +12 -22
  557. package/dist/{VerifyEmailPage-DF2ilhum.cjs → VerifyEmailPage-B4peJjAT.cjs} +356 -334
  558. package/dist/{VerifyEmailPage-CR7kb5df.cjs → VerifyEmailPage-BComraR7.cjs} +12 -22
  559. package/dist/{VerifyEmailPage-BiRm7Nh4.cjs → VerifyEmailPage-By3Jf__L.cjs} +348 -329
  560. package/dist/VerifyEmailPage-ByerOcm4.cjs +3232 -0
  561. package/dist/{VerifyEmailPage-CbgjOF0v.js → VerifyEmailPage-C0c2e5n0.js} +7 -7
  562. package/dist/{VerifyEmailPage-EhudUdqF.js → VerifyEmailPage-C5TNQTBa.js} +355 -343
  563. package/dist/{VerifyEmailPage-Dt7zgA4w.cjs → VerifyEmailPage-CFLMls1p.cjs} +4 -4
  564. package/dist/{VerifyEmailPage-vYHbYK3q.js → VerifyEmailPage-CJLz3jrn.js} +347 -338
  565. package/dist/VerifyEmailPage-COiyNl1y.js +2825 -0
  566. package/dist/{VerifyEmailPage-DMBh4NM9.cjs → VerifyEmailPage-CYXtbKi3.cjs} +1 -1
  567. package/dist/{VerifyEmailPage-DTtFfC-J.js → VerifyEmailPage-CgMxRb4z.js} +3 -3
  568. package/dist/VerifyEmailPage-CqKsR2v8.js +2827 -0
  569. package/dist/{VerifyEmailPage-Bae2cBXT.cjs → VerifyEmailPage-Cwi3kbol.cjs} +7 -7
  570. package/dist/{VerifyEmailPage-BIBOKV7Z.js → VerifyEmailPage-DSBMRHtl.js} +36 -41
  571. package/dist/{VerifyEmailPage-hdB8JQGv.cjs → VerifyEmailPage-De6bQjrz.cjs} +36 -41
  572. package/dist/VerifyEmailPage-DgIid028.js +3223 -0
  573. package/dist/VerifyEmailPage-DjQKRlUS.cjs +2824 -0
  574. package/dist/{VerifyEmailPage-CdYPSJoO.js → VerifyEmailPage-DvMLZgFt.js} +1 -1
  575. package/dist/{VerifyEmailPage-C_ihbcth.js → VerifyEmailPage-MTD7AG1Z.js} +4 -4
  576. package/dist/{VerifyEmailPage-Bvfv8HVQ.js → VerifyEmailPage-RrUApqBN.js} +3 -3
  577. package/dist/{VerifyEmailPage-D-FRj5TU.cjs → VerifyEmailPage-VoMI7MYH.cjs} +3 -3
  578. package/dist/VerifyEmailPage-s-1X3LDJ.cjs +2826 -0
  579. package/dist/XerticaOrbe-KL1RBHzw.cjs +1354 -0
  580. package/dist/XerticaOrbe-Uk2JML1-.cjs +1927 -0
  581. package/dist/XerticaOrbe-jA5T2iOk.js +1925 -0
  582. package/dist/XerticaOrbe-zwS1p2a8.js +1355 -0
  583. package/dist/XerticaProvider-6btlAlzc.js +17 -0
  584. package/dist/{XerticaProvider-siSt9uG2.js → XerticaProvider-B7EVH-NF.js} +2 -2
  585. package/dist/{XerticaProvider-CjQAQPcn.cjs → XerticaProvider-BIrqfZ-i.cjs} +11 -8
  586. package/dist/XerticaProvider-BNoNOxQ5.cjs +16 -0
  587. package/dist/{XerticaProvider-CWgby5mY.js → XerticaProvider-BSyFrmC0.js} +1 -1
  588. package/dist/XerticaProvider-BlY2limY.cjs +38 -0
  589. package/dist/{XerticaProvider-CWs6EwNa.js → XerticaProvider-C1DKnvLh.js} +4 -4
  590. package/dist/{XerticaProvider-AbWlr7Af.cjs → XerticaProvider-CBGc4EMA.cjs} +4 -4
  591. package/dist/{XerticaProvider-BITjgC5p.js → XerticaProvider-CEoWMTxu.js} +2 -2
  592. package/dist/{XerticaProvider-AChwphCO.cjs → XerticaProvider-CiNKjMx1.cjs} +1 -1
  593. package/dist/{XerticaProvider-By8q3Roe.cjs → XerticaProvider-CllrbMEJ.cjs} +2 -2
  594. package/dist/{XerticaProvider-B8CaV7xu.cjs → XerticaProvider-D-yNhF94.cjs} +1 -1
  595. package/dist/XerticaProvider-DDuiIcKo.js +39 -0
  596. package/dist/{XerticaProvider-D5lLumH-.js → XerticaProvider-DUOJg9iX.js} +10 -10
  597. package/dist/{XerticaProvider-DQtvJU7m.js → XerticaProvider-DYq4JWtg.js} +1 -1
  598. package/dist/{XerticaProvider-qQUDop71.cjs → XerticaProvider-Dl_b72_l.cjs} +11 -8
  599. package/dist/{XerticaProvider-CUYJZc32.js → XerticaProvider-Dt5HEzbQ.js} +10 -10
  600. package/dist/{XerticaProvider-CW9hpCdF.cjs → XerticaProvider-ET0ihewn.cjs} +2 -2
  601. package/dist/XerticaProvider-cI9hSs27.cjs +38 -0
  602. package/dist/XerticaProvider-hSwhNQex.js +39 -0
  603. package/dist/{XerticaXLogo-8TTzBjHw.cjs → XerticaXLogo-B2svDGZh.cjs} +1 -1
  604. package/dist/{XerticaXLogo-ChryA6xj.js → XerticaXLogo-B7xQ5dhi.js} +1 -1
  605. package/dist/{XerticaXLogo-CziKMQil.cjs → XerticaXLogo-CQUUjXoH.cjs} +8 -8
  606. package/dist/{XerticaXLogo-DfUvz-lD.js → XerticaXLogo-Cmsp-Eey.js} +9 -9
  607. package/dist/{XerticaXLogo-CFuIlYFH.js → XerticaXLogo-CowGv7BC.js} +1 -1
  608. package/dist/{XerticaXLogo-DHz5SugF.js → XerticaXLogo-DZbo4vOE.js} +12 -12
  609. package/dist/{XerticaXLogo-kslQ8Tk_.cjs → XerticaXLogo-Zw2B276b.cjs} +1 -1
  610. package/dist/{XerticaXLogo-CU-U-GP4.cjs → XerticaXLogo-bvZSgwGF.cjs} +13 -7
  611. package/dist/{XerticaXLogo-BWaag64t.js → XerticaXLogo-mqjoBiLI.js} +12 -12
  612. package/dist/{XerticaXLogo-DTee_y8X.cjs → XerticaXLogo-uQgwns_E.cjs} +13 -7
  613. package/dist/alert-dialog-BOje--vD.js +847 -0
  614. package/dist/alert-dialog-BtEuQqrg.cjs +870 -0
  615. package/dist/{alert-dialog-yckpaOpy.cjs → alert-dialog-DSKByiKZ.cjs} +3 -3
  616. package/dist/alert-dialog-DhwPioBa.cjs +885 -0
  617. package/dist/alert-dialog-DqlRW_An.js +831 -0
  618. package/dist/{alert-dialog-iDe5VE5o.js → alert-dialog-s-vmNkJ_.js} +3 -3
  619. package/dist/assistant.cjs.js +8 -4
  620. package/dist/assistant.es.js +5 -11
  621. package/dist/avatar-3kO2Anrp.js +54 -0
  622. package/dist/avatar-BCM7YQRC.cjs +77 -0
  623. package/dist/blocks.cjs.js +9 -4
  624. package/dist/blocks.es.js +2 -16
  625. package/dist/brand.cjs.js +10 -5
  626. package/dist/brand.es.js +3 -11
  627. package/dist/breadcrumb-BKtHF4gk.cjs +98 -0
  628. package/dist/breadcrumb-CqJ7bHY5.js +161 -0
  629. package/dist/breadcrumb-ifNsA7Zl.js +90 -0
  630. package/dist/breadcrumb-m9Hb2_XN.cjs +177 -0
  631. package/dist/button-0BlA47It.cjs +85 -0
  632. package/dist/button-DZHzN1Gd.js +62 -0
  633. package/dist/cli.js +391 -66
  634. package/dist/components/assistant/xertica-assistant/hooks/index.d.ts +6 -0
  635. package/dist/components/assistant/xertica-assistant/hooks/use-assistant-conversations.d.ts +21 -0
  636. package/dist/components/assistant/xertica-assistant/hooks/use-assistant-messages.d.ts +49 -0
  637. package/dist/components/assistant/xertica-assistant/hooks/use-assistant-suggestions.d.ts +16 -0
  638. package/dist/components/blocks/audio-player/AudioPlayer.d.ts +35 -0
  639. package/dist/components/blocks/audio-player/index.d.ts +1 -0
  640. package/dist/components/blocks/document-editor/DocumentEditor.d.ts +26 -0
  641. package/dist/components/blocks/document-editor/index.d.ts +1 -0
  642. package/dist/components/blocks/podcast-player/PodcastPlayer.d.ts +41 -0
  643. package/dist/components/blocks/podcast-player/index.d.ts +1 -0
  644. package/dist/components/ui/chart/parts/chart-dashboard.d.ts +113 -0
  645. package/dist/components/ui/chart/parts/chart-metric.d.ts +118 -0
  646. package/dist/components/ui/chart/parts/chart-primitives.d.ts +101 -0
  647. package/dist/components/ui/chart/parts/chart-shared.d.ts +20 -0
  648. package/dist/components/ui/chart/parts/chart-utils.d.ts +12 -0
  649. package/dist/components/ui/chart/parts/index.d.ts +5 -0
  650. package/dist/dropdown-menu-BDB5CmQs.cjs +247 -0
  651. package/dist/dropdown-menu-BMcykFDf.cjs +225 -0
  652. package/dist/dropdown-menu-DQidbKBD.js +231 -0
  653. package/dist/dropdown-menu-Dn_eV2Xb.js +190 -0
  654. package/dist/google-maps-loader-BCe58h9D.js +308 -0
  655. package/dist/google-maps-loader-BFWp6VPd.js +287 -0
  656. package/dist/google-maps-loader-BKcdgFbu.cjs +312 -0
  657. package/dist/{google-maps-loader-t2IlYBzw.js → google-maps-loader-CTYySAun.js} +4 -0
  658. package/dist/google-maps-loader-CumCNXeG.js +312 -0
  659. package/dist/{google-maps-loader-BqsYL48U.cjs → google-maps-loader-Y-QkD-Li.cjs} +5 -0
  660. package/dist/google-maps-loader-casMyxlo.cjs +316 -0
  661. package/dist/google-maps-loader-eS3uQ5TA.cjs +287 -0
  662. package/dist/header-Cgy6vYPk.cjs +731 -0
  663. package/dist/header-DRlT4jgI.js +715 -0
  664. package/dist/header-Dux00SI4.cjs +731 -0
  665. package/dist/header-EkGKXPsD.js +715 -0
  666. package/dist/header-WfEywpyc.cjs +731 -0
  667. package/dist/header-tifNQn2U.js +715 -0
  668. package/dist/hooks.cjs.js +12 -8
  669. package/dist/hooks.es.js +10 -27
  670. package/dist/index-9GWd0qxq.cjs +12 -0
  671. package/dist/index-BabBx2pa.js +6 -0
  672. package/dist/index-BhapVLVj.js +8 -0
  673. package/dist/{index-D3RLKRAs.cjs → index-COtD8bRW.cjs} +1 -1
  674. package/dist/index-D6fxYEY8.cjs +7 -0
  675. package/dist/index-DAIp0_HK.js +8 -0
  676. package/dist/index-DW5tYe26.js +8 -0
  677. package/dist/index-GA__GvnG.cjs +7 -0
  678. package/dist/index.cjs.js +37 -32
  679. package/dist/index.es.js +30 -363
  680. package/dist/index.umd.js +1043 -470
  681. package/dist/input-2R4loU86.js +127 -0
  682. package/dist/input-C_UiS2Py.cjs +152 -0
  683. package/dist/input-DWANSKGb.cjs +145 -0
  684. package/dist/input-cc-PTD4R.js +123 -0
  685. package/dist/layout.cjs.js +10 -6
  686. package/dist/layout.es.js +7 -9
  687. package/dist/media.cjs.js +8 -3
  688. package/dist/media.es.js +1 -6
  689. package/dist/pages.cjs.js +8 -3
  690. package/dist/pages.es.js +1 -11
  691. package/dist/progress-C7Lti5wo.js +80 -0
  692. package/dist/progress-Cqwxbqs1.cjs +103 -0
  693. package/dist/progress-DPtzoVV8.js +175 -0
  694. package/dist/progress-EeaoqqUs.cjs +191 -0
  695. package/dist/rich-text-editor-0mraWT5y.cjs +2376 -0
  696. package/dist/rich-text-editor-B-IkcPD0.js +2874 -0
  697. package/dist/rich-text-editor-B6jMRLzk.cjs +1939 -0
  698. package/dist/rich-text-editor-B8_oYcIR.js +1730 -0
  699. package/dist/rich-text-editor-B9UbSXNb.js +1203 -0
  700. package/dist/rich-text-editor-BYuRBNBU.js +2373 -0
  701. package/dist/rich-text-editor-Bb9pySTs.cjs +2374 -0
  702. package/dist/rich-text-editor-BcL6L3cm.cjs +2374 -0
  703. package/dist/rich-text-editor-BoVZYtTs.cjs +2391 -0
  704. package/dist/rich-text-editor-Bp3zQqMC.js +2954 -0
  705. package/dist/rich-text-editor-CMgSN_w2.js +1189 -0
  706. package/dist/rich-text-editor-CPV1lEPH.cjs +1748 -0
  707. package/dist/rich-text-editor-CeucBdIv.cjs +2971 -0
  708. package/dist/rich-text-editor-CoKqbCtu.cjs +1799 -0
  709. package/dist/rich-text-editor-Cw56T_mB.js +2356 -0
  710. package/dist/rich-text-editor-Cyt8qs2b.js +1921 -0
  711. package/dist/rich-text-editor-D6H84OcX.cjs +1220 -0
  712. package/dist/rich-text-editor-D76gD-QI.js +2328 -0
  713. package/dist/rich-text-editor-DKkokOnA.js +1781 -0
  714. package/dist/rich-text-editor-DNsdpN64.cjs +2359 -0
  715. package/dist/rich-text-editor-DfG8bCyY.js +2358 -0
  716. package/dist/rich-text-editor-DqLICivI.js +2832 -0
  717. package/dist/rich-text-editor-DxO1Hz3a.cjs +2903 -0
  718. package/dist/rich-text-editor-Dxjw31Z4.js +2341 -0
  719. package/dist/rich-text-editor-DzP0Epmb.js +2356 -0
  720. package/dist/rich-text-editor-bRkNoeZY.cjs +2891 -0
  721. package/dist/rich-text-editor-lyYE2ZG5.cjs +1207 -0
  722. package/dist/rich-text-editor-skplNlBM.cjs +2345 -0
  723. package/dist/select-Bkbr0f-Z.cjs +162 -0
  724. package/dist/select-CH6v_KcQ.cjs +161 -0
  725. package/dist/select-CvIVdX2n.js +145 -0
  726. package/dist/select-D-xvCZK2.js +130 -0
  727. package/dist/{sidebar-CplprZpM.js → sidebar-3XyzjVBw.js} +40 -49
  728. package/dist/{sidebar-OTO_up7Z.js → sidebar-B6SlKZYN.js} +40 -49
  729. package/dist/{sidebar-CmvwjnVb.js → sidebar-BViy8Eeu.js} +17 -9
  730. package/dist/{sidebar-Dz7bd3zP.js → sidebar-BbVIQvlP.js} +1 -1
  731. package/dist/{sidebar-CVUGHOS_.cjs → sidebar-BxGXsDAd.cjs} +16 -8
  732. package/dist/sidebar-CK_0ZQHj.cjs +803 -0
  733. package/dist/{sidebar-KIS0C2JH.js → sidebar-CRMiBtAi.js} +1 -1
  734. package/dist/sidebar-CUuOvYhK.js +787 -0
  735. package/dist/{sidebar-zowjejT2.cjs → sidebar-CZ2mWaMM.cjs} +1 -1
  736. package/dist/{sidebar-CA6_ek3f.js → sidebar-CrQDDdcz.js} +24 -33
  737. package/dist/{sidebar-BvF5I2Ue.cjs → sidebar-DAaY8bRU.cjs} +24 -33
  738. package/dist/sidebar-DQj1z3jG.cjs +758 -0
  739. package/dist/sidebar-Djn5syhi.cjs +786 -0
  740. package/dist/{sidebar-B3EYhli0.cjs → sidebar-DyYvgyBj.cjs} +41 -46
  741. package/dist/sidebar-LluMXfam.js +759 -0
  742. package/dist/sidebar-_rT7rBMk.js +787 -0
  743. package/dist/{sidebar-B9NR0lCe.cjs → sidebar-nzPoVHBQ.cjs} +41 -46
  744. package/dist/{sidebar-C5B_LHek.cjs → sidebar-q7P2Godd.cjs} +1 -1
  745. package/dist/skeleton-DjiHerJn.cjs +87 -0
  746. package/dist/skeleton-DtR5tkYe.js +78 -0
  747. package/dist/slider-B00b9SVK.cjs +78 -0
  748. package/dist/slider-Bc5Hd0y1.js +56 -0
  749. package/dist/slider-DQCNUUMj.js +56 -0
  750. package/dist/slider-N7hFFj6X.cjs +73 -0
  751. package/dist/sonner-B-jWlik1.cjs +68 -0
  752. package/dist/sonner-C9tiqj4f.js +47 -0
  753. package/dist/tooltip-D8n9UYoU.cjs +72 -0
  754. package/dist/tooltip-Ded96neP.cjs +137 -0
  755. package/dist/tooltip-HDOoD2-0.js +120 -0
  756. package/dist/tooltip-RtbSmPYJ.js +48 -0
  757. package/dist/ui.cjs.js +23 -18
  758. package/dist/ui.es.js +16 -303
  759. package/dist/use-audio-player-B31J-aqh.cjs +187 -0
  760. package/dist/use-audio-player-B78fd2ct.js +188 -0
  761. package/dist/use-audio-player-BkmEmj8Q.js +185 -0
  762. package/dist/use-audio-player-CLFTWFW1.cjs +184 -0
  763. package/dist/use-audio-player-CLLn00I6.js +188 -0
  764. package/dist/use-audio-player-DGvhPrgR.cjs +190 -0
  765. package/dist/{use-audio-player-Dn1NR9xN.cjs → use-audio-player-NKsWyjWu.cjs} +7 -3
  766. package/dist/{use-audio-player-Bkh23vQ3.js → use-audio-player-nv8ZSGa1.js} +7 -3
  767. package/dist/use-file-upload-BcjEo2S5.js +404 -0
  768. package/dist/use-file-upload-CRJR68Tj.cjs +403 -0
  769. package/dist/use-mobile-B0hNy_Y6.cjs +4303 -0
  770. package/dist/use-mobile-BXuYROXM.js +4202 -0
  771. package/dist/use-mobile-Bbd51ASU.cjs +4392 -0
  772. package/dist/use-mobile-BdXTRb0Z.cjs +51 -0
  773. package/dist/use-mobile-Bk6CX-TC.js +4359 -0
  774. package/dist/use-mobile-BvYdisLP.js +4202 -0
  775. package/dist/use-mobile-BzuxjzNX.cjs +4392 -0
  776. package/dist/use-mobile-CG2-SdXV.cjs +4235 -0
  777. package/dist/use-mobile-CKb5pqTs.js +4269 -0
  778. package/dist/use-mobile-CYuAuGDl.js +4202 -0
  779. package/dist/use-mobile-CaENcqm-.js +4508 -0
  780. package/dist/use-mobile-CbrYgJGJ.js +4203 -0
  781. package/dist/use-mobile-Cd4xPrKq.cjs +46 -0
  782. package/dist/use-mobile-Ce2cBAQe.js +29 -0
  783. package/dist/use-mobile-DMOvImGQ.cjs +4542 -0
  784. package/dist/use-mobile-DRB3BQgD.cjs +4235 -0
  785. package/dist/use-mobile-DZvv7QMR.js +4359 -0
  786. package/dist/use-mobile-DdI_TXam.cjs +4235 -0
  787. package/dist/use-mobile-DlceKf8a.js +4359 -0
  788. package/dist/use-mobile-DsOnow1o.cjs +4236 -0
  789. package/dist/use-mobile-Kcj6jSnK.cjs +4392 -0
  790. package/dist/use-mobile-bnKcua_i.js +4202 -0
  791. package/dist/use-mobile-j4w2Jrf1.js +30 -0
  792. package/dist/use-mobile-ncXBeE2z.cjs +4235 -0
  793. package/dist/use-rich-text-editor-DjiddBGv.js +282 -0
  794. package/dist/use-rich-text-editor-lpeswbCs.cjs +281 -0
  795. package/dist/xertica-assistant-B687qEPU.js +2165 -0
  796. package/dist/xertica-assistant-BdiZag0h.js +2187 -0
  797. package/dist/xertica-assistant-CrgTb6Hs.cjs +2155 -0
  798. package/dist/xertica-assistant-DCsnQyi5.js +2156 -0
  799. package/dist/xertica-assistant-DUBpmEgo.cjs +2186 -0
  800. package/dist/{xertica-assistant-Bj3vBCq_.cjs → xertica-assistant-V_IdW4WF.cjs} +27 -9
  801. package/dist/{xertica-assistant-BMqdyRVi.js → xertica-assistant-ciJaWqm1.js} +28 -10
  802. package/dist/{xertica-assistant-B1IaHXnB.cjs → xertica-assistant-dyP7KHM5.cjs} +533 -392
  803. package/dist/xertica-assistant-sOHwTgIP.cjs +2172 -0
  804. package/dist/{xertica-assistant-DPsESB6t.js → xertica-assistant-yX1CFBBo.js} +535 -394
  805. package/dist/xertica-ui.css +2 -2
  806. package/docs/ai-usage.md +195 -195
  807. package/docs/components/accordion.md +109 -109
  808. package/docs/components/alert-dialog.md +127 -127
  809. package/docs/components/alert.md +106 -106
  810. package/docs/components/aspect-ratio.md +58 -58
  811. package/docs/components/assistant-chart.md +47 -47
  812. package/docs/components/assistant.md +2 -0
  813. package/docs/components/audio-player.md +167 -167
  814. package/docs/components/avatar.md +101 -101
  815. package/docs/components/badge.md +84 -84
  816. package/docs/components/breadcrumb.md +104 -104
  817. package/docs/components/button.md +156 -156
  818. package/docs/components/calendar.md +141 -141
  819. package/docs/components/card.md +245 -245
  820. package/docs/components/carousel.md +100 -100
  821. package/docs/components/chart.md +638 -638
  822. package/docs/components/checkbox.md +88 -88
  823. package/docs/components/code-block.md +105 -105
  824. package/docs/components/collapsible.md +86 -86
  825. package/docs/components/command.md +113 -113
  826. package/docs/components/context-menu.md +81 -81
  827. package/docs/components/dialog.md +198 -198
  828. package/docs/components/drawer.md +105 -105
  829. package/docs/components/dropdown-menu.md +127 -127
  830. package/docs/components/empty.md +127 -127
  831. package/docs/components/error-boundary.md +191 -191
  832. package/docs/components/file-upload.md +189 -189
  833. package/docs/components/floating-media-wrapper.md +63 -63
  834. package/docs/components/form.md +177 -177
  835. package/docs/components/formatted-document.md +105 -105
  836. package/docs/components/google-maps-loader.md +44 -44
  837. package/docs/components/header.md +177 -177
  838. package/docs/components/hover-card.md +86 -86
  839. package/docs/components/image-with-fallback.md +107 -107
  840. package/docs/components/input-otp.md +95 -95
  841. package/docs/components/input.md +130 -130
  842. package/docs/components/label.md +69 -69
  843. package/docs/components/language-selector.md +172 -172
  844. package/docs/components/map-layers.md +138 -138
  845. package/docs/components/map.md +84 -84
  846. package/docs/components/markdown-message.md +47 -47
  847. package/docs/components/menubar.md +89 -89
  848. package/docs/components/modern-chat-input.md +164 -164
  849. package/docs/components/navigation-menu.md +83 -83
  850. package/docs/components/notification-badge.md +78 -78
  851. package/docs/components/page-header.md +93 -93
  852. package/docs/components/pages.md +309 -309
  853. package/docs/components/pagination.md +334 -334
  854. package/docs/components/popover.md +116 -116
  855. package/docs/components/progress.md +103 -103
  856. package/docs/components/radio-group.md +133 -133
  857. package/docs/components/rating.md +77 -77
  858. package/docs/components/resizable.md +84 -84
  859. package/docs/components/rich-text-editor.md +255 -255
  860. package/docs/components/route-map.md +124 -124
  861. package/docs/components/scroll-area.md +58 -58
  862. package/docs/components/search.md +87 -87
  863. package/docs/components/select.md +144 -144
  864. package/docs/components/separator.md +58 -58
  865. package/docs/components/sheet.md +122 -122
  866. package/docs/components/sidebar.md +314 -314
  867. package/docs/components/simple-map.md +51 -51
  868. package/docs/components/skeleton.md +99 -99
  869. package/docs/components/slider.md +84 -84
  870. package/docs/components/sonner.md +115 -115
  871. package/docs/components/stats-card.md +120 -120
  872. package/docs/components/stepper.md +268 -268
  873. package/docs/components/switch.md +106 -106
  874. package/docs/components/table.md +138 -138
  875. package/docs/components/tabs.md +117 -117
  876. package/docs/components/textarea.md +86 -86
  877. package/docs/components/theme-toggle.md +73 -73
  878. package/docs/components/timeline.md +121 -121
  879. package/docs/components/toggle-group.md +68 -68
  880. package/docs/components/toggle.md +62 -62
  881. package/docs/components/tooltip.md +116 -116
  882. package/docs/components/tree-view.md +238 -238
  883. package/docs/components/use-mobile.md +96 -96
  884. package/docs/components/video-player.md +68 -68
  885. package/docs/components/xertica-logo.md +36 -36
  886. package/docs/components/xertica-orbe.md +35 -35
  887. package/docs/components/xertica-provider.md +65 -65
  888. package/docs/components/xertica-xlogo.md +35 -35
  889. package/docs/decision-tree.md +293 -293
  890. package/docs/form-sizing.md +162 -162
  891. package/docs/getting-started.md +24 -12
  892. package/docs/i18n.md +476 -476
  893. package/docs/installation.md +267 -267
  894. package/docs/layout.md +143 -143
  895. package/docs/patterns/analytics.md +194 -194
  896. package/docs/patterns/crud.md +149 -149
  897. package/docs/patterns/dashboard.md +138 -138
  898. package/docs/patterns/detail-page.md +296 -296
  899. package/docs/patterns/form.md +241 -241
  900. package/docs/patterns/login.md +156 -156
  901. package/docs/patterns/settings.md +368 -368
  902. package/docs/patterns/wizard.md +213 -213
  903. package/hooks/useTheme.test.tsx +16 -16
  904. package/hooks/useTheme.ts +4 -4
  905. package/imports/Podcast.tsx +540 -540
  906. package/imports/XerticaAi.tsx +46 -46
  907. package/imports/XerticaX.tsx +15 -15
  908. package/imports/svg-aueiaqngck.ts +20 -20
  909. package/imports/svg-v9krss1ozd.ts +23 -23
  910. package/imports/svg-vhrdofe3qe.ts +6 -6
  911. package/llms-compact.txt +2 -1
  912. package/llms.txt +2 -1
  913. package/mcp/resources.json +22 -22
  914. package/mcp/tools.json +35 -35
  915. package/package.json +10 -4
  916. package/scripts/ai-validator.ts +91 -91
  917. package/scripts/cleanup-case-dupes.ts +62 -62
  918. package/scripts/generate-ai-manifests.ts +107 -107
  919. package/styles/globals.css +13 -13
  920. package/styles/xertica/app-overrides/chat.css +61 -61
  921. package/styles/xertica/app-overrides/scrollbar.css +33 -33
  922. package/styles/xertica/base.css +84 -71
  923. package/styles/xertica/integrations/google-maps.css +76 -76
  924. package/styles/xertica/integrations/sonner.css +73 -73
  925. package/styles/xertica/theme-map.css +102 -99
  926. package/styles/xertica/tokens.css +240 -236
  927. package/templates/.prettierignore +4 -4
  928. package/templates/.prettierrc +10 -10
  929. package/templates/CLAUDE.md +116 -131
  930. package/templates/eslint.config.js +26 -26
  931. package/templates/package.json +3 -3
  932. package/templates/postcss.config.js +6 -6
  933. package/templates/src/app/components/AppLayout.tsx +55 -55
  934. package/templates/src/app/components/AuthGuard.tsx +82 -82
  935. package/templates/src/app/context/AuthContext.tsx +108 -108
  936. package/templates/src/features/assistant/data/mock.ts +75 -75
  937. package/templates/src/features/assistant/hooks/useAssistantConfig.ts +20 -20
  938. package/templates/src/features/auth/index.ts +4 -4
  939. package/templates/src/features/auth/ui/AuthPageShell.tsx +32 -32
  940. package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +9 -7
  941. package/templates/src/features/auth/ui/LoginContent.tsx +10 -8
  942. package/templates/src/features/auth/ui/ResetPasswordContent.tsx +17 -15
  943. package/templates/src/features/auth/ui/SocialLoginButtons.tsx +9 -4
  944. package/templates/src/features/auth/ui/VerifyEmailContent.tsx +11 -9
  945. package/templates/src/features/home/data/mock.ts +35 -35
  946. package/templates/src/features/home/hooks/useFeatureCards.ts +20 -20
  947. package/templates/src/features/home/store/dashboardStore.ts +25 -25
  948. package/templates/src/features/home/ui/HomeContent.tsx +1 -1
  949. package/templates/src/features/template/index.ts +5 -5
  950. package/templates/src/features/template/ui/CrudTemplate.tsx +115 -115
  951. package/templates/src/features/template/ui/DashboardTemplate.tsx +110 -110
  952. package/templates/src/features/template/ui/FormTemplate.tsx +117 -117
  953. package/templates/src/features/template/ui/LoginTemplate.tsx +59 -59
  954. package/templates/src/features/template/ui/TemplateContent.tsx +1314 -1314
  955. package/templates/src/i18n.ts +124 -124
  956. package/templates/src/locales/en/common.json +21 -21
  957. package/templates/src/locales/en/components/activityCard.json +10 -10
  958. package/templates/src/locales/en/components/assistant.json +119 -105
  959. package/templates/src/locales/en/components/media.json +29 -29
  960. package/templates/src/locales/en/components/notificationCard.json +5 -5
  961. package/templates/src/locales/en/components/profileCard.json +8 -8
  962. package/templates/src/locales/en/components/projectCard.json +10 -10
  963. package/templates/src/locales/en/components/sidebar.json +14 -14
  964. package/templates/src/locales/en/components/stats.json +8 -8
  965. package/templates/src/locales/en/components/team.json +14 -14
  966. package/templates/src/locales/en/errors.json +9 -9
  967. package/templates/src/locales/en/languageSelector.json +7 -7
  968. package/templates/src/locales/en/nav.json +6 -6
  969. package/templates/src/locales/en/pages/crudTemplate.json +25 -25
  970. package/templates/src/locales/en/pages/dashboardTemplate.json +20 -20
  971. package/templates/src/locales/en/pages/forgotPassword.json +10 -0
  972. package/templates/src/locales/en/pages/formTemplate.json +16 -16
  973. package/templates/src/locales/en/pages/home.json +7 -7
  974. package/templates/src/locales/en/pages/login.json +15 -15
  975. package/templates/src/locales/en/pages/loginTemplate.json +9 -9
  976. package/templates/src/locales/en/pages/resetPassword.json +18 -18
  977. package/templates/src/locales/en/pages/templates.json +317 -317
  978. package/templates/src/locales/en/pages/verifyEmail.json +12 -12
  979. package/templates/src/locales/en/themeToggle.json +6 -6
  980. package/templates/src/locales/es/common.json +21 -21
  981. package/templates/src/locales/es/components/activityCard.json +10 -10
  982. package/templates/src/locales/es/components/assistant.json +119 -105
  983. package/templates/src/locales/es/components/media.json +29 -29
  984. package/templates/src/locales/es/components/notificationCard.json +5 -5
  985. package/templates/src/locales/es/components/profileCard.json +8 -8
  986. package/templates/src/locales/es/components/projectCard.json +10 -10
  987. package/templates/src/locales/es/components/sidebar.json +14 -14
  988. package/templates/src/locales/es/components/stats.json +8 -8
  989. package/templates/src/locales/es/components/team.json +14 -14
  990. package/templates/src/locales/es/errors.json +9 -9
  991. package/templates/src/locales/es/languageSelector.json +7 -7
  992. package/templates/src/locales/es/nav.json +6 -6
  993. package/templates/src/locales/es/pages/crudTemplate.json +25 -25
  994. package/templates/src/locales/es/pages/dashboardTemplate.json +20 -20
  995. package/templates/src/locales/es/pages/forgotPassword.json +10 -0
  996. package/templates/src/locales/es/pages/formTemplate.json +16 -16
  997. package/templates/src/locales/es/pages/home.json +7 -7
  998. package/templates/src/locales/es/pages/login.json +15 -15
  999. package/templates/src/locales/es/pages/loginTemplate.json +9 -9
  1000. package/templates/src/locales/es/pages/resetPassword.json +18 -18
  1001. package/templates/src/locales/es/pages/templates.json +317 -317
  1002. package/templates/src/locales/es/pages/verifyEmail.json +12 -12
  1003. package/templates/src/locales/es/themeToggle.json +6 -6
  1004. package/templates/src/locales/pt-BR/common.json +21 -21
  1005. package/templates/src/locales/pt-BR/components/activityCard.json +10 -10
  1006. package/templates/src/locales/pt-BR/components/assistant.json +119 -105
  1007. package/templates/src/locales/pt-BR/components/media.json +29 -29
  1008. package/templates/src/locales/pt-BR/components/notificationCard.json +5 -5
  1009. package/templates/src/locales/pt-BR/components/profileCard.json +8 -8
  1010. package/templates/src/locales/pt-BR/components/projectCard.json +10 -10
  1011. package/templates/src/locales/pt-BR/components/sidebar.json +14 -14
  1012. package/templates/src/locales/pt-BR/components/stats.json +8 -8
  1013. package/templates/src/locales/pt-BR/components/team.json +14 -14
  1014. package/templates/src/locales/pt-BR/errors.json +9 -9
  1015. package/templates/src/locales/pt-BR/languageSelector.json +7 -7
  1016. package/templates/src/locales/pt-BR/nav.json +6 -6
  1017. package/templates/src/locales/pt-BR/pages/crudTemplate.json +25 -25
  1018. package/templates/src/locales/pt-BR/pages/dashboardTemplate.json +20 -20
  1019. package/templates/src/locales/pt-BR/pages/forgotPassword.json +10 -0
  1020. package/templates/src/locales/pt-BR/pages/formTemplate.json +16 -16
  1021. package/templates/src/locales/pt-BR/pages/home.json +7 -7
  1022. package/templates/src/locales/pt-BR/pages/login.json +15 -15
  1023. package/templates/src/locales/pt-BR/pages/loginTemplate.json +9 -9
  1024. package/templates/src/locales/pt-BR/pages/resetPassword.json +18 -18
  1025. package/templates/src/locales/pt-BR/pages/templates.json +317 -317
  1026. package/templates/src/locales/pt-BR/pages/verifyEmail.json +12 -12
  1027. package/templates/src/locales/pt-BR/themeToggle.json +6 -6
  1028. package/templates/src/main.tsx +11 -11
  1029. package/templates/src/pages/AssistantPage.tsx +37 -36
  1030. package/templates/src/pages/ForgotPasswordPage.tsx +6 -6
  1031. package/templates/src/pages/LoginPage.tsx +10 -10
  1032. package/templates/src/pages/ResetPasswordPage.tsx +6 -6
  1033. package/templates/src/pages/TemplatePage.tsx +28 -28
  1034. package/templates/src/pages/VerifyEmailPage.tsx +6 -6
  1035. package/templates/src/shared/config/navigation.ts +19 -19
  1036. package/templates/src/shared/error-boundary.tsx +154 -154
  1037. package/templates/src/shared/error-fallbacks.tsx +226 -226
  1038. package/templates/src/shared/lib/auth.ts +20 -20
  1039. package/templates/src/shared/types/auth.ts +3 -3
  1040. package/templates/src/styles/index.css +95 -95
  1041. package/templates/src/styles/xertica/tokens.css +240 -236
  1042. package/templates/tsconfig.json +25 -25
  1043. package/templates/tsconfig.node.json +12 -12
  1044. package/templates/vite-env.d.ts +1 -1
  1045. package/templates/vite.config.ts +1 -1
  1046. package/utils/color-utils.ts +72 -72
  1047. package/utils/demo-responses.test.ts +10 -10
  1048. package/utils/demo-responses.ts +151 -151
  1049. package/utils/gemini.test.ts +25 -25
  1050. package/utils/gemini.ts +155 -155
  1051. package/dist/ThemeContext-CpqYShLq.cjs +0 -324
  1052. package/dist/ThemeContext-Du2nE1PL.js +0 -325
  1053. package/dist/ThemeContext-GeEBTJ3q.cjs +0 -1621
  1054. package/dist/ThemeContext-JyLK9B1o.js +0 -1622
  1055. package/dist/index-CkTUgOwX.js +0 -8
  1056. package/dist/{rich-text-editor-BmsjY03B.js → rich-text-editor-DgF8s7xW.js} +26 -26
  1057. package/dist/{rich-text-editor-GS2kpTAK.cjs → rich-text-editor-mWoaSCE4.cjs} +26 -26
@@ -1,27 +1,29 @@
1
- "use strict";
2
- const jsxRuntime = require("react/jsx-runtime");
3
- const React = require("react");
4
- const button = require("./button-Bnv9SvYK.cjs");
5
- const input = require("./input-CNFHVKvo.cjs");
6
- const alertDialog = require("./alert-dialog-B4M3vQKS.cjs");
7
- const XerticaXLogo = require("./XerticaXLogo-CU-U-GP4.cjs");
8
- const lucideReact = require("lucide-react");
9
- const reactRouterDom = require("react-router-dom");
10
- const sidebar = require("./sidebar-zowjejT2.cjs");
11
- const skeleton = require("./skeleton-4zoHiFJ_.cjs");
12
- const progress = require("./progress-DDeuWPZw.cjs");
13
- const LayoutContext = require("./LayoutContext-C4kKN9RV.cjs");
14
- const ThemeContext = require("./ThemeContext-CpqYShLq.cjs");
15
- const reactQuery = require("@tanstack/react-query");
16
- const reactI18next = require("react-i18next");
17
- const FeatureCardSkeleton = require("./FeatureCardSkeleton-mO3Bdm_V.cjs");
18
- const xerticaAssistant = require("./xertica-assistant-d2qs2Vd9.cjs");
19
- const i18n = require("i18next");
20
- const richTextEditor = require("./rich-text-editor-CyggTOLQ.cjs");
21
- const select = require("./select-Cmb8zF7w.cjs");
22
- const slider = require("./slider-DcJharR9.cjs");
23
- const sonner = require("sonner");
24
- const zustand = require("zustand");
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const React = require('react');
5
+ const button = require('./button-0BlA47It.cjs');
6
+ const input = require('./input-C_UiS2Py.cjs');
7
+ const alertDialog = require('./alert-dialog-DhwPioBa.cjs');
8
+ const XerticaXLogo = require('./XerticaXLogo-bvZSgwGF.cjs');
9
+ const lucideReact = require('lucide-react');
10
+ const reactRouterDom = require('react-router-dom');
11
+ const sidebar = require('./sidebar-nzPoVHBQ.cjs');
12
+ const skeleton = require('./skeleton-DjiHerJn.cjs');
13
+ const progress = require('./progress-Cqwxbqs1.cjs');
14
+ const LayoutContext = require('./LayoutContext-BEq_-n98.cjs');
15
+ const ThemeContext = require('./ThemeContext-j5aGtPky.cjs');
16
+ const reactQuery = require('@tanstack/react-query');
17
+ const reactI18next = require('react-i18next');
18
+ const FeatureCardSkeleton = require('./FeatureCardSkeleton-pTa0YNKP.cjs');
19
+ const xerticaAssistant = require('./xertica-assistant-sOHwTgIP.cjs');
20
+ const i18n = require('i18next');
21
+ const richTextEditor = require('./rich-text-editor-DxO1Hz3a.cjs');
22
+ const select = require('./select-CH6v_KcQ.cjs');
23
+ const slider = require('./slider-B00b9SVK.cjs');
24
+ const sonner = require('sonner');
25
+ const zustand = require('zustand');
26
+
25
27
  function ForgotPasswordPage() {
26
28
  const navigate = reactRouterDom.useNavigate();
27
29
  const [email, setEmail] = React.useState("");
@@ -175,7 +177,9 @@ function ForgotPasswordPage() {
175
177
  ] })
176
178
  ] });
177
179
  }
180
+
178
181
  const SIDEBAR_COLLAPSED_WIDTH = 80;
182
+
179
183
  const t = (key, options) => i18n.t(key, options);
180
184
  const MOCK_TEAM_MEMBERS = [
181
185
  { id: "1", name: "Ana Silva", email: "ana.silva@example.com", role: "Developer", status: "active" },
@@ -199,6 +203,7 @@ async function fetchFeatureCards() {
199
203
  }
200
204
  ];
201
205
  }
206
+
202
207
  function useTeamMembers() {
203
208
  const { language } = ThemeContext.useLanguage();
204
209
  return reactQuery.useQuery({
@@ -209,6 +214,7 @@ function useTeamMembers() {
209
214
  // 2 min
210
215
  });
211
216
  }
217
+
212
218
  function useFeatureCards() {
213
219
  const { language } = ThemeContext.useLanguage();
214
220
  return reactQuery.useQuery({
@@ -219,6 +225,7 @@ function useFeatureCards() {
219
225
  // 10 min — feature list is fairly static
220
226
  });
221
227
  }
228
+
222
229
  const useDashboardStore = zustand.create((set) => ({
223
230
  // Filters
224
231
  activeTab: "overview",
@@ -234,6 +241,7 @@ const useDashboardStore = zustand.create((set) => ({
234
241
  switchEnabled: false,
235
242
  toggleSwitch: () => set((state) => ({ switchEnabled: !state.switchEnabled }))
236
243
  }));
244
+
237
245
  function isDev() {
238
246
  return false;
239
247
  }
@@ -280,6 +288,7 @@ function SectionErrorFallback({ error, reset }) {
280
288
  }
281
289
  );
282
290
  }
291
+
283
292
  class ErrorBoundary extends React.Component {
284
293
  constructor(props) {
285
294
  super(props);
@@ -290,13 +299,12 @@ class ErrorBoundary extends React.Component {
290
299
  return { hasError: true, error };
291
300
  }
292
301
  componentDidCatch(error, info) {
293
- var _a, _b;
294
- (_b = (_a = this.props).onError) == null ? void 0 : _b.call(_a, error, info);
302
+ this.props.onError?.(error, info);
295
303
  }
296
304
  componentDidUpdate(prevProps) {
297
305
  if (!this.state.hasError) return;
298
306
  const { resetKeys } = this.props;
299
- if (!(resetKeys == null ? void 0 : resetKeys.length)) return;
307
+ if (!resetKeys?.length) return;
300
308
  const prevKeys = prevProps.resetKeys ?? [];
301
309
  const changed = resetKeys.some((key, i) => key !== prevKeys[i]);
302
310
  if (changed) this.reset();
@@ -316,11 +324,12 @@ class ErrorBoundary extends React.Component {
316
324
  function SectionErrorBoundary({ children, onError, resetKeys }) {
317
325
  return /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { fallback: SectionErrorFallback, onError, resetKeys, children });
318
326
  }
327
+
319
328
  function HomeContent() {
320
- const { t: t2 } = reactI18next.useTranslation();
329
+ const { t } = reactI18next.useTranslation();
321
330
  const layout = LayoutContext.useOptionalLayout();
322
- const sidebarExpanded = (layout == null ? void 0 : layout.sidebarExpanded) ?? false;
323
- const sidebarWidth = (layout == null ? void 0 : layout.sidebarWidth) ?? 256;
331
+ const sidebarExpanded = layout?.sidebarExpanded ?? false;
332
+ const sidebarWidth = layout?.sidebarWidth ?? 256;
324
333
  const navigate = reactRouterDom.useNavigate();
325
334
  const { data: featureCards = [], isLoading } = useFeatureCards();
326
335
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -337,8 +346,8 @@ function HomeContent() {
337
346
  showThemeToggle: true,
338
347
  showLanguageSelector: true,
339
348
  breadcrumbs: [
340
- { label: t2("nav.designSystem"), href: "/home" },
341
- { label: t2("nav.home") }
349
+ { label: t("nav.designSystem"), href: "/home" },
350
+ { label: t("nav.home") }
342
351
  ],
343
352
  renderLink: (href, props) => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { to: href, ...props })
344
353
  }
@@ -347,8 +356,8 @@ function HomeContent() {
347
356
  /* @__PURE__ */ jsxRuntime.jsx(
348
357
  alertDialog.PageHeader,
349
358
  {
350
- title: t2("home.welcome"),
351
- subtitle: t2("home.subtitle")
359
+ title: t("home.welcome"),
360
+ subtitle: t("home.subtitle")
352
361
  }
353
362
  ),
354
363
  /* @__PURE__ */ jsxRuntime.jsx(SectionErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -363,18 +372,18 @@ function HomeContent() {
363
372
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
364
373
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 bg-[var(--chart-2)]/20 rounded-[var(--radius)]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-6 h-6 text-[var(--chart-2)]" }) }),
365
374
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
366
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { className: "text-sm", children: t2(`home.${card.id.replace(/-/g, "")}Title`, { defaultValue: card.title }) }),
367
- card.badge && /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", className: "text-xs", children: t2(`home.${card.id.replace(/-/g, "")}badge`, { defaultValue: card.badge }) })
375
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { className: "text-sm", children: t(`home.${card.id.replace(/-/g, "")}Title`, { defaultValue: card.title }) }),
376
+ card.badge && /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", className: "text-xs", children: t(`home.${card.id.replace(/-/g, "")}badge`, { defaultValue: card.badge }) })
368
377
  ] })
369
378
  ] }) }),
370
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t2(`home.${card.id.replace(/-/g, "")}Description`, { defaultValue: card.description }) }) }),
379
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t(`home.${card.id.replace(/-/g, "")}Description`, { defaultValue: card.description }) }) }),
371
380
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
372
381
  button.Button,
373
382
  {
374
383
  variant: "outline",
375
384
  className: "w-full",
376
385
  onClick: () => navigate(card.href),
377
- children: t2("common.view")
386
+ children: t("common.view")
378
387
  }
379
388
  ) })
380
389
  ]
@@ -386,36 +395,39 @@ function HomeContent() {
386
395
  }
387
396
  );
388
397
  }
398
+
389
399
  const routes = [
390
400
  { path: "/home", label: "Home", icon: lucideReact.Home },
391
401
  { path: "/template", label: "Template", icon: lucideReact.FileText }
392
402
  ];
403
+
393
404
  const AuthContext = React.createContext(null);
394
405
  function useAuth() {
395
406
  const ctx = React.useContext(AuthContext);
396
407
  if (!ctx) throw new Error("useAuth must be used within <AuthProvider>");
397
408
  return ctx;
398
409
  }
410
+
399
411
  async function fetchAssistantConfig() {
400
412
  await new Promise((resolve) => setTimeout(resolve, 150));
401
- const t2 = (key) => i18n.t(key);
413
+ const t = (key) => i18n.t(key);
402
414
  return {
403
415
  suggestions: [
404
- { id: "1", text: t2("assistant.suggestions.whatCanIAsk") },
405
- { id: "2", text: t2("assistant.suggestions.whatDoYouDo") },
406
- { id: "3", text: t2("assistant.suggestions.whichProjects") },
407
- { id: "4", text: t2("assistant.suggestions.nextProject") }
416
+ { id: "1", text: t("assistant.suggestions.whatCanIAsk") },
417
+ { id: "2", text: t("assistant.suggestions.whatDoYouDo") },
418
+ { id: "3", text: t("assistant.suggestions.whichProjects") },
419
+ { id: "4", text: t("assistant.suggestions.nextProject") }
408
420
  ],
409
421
  richSuggestions: [
410
- { id: "rich-1", text: t2("assistant.richSuggestions.viewPerformance") },
411
- { id: "rich-2", text: t2("assistant.richSuggestions.generateReport") },
412
- { id: "rich-3", text: t2("assistant.richSuggestions.createDocument") },
413
- { id: "rich-4", text: t2("assistant.richSuggestions.generatePodcast") }
422
+ { id: "rich-1", text: t("assistant.richSuggestions.viewPerformance") },
423
+ { id: "rich-2", text: t("assistant.richSuggestions.generateReport") },
424
+ { id: "rich-3", text: t("assistant.richSuggestions.createDocument") },
425
+ { id: "rich-4", text: t("assistant.richSuggestions.generatePodcast") }
414
426
  ],
415
427
  feedbackOptions: [
416
- t2("assistant.feedback.notWhatIWanted"),
417
- t2("assistant.feedback.incorrectInfo"),
418
- t2("assistant.feedback.incompleteAnswer")
428
+ t("assistant.feedback.notWhatIWanted"),
429
+ t("assistant.feedback.incorrectInfo"),
430
+ t("assistant.feedback.incompleteAnswer")
419
431
  ]
420
432
  };
421
433
  }
@@ -434,6 +446,7 @@ function getMockFeedbackOptions() {
434
446
  i18n.t("assistant.feedback.incompleteAnswer")
435
447
  ];
436
448
  }
449
+
437
450
  function useAssistantConfig() {
438
451
  const { language } = ThemeContext.useLanguage();
439
452
  return reactQuery.useQuery({
@@ -444,16 +457,17 @@ function useAssistantConfig() {
444
457
  // 30 min — config rarely changes
445
458
  });
446
459
  }
460
+
447
461
  function HomePage() {
448
462
  const { user, logout } = useAuth();
449
463
  const layout = LayoutContext.useOptionalLayout();
450
464
  const [localSidebarExpanded, setLocalSidebarExpanded] = React.useState(false);
451
465
  const [localAssistantExpanded, setLocalAssistantExpanded] = React.useState(false);
452
- const sidebarExpanded = (layout == null ? void 0 : layout.sidebarExpanded) ?? localSidebarExpanded;
453
- const sidebarWidth = (layout == null ? void 0 : layout.sidebarWidth) ?? 280;
454
- const assistenteExpanded = (layout == null ? void 0 : layout.assistenteExpanded) ?? localAssistantExpanded;
455
- const toggleSidebar = (layout == null ? void 0 : layout.toggleSidebar) ?? (() => setLocalSidebarExpanded((value) => !value));
456
- const toggleAssistente = (layout == null ? void 0 : layout.toggleAssistente) ?? (() => setLocalAssistantExpanded((value) => !value));
466
+ const sidebarExpanded = layout?.sidebarExpanded ?? localSidebarExpanded;
467
+ const sidebarWidth = layout?.sidebarWidth ?? 280;
468
+ const assistenteExpanded = layout?.assistenteExpanded ?? localAssistantExpanded;
469
+ const toggleSidebar = layout?.toggleSidebar ?? (() => setLocalSidebarExpanded((value) => !value));
470
+ const toggleAssistente = layout?.toggleAssistente ?? (() => setLocalAssistantExpanded((value) => !value));
457
471
  const location = reactRouterDom.useLocation();
458
472
  const navigate = reactRouterDom.useNavigate();
459
473
  const { data: assistantConfig } = useAssistantConfig();
@@ -485,18 +499,19 @@ function HomePage() {
485
499
  defaultTab: "chat",
486
500
  demoMode: true,
487
501
  responseGenerator: xerticaAssistant.gerarResposta,
488
- suggestions: assistantConfig == null ? void 0 : assistantConfig.suggestions,
489
- richSuggestions: (assistantConfig == null ? void 0 : assistantConfig.richSuggestions) ?? getMockRichSuggestions(),
490
- feedbackOptions: (assistantConfig == null ? void 0 : assistantConfig.feedbackOptions) ?? getMockFeedbackOptions(),
502
+ suggestions: assistantConfig?.suggestions,
503
+ richSuggestions: assistantConfig?.richSuggestions ?? getMockRichSuggestions(),
504
+ feedbackOptions: assistantConfig?.feedbackOptions ?? getMockFeedbackOptions(),
491
505
  onEvaluation: () => {
492
506
  }
493
507
  }
494
508
  )
495
509
  ] });
496
510
  }
511
+
497
512
  function LoginPage({ onLogin }) {
498
513
  const navigate = reactRouterDom.useNavigate();
499
- const { t: t2 } = reactI18next.useTranslation();
514
+ const { t } = reactI18next.useTranslation();
500
515
  const [email, setEmail] = React.useState("");
501
516
  const [password, setPassword] = React.useState("");
502
517
  const [isLoading, setIsLoading] = React.useState(false);
@@ -508,7 +523,7 @@ function LoginPage({ onLogin }) {
508
523
  await new Promise((resolve) => setTimeout(resolve, 1e3));
509
524
  const success = onLogin(email, password);
510
525
  if (!success) {
511
- setError(t2("login.errorFillFields"));
526
+ setError(t("login.errorFillFields"));
512
527
  }
513
528
  setIsLoading(false);
514
529
  };
@@ -521,7 +536,7 @@ function LoginPage({ onLogin }) {
521
536
  alertDialog.ImageWithFallback,
522
537
  {
523
538
  src: "https://images.unsplash.com/photo-1551434678-e076c223a692?w=1200&h=800&fit=crop&auto=format",
524
- alt: t2("login.heroImageAlt"),
539
+ alt: t("login.heroImageAlt"),
525
540
  className: "absolute inset-0 w-full h-full object-cover"
526
541
  }
527
542
  ),
@@ -539,11 +554,11 @@ function LoginPage({ onLogin }) {
539
554
  variant: "theme"
540
555
  }
541
556
  ) }),
542
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t2("login.heading") })
557
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t("login.heading") })
543
558
  ] }),
544
559
  /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-6", onSubmit: handleSubmit, children: [
545
560
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
546
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children: t2("login.emailLabel") }),
561
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children: t("login.emailLabel") }),
547
562
  /* @__PURE__ */ jsxRuntime.jsx(
548
563
  input.Input,
549
564
  {
@@ -552,14 +567,14 @@ function LoginPage({ onLogin }) {
552
567
  type: "email",
553
568
  required: true,
554
569
  className: "w-full",
555
- placeholder: t2("login.emailPlaceholder"),
570
+ placeholder: t("login.emailPlaceholder"),
556
571
  value: email,
557
572
  onChange: (e) => setEmail(e.target.value)
558
573
  }
559
574
  )
560
575
  ] }),
561
576
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
562
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children: t2("login.passwordLabel") }),
577
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children: t("login.passwordLabel") }),
563
578
  /* @__PURE__ */ jsxRuntime.jsx(
564
579
  input.Input,
565
580
  {
@@ -575,20 +590,20 @@ function LoginPage({ onLogin }) {
575
590
  )
576
591
  ] }),
577
592
  error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-destructive text-sm text-center", children: error }),
578
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ? t2("login.submitting") : t2("login.submit") }),
593
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ? t("login.submitting") : t("login.submit") }),
579
594
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
580
595
  "button",
581
596
  {
582
597
  type: "button",
583
598
  onClick: () => navigate("/forgot-password"),
584
599
  className: "text-sm text-primary hover:opacity-80 transition-colors",
585
- children: t2("login.forgotPassword")
600
+ children: t("login.forgotPassword")
586
601
  }
587
602
  ) })
588
603
  ] }),
589
604
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
590
605
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
591
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: t2("login.orContinueWith") }) })
606
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: t("login.orContinueWith") }) })
592
607
  ] }),
593
608
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
594
609
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -630,7 +645,7 @@ function LoginPage({ onLogin }) {
630
645
  ),
631
646
  /* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h48v48H0z" })
632
647
  ] }),
633
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: t2("login.signInWithGoogle") })
648
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGoogle") })
634
649
  ]
635
650
  }
636
651
  ),
@@ -643,7 +658,7 @@ function LoginPage({ onLogin }) {
643
658
  onClick: () => handleSocialLogin(),
644
659
  children: [
645
660
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-5 h-5 mr-2 text-[var(--chart-4)]" }),
646
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: t2("login.signInWithMTLogin") })
661
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithMTLogin") })
647
662
  ]
648
663
  }
649
664
  ),
@@ -654,7 +669,7 @@ function LoginPage({ onLogin }) {
654
669
  variant: "outline",
655
670
  className: "w-full justify-center font-normal",
656
671
  onClick: () => handleSocialLogin(),
657
- children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: t2("login.signInWithGovBr") })
672
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGovBr") })
658
673
  }
659
674
  )
660
675
  ] })
@@ -662,9 +677,10 @@ function LoginPage({ onLogin }) {
662
677
  ] })
663
678
  ] });
664
679
  }
680
+
665
681
  function ResetPasswordPage() {
666
682
  const navigate = reactRouterDom.useNavigate();
667
- const { t: t2 } = reactI18next.useTranslation();
683
+ const { t } = reactI18next.useTranslation();
668
684
  const [password, setPassword] = React.useState("");
669
685
  const [confirmPassword, setConfirmPassword] = React.useState("");
670
686
  const [isLoading, setIsLoading] = React.useState(false);
@@ -694,11 +710,11 @@ function ResetPasswordPage() {
694
710
  e.preventDefault();
695
711
  setError("");
696
712
  if (password.length < 6) {
697
- setError(t2("resetPassword.errorMinLength"));
713
+ setError(t("resetPassword.errorMinLength"));
698
714
  return;
699
715
  }
700
716
  if (password !== confirmPassword) {
701
- setError(t2("resetPassword.errorMismatch"));
717
+ setError(t("resetPassword.errorMismatch"));
702
718
  return;
703
719
  }
704
720
  setIsLoading(true);
@@ -721,11 +737,11 @@ function ResetPasswordPage() {
721
737
  const getStrengthText = () => {
722
738
  switch (passwordStrength) {
723
739
  case "weak":
724
- return t2("resetPassword.strengthWeak");
740
+ return t("resetPassword.strengthWeak");
725
741
  case "medium":
726
- return t2("resetPassword.strengthMedium");
742
+ return t("resetPassword.strengthMedium");
727
743
  case "strong":
728
- return t2("resetPassword.strengthStrong");
744
+ return t("resetPassword.strengthStrong");
729
745
  default:
730
746
  return "";
731
747
  }
@@ -736,7 +752,7 @@ function ResetPasswordPage() {
736
752
  alertDialog.ImageWithFallback,
737
753
  {
738
754
  src: "https://images.unsplash.com/photo-1555949963-aa79dcee981c?w=1200&h=800&fit=crop&auto=format",
739
- alt: t2("resetPassword.heroImageAlt"),
755
+ alt: t("resetPassword.heroImageAlt"),
740
756
  className: "absolute inset-0 w-full h-full object-cover"
741
757
  }
742
758
  ),
@@ -753,7 +769,7 @@ function ResetPasswordPage() {
753
769
  className: "flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors",
754
770
  children: [
755
771
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "w-4 h-4" }),
756
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-small", children: t2("resetPassword.backToLogin") })
772
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-small", children: t("resetPassword.backToLogin") })
757
773
  ]
758
774
  }
759
775
  ),
@@ -765,12 +781,12 @@ function ResetPasswordPage() {
765
781
  variant: "theme"
766
782
  }
767
783
  ) }),
768
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t2("resetPassword.heading") }),
769
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: t2("resetPassword.subheading") })
784
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t("resetPassword.heading") }),
785
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: t("resetPassword.subheading") })
770
786
  ] }),
771
787
  /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-6", onSubmit: handleSubmit, children: [
772
788
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
773
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children: t2("resetPassword.newPasswordLabel") }),
789
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "password", children: t("resetPassword.newPasswordLabel") }),
774
790
  /* @__PURE__ */ jsxRuntime.jsx(
775
791
  input.Input,
776
792
  {
@@ -795,7 +811,7 @@ function ResetPasswordPage() {
795
811
  ] })
796
812
  ] }),
797
813
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
798
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "confirmPassword", children: t2("resetPassword.confirmPasswordLabel") }),
814
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "confirmPassword", children: t("resetPassword.confirmPasswordLabel") }),
799
815
  /* @__PURE__ */ jsxRuntime.jsx(
800
816
  input.Input,
801
817
  {
@@ -814,7 +830,7 @@ function ResetPasswordPage() {
814
830
  )
815
831
  ] }),
816
832
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-accent rounded-[var(--radius)] p-4 space-y-2", children: [
817
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: t2("resetPassword.requirements") }),
833
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: t("resetPassword.requirements") }),
818
834
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
819
835
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
820
836
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -823,7 +839,7 @@ function ResetPasswordPage() {
823
839
  className: `w-4 h-4 ${password.length >= 6 ? "text-[var(--chart-2)]" : "text-muted-foreground"}`
824
840
  }
825
841
  ),
826
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: t2("resetPassword.requirementMinChars") })
842
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: t("resetPassword.requirementMinChars") })
827
843
  ] }),
828
844
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
829
845
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -832,7 +848,7 @@ function ResetPasswordPage() {
832
848
  className: `w-4 h-4 ${password === confirmPassword && password.length > 0 ? "text-[var(--chart-2)]" : "text-muted-foreground"}`
833
849
  }
834
850
  ),
835
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: t2("resetPassword.requirementMatch") })
851
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: t("resetPassword.requirementMatch") })
836
852
  ] })
837
853
  ] })
838
854
  ] }),
@@ -840,12 +856,13 @@ function ResetPasswordPage() {
840
856
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "w-4 h-4 flex-shrink-0" }),
841
857
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: error })
842
858
  ] }),
843
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ? t2("resetPassword.submitting") : t2("resetPassword.submit") })
859
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", className: "w-full", disabled: isLoading, children: isLoading ? t("resetPassword.submitting") : t("resetPassword.submit") })
844
860
  ] })
845
861
  ] })
846
862
  ] })
847
863
  ] });
848
864
  }
865
+
849
866
  function createLucideIconSvg(iconName) {
850
867
  const iconPaths = {
851
868
  utensils: '<path d="M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"></path><path d="M7 2v20"></path><path d="M21 15V2v0a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"></path>',
@@ -1174,6 +1191,7 @@ function FilterableMapExample({ apiKey }) {
1174
1191
  ] })
1175
1192
  ] });
1176
1193
  }
1194
+
1177
1195
  function DrawingMapExample({ apiKey }) {
1178
1196
  const [mapInstance, setMapInstance] = React.useState(null);
1179
1197
  const [selectedMode, setSelectedMode] = React.useState(null);
@@ -1290,7 +1308,6 @@ function DrawingMapExample({ apiKey }) {
1290
1308
  }, [mapInstance, colors, cancelPolygonDrawing]);
1291
1309
  const addPolygonPoint = React.useCallback(
1292
1310
  (point) => {
1293
- var _a;
1294
1311
  if (!mapInstance) return;
1295
1312
  if (!isDrawingPolygon) {
1296
1313
  setIsDrawingPolygon(true);
@@ -1310,7 +1327,7 @@ function DrawingMapExample({ apiKey }) {
1310
1327
  });
1311
1328
  } else {
1312
1329
  polygonPathRef.current.push(point);
1313
- (_a = tempPolylineRef.current) == null ? void 0 : _a.setPath(polygonPathRef.current);
1330
+ tempPolylineRef.current?.setPath(polygonPathRef.current);
1314
1331
  }
1315
1332
  },
1316
1333
  [mapInstance, isDrawingPolygon, colors]
@@ -1383,11 +1400,10 @@ function DrawingMapExample({ apiKey }) {
1383
1400
  sonner.toast.info("Mapa limpo");
1384
1401
  };
1385
1402
  const undoLast = () => {
1386
- var _a;
1387
1403
  if (isDrawingPolygon) {
1388
1404
  if (polygonPathRef.current.length > 0) {
1389
1405
  polygonPathRef.current.pop();
1390
- (_a = tempPolylineRef.current) == null ? void 0 : _a.setPath(polygonPathRef.current);
1406
+ tempPolylineRef.current?.setPath(polygonPathRef.current);
1391
1407
  if (polygonPathRef.current.length === 0) {
1392
1408
  cancelPolygonDrawing();
1393
1409
  }
@@ -1406,7 +1422,6 @@ function DrawingMapExample({ apiKey }) {
1406
1422
  return;
1407
1423
  }
1408
1424
  const exportData = shapes.map((s) => {
1409
- var _a, _b;
1410
1425
  let data = {};
1411
1426
  if (s.type === "marker") {
1412
1427
  const marker = s.overlay;
@@ -1419,17 +1434,17 @@ function DrawingMapExample({ apiKey }) {
1419
1434
  } else if (s.type === "circle") {
1420
1435
  const circle = s.overlay;
1421
1436
  data = {
1422
- center: { lat: (_a = circle.getCenter()) == null ? void 0 : _a.lat(), lng: (_b = circle.getCenter()) == null ? void 0 : _b.lng() },
1437
+ center: { lat: circle.getCenter()?.lat(), lng: circle.getCenter()?.lng() },
1423
1438
  radius: circle.getRadius()
1424
1439
  };
1425
1440
  } else if (s.type === "rectangle") {
1426
1441
  const rect = s.overlay;
1427
1442
  const bounds = rect.getBounds();
1428
1443
  data = {
1429
- north: bounds == null ? void 0 : bounds.getNorthEast().lat(),
1430
- south: bounds == null ? void 0 : bounds.getSouthWest().lat(),
1431
- east: bounds == null ? void 0 : bounds.getNorthEast().lng(),
1432
- west: bounds == null ? void 0 : bounds.getSouthWest().lng()
1444
+ north: bounds?.getNorthEast().lat(),
1445
+ south: bounds?.getSouthWest().lat(),
1446
+ east: bounds?.getNorthEast().lng(),
1447
+ west: bounds?.getSouthWest().lng()
1433
1448
  };
1434
1449
  } else if (s.type === "polygon") {
1435
1450
  const poly = s.overlay;
@@ -1648,6 +1663,7 @@ function DrawingMapExample({ apiKey }) {
1648
1663
  ] })
1649
1664
  ] });
1650
1665
  }
1666
+
1651
1667
  function MapShowcase() {
1652
1668
  const [activeTab, setActiveTab] = React.useState("simple");
1653
1669
  const [isTransitioning, setIsTransitioning] = React.useState(false);
@@ -2043,15 +2059,16 @@ function MapShowcase() {
2043
2059
  ] })
2044
2060
  ] });
2045
2061
  }
2062
+
2046
2063
  function TemplateContent() {
2047
- const { t: t2 } = reactI18next.useTranslation();
2064
+ const { t } = reactI18next.useTranslation();
2048
2065
  const layout = LayoutContext.useOptionalLayout();
2049
2066
  const [localSidebarExpanded, setLocalSidebarExpanded] = React.useState(false);
2050
2067
  const [localSidebarWidth, setLocalSidebarWidth] = React.useState(280);
2051
- const sidebarExpanded = (layout == null ? void 0 : layout.sidebarExpanded) ?? localSidebarExpanded;
2052
- const sidebarWidth = (layout == null ? void 0 : layout.sidebarWidth) ?? localSidebarWidth;
2053
- const setSidebarWidth = (layout == null ? void 0 : layout.setSidebarWidth) ?? setLocalSidebarWidth;
2054
- (layout == null ? void 0 : layout.toggleSidebar) ?? (() => setLocalSidebarExpanded((value) => !value));
2068
+ const sidebarExpanded = layout?.sidebarExpanded ?? localSidebarExpanded;
2069
+ const sidebarWidth = layout?.sidebarWidth ?? localSidebarWidth;
2070
+ const setSidebarWidth = layout?.setSidebarWidth ?? setLocalSidebarWidth;
2071
+ layout?.toggleSidebar ?? (() => setLocalSidebarExpanded((value) => !value));
2055
2072
  reactRouterDom.useNavigate();
2056
2073
  const { data: teamMembers = [], isLoading: teamLoading } = useTeamMembers();
2057
2074
  const progress$1 = useDashboardStore((s) => s.progress);
@@ -2067,7 +2084,7 @@ function TemplateContent() {
2067
2084
  const [showHeaderBreadcrumbs, setShowHeaderBreadcrumbs] = React.useState(true);
2068
2085
  const handleFormSubmit = (e) => {
2069
2086
  e.preventDefault();
2070
- sonner.toast.success("Form submitted successfully!");
2087
+ sonner.toast.success(t("templates.formSubmitSuccess"));
2071
2088
  };
2072
2089
  return /* @__PURE__ */ jsxRuntime.jsxs(
2073
2090
  "div",
@@ -2083,8 +2100,8 @@ function TemplateContent() {
2083
2100
  showThemeToggle: true,
2084
2101
  showLanguageSelector: true,
2085
2102
  breadcrumbs: [
2086
- { label: "Design System", href: "/home", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" }) },
2087
- { label: "Página de Template" }
2103
+ { label: t("nav.designSystem"), href: "/home", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" }) },
2104
+ { label: t("templates.breadcrumb") }
2088
2105
  ],
2089
2106
  renderLink: (href, props) => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { to: href, ...props })
2090
2107
  }
@@ -2093,16 +2110,16 @@ function TemplateContent() {
2093
2110
  /* @__PURE__ */ jsxRuntime.jsx(
2094
2111
  alertDialog.PageHeader,
2095
2112
  {
2096
- title: "Página de Template",
2097
- subtitle: "Template completo com componentes do Design System"
2113
+ title: t("templates.title"),
2114
+ subtitle: t("templates.subtitle")
2098
2115
  }
2099
2116
  ),
2100
2117
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2101
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Header with Breadcrumbs" }),
2118
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.headerWithBreadcrumbs.sectionTitle") }),
2102
2119
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2103
2120
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2104
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Main Header" }),
2105
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Example of Header with 4-level breadcrumbs" })
2121
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.headerWithBreadcrumbs.cardTitle") }),
2122
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.headerWithBreadcrumbs.cardDescription") })
2106
2123
  ] }),
2107
2124
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "p-0 border-t bg-background overflow-hidden rounded-b-[var(--radius-lg)]", children: [
2108
2125
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2110,21 +2127,21 @@ function TemplateContent() {
2110
2127
  {
2111
2128
  className: "border-b",
2112
2129
  breadcrumbs: [
2113
- { label: "Dashboard", href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" }) },
2114
- { label: "Settings", href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "w-4 h-4" }) },
2115
- { label: "Users", href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Users, { className: "w-4 h-4" }) },
2116
- { label: "Access Profile" }
2130
+ { label: t("templates.headerWithBreadcrumbs.breadcrumbs.dashboard"), href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" }) },
2131
+ { label: t("templates.headerWithBreadcrumbs.breadcrumbs.settings"), href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "w-4 h-4" }) },
2132
+ { label: t("templates.headerWithBreadcrumbs.breadcrumbs.users"), href: "#", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Users, { className: "w-4 h-4" }) },
2133
+ { label: t("templates.headerWithBreadcrumbs.breadcrumbs.accessProfile") }
2117
2134
  ],
2118
2135
  showLanguageSelector: true,
2119
2136
  showThemeToggle: true
2120
2137
  }
2121
2138
  ),
2122
2139
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-6 min-h-[200px]", children: [
2123
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold mb-2", children: "Example Content" }),
2140
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold mb-2", children: t("templates.headerWithBreadcrumbs.exampleContentTitle") }),
2124
2141
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
2125
- "Neste exemplo, o componente ",
2142
+ t("templates.headerWithBreadcrumbs.exampleContentDescriptionPart1"),
2126
2143
  /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Header" }),
2127
- " principal da aplicação agora suporta receber um array de breadcrumbs para navegações complexas com mais de 3 níveis."
2144
+ t("templates.headerWithBreadcrumbs.exampleContentDescriptionPart2")
2128
2145
  ] })
2129
2146
  ] })
2130
2147
  ] })
@@ -2132,42 +2149,42 @@ function TemplateContent() {
2132
2149
  ] }),
2133
2150
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2134
2151
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2135
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Alertas" }),
2152
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.alerts") }),
2136
2153
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
2137
2154
  /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "info", children: [
2138
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "Informação" }),
2139
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "Este é um exemplo de alerta informativo usando os componentes do Design System." })
2155
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.infoTitle") }),
2156
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.infoDescription") })
2140
2157
  ] }),
2141
2158
  /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "destructive", children: [
2142
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "Erro" }),
2143
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "Ocorreu um erro ao processar sua solicitação." })
2159
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.errorTitle") }),
2160
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.errorDescription") })
2144
2161
  ] }),
2145
2162
  /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "success", children: [
2146
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "Sucesso" }),
2147
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "Operação realizada com sucesso!" })
2163
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.successTitle") }),
2164
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.successDescription") })
2148
2165
  ] }),
2149
2166
  /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "warning", children: [
2150
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "Aviso" }),
2151
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "Atenção: Esta ação não pode ser desfeita." })
2167
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.alerts.warningTitle") }),
2168
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: t("templates.alerts.warningDescription") })
2152
2169
  ] })
2153
2170
  ] })
2154
2171
  ] }),
2155
2172
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2156
2173
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2157
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Cards & Abas" }),
2174
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.cardsAndTabs") }),
2158
2175
  /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.Tabs, { defaultValue: "overview", className: "w-full", children: [
2159
2176
  /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.TabsList, { className: "grid w-full grid-cols-4", children: [
2160
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "overview", children: "Visão Geral" }),
2161
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "forms", children: "Formulários" }),
2162
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "data", children: "Dados" }),
2163
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "settings", children: "Configurações" })
2177
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "overview", children: t("templates.tabs.overview") }),
2178
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "forms", children: t("templates.tabs.forms") }),
2179
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "data", children: t("templates.tabs.data") }),
2180
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "settings", children: t("templates.tabs.settings") })
2164
2181
  ] }),
2165
2182
  /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.TabsContent, { value: "overview", className: "space-y-4", children: [
2166
2183
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-3", children: [
2167
2184
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2168
2185
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2169
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Total de Usuários" }),
2170
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Últimos 30 dias" })
2186
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("stats.totalUsers") }),
2187
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("stats.last30Days") })
2171
2188
  ] }),
2172
2189
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
2173
2190
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "1,234" }),
@@ -2176,8 +2193,8 @@ function TemplateContent() {
2176
2193
  ] }),
2177
2194
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2178
2195
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2179
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Receita Total" }),
2180
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Mês atual" })
2196
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("stats.totalRevenue") }),
2197
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("stats.currentMonth") })
2181
2198
  ] }),
2182
2199
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
2183
2200
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "$ 45.2k" }),
@@ -2186,8 +2203,8 @@ function TemplateContent() {
2186
2203
  ] }),
2187
2204
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2188
2205
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2189
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Taxa de Conversão" }),
2190
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Semana atual" })
2206
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("stats.conversionRate") }),
2207
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("stats.currentWeek") })
2191
2208
  ] }),
2192
2209
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
2193
2210
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "3.2%" }),
@@ -2197,13 +2214,13 @@ function TemplateContent() {
2197
2214
  ] }),
2198
2215
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2199
2216
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2200
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Progresso & Sliders" }),
2201
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Exemplo de componentes de progresso" })
2217
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.overview.progressTitle") }),
2218
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.overview.progressDescription") })
2202
2219
  ] }),
2203
2220
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
2204
2221
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2205
2222
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
2206
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "Progresso do Projeto" }),
2223
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.overview.projectProgress") }),
2207
2224
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "[font-size:var(--text-small)] text-muted-foreground", children: [
2208
2225
  progress$1,
2209
2226
  "%"
@@ -2232,7 +2249,7 @@ function TemplateContent() {
2232
2249
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2233
2250
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2234
2251
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
2235
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "Volume" }),
2252
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.overview.volume") }),
2236
2253
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "[font-size:var(--text-small)] text-muted-foreground", children: [
2237
2254
  sliderValue[0],
2238
2255
  "%"
@@ -2247,7 +2264,7 @@ function TemplateContent() {
2247
2264
  max: 100,
2248
2265
  step: 1,
2249
2266
  className: "w-full",
2250
- "aria-label": "Volume"
2267
+ "aria-label": t("templates.overview.volume")
2251
2268
  }
2252
2269
  )
2253
2270
  ] })
@@ -2256,22 +2273,22 @@ function TemplateContent() {
2256
2273
  ] }),
2257
2274
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsContent, { value: "forms", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2258
2275
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2259
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Formulário de Cadastro" }),
2260
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Preencha os campos abaixo para criar uma nova conta" })
2276
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.forms.registrationTitle") }),
2277
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.forms.registrationDescription") })
2261
2278
  ] }),
2262
2279
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleFormSubmit, className: "space-y-4", children: [
2263
2280
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
2264
2281
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2265
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "firstName", children: "Nome" }),
2266
- /* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "firstName", placeholder: "João" })
2282
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "firstName", children: t("templates.forms.firstName") }),
2283
+ /* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "firstName", placeholder: t("templates.forms.firstNamePlaceholder") })
2267
2284
  ] }),
2268
2285
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2269
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "lastName", children: "Sobrenome" }),
2270
- /* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "lastName", placeholder: "Silva" })
2286
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "lastName", children: t("templates.forms.lastName") }),
2287
+ /* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "lastName", placeholder: t("templates.forms.lastNamePlaceholder") })
2271
2288
  ] })
2272
2289
  ] }),
2273
2290
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2274
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children: "E-mail" }),
2291
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email", children: t("templates.forms.email") }),
2275
2292
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2276
2293
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }),
2277
2294
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2279,14 +2296,14 @@ function TemplateContent() {
2279
2296
  {
2280
2297
  id: "email",
2281
2298
  type: "email",
2282
- placeholder: "john@example.com",
2299
+ placeholder: t("templates.forms.emailPlaceholder"),
2283
2300
  className: "pl-10"
2284
2301
  }
2285
2302
  )
2286
2303
  ] })
2287
2304
  ] }),
2288
2305
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2289
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "phone", children: "Telefone" }),
2306
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "phone", children: t("templates.forms.phone") }),
2290
2307
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2291
2308
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Phone, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }),
2292
2309
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2294,81 +2311,81 @@ function TemplateContent() {
2294
2311
  {
2295
2312
  id: "phone",
2296
2313
  type: "tel",
2297
- placeholder: "(11) 99999-9999",
2314
+ placeholder: t("templates.forms.phonePlaceholder"),
2298
2315
  className: "pl-10"
2299
2316
  }
2300
2317
  )
2301
2318
  ] })
2302
2319
  ] }),
2303
2320
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2304
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "role", children: "Função" }),
2321
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "role", children: t("templates.forms.role") }),
2305
2322
  /* @__PURE__ */ jsxRuntime.jsxs(select.Select, { children: [
2306
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { id: "role", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder: "Selecione uma função" }) }),
2323
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { id: "role", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder: t("templates.forms.rolePlaceholder") }) }),
2307
2324
  /* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
2308
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "developer", children: "Desenvolvedor" }),
2309
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "designer", children: "Designer" }),
2310
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "manager", children: "Gerente" }),
2311
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "analyst", children: "Analista" })
2325
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "developer", children: t("templates.forms.roles.developer") }),
2326
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "designer", children: t("templates.forms.roles.designer") }),
2327
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "manager", children: t("templates.forms.roles.manager") }),
2328
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "analyst", children: t("templates.forms.roles.analyst") })
2312
2329
  ] })
2313
2330
  ] })
2314
2331
  ] }),
2315
2332
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2316
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "bio", children: "Biografia" }),
2333
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "bio", children: t("templates.forms.bio") }),
2317
2334
  /* @__PURE__ */ jsxRuntime.jsx(
2318
2335
  richTextEditor.Textarea,
2319
2336
  {
2320
2337
  id: "bio",
2321
- placeholder: "Conte-nos um pouco sobre você...",
2338
+ placeholder: t("templates.forms.bioPlaceholder"),
2322
2339
  rows: 4
2323
2340
  }
2324
2341
  )
2325
2342
  ] }),
2326
2343
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2327
2344
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2328
- /* @__PURE__ */ jsxRuntime.jsx("h4", { children: "Preferências" }),
2345
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { children: t("templates.forms.preferences") }),
2329
2346
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2330
2347
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2331
2348
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Checkbox, { id: "newsletter" }),
2332
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "newsletter", className: "font-normal", children: "Receber newsletter por e-mail" })
2349
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "newsletter", className: "font-normal", children: t("templates.forms.newsletter") })
2333
2350
  ] }),
2334
2351
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2335
2352
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Checkbox, { id: "notifications" }),
2336
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "notifications", className: "font-normal", children: "Ativar notificações push" })
2353
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "notifications", className: "font-normal", children: t("templates.forms.pushNotifications") })
2337
2354
  ] }),
2338
2355
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2339
2356
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Checkbox, { id: "updates" }),
2340
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "updates", className: "font-normal", children: "Receber atualizações sobre novos recursos" })
2357
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "updates", className: "font-normal", children: t("templates.forms.featureUpdates") })
2341
2358
  ] })
2342
2359
  ] }),
2343
2360
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2344
2361
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2345
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "Tipo de Conta" }),
2346
- /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.RadioGroup, { defaultValue: "personal", "aria-label": "Tipo de Conta", children: [
2362
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.forms.accountType") }),
2363
+ /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.RadioGroup, { defaultValue: "personal", "aria-label": t("templates.forms.accountType"), children: [
2347
2364
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2348
2365
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.RadioGroupItem, { value: "personal", id: "personal" }),
2349
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "personal", className: "font-normal", children: "Pessoal" })
2366
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "personal", className: "font-normal", children: t("templates.forms.accountPersonal") })
2350
2367
  ] }),
2351
2368
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2352
2369
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.RadioGroupItem, { value: "business", id: "business" }),
2353
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "business", className: "font-normal", children: "Empresarial" })
2370
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "business", className: "font-normal", children: t("templates.forms.accountBusiness") })
2354
2371
  ] }),
2355
2372
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2356
2373
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.RadioGroupItem, { value: "enterprise", id: "enterprise" }),
2357
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "enterprise", className: "font-normal", children: "Corporativo" })
2374
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "enterprise", className: "font-normal", children: t("templates.forms.accountEnterprise") })
2358
2375
  ] })
2359
2376
  ] })
2360
2377
  ] })
2361
2378
  ] })
2362
2379
  ] }) }),
2363
2380
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardFooter, { className: "flex justify-between", children: [
2364
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: "Cancelar" }),
2365
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: handleFormSubmit, children: "Criar Conta" })
2381
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: t("templates.forms.cancel") }),
2382
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: handleFormSubmit, children: t("templates.forms.createAccount") })
2366
2383
  ] })
2367
2384
  ] }) }),
2368
2385
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsContent, { value: "data", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(SectionErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2369
2386
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2370
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Lista de Usuários" }),
2371
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Gerenciar usuários do sistema" })
2387
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.data.title") }),
2388
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.data.description") })
2372
2389
  ] }),
2373
2390
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { children: [
2374
2391
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
@@ -2376,19 +2393,19 @@ function TemplateContent() {
2376
2393
  /* @__PURE__ */ jsxRuntime.jsx(
2377
2394
  input.Input,
2378
2395
  {
2379
- placeholder: "Buscar usuários...",
2380
- "aria-label": "Buscar usuários",
2396
+ placeholder: t("templates.data.searchPlaceholder"),
2397
+ "aria-label": t("templates.data.searchPlaceholder"),
2381
2398
  className: "pl-10"
2382
2399
  }
2383
2400
  )
2384
2401
  ] }) }),
2385
2402
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-[var(--radius-lg)] border border-border overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Table, { children: [
2386
2403
  /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
2387
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t2("team.name") }),
2388
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t2("team.email") }),
2389
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t2("team.role") }),
2390
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t2("team.status") }),
2391
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { className: "text-right", children: t2("team.actions") })
2404
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.name") }),
2405
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.email") }),
2406
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.role") }),
2407
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { children: t("team.status") }),
2408
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableHead, { className: "text-right", children: t("team.actions") })
2392
2409
  ] }) }),
2393
2410
  /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableBody, { children: teamLoading ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
2394
2411
  /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -2402,36 +2419,36 @@ function TemplateContent() {
2402
2419
  ] }, i)) }) : teamMembers.map((member) => /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
2403
2420
  /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: member.name }),
2404
2421
  /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: member.email }),
2405
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: t2(`team.roles.${member.role}`) }),
2422
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: t(`team.roles.${member.role}`) }),
2406
2423
  /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
2407
2424
  progress.Badge,
2408
2425
  {
2409
2426
  variant: member.status === "active" ? "default" : member.status === "away" ? "secondary" : "outline",
2410
- children: t2(`common.${member.status}`)
2427
+ children: t(`common.${member.status}`)
2411
2428
  }
2412
2429
  ) }),
2413
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "ghost", size: "sm", children: t2("common.edit") }) })
2430
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "ghost", size: "sm", children: t("common.edit") }) })
2414
2431
  ] }, member.id)) })
2415
2432
  ] }) })
2416
2433
  ] }),
2417
2434
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardFooter, { className: "flex justify-between items-center", children: [
2418
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t2("team.showing", { count: teamMembers.length, total: teamMembers.length }) }),
2435
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("team.showing", { count: teamMembers.length, total: teamMembers.length }) }),
2419
2436
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
2420
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: "Previous" }),
2421
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: "Next" })
2437
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: t("common.previous") }),
2438
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", size: "sm", children: t("common.next") })
2422
2439
  ] })
2423
2440
  ] })
2424
2441
  ] }) }) }),
2425
2442
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsContent, { value: "settings", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2426
2443
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2427
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Configurações do Sistema" }),
2428
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Gerenciar configurações gerais" })
2444
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.settings.title") }),
2445
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.settings.description") })
2429
2446
  ] }),
2430
2447
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
2431
2448
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
2432
2449
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
2433
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "dark-mode", children: "Dark Mode" }),
2434
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Enable dark theme in the interface" })
2450
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "dark-mode", children: t("templates.settings.darkMode") }),
2451
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("templates.settings.darkModeDescription") })
2435
2452
  ] }),
2436
2453
  /* @__PURE__ */ jsxRuntime.jsx(
2437
2454
  alertDialog.Switch,
@@ -2445,62 +2462,62 @@ function TemplateContent() {
2445
2462
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2446
2463
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
2447
2464
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
2448
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email-notifications", children: "Email Notifications" }),
2449
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Receive important updates by email" })
2465
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "email-notifications", children: t("templates.settings.emailNotifications") }),
2466
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("templates.settings.emailNotificationsDescription") })
2450
2467
  ] }),
2451
2468
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Switch, { id: "email-notifications", defaultChecked: true })
2452
2469
  ] }),
2453
2470
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2454
2471
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
2455
2472
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
2456
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "push-notifications", children: "Push Notifications" }),
2457
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Receive instant notifications in the browser" })
2473
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "push-notifications", children: t("templates.settings.pushNotifications") }),
2474
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("templates.settings.pushNotificationsDescription") })
2458
2475
  ] }),
2459
2476
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Switch, { id: "push-notifications" })
2460
2477
  ] }),
2461
2478
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2462
2479
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2463
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "Language" }),
2480
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.settings.language") }),
2464
2481
  /* @__PURE__ */ jsxRuntime.jsxs(select.Select, { defaultValue: "pt-br", children: [
2465
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": "Idioma do sistema", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
2482
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": t("templates.settings.language"), children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
2466
2483
  /* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
2467
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "pt-br", children: "Portuguese (Brazil)" }),
2468
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "en", children: "English" }),
2469
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "es", children: "Spanish" })
2484
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "pt-br", children: t("templates.settings.languages.ptBR") }),
2485
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "en", children: t("templates.settings.languages.en") }),
2486
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "es", children: t("templates.settings.languages.es") })
2470
2487
  ] })
2471
2488
  ] })
2472
2489
  ] }),
2473
2490
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2474
2491
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2475
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "Time Zone" }),
2492
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.settings.timezone") }),
2476
2493
  /* @__PURE__ */ jsxRuntime.jsxs(select.Select, { defaultValue: "america-sao-paulo", children: [
2477
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": "Fuso horário", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
2494
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": t("templates.settings.timezone"), children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
2478
2495
  /* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
2479
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-sao-paulo", children: "America/Sao Paulo (GMT-3)" }),
2480
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-new-york", children: "America/New York (GMT-5)" }),
2481
- /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "europe-london", children: "Europe/London (GMT+0)" })
2496
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-sao-paulo", children: t("templates.settings.timezones.saoPaulo") }),
2497
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "america-new-york", children: t("templates.settings.timezones.newYork") }),
2498
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: "europe-london", children: t("templates.settings.timezones.london") })
2482
2499
  ] })
2483
2500
  ] })
2484
2501
  ] })
2485
2502
  ] }),
2486
2503
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardFooter, { className: "flex justify-between", children: [
2487
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: "Restaurar Padrões" }),
2488
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { children: "Salvar Alterações" })
2504
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: t("templates.settings.restoreDefaults") }),
2505
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { children: t("templates.settings.saveChanges") })
2489
2506
  ] })
2490
2507
  ] }) })
2491
2508
  ] })
2492
2509
  ] }),
2493
2510
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2494
2511
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2495
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Botões" }),
2512
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.buttons") }),
2496
2513
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2497
2514
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2498
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Variações de Botão" }),
2499
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Diferentes estilos e tamanhos de botões" })
2515
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.buttons.title") }),
2516
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.buttons.description") })
2500
2517
  ] }),
2501
2518
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
2502
2519
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2503
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "Variants" }),
2520
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.variants") }),
2504
2521
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
2505
2522
  /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "default", children: "Default" }),
2506
2523
  /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "secondary", children: "Secondary" }),
@@ -2512,38 +2529,38 @@ function TemplateContent() {
2512
2529
  ] }),
2513
2530
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2514
2531
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2515
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "Sizes" }),
2532
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.sizes") }),
2516
2533
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
2517
2534
  /* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "sm", children: "Small" }),
2518
2535
  /* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "default", children: "Default" }),
2519
2536
  /* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "lg", children: "Large" }),
2520
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "icon", "aria-label": "Configurações", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "h-4 w-4" }) })
2537
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { size: "icon", "aria-label": t("nav.settings"), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "h-4 w-4" }) })
2521
2538
  ] })
2522
2539
  ] }),
2523
2540
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2524
2541
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2525
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "With Icons" }),
2542
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.withIcons") }),
2526
2543
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
2527
2544
  /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { children: [
2528
2545
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "mr-2 h-4 w-4" }),
2529
- "Profile"
2546
+ t("templates.buttons.profile")
2530
2547
  ] }),
2531
2548
  /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { variant: "secondary", children: [
2532
2549
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "mr-2 h-4 w-4" }),
2533
- "Messages"
2550
+ t("templates.buttons.messages")
2534
2551
  ] }),
2535
2552
  /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { variant: "outline", children: [
2536
2553
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "mr-2 h-4 w-4" }),
2537
- "Schedule"
2554
+ t("templates.buttons.schedule")
2538
2555
  ] })
2539
2556
  ] })
2540
2557
  ] }),
2541
2558
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, {}),
2542
2559
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2543
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: "States" }),
2560
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { children: t("templates.buttons.states") }),
2544
2561
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
2545
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { disabled: true, children: "Disabled" }),
2546
- /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", disabled: true, children: "Outline Disabled" })
2562
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { disabled: true, children: t("templates.buttons.disabled") }),
2563
+ /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", disabled: true, children: t("templates.buttons.outlineDisabled") })
2547
2564
  ] })
2548
2565
  ] })
2549
2566
  ] })
@@ -2551,68 +2568,68 @@ function TemplateContent() {
2551
2568
  ] }),
2552
2569
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2553
2570
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2554
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Badges" }),
2571
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.badges") }),
2555
2572
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2556
2573
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2557
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Variações de Badge" }),
2558
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Estilos diferentes de badge para status e tags" })
2574
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.badges.title") }),
2575
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.badges.description") })
2559
2576
  ] }),
2560
2577
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
2561
- /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", children: "Padrão" }),
2562
- /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "secondary", children: "Secundário" }),
2563
- /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "outline", children: "Contorno" }),
2564
- /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "destructive", children: "Destrutivo" }),
2565
- /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-success text-success-foreground", children: "Sucesso" }),
2566
- /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-warning text-warning-foreground", children: "Aviso" }),
2578
+ /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "default", children: "Default" }),
2579
+ /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "secondary", children: "Secondary" }),
2580
+ /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "outline", children: "Outline" }),
2581
+ /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { variant: "destructive", children: "Destructive" }),
2582
+ /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-success text-success-foreground", children: "Success" }),
2583
+ /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-warning text-warning-foreground", children: "Warning" }),
2567
2584
  /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-info text-info-foreground", children: "Info" })
2568
2585
  ] }) })
2569
2586
  ] })
2570
2587
  ] }),
2571
2588
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2572
2589
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2573
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Diálogos" }),
2590
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.dialogs") }),
2574
2591
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
2575
2592
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2576
2593
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2577
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Diálogo" }),
2578
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Um modal interativo básico" })
2594
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.dialogs.dialogTitle") }),
2595
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.dialogs.dialogDescription") })
2579
2596
  ] }),
2580
2597
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex justify-center py-6", children: /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Dialog, { children: [
2581
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: "Editar Perfil" }) }),
2598
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "outline", children: t("templates.dialogs.editProfile") }) }),
2582
2599
  /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.DialogContent, { className: "sm:max-w-[425px]", children: [
2583
2600
  /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.DialogHeader, { children: [
2584
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTitle, { children: "Editar Perfil" }),
2585
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogDescription, { children: "Faça alterações no seu perfil aqui. Clique em salvar quando terminar." })
2601
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTitle, { children: t("templates.dialogs.editProfile") }),
2602
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogDescription, { children: t("templates.dialogs.editProfileDescription") })
2586
2603
  ] }),
2587
2604
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 py-4", children: [
2588
2605
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [
2589
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "name", className: "text-right", children: "Nome" }),
2606
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "name", className: "text-right", children: t("templates.dialogs.name") }),
2590
2607
  /* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "name", defaultValue: "John Doe", className: "col-span-3" })
2591
2608
  ] }),
2592
2609
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [
2593
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "username", className: "text-right", children: "Usuário" }),
2610
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "username", className: "text-right", children: t("templates.dialogs.username") }),
2594
2611
  /* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "username", defaultValue: "@johndoe", className: "col-span-3" })
2595
2612
  ] })
2596
2613
  ] }),
2597
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", children: "Atualizar" }) })
2614
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { type: "submit", children: t("templates.dialogs.update") }) })
2598
2615
  ] })
2599
2616
  ] }) })
2600
2617
  ] }),
2601
2618
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2602
2619
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2603
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Alerta de Diálogo" }),
2604
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Um alerta para decisões importantes" })
2620
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.dialogs.alertDialogTitle") }),
2621
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.dialogs.alertDialogDescription") })
2605
2622
  ] }),
2606
2623
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { className: "flex justify-center py-6", children: /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialog, { children: [
2607
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "destructive", children: "Excluir Conta" }) }),
2624
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { variant: "destructive", children: t("templates.dialogs.deleteAccount") }) }),
2608
2625
  /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialogContent, { className: "sm:max-w-[425px]", children: [
2609
2626
  /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialogHeader, { children: [
2610
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTitle, { children: "Você tem certeza absoluta?" }),
2611
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogDescription, { children: "Esta ação não pode ser desfeita. Isso excluirá permanentemente sua conta e removerá seus dados de nossos servidores." })
2627
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogTitle, { children: t("templates.dialogs.areYouSure") }),
2628
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogDescription, { children: t("templates.dialogs.deleteWarning") })
2612
2629
  ] }),
2613
2630
  /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.AlertDialogFooter, { children: [
2614
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogCancel, { children: "Cancelar" }),
2615
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogAction, { className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: "Continuar" })
2631
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogCancel, { children: t("templates.dialogs.cancel") }),
2632
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.AlertDialogAction, { className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: t("templates.dialogs.continue") })
2616
2633
  ] })
2617
2634
  ] })
2618
2635
  ] }) })
@@ -2623,15 +2640,15 @@ function TemplateContent() {
2623
2640
  /* @__PURE__ */ jsxRuntime.jsx("section", { children: /* @__PURE__ */ jsxRuntime.jsx(MapShowcase, {}) }),
2624
2641
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2625
2642
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2626
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Variações de Cabeçalho" }),
2643
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.headerVariations.sectionTitle") }),
2627
2644
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2628
2645
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2629
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Configurações do Cabeçalho Principal" }),
2630
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "O Header é focado em navegação (breadcrumbs) e ações contextuais rápidas." })
2646
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.headerVariations.cardTitle") }),
2647
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.headerVariations.cardDescription") })
2631
2648
  ] }),
2632
2649
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-6", children: [
2633
2650
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 border rounded-[var(--radius-lg)] bg-muted/30", children: [
2634
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: "Elementos Visíveis" }),
2651
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: t("templates.headerVariations.visibleElements") }),
2635
2652
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6", children: [
2636
2653
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2637
2654
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2642,7 +2659,7 @@ function TemplateContent() {
2642
2659
  onCheckedChange: setShowHeaderActions
2643
2660
  }
2644
2661
  ),
2645
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-actions", className: "cursor-pointer", children: "Botões de Ação" })
2662
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-actions", className: "cursor-pointer", children: t("templates.headerVariations.actionButtons") })
2646
2663
  ] }),
2647
2664
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2648
2665
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2653,60 +2670,60 @@ function TemplateContent() {
2653
2670
  onCheckedChange: setShowHeaderBreadcrumbs
2654
2671
  }
2655
2672
  ),
2656
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-bread", className: "cursor-pointer", children: "Breadcrumbs" })
2673
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "header-bread", className: "cursor-pointer", children: t("templates.headerVariations.breadcrumbsLabel") })
2657
2674
  ] })
2658
2675
  ] })
2659
2676
  ] }),
2660
2677
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative border rounded-[var(--radius-lg)] bg-muted/10 overflow-hidden shadow-inner", children: [
2661
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-background/50 border-b text-xs font-mono text-muted-foreground", children: "Visualização" }),
2678
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-background/50 border-b text-xs font-mono text-muted-foreground", children: t("templates.headerVariations.preview") }),
2662
2679
  /* @__PURE__ */ jsxRuntime.jsx(
2663
2680
  sidebar.Header,
2664
2681
  {
2665
- title: !showHeaderBreadcrumbs ? "Página Atual" : void 0,
2682
+ title: !showHeaderBreadcrumbs ? t("templates.headerVariations.currentPage") : void 0,
2666
2683
  breadcrumbs: showHeaderBreadcrumbs ? [
2667
2684
  {
2668
- label: "Xertica UI",
2685
+ label: t("templates.headerVariations.breadcrumbBrand"),
2669
2686
  href: "#",
2670
2687
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Home, { className: "w-4 h-4" })
2671
2688
  },
2672
- { label: "Configurações", href: "#" },
2673
- { label: "Perfil" }
2689
+ { label: t("templates.headerVariations.breadcrumbSettings"), href: "#" },
2690
+ { label: t("templates.headerVariations.breadcrumbProfile") }
2674
2691
  ] : void 0,
2675
2692
  actions: showHeaderActions ? [
2676
2693
  {
2677
2694
  id: "notify",
2678
2695
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { className: "w-5 h-5" }),
2679
- onClick: () => sonner.toast("Notificações abertas")
2696
+ onClick: () => sonner.toast(t("templates.headerVariations.notificationsOpenedToast"))
2680
2697
  },
2681
2698
  {
2682
2699
  id: "mail",
2683
- label: "Mensagens",
2700
+ label: t("templates.headerVariations.messagesLabel"),
2684
2701
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "w-5 h-5" }),
2685
- onClick: () => sonner.toast("Mensagens abertas")
2702
+ onClick: () => sonner.toast(t("templates.headerVariations.messagesOpenedToast"))
2686
2703
  }
2687
2704
  ] : void 0
2688
2705
  }
2689
2706
  ),
2690
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-32 flex items-center justify-center text-muted-foreground text-sm italic", children: "Área de Conteúdo da Página" })
2707
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-32 flex items-center justify-center text-muted-foreground text-sm italic", children: t("templates.headerVariations.contentArea") })
2691
2708
  ] })
2692
2709
  ] })
2693
2710
  ] })
2694
2711
  ] }),
2695
2712
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2696
2713
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2697
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Variações da Sidebar" }),
2714
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: t("templates.sections.sidebarVariations") }),
2698
2715
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { children: [
2699
2716
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2700
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Sidebar Modo Assistente vs Padrão" }),
2701
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "A Sidebar suporta flexibilidade através da propriedade variant." })
2717
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.sidebar.title") }),
2718
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.sidebar.description") })
2702
2719
  ] }),
2703
2720
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.Tabs, { defaultValue: "assistant", className: "w-full", children: [
2704
2721
  /* @__PURE__ */ jsxRuntime.jsxs(alertDialog.TabsList, { className: "mb-4", children: [
2705
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "assistant", children: "Modo Assistente" }),
2706
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "default", children: "Modo Padrão" })
2722
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "assistant", children: t("templates.sidebar.assistantMode") }),
2723
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.TabsTrigger, { value: "default", children: t("templates.sidebar.defaultMode") })
2707
2724
  ] }),
2708
2725
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6 p-4 border rounded-[var(--radius-lg)] bg-muted/30", children: [
2709
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: "Configurações do Rodapé" }),
2726
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: t("templates.sidebarControls.footerSettings") }),
2710
2727
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-6 mt-2", children: [
2711
2728
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2712
2729
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2717,7 +2734,7 @@ function TemplateContent() {
2717
2734
  onCheckedChange: setShowSidebarUser
2718
2735
  }
2719
2736
  ),
2720
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-user", className: "cursor-pointer", children: "Perfil do Usuário" })
2737
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-user", className: "cursor-pointer", children: t("templates.sidebarControls.userProfile") })
2721
2738
  ] }),
2722
2739
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2723
2740
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2728,7 +2745,7 @@ function TemplateContent() {
2728
2745
  onCheckedChange: setShowSidebarSettings
2729
2746
  }
2730
2747
  ),
2731
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-settings", className: "cursor-pointer", children: "Configurações" })
2748
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-settings", className: "cursor-pointer", children: t("templates.sidebarControls.settings") })
2732
2749
  ] }),
2733
2750
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
2734
2751
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2739,12 +2756,12 @@ function TemplateContent() {
2739
2756
  onCheckedChange: setShowSidebarLogout
2740
2757
  }
2741
2758
  ),
2742
- /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-logout", className: "cursor-pointer", children: "Botão de Sair" })
2759
+ /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Label, { htmlFor: "show-logout", className: "cursor-pointer", children: t("templates.sidebarControls.logoutButton") })
2743
2760
  ] })
2744
2761
  ] }),
2745
2762
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6 pt-6 border-t", children: [
2746
2763
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-4", children: [
2747
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold", children: "Largura da Sidebar (Desktop)" }),
2764
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold", children: t("templates.sidebarControls.sidebarWidthDesktop") }),
2748
2765
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs font-mono bg-muted px-2 py-1 rounded", children: [
2749
2766
  sidebarWidth,
2750
2767
  "px"
@@ -2761,7 +2778,7 @@ function TemplateContent() {
2761
2778
  max: 450,
2762
2779
  step: 10,
2763
2780
  className: "flex-1",
2764
- "aria-label": "Largura da Sidebar"
2781
+ "aria-label": t("templates.sidebarControls.sidebarWidthAriaLabel")
2765
2782
  }
2766
2783
  ),
2767
2784
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground w-12", children: "450px" })
@@ -2782,26 +2799,26 @@ function TemplateContent() {
2782
2799
  onToggle: () => {
2783
2800
  },
2784
2801
  user: { email: "admin@xertica.com" },
2785
- onLogout: () => sonner.toast("Saiu"),
2802
+ onLogout: () => sonner.toast(t("templates.sidebar.logoutToast")),
2786
2803
  location: { pathname: "/assistant/current" },
2787
2804
  navigate: () => {
2788
2805
  },
2789
2806
  variant: "assistant",
2790
2807
  search: {
2791
2808
  show: true,
2792
- placeholder: "Buscar tópicos...",
2809
+ placeholder: t("templates.sidebar.searchTopicsPlaceholder"),
2793
2810
  filter: {
2794
2811
  show: true,
2795
2812
  content: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2 space-y-2", children: [
2796
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold uppercase text-muted-foreground px-2", children: "Filtrar por Status" }),
2813
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold uppercase text-muted-foreground px-2", children: t("templates.sidebarControls.filterByStatus") }),
2797
2814
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-2 p-1", children: [
2798
- /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-sidebar-foreground/20 text-sidebar-foreground border-none cursor-pointer hover:bg-sidebar-foreground/30", children: "Ativo" }),
2815
+ /* @__PURE__ */ jsxRuntime.jsx(progress.Badge, { className: "bg-sidebar-foreground/20 text-sidebar-foreground border-none cursor-pointer hover:bg-sidebar-foreground/30", children: t("templates.sidebarControls.filterActive") }),
2799
2816
  /* @__PURE__ */ jsxRuntime.jsx(
2800
2817
  progress.Badge,
2801
2818
  {
2802
2819
  variant: "outline",
2803
2820
  className: "text-sidebar-foreground/70 border-sidebar-foreground/20 cursor-pointer hover:bg-sidebar-foreground/10",
2804
- children: "Arquivado"
2821
+ children: t("templates.sidebarControls.filterArchived")
2805
2822
  }
2806
2823
  ),
2807
2824
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2809,7 +2826,7 @@ function TemplateContent() {
2809
2826
  {
2810
2827
  variant: "outline",
2811
2828
  className: "text-sidebar-foreground/70 border-sidebar-foreground/20 cursor-pointer hover:bg-sidebar-foreground/10",
2812
- children: "Pendente"
2829
+ children: t("templates.sidebarControls.filterPending")
2813
2830
  }
2814
2831
  )
2815
2832
  ] })
@@ -2820,47 +2837,47 @@ function TemplateContent() {
2820
2837
  show: true,
2821
2838
  content: /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { className: "w-full bg-sidebar-primary hover:bg-sidebar-primary/90 text-sidebar-primary-foreground shadow-lg font-bold border-none transition-all duration-300 transform hover:scale-[1.02] active:scale-[0.98]", children: [
2822
2839
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "w-4 h-4 mr-2" }),
2823
- "Nova Conversa"
2840
+ t("templates.sidebar.newConversation")
2824
2841
  ] })
2825
2842
  },
2826
2843
  navigationGroups: [
2827
2844
  {
2828
2845
  id: "recent",
2829
- label: "Recentes",
2846
+ label: t("templates.sidebar.recent"),
2830
2847
  icon: lucideReact.Clock,
2831
2848
  items: [
2832
2849
  {
2833
2850
  path: "/assistant/refatoracao",
2834
- label: "Refatoração da Sidebar",
2835
- description: "Ativo agora",
2851
+ label: t("templates.sidebar.items.sidebarRefactor"),
2852
+ description: t("templates.sidebar.items.sidebarRefactorDescription"),
2836
2853
  actions: [
2837
2854
  {
2838
- label: "Renomear",
2855
+ label: t("templates.sidebar.actions.rename"),
2839
2856
  icon: lucideReact.FileEdit,
2840
- onClick: () => sonner.toast("Abrir renomear...")
2857
+ onClick: () => sonner.toast(t("templates.sidebar.actions.renameToast"))
2841
2858
  },
2842
2859
  {
2843
- label: "Mover",
2860
+ label: t("templates.sidebar.actions.move"),
2844
2861
  icon: lucideReact.ArrowRightLeft,
2845
2862
  children: [
2846
2863
  {
2847
- label: "Projetos Ativos",
2848
- onClick: () => sonner.toast("Movido para Projetos Ativos")
2864
+ label: t("templates.sidebar.actions.moveActive"),
2865
+ onClick: () => sonner.toast(t("templates.sidebar.actions.moveActiveToast"))
2849
2866
  },
2850
2867
  {
2851
- label: "Monitoramento",
2852
- onClick: () => sonner.toast("Movido para Monitoramento")
2868
+ label: t("templates.sidebar.actions.moveMonitoring"),
2869
+ onClick: () => sonner.toast(t("templates.sidebar.actions.moveMonitoringToast"))
2853
2870
  },
2854
2871
  {
2855
- label: "Arquivar",
2856
- onClick: () => sonner.toast("Movido para Arquivo")
2872
+ label: t("templates.sidebar.actions.moveArchive"),
2873
+ onClick: () => sonner.toast(t("templates.sidebar.actions.moveArchiveToast"))
2857
2874
  }
2858
2875
  ]
2859
2876
  },
2860
2877
  {
2861
- label: "Limpar",
2878
+ label: t("templates.sidebar.actions.clear"),
2862
2879
  icon: lucideReact.Trash2,
2863
- onClick: () => sonner.toast("Histórico Limpo!"),
2880
+ onClick: () => sonner.toast(t("templates.sidebar.actions.clearToast")),
2864
2881
  variant: "destructive"
2865
2882
  }
2866
2883
  ]
@@ -2869,24 +2886,24 @@ function TemplateContent() {
2869
2886
  },
2870
2887
  {
2871
2888
  id: "projects",
2872
- label: "Monitoramento de Projetos",
2889
+ label: t("templates.sidebar.constructionMonitoring"),
2873
2890
  icon: lucideReact.Map,
2874
2891
  actions: [
2875
2892
  {
2876
- label: "Nova Categoria",
2893
+ label: t("templates.sidebar.actions.newCategory"),
2877
2894
  icon: lucideReact.Plus,
2878
- onClick: () => sonner.toast("Criar nova categoria...")
2895
+ onClick: () => sonner.toast(t("templates.sidebar.actions.newCategoryToast"))
2879
2896
  },
2880
2897
  {
2881
- label: "Arquivar Grupo",
2898
+ label: t("templates.sidebar.actions.archiveGroup"),
2882
2899
  icon: lucideReact.Archive,
2883
- onClick: () => sonner.toast("Arquivando grupo...")
2900
+ onClick: () => sonner.toast(t("templates.sidebar.actions.archiveGroupToast"))
2884
2901
  }
2885
2902
  ],
2886
2903
  items: [
2887
2904
  {
2888
2905
  path: "/assistant/br163",
2889
- label: "Restauração BR-163",
2906
+ label: t("templates.sidebar.items.br163Restoration"),
2890
2907
  icon: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-2 h-2 rounded-full bg-yellow-500" }),
2891
2908
  description: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 min-w-[160px]", children: [
2892
2909
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2897,7 +2914,7 @@ function TemplateContent() {
2897
2914
  }
2898
2915
  ),
2899
2916
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center text-[10px] text-sidebar-foreground/60", children: [
2900
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Cuiabá, MT" }),
2917
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("templates.sidebar.items.br163Location") }),
2901
2918
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "67%" })
2902
2919
  ] })
2903
2920
  ] })
@@ -2917,7 +2934,7 @@ function TemplateContent() {
2917
2934
  {
2918
2935
  className: "absolute inset-y-0 right-0 p-8 flex items-center justify-center transition-all duration-300",
2919
2936
  style: { left: `${sidebarWidth}px` },
2920
- children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: "Conteúdo do Modo Assistente" })
2937
+ children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: t("templates.sidebar.assistantContent") })
2921
2938
  }
2922
2939
  )
2923
2940
  ]
@@ -2941,16 +2958,16 @@ function TemplateContent() {
2941
2958
  email: "admin@xertica.com",
2942
2959
  avatar: "https://github.com/shadcn.png"
2943
2960
  },
2944
- onLogout: () => sonner.toast("Saiu"),
2945
- onSettingsClick: () => sonner.toast("Configurações clicadas"),
2961
+ onLogout: () => sonner.toast(t("templates.sidebar.logoutToast")),
2962
+ onSettingsClick: () => sonner.toast(t("templates.sidebar.settingsClickedToast")),
2946
2963
  location: { pathname: "/home" },
2947
2964
  navigate: () => {
2948
2965
  },
2949
2966
  variant: "default",
2950
2967
  routes: [
2951
- { path: "/home", label: "Início", icon: lucideReact.Home },
2952
- { path: "/dashboard", label: "Dashboard", icon: lucideReact.Users },
2953
- { path: "/settings", label: "Configurações", icon: lucideReact.Settings }
2968
+ { path: "/home", label: t("templates.sidebar.routes.home"), icon: lucideReact.Home },
2969
+ { path: "/dashboard", label: t("templates.sidebar.routes.dashboard"), icon: lucideReact.Users },
2970
+ { path: "/settings", label: t("templates.sidebar.routes.settings"), icon: lucideReact.Settings }
2954
2971
  ],
2955
2972
  footer: {
2956
2973
  showUser: showSidebarUser,
@@ -2964,7 +2981,7 @@ function TemplateContent() {
2964
2981
  {
2965
2982
  className: "absolute inset-y-0 right-0 p-8 flex items-center justify-center transition-all duration-300",
2966
2983
  style: { left: `${sidebarWidth}px` },
2967
- children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: "Navegação Tradicional do Sistema" })
2984
+ children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: t("templates.sidebar.defaultContent") })
2968
2985
  }
2969
2986
  )
2970
2987
  ]
@@ -2976,19 +2993,22 @@ function TemplateContent() {
2976
2993
  /* @__PURE__ */ jsxRuntime.jsx(alertDialog.Separator, { className: "my-8" }),
2977
2994
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.Card, { className: "mt-8", children: [
2978
2995
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardHeader, { children: [
2979
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: "Template Pronto para CLI" }),
2980
- /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: "Como usar este template" })
2996
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardTitle, { children: t("templates.footer.title") }),
2997
+ /* @__PURE__ */ jsxRuntime.jsx(skeleton.CardDescription, { children: t("templates.footer.subtitle") })
2981
2998
  ] }),
2982
2999
  /* @__PURE__ */ jsxRuntime.jsxs(skeleton.CardContent, { className: "space-y-4", children: [
2983
3000
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
2984
- "Este template está pronto para ser usado como base para novos projetos. Todos os componentes usam as variáveis CSS definidas em",
2985
- " ",
2986
- /* @__PURE__ */ jsxRuntime.jsx("code", { className: "bg-muted px-2 py-1 rounded-[var(--radius-sm)] [font-size:var(--text-small)]", children: "/styles/xertica/tokens.css" }),
2987
- "and follow the Xertica UI CLI-first architecture."
3001
+ t("templates.footer.descriptionPart1"),
3002
+ /* @__PURE__ */ jsxRuntime.jsx("code", { className: "bg-muted px-2 py-1 rounded-[var(--radius-sm)] [font-size:var(--text-small)]", children: "xertica-ui" }),
3003
+ t("templates.footer.descriptionPart2")
2988
3004
  ] }),
2989
3005
  /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Alert, { variant: "info", children: [
2990
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: "Dica" }),
2991
- /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertDescription, { children: "Copie este arquivo como ponto de partida para suas páginas. Todos os componentes são reutilizáveis e customizáveis através de variáveis CSS." })
3006
+ /* @__PURE__ */ jsxRuntime.jsx(richTextEditor.AlertTitle, { children: t("templates.footer.tipTitle") }),
3007
+ /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.AlertDescription, { children: [
3008
+ t("templates.footer.tipDescriptionPart1"),
3009
+ /* @__PURE__ */ jsxRuntime.jsx("code", { className: "bg-muted px-1 rounded", children: "styles/xertica/tokens.css" }),
3010
+ t("templates.footer.tipDescriptionPart2")
3011
+ ] })
2992
3012
  ] })
2993
3013
  ] })
2994
3014
  ] })
@@ -2997,16 +3017,17 @@ function TemplateContent() {
2997
3017
  }
2998
3018
  );
2999
3019
  }
3020
+
3000
3021
  function TemplatePage() {
3001
3022
  const { user, logout } = useAuth();
3002
3023
  const layout = LayoutContext.useOptionalLayout();
3003
3024
  const [localSidebarExpanded, setLocalSidebarExpanded] = React.useState(false);
3004
3025
  const [localAssistantExpanded, setLocalAssistantExpanded] = React.useState(false);
3005
- const sidebarExpanded = (layout == null ? void 0 : layout.sidebarExpanded) ?? localSidebarExpanded;
3006
- const sidebarWidth = (layout == null ? void 0 : layout.sidebarWidth) ?? 280;
3007
- const assistenteExpanded = (layout == null ? void 0 : layout.assistenteExpanded) ?? localAssistantExpanded;
3008
- const toggleSidebar = (layout == null ? void 0 : layout.toggleSidebar) ?? (() => setLocalSidebarExpanded((value) => !value));
3009
- const toggleAssistente = (layout == null ? void 0 : layout.toggleAssistente) ?? (() => setLocalAssistantExpanded((value) => !value));
3026
+ const sidebarExpanded = layout?.sidebarExpanded ?? localSidebarExpanded;
3027
+ const sidebarWidth = layout?.sidebarWidth ?? 280;
3028
+ const assistenteExpanded = layout?.assistenteExpanded ?? localAssistantExpanded;
3029
+ const toggleSidebar = layout?.toggleSidebar ?? (() => setLocalSidebarExpanded((value) => !value));
3030
+ const toggleAssistente = layout?.toggleAssistente ?? (() => setLocalAssistantExpanded((value) => !value));
3010
3031
  const location = reactRouterDom.useLocation();
3011
3032
  const navigate = reactRouterDom.useNavigate();
3012
3033
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-screen flex bg-muted overflow-hidden relative", children: [
@@ -3040,12 +3061,12 @@ function TemplatePage() {
3040
3061
  )
3041
3062
  ] });
3042
3063
  }
3064
+
3043
3065
  function VerifyEmailPage() {
3044
- var _a;
3045
3066
  const navigate = reactRouterDom.useNavigate();
3046
3067
  const location = reactRouterDom.useLocation();
3047
- const { t: t2 } = reactI18next.useTranslation();
3048
- const email = ((_a = location.state) == null ? void 0 : _a.email) || "your@email.com";
3068
+ const { t } = reactI18next.useTranslation();
3069
+ const email = location.state?.email || "your@email.com";
3049
3070
  const [isResending, setIsResending] = React.useState(false);
3050
3071
  const [resendSuccess, setResendSuccess] = React.useState(false);
3051
3072
  const handleResend = async () => {
@@ -3064,7 +3085,7 @@ function VerifyEmailPage() {
3064
3085
  alertDialog.ImageWithFallback,
3065
3086
  {
3066
3087
  src: "https://images.unsplash.com/photo-1563986768609-322da13575f3?w=1200&h=800&fit=crop&auto=format",
3067
- alt: t2("verifyEmail.heroImageAlt"),
3088
+ alt: t("verifyEmail.heroImageAlt"),
3068
3089
  className: "absolute inset-0 w-full h-full object-cover"
3069
3090
  }
3070
3091
  ),
@@ -3083,23 +3104,23 @@ function VerifyEmailPage() {
3083
3104
  }
3084
3105
  ) }),
3085
3106
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-primary/10 rounded-[var(--radius)]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "w-12 h-12 text-primary" }) }) }),
3086
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t2("verifyEmail.heading") }),
3087
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: t2("verifyEmail.instructionsSent") }),
3107
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: t("verifyEmail.heading") }),
3108
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: t("verifyEmail.instructionsSent") }),
3088
3109
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-primary", children: email })
3089
3110
  ] }),
3090
3111
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-accent rounded-[var(--radius)] p-4 space-y-3", children: [
3091
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t2("verifyEmail.instructions") }),
3112
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: t("verifyEmail.instructions") }),
3092
3113
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 text-muted-foreground", children: [
3093
3114
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "w-4 h-4 mt-0.5 flex-shrink-0 text-[var(--chart-2)]" }),
3094
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: t2("verifyEmail.checkSpam") })
3115
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: t("verifyEmail.checkSpam") })
3095
3116
  ] })
3096
3117
  ] }),
3097
3118
  resendSuccess && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[var(--chart-2)]/10 border border-[var(--chart-2)]/20 rounded-[var(--radius)] p-3 flex items-center gap-2", children: [
3098
3119
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "w-5 h-5 text-[var(--chart-2)] flex-shrink-0" }),
3099
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--chart-2)]", children: t2("verifyEmail.resentSuccess") })
3120
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--chart-2)]", children: t("verifyEmail.resentSuccess") })
3100
3121
  ] }),
3101
3122
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
3102
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-muted-foreground", children: t2("verifyEmail.notReceived") }),
3123
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-muted-foreground", children: t("verifyEmail.notReceived") }),
3103
3124
  /* @__PURE__ */ jsxRuntime.jsx(
3104
3125
  button.Button,
3105
3126
  {
@@ -3107,7 +3128,7 @@ function VerifyEmailPage() {
3107
3128
  className: "w-full",
3108
3129
  onClick: handleResend,
3109
3130
  disabled: isResending,
3110
- children: isResending ? t2("verifyEmail.resending") : t2("verifyEmail.resend")
3131
+ children: isResending ? t("verifyEmail.resending") : t("verifyEmail.resend")
3111
3132
  }
3112
3133
  ),
3113
3134
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3119,14 +3140,14 @@ function VerifyEmailPage() {
3119
3140
  className: "w-full text-muted-foreground hover:text-foreground",
3120
3141
  children: [
3121
3142
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "w-4 h-4 mr-2" }),
3122
- t2("verifyEmail.backToLogin")
3143
+ t("verifyEmail.backToLogin")
3123
3144
  ]
3124
3145
  }
3125
3146
  )
3126
3147
  ] }),
3127
3148
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
3128
3149
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
3129
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: t2("login.orContinueWith") }) })
3150
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: t("login.orContinueWith") }) })
3130
3151
  ] }),
3131
3152
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
3132
3153
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3168,7 +3189,7 @@ function VerifyEmailPage() {
3168
3189
  ),
3169
3190
  /* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h48v48H0z" })
3170
3191
  ] }),
3171
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: t2("login.signInWithGoogle") })
3192
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGoogle") })
3172
3193
  ]
3173
3194
  }
3174
3195
  ),
@@ -3181,7 +3202,7 @@ function VerifyEmailPage() {
3181
3202
  onClick: () => handleSocialLogin(),
3182
3203
  children: [
3183
3204
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-5 h-5 mr-2 text-[var(--chart-4)]" }),
3184
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: t2("login.signInWithMTLogin") })
3205
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithMTLogin") })
3185
3206
  ]
3186
3207
  }
3187
3208
  ),
@@ -3192,7 +3213,7 @@ function VerifyEmailPage() {
3192
3213
  variant: "outline",
3193
3214
  className: "w-full justify-center font-normal",
3194
3215
  onClick: () => handleSocialLogin(),
3195
- children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: t2("login.signInWithGovBr") })
3216
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("login.signInWithGovBr") })
3196
3217
  }
3197
3218
  )
3198
3219
  ] })
@@ -3200,6 +3221,7 @@ function VerifyEmailPage() {
3200
3221
  ] })
3201
3222
  ] });
3202
3223
  }
3224
+
3203
3225
  exports.ForgotPasswordPage = ForgotPasswordPage;
3204
3226
  exports.HomeContent = HomeContent;
3205
3227
  exports.HomePage = HomePage;