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