xertica-ui 2.5.3 → 2.6.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 (583) hide show
  1. package/CHANGELOG.md +687 -664
  2. package/README.md +482 -482
  3. package/assets/xertica-logo.svg +37 -37
  4. package/assets/xertica-x-logo.svg +20 -20
  5. package/bin/cli.ts +1293 -1256
  6. package/bin/generate-tokens.ts +256 -262
  7. package/bin/language-config.test.ts +32 -0
  8. package/bin/language-config.ts +384 -359
  9. package/components/Introduction.mdx +121 -121
  10. package/components/assistant/code-block/CodeBlock.tsx +7 -6
  11. package/components/assistant/code-block/code-block.mdx +38 -38
  12. package/components/assistant/code-block/code-block.test.tsx +2 -1
  13. package/components/assistant/formatted-document/FormattedDocument.tsx +3 -0
  14. package/components/assistant/formatted-document/formatted-document.mdx +31 -31
  15. package/components/assistant/formatted-document/formatted-document.test.tsx +5 -4
  16. package/components/assistant/markdown-message/MarkdownMessage.tsx +1 -1
  17. package/components/assistant/markdown-message/markdown-message.mdx +44 -44
  18. package/components/assistant/modern-chat-input/modern-chat-input.mdx +71 -71
  19. package/components/assistant/modern-chat-input/modern-chat-input.test.tsx +3 -2
  20. package/components/assistant/xertica-assistant/parts/AssistantMessageBubble.tsx +1 -1
  21. package/components/assistant/xertica-assistant/types.ts +3 -2
  22. package/components/assistant/xertica-assistant/use-assistant.ts +5 -4
  23. package/components/assistant/xertica-assistant/xertica-assistant.mdx +66 -66
  24. package/components/assistant/xertica-assistant/xertica-assistant.test.tsx +2 -1
  25. package/components/blocks/card-patterns/card-patterns.mdx +123 -123
  26. package/components/brand/branding/branding.mdx +27 -27
  27. package/components/brand/language-selector/language-selector.mdx +126 -126
  28. package/components/brand/theme-toggle/theme-toggle.mdx +47 -47
  29. package/components/brand/theme-toggle/theme-toggle.test.tsx +6 -2
  30. package/components/brand/xertica-logo/xertica-logo.mdx +56 -56
  31. package/components/brand/xertica-orbe/xertica-orbe.mdx +38 -38
  32. package/components/brand/xertica-provider/XerticaProvider.tsx +112 -112
  33. package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
  34. package/components/brand/xertica-provider/xertica-provider.test.tsx +25 -13
  35. package/components/brand/xertica-xlogo/xertica-xlogo.mdx +55 -55
  36. package/components/examples/DrawingMapExample.tsx +1 -4
  37. package/components/layout/header/header.mdx +117 -117
  38. package/components/layout/header/header.test.tsx +2 -1
  39. package/components/layout/sidebar/sidebar.mdx +99 -99
  40. package/components/layout/sidebar/sidebar.stories.tsx +1033 -1033
  41. package/components/layout/sidebar/sidebar.test.tsx +2 -1
  42. package/components/layout/sidebar/sidebar.tsx +1509 -1506
  43. package/components/media/audio-player/AudioPlayer.mdx +67 -67
  44. package/components/media/audio-player/AudioPlayer.test.tsx +2 -1
  45. package/components/media/floating-media-wrapper.mdx +74 -74
  46. package/components/media/video-player/VideoPlayer.mdx +102 -102
  47. package/components/media/video-player/VideoPlayer.test.tsx +3 -2
  48. package/components/pages/forgot-password-page/ForgotPasswordPage.tsx +188 -188
  49. package/components/pages/forgot-password-page/forgot-password-page.mdx +60 -60
  50. package/components/pages/forgot-password-page/forgot-password-page.test.tsx +2 -1
  51. package/components/pages/home-content/HomeContent.tsx +119 -119
  52. package/components/pages/home-content/home-content.mdx +62 -62
  53. package/components/pages/home-page/HomePage.stories.tsx +8 -15
  54. package/components/pages/home-page/home-page.mdx +53 -53
  55. package/components/pages/home-page/home-page.test.tsx +2 -1
  56. package/components/pages/login-page/LoginPage.mdx +31 -31
  57. package/components/pages/login-page/LoginPage.tsx +218 -218
  58. package/components/pages/login-page/login-page.test.tsx +2 -1
  59. package/components/pages/reset-password-page/ResetPasswordPage.tsx +243 -243
  60. package/components/pages/reset-password-page/reset-password-page.mdx +63 -63
  61. package/components/pages/template-content/TemplateContent.tsx +1353 -1353
  62. package/components/pages/template-content/template-content.mdx +61 -61
  63. package/components/pages/template-page/TemplatePage.stories.tsx +32 -32
  64. package/components/pages/template-page/template-page.mdx +53 -53
  65. package/components/pages/template-page/template-page.test.tsx +2 -1
  66. package/components/pages/verify-email-page/VerifyEmailPage.tsx +206 -206
  67. package/components/pages/verify-email-page/verify-email-page.mdx +55 -55
  68. package/components/public-api-smoke.test.tsx +10 -6
  69. package/components/shared/assistant-utils.ts +3 -2
  70. package/components/shared/navigation.ts +2 -2
  71. package/components/ui/accordion/accordion.mdx +29 -29
  72. package/components/ui/alert/alert.mdx +29 -29
  73. package/components/ui/alert-dialog/alert-dialog.mdx +26 -26
  74. package/components/ui/aspect-ratio/aspect-ratio.mdx +25 -25
  75. package/components/ui/assistant-chart/AssistantChart.tsx +8 -2
  76. package/components/ui/assistant-chart/assistant-chart.mdx +25 -25
  77. package/components/ui/avatar/avatar.mdx +26 -26
  78. package/components/ui/badge/badge.mdx +28 -28
  79. package/components/ui/breadcrumb/breadcrumb.mdx +26 -26
  80. package/components/ui/button/button.mdx +29 -29
  81. package/components/ui/calendar/calendar.mdx +26 -26
  82. package/components/ui/card/card.mdx +26 -26
  83. package/components/ui/carousel/carousel.mdx +26 -26
  84. package/components/ui/chart/chart.mdx +26 -26
  85. package/components/ui/chart/chart.test.tsx +178 -178
  86. package/components/ui/chart/chart.tsx +2252 -2245
  87. package/components/ui/checkbox/checkbox.mdx +26 -26
  88. package/components/ui/collapsible/collapsible.mdx +25 -25
  89. package/components/ui/command/command.mdx +26 -26
  90. package/components/ui/context-menu/context-menu.mdx +26 -26
  91. package/components/ui/dialog/dialog.mdx +26 -26
  92. package/components/ui/drawer/drawer.mdx +26 -26
  93. package/components/ui/dropdown-menu/dropdown-menu.mdx +26 -26
  94. package/components/ui/empty/empty.mdx +26 -26
  95. package/components/ui/file-upload/file-upload.mdx +26 -26
  96. package/components/ui/form/form.mdx +20 -20
  97. package/components/ui/google-maps-loader/google-maps-loader.mdx +68 -68
  98. package/components/ui/hover-card/hover-card.mdx +26 -26
  99. package/components/ui/input/input.mdx +29 -29
  100. package/components/ui/input-otp/input-otp.mdx +26 -26
  101. package/components/ui/label/label.mdx +25 -25
  102. package/components/ui/map/map.mdx +26 -26
  103. package/components/ui/map/map.tsx +6 -1
  104. package/components/ui/menubar/menubar.mdx +26 -26
  105. package/components/ui/navigation-menu/navigation-menu.mdx +26 -26
  106. package/components/ui/notification-badge/notification-badge.mdx +26 -26
  107. package/components/ui/page-header/page-header.mdx +44 -44
  108. package/components/ui/pagination/pagination.mdx +26 -26
  109. package/components/ui/popover/popover.mdx +26 -26
  110. package/components/ui/progress/progress.mdx +25 -25
  111. package/components/ui/radio-group/radio-group.mdx +26 -26
  112. package/components/ui/rating/rating.mdx +26 -26
  113. package/components/ui/resizable/resizable.mdx +26 -26
  114. package/components/ui/resizable/resizable.tsx +13 -8
  115. package/components/ui/rich-text-editor/rich-text-editor.mdx +47 -47
  116. package/components/ui/route-map/route-map.mdx +26 -26
  117. package/components/ui/scroll-area/scroll-area.mdx +25 -25
  118. package/components/ui/search/search.mdx +27 -27
  119. package/components/ui/select/select.mdx +26 -26
  120. package/components/ui/separator/separator.mdx +25 -25
  121. package/components/ui/sheet/sheet.mdx +26 -26
  122. package/components/ui/simple-map/simple-map.mdx +25 -25
  123. package/components/ui/skeleton/skeleton.mdx +25 -25
  124. package/components/ui/slider/slider.mdx +26 -26
  125. package/components/ui/sonner/sonner.mdx +26 -26
  126. package/components/ui/stats-card/stats-card.mdx +26 -26
  127. package/components/ui/stats-card/stats-card.stories.tsx +117 -117
  128. package/components/ui/stats-card/stats-card.tsx +109 -109
  129. package/components/ui/stepper/stepper.mdx +26 -26
  130. package/components/ui/switch/switch.mdx +25 -25
  131. package/components/ui/table/table.mdx +27 -27
  132. package/components/ui/tabs/tabs.mdx +26 -26
  133. package/components/ui/textarea/textarea.mdx +25 -25
  134. package/components/ui/timeline/timeline.mdx +26 -26
  135. package/components/ui/toggle/toggle.mdx +26 -26
  136. package/components/ui/toggle-group/toggle-group.mdx +26 -26
  137. package/components/ui/tooltip/tooltip.mdx +26 -26
  138. package/components/ui/tree-view/tree-view.mdx +26 -26
  139. package/components.json +511 -511
  140. package/contexts/BrandColorsContext.tsx +282 -282
  141. package/contexts/i18n-singleton.test.tsx +57 -0
  142. package/contexts/theme-data.ts +391 -391
  143. package/dist/{AssistantChart-DNdwuS-t.js → AssistantChart-BMNSA_Pk.js} +4 -4
  144. package/dist/{AssistantChart-COGiOV-g.cjs → AssistantChart-BzM7plyc.cjs} +31 -21
  145. package/dist/{AssistantChart-CWX1OWNM.js → AssistantChart-C842evTi.js} +31 -21
  146. package/dist/{AssistantChart-BW9JK6jw.cjs → AssistantChart-CVF2uh37.cjs} +4 -4
  147. package/dist/{AssistantChart-BZTPJ5dP.cjs → AssistantChart-JooMdVQU.cjs} +5 -5
  148. package/dist/{AssistantChart-DMJJ_Amf.js → AssistantChart-KHS-tp-L.js} +5 -5
  149. package/dist/{BrandColorsContext-BwY-b6M4.cjs → BrandColorsContext-B4_81eas.cjs} +2 -2
  150. package/dist/{BrandColorsContext-BMRJ04Wf.js → BrandColorsContext-DbK5LnQ_.js} +2 -2
  151. package/dist/{CodeBlock-CjeFavqV.js → CodeBlock-DiKO8ocT.js} +11 -11
  152. package/dist/{CodeBlock-CV6dtsTM.cjs → CodeBlock-ZYThr7Kn.cjs} +12 -9
  153. package/dist/{XerticaXLogo-mqjoBiLI.js → LanguageSelector-CmTj3lWq.js} +85 -82
  154. package/dist/{XerticaXLogo-BX3ueACh.js → LanguageSelector-DxW6o7bt.js} +81 -81
  155. package/dist/{XerticaXLogo-uQgwns_E.cjs → LanguageSelector-Sw73qvWV.cjs} +84 -81
  156. package/dist/{ThemeContext-BgclCB35.js → ThemeContext-BGeh_Kdr.js} +290 -212
  157. package/dist/{ThemeContext-BblcjQup.cjs → ThemeContext-D50irx5T.cjs} +291 -205
  158. package/dist/{VerifyEmailPage-C_Zk6Gen.cjs → VerifyEmailPage-B6bOrybJ.cjs} +17 -17
  159. package/dist/{VerifyEmailPage-B31mCrMc.js → VerifyEmailPage-BRE5Fz59.js} +8 -8
  160. package/dist/{VerifyEmailPage-Cyl55sJb.js → VerifyEmailPage-BcCluouh.js} +135 -65
  161. package/dist/VerifyEmailPage-Bx1sr0uQ.cjs +3298 -0
  162. package/dist/{VerifyEmailPage-Bci0bA-P.js → VerifyEmailPage-DUYyXCX9.js} +3 -3
  163. package/dist/VerifyEmailPage-DXXMHbzq.js +3289 -0
  164. package/dist/{VerifyEmailPage-u_Dn7t1U.cjs → VerifyEmailPage-DpYtFk35.cjs} +21 -21
  165. package/dist/{VerifyEmailPage-X14vhdyl.js → VerifyEmailPage-NXKWW3Dk.js} +12 -12
  166. package/dist/{VerifyEmailPage-C7KiYXrm.cjs → VerifyEmailPage-QrCz4Wqr.cjs} +11 -11
  167. package/dist/{VerifyEmailPage-Bv8Ah_TK.cjs → VerifyEmailPage-ZmQra0Wi.cjs} +144 -74
  168. package/dist/{XerticaProvider-BErr83Bg.js → XerticaProvider-BF3q_myt.js} +5 -4
  169. package/dist/{XerticaProvider-CeS5G_n5.cjs → XerticaProvider-C_JSOz1U.cjs} +2 -2
  170. package/dist/{XerticaProvider-CwOkHxiT.cjs → XerticaProvider-D5zjrqZq.cjs} +5 -4
  171. package/dist/{XerticaProvider-ra2NciRq.js → XerticaProvider-KTGl4Cn1.js} +2 -2
  172. package/dist/{alert-dialog-DqlRW_An.js → alert-dialog-BrpwXKwS.js} +3 -3
  173. package/dist/{alert-dialog-DhwPioBa.cjs → alert-dialog-CZU1Zase.cjs} +3 -3
  174. package/dist/{alert-dialog-KpoabzJb.js → alert-dialog-ClRoLH7l.js} +40 -56
  175. package/dist/{alert-dialog-B4M3vQKS.cjs → alert-dialog-DBBqvU-V.cjs} +53 -38
  176. package/dist/assistant.cjs.js +2 -2
  177. package/dist/assistant.es.js +2 -2
  178. package/dist/brand.cjs.js +6 -6
  179. package/dist/brand.es.js +2 -2
  180. package/dist/cli.js +63 -21
  181. package/dist/components/assistant/code-block/CodeBlock.d.ts +2 -1
  182. package/dist/components/assistant/formatted-document/FormattedDocument.d.ts +2 -1
  183. package/dist/components/assistant/markdown-message/MarkdownMessage.d.ts +2 -1
  184. package/dist/components/assistant/modern-chat-input/ModernChatInput.d.ts +2 -1
  185. package/dist/components/assistant/xertica-assistant/parts/AssistantCollapsedView.d.ts +2 -1
  186. package/dist/components/assistant/xertica-assistant/parts/AssistantConversationList.d.ts +2 -1
  187. package/dist/components/assistant/xertica-assistant/parts/AssistantDocumentEditor.d.ts +2 -1
  188. package/dist/components/assistant/xertica-assistant/parts/AssistantFeedbackDialog.d.ts +2 -1
  189. package/dist/components/assistant/xertica-assistant/parts/AssistantHeader.d.ts +2 -1
  190. package/dist/components/assistant/xertica-assistant/parts/AssistantMessageBubble.d.ts +2 -1
  191. package/dist/components/assistant/xertica-assistant/parts/AssistantTabBar.d.ts +2 -1
  192. package/dist/components/assistant/xertica-assistant/parts/AssistantTypingIndicator.d.ts +2 -1
  193. package/dist/components/assistant/xertica-assistant/parts/AssistantWelcomeScreen.d.ts +2 -1
  194. package/dist/components/assistant/xertica-assistant/types.d.ts +3 -2
  195. package/dist/components/assistant/xertica-assistant/use-assistant.d.ts +1 -1
  196. package/dist/components/assistant/xertica-assistant/xertica-assistant.d.ts +2 -1
  197. package/dist/components/blocks/card-patterns/ActivityCard.d.ts +1 -1
  198. package/dist/components/blocks/card-patterns/ActivityCardSkeleton.d.ts +1 -1
  199. package/dist/components/blocks/card-patterns/FeatureCard.d.ts +1 -1
  200. package/dist/components/blocks/card-patterns/FeatureCardSkeleton.d.ts +1 -1
  201. package/dist/components/blocks/card-patterns/NotificationCard.d.ts +1 -1
  202. package/dist/components/blocks/card-patterns/NotificationCardSkeleton.d.ts +1 -1
  203. package/dist/components/blocks/card-patterns/ProfileCard.d.ts +1 -1
  204. package/dist/components/blocks/card-patterns/ProfileCardSkeleton.d.ts +1 -1
  205. package/dist/components/blocks/card-patterns/ProjectCard.d.ts +1 -1
  206. package/dist/components/blocks/card-patterns/ProjectCardSkeleton.d.ts +1 -1
  207. package/dist/components/blocks/card-patterns/QuickActionCard.d.ts +1 -1
  208. package/dist/components/blocks/card-patterns/QuickActionCardSkeleton.d.ts +1 -1
  209. package/dist/components/brand/language-selector/LanguageSelector.d.ts +2 -1
  210. package/dist/components/brand/theme-toggle/ThemeToggle.d.ts +2 -1
  211. package/dist/components/brand/xertica-logo/XerticaLogo.d.ts +2 -1
  212. package/dist/components/brand/xertica-orbe/XerticaOrbe.d.ts +2 -1
  213. package/dist/components/brand/xertica-provider/XerticaProvider.d.ts +1 -1
  214. package/dist/components/brand/xertica-xlogo/XerticaXLogo.d.ts +2 -1
  215. package/dist/components/examples/DrawingMapExample.d.ts +2 -1
  216. package/dist/components/examples/FilterableMapExample.d.ts +1 -1
  217. package/dist/components/examples/MapShowcase.d.ts +2 -1
  218. package/dist/components/examples/SimpleFilterableMap.d.ts +2 -1
  219. package/dist/components/figma/ImageWithFallback.d.ts +1 -1
  220. package/dist/components/layout/header/header.d.ts +1 -1
  221. package/dist/components/layout/sidebar/sidebar.d.ts +25 -13
  222. package/dist/components/media/FloatingMediaWrapper.d.ts +1 -1
  223. package/dist/components/media/audio-player/AudioPlayer.d.ts +2 -1
  224. package/dist/components/media/video-player/VideoPlayer.d.ts +2 -1
  225. package/dist/components/pages/forgot-password-page/ForgotPasswordPage.d.ts +2 -1
  226. package/dist/components/pages/home-content/HomeContent.d.ts +2 -1
  227. package/dist/components/pages/home-page/HomePage.d.ts +2 -1
  228. package/dist/components/pages/login-page/LoginPage.d.ts +2 -1
  229. package/dist/components/pages/reset-password-page/ResetPasswordPage.d.ts +2 -1
  230. package/dist/components/pages/template-content/TemplateContent.d.ts +2 -1
  231. package/dist/components/pages/template-page/TemplatePage.d.ts +2 -1
  232. package/dist/components/pages/verify-email-page/VerifyEmailPage.d.ts +2 -1
  233. package/dist/components/shared/CustomTooltipContent.d.ts +1 -1
  234. package/dist/components/shared/assistant-utils.d.ts +3 -2
  235. package/dist/components/shared/error-boundary.d.ts +4 -4
  236. package/dist/components/shared/error-fallbacks.d.ts +4 -3
  237. package/dist/components/shared/navigation.d.ts +6 -2
  238. package/dist/components/ui/accordion/accordion.d.ts +4 -4
  239. package/dist/components/ui/alert/alert.d.ts +3 -3
  240. package/dist/components/ui/alert-dialog/alert-dialog.d.ts +10 -10
  241. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts +1 -1
  242. package/dist/components/ui/assistant-chart/AssistantChart.d.ts +4 -3
  243. package/dist/components/ui/avatar/avatar.d.ts +3 -3
  244. package/dist/components/ui/badge/badge.d.ts +1 -1
  245. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +7 -7
  246. package/dist/components/ui/calendar/calendar.d.ts +2 -2
  247. package/dist/components/ui/card/card.d.ts +7 -7
  248. package/dist/components/ui/carousel/carousel.d.ts +5 -5
  249. package/dist/components/ui/chart/chart.d.ts +16 -16
  250. package/dist/components/ui/collapsible/collapsible.d.ts +3 -3
  251. package/dist/components/ui/command/command.d.ts +9 -9
  252. package/dist/components/ui/context-menu/context-menu.d.ts +15 -15
  253. package/dist/components/ui/dialog/dialog.d.ts +9 -9
  254. package/dist/components/ui/drawer/drawer.d.ts +10 -10
  255. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +15 -15
  256. package/dist/components/ui/form/form.d.ts +7 -7
  257. package/dist/components/ui/google-maps-loader/google-maps-loader.d.ts +3 -3
  258. package/dist/components/ui/hover-card/hover-card.d.ts +3 -3
  259. package/dist/components/ui/input-otp/input-otp.d.ts +4 -4
  260. package/dist/components/ui/label/label.d.ts +1 -1
  261. package/dist/components/ui/menubar/menubar.d.ts +16 -16
  262. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +8 -8
  263. package/dist/components/ui/page-header/page-header.d.ts +3 -3
  264. package/dist/components/ui/pagination/pagination.d.ts +7 -7
  265. package/dist/components/ui/popover/popover.d.ts +4 -4
  266. package/dist/components/ui/progress/progress.d.ts +1 -1
  267. package/dist/components/ui/resizable/resizable.d.ts +11 -7
  268. package/dist/components/ui/rich-text-editor/rich-text-editor.d.ts +1 -1
  269. package/dist/components/ui/scroll-area/scroll-area.d.ts +2 -2
  270. package/dist/components/ui/separator/separator.d.ts +1 -1
  271. package/dist/components/ui/sheet/sheet.d.ts +10 -10
  272. package/dist/components/ui/skeleton/skeleton.d.ts +1 -1
  273. package/dist/components/ui/sonner/sonner.d.ts +2 -1
  274. package/dist/components/ui/stats-card/stats-card-skeleton.d.ts +1 -1
  275. package/dist/components/ui/table/table.d.ts +8 -8
  276. package/dist/components/ui/tabs/tabs.d.ts +4 -4
  277. package/dist/components/ui/tooltip/tooltip.d.ts +4 -4
  278. package/dist/contexts/ApiKeyContext.d.ts +2 -2
  279. package/dist/contexts/AssistenteContext.d.ts +1 -1
  280. package/dist/contexts/AuthContext.d.ts +1 -1
  281. package/dist/contexts/LanguageContext.d.ts +2 -2
  282. package/dist/contexts/LayoutContext.d.ts +2 -2
  283. package/dist/contexts/ThemeContext.d.ts +1 -1
  284. package/dist/features/assistant/hooks/useAssistantConfig.d.ts +1 -1
  285. package/dist/features/home/hooks/useDashboardStats.d.ts +1 -1
  286. package/dist/features/home/hooks/useFeatureCards.d.ts +1 -1
  287. package/dist/features/home/hooks/useTeamMembers.d.ts +1 -1
  288. package/dist/{google-maps-loader-BCe58h9D.js → google-maps-loader-BOug999f.js} +0 -4
  289. package/dist/{google-maps-loader-casMyxlo.cjs → google-maps-loader-DfeBRI8Q.cjs} +0 -5
  290. package/dist/hooks.cjs.js +2 -2
  291. package/dist/hooks.es.js +2 -2
  292. package/dist/{index-9GWd0qxq.cjs → index-BQjx1Mdf.cjs} +1 -1
  293. package/dist/index-Bei5DzAL.js +6 -0
  294. package/dist/index.cjs.js +15 -15
  295. package/dist/index.es.js +11 -11
  296. package/dist/layout.cjs.js +1 -1
  297. package/dist/layout.es.js +1 -1
  298. package/dist/pages.cjs.js +1 -1
  299. package/dist/pages.es.js +1 -1
  300. package/dist/{rich-text-editor-B2CKz7nx.cjs → rich-text-editor-BuqSu718.cjs} +68 -3
  301. package/dist/{rich-text-editor-DloeW0wc.js → rich-text-editor-CV8FtA_l.js} +66 -4
  302. package/dist/{sidebar-CLmIjgNd.cjs → sidebar-BGJ0j567.cjs} +84 -67
  303. package/dist/{sidebar-Duermn32.js → sidebar-BI6mZlC8.js} +81 -64
  304. package/dist/{sidebar-BS1p2V7t.cjs → sidebar-BtmotOg-.cjs} +367 -9
  305. package/dist/{sidebar-QwCoeoZ_.js → sidebar-D3EgGVxF.js} +1 -1
  306. package/dist/{sidebar-CQn_rwxP.cjs → sidebar-DDTqMGnR.cjs} +4 -4
  307. package/dist/{sidebar-3XyzjVBw.js → sidebar-I7EXyf5D.js} +364 -6
  308. package/dist/ui.cjs.js +4 -4
  309. package/dist/ui.es.js +4 -4
  310. package/dist/{xertica-assistant-B687qEPU.js → xertica-assistant-CJVnvMqU.js} +17 -8
  311. package/dist/{xertica-assistant-sOHwTgIP.cjs → xertica-assistant-CKPtc1z5.cjs} +19 -10
  312. package/dist/{xertica-assistant-QFUnv5I2.cjs → xertica-assistant-DER0brPQ.cjs} +6 -5
  313. package/dist/{xertica-assistant-CyikE3N_.js → xertica-assistant-DQCjpk5M.js} +4 -3
  314. package/dist/{xertica-assistant-B1NaSFFj.js → xertica-assistant-Dk-9AJzw.js} +6 -5
  315. package/dist/{xertica-assistant-CIaUlbIt.cjs → xertica-assistant-DxhIKvuY.cjs} +8 -7
  316. package/dist/xertica-ui.css +2 -2
  317. package/docs/components/audio-player.md +1 -1
  318. package/docs/components/sidebar.md +331 -331
  319. package/docs/components/stats-card.md +138 -138
  320. package/docs/components/toggle.md +12 -0
  321. package/docs/doc-audit.md +35 -229
  322. package/docs/i18n.md +31 -10
  323. package/docs/llms.md +6 -4
  324. package/llms-compact.txt +444 -444
  325. package/llms-full.txt +12144 -12144
  326. package/llms.txt +187 -187
  327. package/package.json +223 -219
  328. package/scripts/a11y-audit.mjs +162 -162
  329. package/scripts/fix-stories.cjs +19 -19
  330. package/styles/globals.css +0 -1
  331. package/styles/xertica/base.css +8 -0
  332. package/styles/xertica/tokens.css +240 -240
  333. package/templates/.env.example +2 -2
  334. package/templates/.prettierignore +4 -4
  335. package/templates/.prettierrc +10 -10
  336. package/templates/guidelines/Guidelines.md +865 -865
  337. package/templates/index.html +13 -13
  338. package/templates/package.json +69 -69
  339. package/templates/src/app/components/AuthGuard.tsx +11 -0
  340. package/templates/src/features/auth/ui/AuthPageShell.tsx +32 -32
  341. package/templates/src/features/home/ui/HomeContent.tsx +116 -116
  342. package/templates/src/features/settings/index.ts +2 -0
  343. package/templates/src/features/settings/ui/SettingsContent.tsx +134 -0
  344. package/templates/src/features/template/ui/TemplateContent.tsx +1321 -1321
  345. package/templates/src/i18n.ts +36 -13
  346. package/templates/src/locales/en/pages/settings.json +15 -0
  347. package/templates/src/locales/es/pages/settings.json +15 -0
  348. package/templates/src/locales/pt-BR/pages/settings.json +15 -0
  349. package/templates/src/pages/SettingsPage.tsx +28 -0
  350. package/templates/src/shared/config/navigation.ts +2 -2
  351. package/templates/src/styles/xertica/tokens.css +240 -240
  352. package/templates/vite.config.d.ts +2 -2
  353. package/templates/vite.config.js +20 -20
  354. package/utils/gemini.ts +2 -2
  355. package/dist/AssistantChart-9w31gdAb.cjs +0 -3363
  356. package/dist/AssistantChart-BAudAfne.cjs +0 -3591
  357. package/dist/AssistantChart-BAx9VQvb.cjs +0 -3374
  358. package/dist/AssistantChart-BP8upjMk.js +0 -3565
  359. package/dist/AssistantChart-BXU1ACnh.js +0 -3489
  360. package/dist/AssistantChart-CVko2A1W.js +0 -3348
  361. package/dist/AssistantChart-CVzmmhx4.js +0 -3337
  362. package/dist/AssistantChart-CeU2dIb6.js +0 -3469
  363. package/dist/AssistantChart-D0A1FPYt.cjs +0 -3515
  364. package/dist/AssistantChart-DO5UuX4J.cjs +0 -3495
  365. package/dist/AudioPlayer-1ypwE2Wh.cjs +0 -936
  366. package/dist/AudioPlayer-BJ2IuRQW.cjs +0 -1275
  367. package/dist/AudioPlayer-BWDW6TN9.cjs +0 -1279
  368. package/dist/AudioPlayer-CM962GEh.js +0 -1280
  369. package/dist/AudioPlayer-CbZId7cj.cjs +0 -998
  370. package/dist/AudioPlayer-DU8zt8-z.js +0 -999
  371. package/dist/AudioPlayer-DuKXrCfy.js +0 -937
  372. package/dist/AudioPlayer-Xxma6_-H.js +0 -1276
  373. package/dist/BrandColorsContext-DLVJgtmH.js +0 -666
  374. package/dist/BrandColorsContext-DZT7JjeD.js +0 -659
  375. package/dist/BrandColorsContext-GUyFmkX0.cjs +0 -665
  376. package/dist/BrandColorsContext-awnBCmC4.cjs +0 -666
  377. package/dist/CodeBlock-C2ZUXt8V.js +0 -219
  378. package/dist/CodeBlock-C5oYnLQp.cjs +0 -218
  379. package/dist/CodeBlock-DuxdtN-l.js +0 -219
  380. package/dist/CodeBlock-POVYONvC.cjs +0 -218
  381. package/dist/CustomTooltipContent-BT6brkVJ.cjs +0 -49
  382. package/dist/CustomTooltipContent-CfOfikhq.js +0 -33
  383. package/dist/CustomTooltipContent-DHjkY0ww.js +0 -40
  384. package/dist/CustomTooltipContent-c_K-DWRr.cjs +0 -56
  385. package/dist/FeatureCard-9GhnlgL3.js +0 -336
  386. package/dist/FeatureCard-Bcb3Zi54.js +0 -302
  387. package/dist/FeatureCard-Cfs6Ishq.js +0 -485
  388. package/dist/FeatureCard-CkPd2psQ.cjs +0 -301
  389. package/dist/FeatureCard-Dkp-xmzM.cjs +0 -335
  390. package/dist/FeatureCard-ie3L8Fpr.cjs +0 -484
  391. package/dist/FeatureCardSkeleton-CAgu8stE.js +0 -27
  392. package/dist/FeatureCardSkeleton-mO3Bdm_V.cjs +0 -26
  393. package/dist/LanguageContext-BwhwC3G2.js +0 -657
  394. package/dist/LanguageContext-DvUt5jBg.cjs +0 -656
  395. package/dist/LayoutContext-BDmcZfMH.cjs +0 -84
  396. package/dist/LayoutContext-C4kKN9RV.cjs +0 -93
  397. package/dist/LayoutContext-CGEe1oPq.js +0 -94
  398. package/dist/LayoutContext-CwT5KLiW.cjs +0 -104
  399. package/dist/LayoutContext-DVLCsoQn.js +0 -105
  400. package/dist/LayoutContext-dbQvdC4O.js +0 -85
  401. package/dist/ThemeContext-BbBNoFTG.js +0 -735
  402. package/dist/ThemeContext-Bo-W2WZH.js +0 -1856
  403. package/dist/ThemeContext-CP3a0jxy.cjs +0 -1855
  404. package/dist/ThemeContext-Cmr8Ex8H.cjs +0 -734
  405. package/dist/ThemeContext-CpqYShLq.cjs +0 -324
  406. package/dist/ThemeContext-D3LzacmG.js +0 -188
  407. package/dist/ThemeContext-DQUOeziy.cjs +0 -1855
  408. package/dist/ThemeContext-Du2nE1PL.js +0 -325
  409. package/dist/ThemeContext-GeEBTJ3q.cjs +0 -1621
  410. package/dist/ThemeContext-JyLK9B1o.js +0 -1622
  411. package/dist/ThemeContext-RTy1m2Uq.js +0 -82
  412. package/dist/ThemeContext-U4dEYc6C.cjs +0 -187
  413. package/dist/ThemeContext-bSzuOit2.cjs +0 -81
  414. package/dist/ThemeContext-ept8jhXI.js +0 -1856
  415. package/dist/VerifyEmailPage-BE-L9mB7.js +0 -2828
  416. package/dist/VerifyEmailPage-BIBOKV7Z.js +0 -3214
  417. package/dist/VerifyEmailPage-BJjAMUTW.js +0 -3223
  418. package/dist/VerifyEmailPage-BRSP-Pwt.cjs +0 -3196
  419. package/dist/VerifyEmailPage-Bae2cBXT.cjs +0 -2827
  420. package/dist/VerifyEmailPage-BiRm7Nh4.cjs +0 -3213
  421. package/dist/VerifyEmailPage-Bvfv8HVQ.js +0 -3214
  422. package/dist/VerifyEmailPage-CR7kb5df.cjs +0 -2827
  423. package/dist/VerifyEmailPage-C_ihbcth.js +0 -2828
  424. package/dist/VerifyEmailPage-CbgjOF0v.js +0 -2828
  425. package/dist/VerifyEmailPage-CdYPSJoO.js +0 -2828
  426. package/dist/VerifyEmailPage-CkBYfsNy.cjs +0 -3232
  427. package/dist/VerifyEmailPage-D-FRj5TU.cjs +0 -3213
  428. package/dist/VerifyEmailPage-DF2ilhum.cjs +0 -3210
  429. package/dist/VerifyEmailPage-DMBh4NM9.cjs +0 -2827
  430. package/dist/VerifyEmailPage-DTtFfC-J.js +0 -3197
  431. package/dist/VerifyEmailPage-Dt7zgA4w.cjs +0 -2827
  432. package/dist/VerifyEmailPage-EhudUdqF.js +0 -3211
  433. package/dist/VerifyEmailPage-RrUApqBN.js +0 -3214
  434. package/dist/VerifyEmailPage-VoMI7MYH.cjs +0 -3213
  435. package/dist/VerifyEmailPage-hdB8JQGv.cjs +0 -3213
  436. package/dist/VerifyEmailPage-vYHbYK3q.js +0 -3214
  437. package/dist/XerticaOrbe-BCUVSPPB.cjs +0 -1924
  438. package/dist/XerticaOrbe-BGIB1CTK.js +0 -1355
  439. package/dist/XerticaOrbe-By8eEvR-.js +0 -1925
  440. package/dist/XerticaOrbe-FWGjBj0U.cjs +0 -1354
  441. package/dist/XerticaProvider-AChwphCO.cjs +0 -48
  442. package/dist/XerticaProvider-AbWlr7Af.cjs +0 -48
  443. package/dist/XerticaProvider-B8CaV7xu.cjs +0 -39
  444. package/dist/XerticaProvider-BITjgC5p.js +0 -39
  445. package/dist/XerticaProvider-BSyFrmC0.js +0 -49
  446. package/dist/XerticaProvider-By8q3Roe.cjs +0 -38
  447. package/dist/XerticaProvider-CUYJZc32.js +0 -49
  448. package/dist/XerticaProvider-CW9hpCdF.cjs +0 -39
  449. package/dist/XerticaProvider-CWgby5mY.js +0 -49
  450. package/dist/XerticaProvider-CWs6EwNa.js +0 -49
  451. package/dist/XerticaProvider-CiNKjMx1.cjs +0 -48
  452. package/dist/XerticaProvider-CjQAQPcn.cjs +0 -48
  453. package/dist/XerticaProvider-D5lLumH-.js +0 -49
  454. package/dist/XerticaProvider-DQtvJU7m.js +0 -40
  455. package/dist/XerticaProvider-DUOJg9iX.js +0 -49
  456. package/dist/XerticaProvider-Dl_b72_l.cjs +0 -51
  457. package/dist/XerticaProvider-qQUDop71.cjs +0 -48
  458. package/dist/XerticaProvider-siSt9uG2.js +0 -40
  459. package/dist/XerticaXLogo-8TTzBjHw.cjs +0 -251
  460. package/dist/XerticaXLogo-B2svDGZh.cjs +0 -251
  461. package/dist/XerticaXLogo-BWaag64t.js +0 -252
  462. package/dist/XerticaXLogo-CFuIlYFH.js +0 -252
  463. package/dist/XerticaXLogo-CU-U-GP4.cjs +0 -251
  464. package/dist/XerticaXLogo-ChryA6xj.js +0 -252
  465. package/dist/XerticaXLogo-CowGv7BC.js +0 -252
  466. package/dist/XerticaXLogo-CziKMQil.cjs +0 -242
  467. package/dist/XerticaXLogo-D8jf0SNv.cjs +0 -214
  468. package/dist/XerticaXLogo-DHz5SugF.js +0 -252
  469. package/dist/XerticaXLogo-DTee_y8X.cjs +0 -251
  470. package/dist/XerticaXLogo-DfUvz-lD.js +0 -243
  471. package/dist/XerticaXLogo-DzXKZBtG.js +0 -231
  472. package/dist/XerticaXLogo-fAJMy3H4.js +0 -215
  473. package/dist/XerticaXLogo-kslQ8Tk_.cjs +0 -251
  474. package/dist/XerticaXLogo-xWbElCZj.cjs +0 -230
  475. package/dist/alert-dialog-iDe5VE5o.js +0 -842
  476. package/dist/alert-dialog-yckpaOpy.cjs +0 -865
  477. package/dist/avatar-Cq5_E8r9.cjs +0 -78
  478. package/dist/avatar-CuYu2MKt.cjs +0 -72
  479. package/dist/avatar-Cxyofu1H.js +0 -56
  480. package/dist/avatar-DSBfJMRJ.js +0 -62
  481. package/dist/breadcrumb-CVzzzqfo.js +0 -103
  482. package/dist/breadcrumb-DIJ0X3Ot.js +0 -96
  483. package/dist/breadcrumb-DjSxkjlQ.cjs +0 -95
  484. package/dist/breadcrumb-DnDlQFg2.cjs +0 -102
  485. package/dist/button-0CXwCRTm.cjs +0 -85
  486. package/dist/button-Bnv9SvYK.cjs +0 -79
  487. package/dist/button-C6uvh0rV.js +0 -63
  488. package/dist/button-qkz7Icqf.js +0 -69
  489. package/dist/card-B8-Gl5DL.js +0 -73
  490. package/dist/card-Bv_c57KU.cjs +0 -72
  491. package/dist/card-DJTsYhLL.cjs +0 -89
  492. package/dist/card-fi8zAN-I.js +0 -90
  493. package/dist/dropdown-menu-B_uEXNc4.cjs +0 -220
  494. package/dist/dropdown-menu-CFuCssWA.js +0 -204
  495. package/dist/dropdown-menu-Ze1YZFyc.cjs +0 -247
  496. package/dist/dropdown-menu-nc_Lvg-u.js +0 -231
  497. package/dist/google-maps-loader-BVoVhUwA.js +0 -316
  498. package/dist/google-maps-loader-BqsYL48U.cjs +0 -285
  499. package/dist/google-maps-loader-DjJaYhV6.cjs +0 -316
  500. package/dist/google-maps-loader-t2IlYBzw.js +0 -286
  501. package/dist/index-B7A523O_.js +0 -8
  502. package/dist/index-BabBx2pa.js +0 -6
  503. package/dist/index-CkTUgOwX.js +0 -8
  504. package/dist/index-D3RLKRAs.cjs +0 -7
  505. package/dist/index-DmHhnb7a.cjs +0 -7
  506. package/dist/index.umd.js +0 -13712
  507. package/dist/input-CNFHVKvo.cjs +0 -145
  508. package/dist/input-CPl84zAx.cjs +0 -151
  509. package/dist/input-C_UiS2Py.cjs +0 -152
  510. package/dist/input-D-6IsAca.js +0 -133
  511. package/dist/input-cc-PTD4R.js +0 -123
  512. package/dist/input-wPYg0d0P.js +0 -127
  513. package/dist/progress-BLwqortq.cjs +0 -105
  514. package/dist/progress-Cs9i4DPx.js +0 -81
  515. package/dist/progress-D9mtsf6j.js +0 -89
  516. package/dist/progress-DDeuWPZw.cjs +0 -97
  517. package/dist/rich-text-editor-1UW3Y2JK.js +0 -2891
  518. package/dist/rich-text-editor-BM-LPpTh.js +0 -2902
  519. package/dist/rich-text-editor-BmsjY03B.js +0 -2949
  520. package/dist/rich-text-editor-BrdC5evx.js +0 -2244
  521. package/dist/rich-text-editor-CyggTOLQ.cjs +0 -2908
  522. package/dist/rich-text-editor-DbV-S7Fi.cjs +0 -2261
  523. package/dist/rich-text-editor-DoCkKhzk.cjs +0 -2919
  524. package/dist/rich-text-editor-DqLICivI.js +0 -2832
  525. package/dist/rich-text-editor-DxO1Hz3a.cjs +0 -2903
  526. package/dist/rich-text-editor-GS2kpTAK.cjs +0 -2966
  527. package/dist/routes.d.ts +0 -10
  528. package/dist/select-Cmb8zF7w.cjs +0 -156
  529. package/dist/select-CprSNX0z.js +0 -139
  530. package/dist/select-DT7Zjn42.cjs +0 -162
  531. package/dist/select-En8DkoaQ.js +0 -145
  532. package/dist/sidebar-B3EYhli0.cjs +0 -800
  533. package/dist/sidebar-B4ZWaMrE.js +0 -792
  534. package/dist/sidebar-B9NR0lCe.cjs +0 -800
  535. package/dist/sidebar-BcJ6LxvX.cjs +0 -733
  536. package/dist/sidebar-BvF5I2Ue.cjs +0 -800
  537. package/dist/sidebar-C5B_LHek.cjs +0 -795
  538. package/dist/sidebar-CA6_ek3f.js +0 -801
  539. package/dist/sidebar-CRMiBtAi.js +0 -801
  540. package/dist/sidebar-CVUGHOS_.cjs +0 -756
  541. package/dist/sidebar-CZ2mWaMM.cjs +0 -800
  542. package/dist/sidebar-CmvwjnVb.js +0 -757
  543. package/dist/sidebar-CplprZpM.js +0 -801
  544. package/dist/sidebar-DyYvgyBj.cjs +0 -795
  545. package/dist/sidebar-Dz7bd3zP.js +0 -796
  546. package/dist/sidebar-KIS0C2JH.js +0 -801
  547. package/dist/sidebar-OTO_up7Z.js +0 -801
  548. package/dist/sidebar-WoKvFWCN.js +0 -717
  549. package/dist/sidebar-zowjejT2.cjs +0 -800
  550. package/dist/skeleton-4zoHiFJ_.cjs +0 -83
  551. package/dist/skeleton-C4bHqUBf.js +0 -84
  552. package/dist/slider-C0JKA9k3.js +0 -56
  553. package/dist/slider-CPmwzm_3.cjs +0 -73
  554. package/dist/slider-DcJharR9.cjs +0 -73
  555. package/dist/slider-Pay3fka2.js +0 -56
  556. package/dist/sonner-DeUIj0Zg.cjs +0 -63
  557. package/dist/sonner-g9RIfi35.js +0 -47
  558. package/dist/tooltip-CNtsL5cB.cjs +0 -71
  559. package/dist/tooltip-CTyZCD8h.js +0 -55
  560. package/dist/tooltip-CwgSdy3h.cjs +0 -67
  561. package/dist/tooltip-D-OrYnKO.js +0 -51
  562. package/dist/use-audio-player-BJFV24XW.js +0 -188
  563. package/dist/use-audio-player-Bkh23vQ3.js +0 -177
  564. package/dist/use-audio-player-Dn1NR9xN.cjs +0 -176
  565. package/dist/use-audio-player-DyVYlOnR.cjs +0 -187
  566. package/dist/use-mobile-BB4M_4Ru.cjs +0 -47
  567. package/dist/use-mobile-CLu9nqGL.js +0 -31
  568. package/dist/use-mobile-CNwiBNxu.js +0 -33
  569. package/dist/use-mobile-Dlf74ufz.cjs +0 -49
  570. package/dist/xertica-assistant-B1IaHXnB.cjs +0 -1894
  571. package/dist/xertica-assistant-BMqdyRVi.js +0 -2082
  572. package/dist/xertica-assistant-BbgzsgsG.js +0 -2164
  573. package/dist/xertica-assistant-Bj3vBCq_.cjs +0 -2081
  574. package/dist/xertica-assistant-CfBCo21g.js +0 -2148
  575. package/dist/xertica-assistant-DIM_Do1k.js +0 -1866
  576. package/dist/xertica-assistant-DPsESB6t.js +0 -1878
  577. package/dist/xertica-assistant-DrsRwla1.cjs +0 -2147
  578. package/dist/xertica-assistant-Qp3ydksa.cjs +0 -1882
  579. package/dist/xertica-assistant-d2qs2Vd9.cjs +0 -2163
  580. package/dist/xertica-assistant-gnCJdcZY.js +0 -1866
  581. package/dist/xertica-assistant-yyrR0JKl.cjs +0 -1882
  582. package/styles/xertica/app-overrides/scrollbar.css +0 -33
  583. package/dist/{XerticaXLogo-qBPhwK3g.cjs → LanguageSelector-1cINLJ23.cjs} +80 -80
package/dist/cli.js CHANGED
@@ -344,7 +344,7 @@ var generateTokensCss = (theme) => {
344
344
  :root[data-theme="default"] {
345
345
  /* Brand Tokens - Source of Truth */
346
346
  --xertica-primary: ${rgba(colors.primary)};
347
- --xertica-dark: ${rgba(colors.sidebarDark)}; /* Approximating generic dark from sidebar dark if needed, or keeping static? */
347
+ --xertica-dark: ${rgba(colors.sidebarDark)};
348
348
 
349
349
  /* Semantic Colors */
350
350
  --background: rgba(255, 255, 255, 1);
@@ -384,19 +384,13 @@ var generateTokensCss = (theme) => {
384
384
  --border: rgba(228, 228, 231, 1);
385
385
  --input: rgba(244, 244, 245, 0.5);
386
386
  --input-background: rgba(244, 244, 245, 0.5);
387
- --ring: ${rgba(colors.primary, 0.5)}; /* Adjusted to match brand somewhat */
387
+ --ring: ${rgba(colors.primary, 0.5)};
388
388
 
389
389
  /* Sidebar */
390
390
  --sidebar: ${rgba(colors.sidebarLight)};
391
391
  --sidebar-foreground: ${colors.sidebarLight.toLowerCase() === "#ffffff" ? "rgba(15, 23, 42, 1)" : "rgba(250, 250, 250, 1)"};
392
392
  --sidebar-primary: ${colors.sidebarLight.toLowerCase() === "#ffffff" ? rgba(colors.primary) : "rgba(255, 255, 255, 1)"};
393
- --sidebar-primary-foreground: ${colors.sidebarLight.toLowerCase() === "#ffffff" ? rgba(colors.primaryForeground) : rgba(colors.primary)}; /* Actually if sidebar is dark, primary item usually white? */
394
- /* Replicating logic from Context roughly or sticking to safe defaults */
395
- /* Context Logic:
396
- if !isSidebarLight:
397
- primary: #FFFFFF
398
- primaryFg: primary
399
- */
393
+ --sidebar-primary-foreground: ${colors.sidebarLight.toLowerCase() === "#ffffff" ? rgba(colors.primaryForeground) : rgba(colors.primary)};
400
394
  --sidebar-accent: ${rgba(colors.sidebarLight.toLowerCase() === "#ffffff" ? colors.primary : "#FFFFFF", 0.1)};
401
395
  --sidebar-accent-foreground: ${colors.sidebarLight.toLowerCase() === "#ffffff" ? rgba(colors.primary) : "#FFFFFF"};
402
396
  --sidebar-border: rgba(255, 255, 255, 0.1);
@@ -643,7 +637,8 @@ function generateI18nFile(selectedCodes) {
643
637
  import.meta.glob('./locales/${lang.jsonFile}/**/*.json', { eager: true, import: 'default' })
644
638
  );`
645
639
  ).join("\n");
646
- const resourceEntries = selectedLangs.map((l) => ` '${l.code}': { translation: ${toJsIdent(l.code)} },`).join("\n");
640
+ const resourceEntries = selectedLangs.map((l) => ` '${l.code}': { translation: ${toJsIdent(l.code)} },`).join("\n");
641
+ const defaultResourcesEntries = selectedLangs.map((l) => ` '${l.code}': ${toJsIdent(l.code)},`).join("\n");
647
642
  return `// \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
648
643
  // i18n.ts \u2014 i18next configuration (generated by xertica-ui CLI)
649
644
  //
@@ -663,6 +658,15 @@ function generateI18nFile(selectedCodes) {
663
658
  //
664
659
  // To add or remove a language, run: npx xertica-ui update \u2192 Languages
665
660
  // The CLI will regenerate this file and copy/remove locale folders accordingly.
661
+ //
662
+ // Singleton guard: \`node_modules/i18next\` is a single instance shared (hoisted)
663
+ // between this app and xertica-ui itself. \`i18n.init()\` fully replaces the
664
+ // resource store rather than merging, so calling it unconditionally here would
665
+ // race with the library's own bootstrap \u2014 whichever side initializes last wins
666
+ // and silently wipes the other's resources. To avoid this, we only call
667
+ // \`.init()\` if i18next hasn't been initialized yet; otherwise we merge our
668
+ // resources in via \`addResourceBundle(..., overwrite: false)\` so a
669
+ // design-system default never clobbers a key this app has already registered.
666
670
  // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
667
671
 
668
672
  import i18n from 'i18next';
@@ -697,17 +701,29 @@ const savedLanguage =
697
701
  ? (localStorage.getItem(STORAGE_KEY) ?? DEFAULT_FALLBACK)
698
702
  : DEFAULT_FALLBACK;
699
703
 
700
- i18n.use(initReactI18next).init({
701
- resources: {
704
+ const defaultResourcesByLang: Record<string, Record<string, unknown>> = {
705
+ ${defaultResourcesEntries}
706
+ };
707
+
708
+ if (!i18n.isInitialized) {
709
+ i18n.use(initReactI18next).init({
710
+ resources: {
702
711
  ${resourceEntries}
703
- },
704
- lng: savedLanguage,
705
- fallbackLng: DEFAULT_FALLBACK,
706
- interpolation: {
707
- // React already escapes values \u2014 no need for i18next to double-escape
708
- escapeValue: false,
709
- },
710
- });
712
+ },
713
+ lng: savedLanguage,
714
+ fallbackLng: DEFAULT_FALLBACK,
715
+ interpolation: {
716
+ // React already escapes values \u2014 no need for i18next to double-escape
717
+ escapeValue: false,
718
+ },
719
+ });
720
+ } else {
721
+ // Already initialized by xertica-ui's own bootstrap \u2014 merge our resources in
722
+ // without overwriting keys the library has already registered.
723
+ for (const [lang, resources] of Object.entries(defaultResourcesByLang)) {
724
+ i18n.addResourceBundle(lang, 'translation', resources, true, false);
725
+ }
726
+ }
711
727
 
712
728
  /**
713
729
  * Register an additional locale at runtime (e.g. for late-loaded plugins).
@@ -844,6 +860,7 @@ const ResetPasswordPage = React.lazy(() => import('../../pages/ResetPasswordPage
844
860
  ${hasHome ? `const HomePage = React.lazy(() => import('../../pages/HomePage').then(m => ({ default: m.HomePage })));` : ""}
845
861
  ${hasTemplate ? `const TemplatePage = React.lazy(() => import('../../pages/TemplatePage').then(m => ({ default: m.TemplatePage })));` : ""}
846
862
  ${hasAssistant ? `const AssistantPage = React.lazy(() => import('../../pages/AssistantPage').then(m => ({ default: m.AssistantPage })));` : ""}
863
+ const SettingsPage = React.lazy(() => import('../../pages/SettingsPage').then(m => ({ default: m.SettingsPage })));
847
864
 
848
865
  // \u2500\u2500\u2500 Route guards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
849
866
 
@@ -882,6 +899,7 @@ ${hasLogin ? ` <Route path="/login" element={<GuestRoute><LoginPageWithAu
882
899
  ${hasHome ? ` <Route path="/home" element={<ProtectedRoute><HomePage /></ProtectedRoute>} />` : ""}
883
900
  ${hasTemplate ? ` <Route path="/template" element={<ProtectedRoute><TemplatePage /></ProtectedRoute>} />` : ""}
884
901
  ${hasAssistant ? ` <Route path="/assistente" element={<ProtectedRoute><AssistantPage /></ProtectedRoute>} />` : ""}
902
+ <Route path="/settings" element={<ProtectedRoute><SettingsPage /></ProtectedRoute>} />
885
903
 
886
904
  <Route path="/" element={<Navigate to={user ? '${firstProtectedPath}' : '${hasLogin ? "/login" : firstProtectedPath}'} replace />} />
887
905
  <Route path="*" element={<Navigate to={user ? '${firstProtectedPath}' : '${hasLogin ? "/login" : firstProtectedPath}'} replace />} />
@@ -1093,6 +1111,8 @@ program.command("init").description("Initialize a new Xertica UI project").argum
1093
1111
  "vite-env.d.ts",
1094
1112
  "eslint.config.js",
1095
1113
  ".env.example",
1114
+ ".gitignore",
1115
+ ".prettierrc",
1096
1116
  "guidelines",
1097
1117
  "CLAUDE.md"
1098
1118
  ];
@@ -1164,8 +1184,12 @@ program.command("init").description("Initialize a new Xertica UI project").argum
1164
1184
  path2.join(targetDir, "src", "features", "assistant")
1165
1185
  );
1166
1186
  }
1187
+ await fs2.copy(
1188
+ path2.join(templatesDir, "src", "features", "settings"),
1189
+ path2.join(targetDir, "src", "features", "settings")
1190
+ );
1167
1191
  await fs2.ensureDir(path2.join(targetDir, "src", "pages"));
1168
- const pagesToCopy = [];
1192
+ const pagesToCopy = ["SettingsPage.tsx"];
1169
1193
  if (hasLogin)
1170
1194
  pagesToCopy.push(
1171
1195
  "LoginPage.tsx",
@@ -1716,6 +1740,11 @@ AI Assistant is currently: ${currentlyHas ? chalk.green("enabled") : chalk.red("
1716
1740
  await fs2.copy(srcFeature, destFeature, { overwrite: true });
1717
1741
  }
1718
1742
  }
1743
+ await fs2.copy(
1744
+ path2.join(updatedTemplatesDir, "src", "features", "settings"),
1745
+ path2.join(targetDir, "src", "features", "settings"),
1746
+ { overwrite: true }
1747
+ );
1719
1748
  }
1720
1749
  if (filesToUpdate.includes("pages")) {
1721
1750
  const pagesDir = path2.join(targetDir, "src", "pages");
@@ -1744,6 +1773,12 @@ AI Assistant is currently: ${currentlyHas ? chalk.green("enabled") : chalk.red("
1744
1773
  await fs2.copy(src, path2.join(pagesDir, pageFile), { overwrite: true });
1745
1774
  }
1746
1775
  }
1776
+ const settingsSrc = path2.join(srcPagesDir, "SettingsPage.tsx");
1777
+ if (await fs2.pathExists(settingsSrc)) {
1778
+ await fs2.copy(settingsSrc, path2.join(pagesDir, "SettingsPage.tsx"), {
1779
+ overwrite: true
1780
+ });
1781
+ }
1747
1782
  }
1748
1783
  }
1749
1784
  if (filesToUpdate.includes("config")) {
@@ -1759,6 +1794,13 @@ AI Assistant is currently: ${currentlyHas ? chalk.green("enabled") : chalk.red("
1759
1794
  await fs2.copy(src, path2.join(targetDir, file), { overwrite: true });
1760
1795
  }
1761
1796
  }
1797
+ for (const file of [".gitignore", ".prettierrc"]) {
1798
+ const src = path2.join(updatedTemplatesDir, file);
1799
+ const dest = path2.join(targetDir, file);
1800
+ if (await fs2.pathExists(src) && !await fs2.pathExists(dest)) {
1801
+ await fs2.copy(src, dest);
1802
+ }
1803
+ }
1762
1804
  }
1763
1805
  spinner.succeed(`Project updated to xertica-ui@${targetVersion} successfully!`);
1764
1806
  console.log(chalk.gray("\n Run npm run dev to start the development server."));
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * Props for the CodeBlock component.
3
4
  */
@@ -24,5 +25,5 @@ interface CodeBlockProps {
24
25
  * 2. Clipboard: The copy functionality is robust with multiple fallback methods.
25
26
  * 3. Content: Ensure `code` is passed as a raw string without pre-formatting indentation if possible.
26
27
  */
27
- export declare const CodeBlock: ({ code, language, filename, showLineNumbers, }: CodeBlockProps) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const CodeBlock: ({ code, language, filename, showLineNumbers, }: CodeBlockProps) => React.JSX.Element;
28
29
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * Props for the FormattedDocument component.
3
4
  */
@@ -21,5 +22,5 @@ interface FormattedDocumentProps {
21
22
  * 2. It supports standard markdown symbols: #, ##, ###, **, *, -, [ ], [x].
22
23
  * 3. `maxPreviewLength` defaults to 500 characters.
23
24
  */
24
- export declare function FormattedDocument({ content, maxPreviewLength, className, }: FormattedDocumentProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function FormattedDocument({ content, maxPreviewLength, className, }: FormattedDocumentProps): React.JSX.Element;
25
26
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * Props for the MarkdownMessage component.
3
4
  */
@@ -20,5 +21,5 @@ interface MarkdownMessageProps {
20
21
  * 2. Styling: Injected HTML uses specific Tailwind classes for consistent typography.
21
22
  * 3. Security: Uses `dangerouslySetInnerHTML`. Ensure `content` source is trusted or pre-sanitized if necessary.
22
23
  */
23
- export declare function MarkdownMessage({ content, className }: MarkdownMessageProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function MarkdownMessage({ content, className }: MarkdownMessageProps): React.JSX.Element;
24
25
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * Supported special action types for the chat input.
3
4
  * - 'document': Triggers document generation workflow.
@@ -50,5 +51,5 @@ interface ModernChatInputProps {
50
51
  * 2. This component manages its own height dynamically based on content (up to 100px).
51
52
  * 3. Voice recording is simulated — it returns a random string to the `onVoiceRecording` callback.
52
53
  */
53
- export declare function ModernChatInput({ value, onChange, onSubmit, placeholder, disabled, onFileUpload, onAudioUpload, onVoiceRecording, isFullPage, enableAudioInput, enableFileAttachment, enableDocumentCreation, enablePodcastGeneration, enableSearch, }: ModernChatInputProps): import("react/jsx-runtime").JSX.Element;
54
+ export declare function ModernChatInput({ value, onChange, onSubmit, placeholder, disabled, onFileUpload, onAudioUpload, onVoiceRecording, isFullPage, enableAudioInput, enableFileAttachment, enableDocumentCreation, enablePodcastGeneration, enableSearch, }: ModernChatInputProps): React.JSX.Element;
54
55
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { AssistantTab } from '../types';
2
3
  interface AssistantCollapsedViewProps {
3
4
  showHistory: boolean;
@@ -9,5 +10,5 @@ interface AssistantCollapsedViewProps {
9
10
  * AssistantCollapsedView — Icon-only strip shown when the assistant panel is collapsed.
10
11
  * Renders the Xertica Orbe logo and quick-access icons for Chat, Favorites, and History.
11
12
  */
12
- export declare function AssistantCollapsedView({ showHistory, showFavorites, onToggle, onExpandWithTab, }: AssistantCollapsedViewProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function AssistantCollapsedView({ showHistory, showFavorites, onToggle, onExpandWithTab, }: AssistantCollapsedViewProps): React.JSX.Element;
13
14
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { Conversation, AssistantTab } from '../types';
2
3
  interface AssistantConversationListProps {
3
4
  conversations: Conversation[];
@@ -12,5 +13,5 @@ interface AssistantConversationListProps {
12
13
  * AssistantConversationList — Scrollable list of saved conversations shown in
13
14
  * the History and Favorites tabs.
14
15
  */
15
- export declare function AssistantConversationList({ conversations, currentConversationId, activeTab, isFullPage, onNewConversation, onSelectConversation, onToggleFavorite, }: AssistantConversationListProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function AssistantConversationList({ conversations, currentConversationId, activeTab, isFullPage, onNewConversation, onSelectConversation, onToggleFavorite, }: AssistantConversationListProps): React.JSX.Element;
16
17
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  interface EditingDocument {
2
3
  content: string;
3
4
  title: string;
@@ -13,5 +14,5 @@ interface AssistantDocumentEditorProps {
13
14
  * AssistantDocumentEditor — Overlay panel with a rich text editor for editing documents
14
15
  * generated by the assistant. Slides in from the left of the assistant panel.
15
16
  */
16
- export declare function AssistantDocumentEditor({ document, isMobile, containerWidth, onClose, onChange, }: AssistantDocumentEditorProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function AssistantDocumentEditor({ document, isMobile, containerWidth, onClose, onChange, }: AssistantDocumentEditorProps): React.JSX.Element;
17
18
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  export interface EvaluationState {
2
3
  isOpen: boolean;
3
4
  messageId: string | null;
@@ -15,5 +16,5 @@ interface AssistantFeedbackDialogProps {
15
16
  * AssistantFeedbackDialog — Modal dialog for collecting negative feedback (dislike) on messages.
16
17
  * Supports both categorized feedback (from feedbackOptions) and free-text input.
17
18
  */
18
- export declare function AssistantFeedbackDialog({ state, onReasonChange, onClose, onSubmit, }: AssistantFeedbackDialogProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function AssistantFeedbackDialog({ state, onReasonChange, onClose, onSubmit, }: AssistantFeedbackDialogProps): React.JSX.Element;
19
20
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  interface AssistantHeaderProps {
2
3
  isExpanded: boolean;
3
4
  onToggle: () => void;
@@ -7,5 +8,5 @@ interface AssistantHeaderProps {
7
8
  * AssistantHeader — Top bar shown in expanded/collapsed (non-fullPage) mode.
8
9
  * Contains the Xertica Orbe logo, title, expand-to-full-page button, and toggle button.
9
10
  */
10
- export declare function AssistantHeader({ isExpanded, onToggle, onNavigateFullPage, }: AssistantHeaderProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function AssistantHeader({ isExpanded, onToggle, onNavigateFullPage, }: AssistantHeaderProps): React.JSX.Element;
11
12
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { Message, SearchResult } from '../types';
2
3
  interface AssistantMessageBubbleProps {
3
4
  msg: Message;
@@ -25,5 +26,5 @@ interface AssistantMessageBubbleProps {
25
26
  * Handles both user and assistant message styles, plus per-message action buttons
26
27
  * (copy, like/dislike, podcast generation).
27
28
  */
28
- export declare function AssistantMessageBubble({ msg, copiedId, generatingPodcastId, executingCommand, savedSearches, enablePodcastGeneration, feedbackOptions, onCopyMessage, onToggleFavorite, onGeneratePodcast, onDownloadDocument, onDownloadPodcast, onEditDocument, onOpenSearchResult, onExecuteSearchCommand, onEvaluationClick, onOpenFeedbackDialog, }: AssistantMessageBubbleProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function AssistantMessageBubble({ msg, copiedId, generatingPodcastId, executingCommand, savedSearches, enablePodcastGeneration, feedbackOptions, onCopyMessage, onToggleFavorite, onGeneratePodcast, onDownloadDocument, onDownloadPodcast, onEditDocument, onOpenSearchResult, onExecuteSearchCommand, onEvaluationClick, onOpenFeedbackDialog, }: AssistantMessageBubbleProps): React.JSX.Element;
29
30
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { AssistantTab } from '../types';
2
3
  interface AssistantTabBarProps {
3
4
  activeTab: AssistantTab;
@@ -9,5 +10,5 @@ interface AssistantTabBarProps {
9
10
  * AssistantTabBar — Navigation tabs for Chat, History, and Favorites.
10
11
  * Only rendered in expanded (non-fullPage) mode when at least one secondary tab is enabled.
11
12
  */
12
- export declare function AssistantTabBar({ activeTab, showHistory, showFavorites, onTabChange, }: AssistantTabBarProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function AssistantTabBar({ activeTab, showHistory, showFavorites, onTabChange, }: AssistantTabBarProps): React.JSX.Element;
13
14
  export {};
@@ -1,4 +1,5 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * AssistantTypingIndicator — Animated three-dot indicator shown while the assistant is processing.
3
4
  */
4
- export declare function AssistantTypingIndicator(): import("react/jsx-runtime").JSX.Element;
5
+ export declare function AssistantTypingIndicator(): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { Suggestion } from '../types';
2
3
  interface AssistantWelcomeScreenProps {
3
4
  userName: string;
@@ -13,5 +14,5 @@ interface AssistantWelcomeScreenProps {
13
14
  * AssistantWelcomeScreen — Empty state shown when there are no messages yet.
14
15
  * Displays the Xertica Orbe, a greeting, and suggestion chips.
15
16
  */
16
- export declare function AssistantWelcomeScreen({ userName, welcomeMessage, suggestions, richSuggestions, showMoreSuggestions, onSetShowMoreSuggestions, onSendSuggestion, onRichSuggestionClick, }: AssistantWelcomeScreenProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function AssistantWelcomeScreen({ userName, welcomeMessage, suggestions, richSuggestions, showMoreSuggestions, onSetShowMoreSuggestions, onSendSuggestion, onRichSuggestionClick, }: AssistantWelcomeScreenProps): React.JSX.Element;
17
18
  export {};
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { ChartConfig, DashboardChartDatum } from '../../ui/chart';
2
3
  /**
3
4
  * @file types.ts
4
5
  * Shared TypeScript types for the XerticaAssistant component and related hooks/contexts.
@@ -63,8 +64,8 @@ export interface Message {
63
64
  searchResults?: SearchResult[];
64
65
  searchSources?: SearchSource[];
65
66
  searchCommands?: SearchCommand[];
66
- chartData?: any[];
67
- chartConfig?: any;
67
+ chartData?: DashboardChartDatum[];
68
+ chartConfig?: ChartConfig;
68
69
  tableData?: {
69
70
  caption?: string;
70
71
  headers: string[];
@@ -123,4 +123,4 @@ export interface UseAssistantReturn {
123
123
  * }
124
124
  * ```
125
125
  */
126
- export declare function useAssistant({ mode, isExpanded: controlledIsExpanded, onToggle, defaultTab, demoMode, customResponses, initialMessages, savedConversations, suggestions: propSuggestions, onSendMessage, isProcessing, responseGenerator, richSuggestions, onRichAction, onEvaluation, }?: UseAssistantProps): UseAssistantReturn;
126
+ export declare function useAssistant({ mode, isExpanded: controlledIsExpanded, onToggle, defaultTab, demoMode, customResponses, initialMessages, savedConversations, suggestions: propSuggestions, onSendMessage, isProcessing, responseGenerator, richSuggestions: _richSuggestions, onRichAction, onEvaluation, }?: UseAssistantProps): UseAssistantReturn;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { MessageType, AttachmentType, SearchResultType, AssistantMode, AssistantTab, SearchResult, SearchSource, SearchCommand, Message, Conversation, Suggestion, MockResponse } from './types';
2
3
  export type { MessageType, AttachmentType, SearchResultType, AssistantMode, AssistantTab, SearchResult, SearchSource, SearchCommand, Message, Conversation, Suggestion, MockResponse, };
3
4
  export interface XerticaAssistantProps {
@@ -185,4 +186,4 @@ export interface XerticaAssistantProps {
185
186
  * 2. Use `onSendMessage` to capture user input and `responseGenerator` to provide AI responses in demo mode.
186
187
  * 3. Supports automatic Markdown rendering and syntax-highlighted code blocks.
187
188
  */
188
- export declare function XerticaAssistant({ mode, isExpanded: controlledIsExpanded, onToggle, defaultTab, demoMode, onNavigateSettings, onNavigateFullPage, userName, initialMessages, savedConversations, suggestions: propSuggestions, onSendMessage, onFileAttach, isProcessing, width, height, className, mobileFloating, customResponses, responseGenerator, richSuggestions, welcomeMessage, onRichAction, onEvaluation, feedbackOptions, showHistory, showFavorites, enableAudioInput, enableFileAttachment, enableDocumentCreation, enablePodcastGeneration, enableSearch, }: XerticaAssistantProps): import("react/jsx-runtime").JSX.Element;
189
+ export declare function XerticaAssistant({ mode, isExpanded: controlledIsExpanded, onToggle, defaultTab, demoMode, onNavigateSettings, onNavigateFullPage, userName, initialMessages, savedConversations, suggestions: propSuggestions, onSendMessage, onFileAttach, isProcessing, width, height, className, mobileFloating, customResponses, responseGenerator, richSuggestions, welcomeMessage, onRichAction, onEvaluation, feedbackOptions, showHistory, showFavorites, enableAudioInput, enableFileAttachment, enableDocumentCreation, enablePodcastGeneration, enableSearch, }: XerticaAssistantProps): React.JSX.Element;
@@ -17,4 +17,4 @@ export interface ActivityCardProps extends React.HTMLAttributes<HTMLDivElement>
17
17
  action?: React.ReactNode;
18
18
  maxItems?: number;
19
19
  }
20
- export declare function ActivityCard({ title, items, action, maxItems, className, ...props }: ActivityCardProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function ActivityCard({ title, items, action, maxItems, className, ...props }: ActivityCardProps): React.JSX.Element;
@@ -16,4 +16,4 @@ export interface ActivityCardSkeletonProps extends React.HTMLAttributes<HTMLDivE
16
16
  * {isLoading ? <ActivityCardSkeleton rows={5} /> : <ActivityCard items={items} />}
17
17
  * ```
18
18
  */
19
- export declare function ActivityCardSkeleton({ rows, className, ...props }: ActivityCardSkeletonProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function ActivityCardSkeleton({ rows, className, ...props }: ActivityCardSkeletonProps): React.JSX.Element;
@@ -13,4 +13,4 @@ export interface FeatureCardProps extends React.HTMLAttributes<HTMLDivElement> {
13
13
  actionVariant?: React.ComponentProps<typeof Button>['variant'];
14
14
  onAction?: () => void;
15
15
  }
16
- export declare function FeatureCard({ title, description, icon, color, badge, badgeVariant, actionLabel, actionVariant, onAction, className, ...props }: FeatureCardProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function FeatureCard({ title, description, icon, color, badge, badgeVariant, actionLabel, actionVariant, onAction, className, ...props }: FeatureCardProps): React.JSX.Element;
@@ -15,4 +15,4 @@ export interface FeatureCardSkeletonProps extends React.HTMLAttributes<HTMLDivEl
15
15
  * {isLoading ? <FeatureCardSkeleton showAction /> : <FeatureCard {...data} />}
16
16
  * ```
17
17
  */
18
- export declare function FeatureCardSkeleton({ showAction, className, ...props }: FeatureCardSkeletonProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function FeatureCardSkeleton({ showAction, className, ...props }: FeatureCardSkeletonProps): React.JSX.Element;
@@ -21,4 +21,4 @@ export interface NotificationCardProps extends React.HTMLAttributes<HTMLDivEleme
21
21
  onViewAll?: () => void;
22
22
  maxItems?: number;
23
23
  }
24
- export declare function NotificationCard({ title, items, unreadCount, onMarkAllRead, onViewAll, maxItems, className, ...props }: NotificationCardProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function NotificationCard({ title, items, unreadCount, onMarkAllRead, onViewAll, maxItems, className, ...props }: NotificationCardProps): React.JSX.Element;
@@ -18,4 +18,4 @@ export interface NotificationCardSkeletonProps extends React.HTMLAttributes<HTML
18
18
  * {isLoading ? <NotificationCardSkeleton rows={4} showViewAll /> : <NotificationCard items={items} />}
19
19
  * ```
20
20
  */
21
- export declare function NotificationCardSkeleton({ rows, showViewAll, className, ...props }: NotificationCardSkeletonProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function NotificationCardSkeleton({ rows, showViewAll, className, ...props }: NotificationCardSkeletonProps): React.JSX.Element;
@@ -19,4 +19,4 @@ export interface ProfileCardProps extends React.HTMLAttributes<HTMLDivElement> {
19
19
  onClick?: () => void;
20
20
  };
21
21
  }
22
- export declare function ProfileCard({ name, role, department, avatar, initials, status, stats, primaryAction, secondaryAction, className, ...props }: ProfileCardProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function ProfileCard({ name, role, department, avatar, initials, status, stats, primaryAction, secondaryAction, className, ...props }: ProfileCardProps): React.JSX.Element;
@@ -17,4 +17,4 @@ export interface ProfileCardSkeletonProps extends React.HTMLAttributes<HTMLDivEl
17
17
  * {isLoading ? <ProfileCardSkeleton showStats showActions /> : <ProfileCard {...data} />}
18
18
  * ```
19
19
  */
20
- export declare function ProfileCardSkeleton({ showStats, showActions, className, ...props }: ProfileCardSkeletonProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function ProfileCardSkeleton({ showStats, showActions, className, ...props }: ProfileCardSkeletonProps): React.JSX.Element;
@@ -15,4 +15,4 @@ export interface ProjectCardProps extends React.HTMLAttributes<HTMLDivElement> {
15
15
  maxMembers?: number;
16
16
  action?: React.ReactNode;
17
17
  }
18
- export declare function ProjectCard({ title, description, status, progress, dueDate, members, maxMembers, action, className, ...props }: ProjectCardProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function ProjectCard({ title, description, status, progress, dueDate, members, maxMembers, action, className, ...props }: ProjectCardProps): React.JSX.Element;
@@ -15,4 +15,4 @@ export interface ProjectCardSkeletonProps extends React.HTMLAttributes<HTMLDivEl
15
15
  * {isLoading ? <ProjectCardSkeleton memberCount={3} /> : <ProjectCard {...data} />}
16
16
  * ```
17
17
  */
18
- export declare function ProjectCardSkeleton({ memberCount, className, ...props }: ProjectCardSkeletonProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function ProjectCardSkeleton({ memberCount, className, ...props }: ProjectCardSkeletonProps): React.JSX.Element;
@@ -12,4 +12,4 @@ export interface QuickActionCardProps extends React.HTMLAttributes<HTMLDivElemen
12
12
  onAction?: () => void;
13
13
  disabled?: boolean;
14
14
  }
15
- export declare function QuickActionCard({ title, description, icon, badge, badgeVariant, actionLabel, actionVariant, onAction, disabled, className, ...props }: QuickActionCardProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function QuickActionCard({ title, description, icon, badge, badgeVariant, actionLabel, actionVariant, onAction, disabled, className, ...props }: QuickActionCardProps): React.JSX.Element;
@@ -13,4 +13,4 @@ export interface QuickActionCardSkeletonProps extends React.HTMLAttributes<HTMLD
13
13
  * {isLoading ? <QuickActionCardSkeleton /> : <QuickActionCard {...data} />}
14
14
  * ```
15
15
  */
16
- export declare function QuickActionCardSkeleton({ className, ...props }: QuickActionCardSkeletonProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function QuickActionCardSkeleton({ className, ...props }: QuickActionCardSkeletonProps): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { type Language } from '../../../contexts/LanguageContext';
2
3
  export type { Language };
3
4
  export interface LanguageSelectorProps {
@@ -33,4 +34,4 @@ export interface LanguageSelectorProps {
33
34
  *
34
35
  * Must be rendered inside `<LanguageProvider>`.
35
36
  */
36
- export declare function LanguageSelector({ showLabel, variant, showIcon, className, showWhenMonolingual, }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element | null;
37
+ export declare function LanguageSelector({ showLabel, variant, showIcon, className, showWhenMonolingual, }: LanguageSelectorProps): React.JSX.Element | null;
@@ -1,8 +1,9 @@
1
+ import React from 'react';
1
2
  interface ThemeToggleProps {
2
3
  size?: 'sm' | 'md' | 'lg';
3
4
  variant?: 'default' | 'outline' | 'ghost';
4
5
  className?: string;
5
6
  showLabel?: boolean;
6
7
  }
7
- export declare function ThemeToggle({ size, variant, className, showLabel, }: ThemeToggleProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function ThemeToggle({ size, variant, className, showLabel, }: ThemeToggleProps): React.JSX.Element | null;
8
9
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * Props for the XerticaLogo component.
3
4
  */
@@ -20,5 +21,5 @@ interface XerticaLogoProps {
20
21
  * 1. Use `variant="theme"` if you want the logo to inherit the current text color (useful for colored backgrounds).
21
22
  * 2. Default variant uses `var(--primary)`, ensuring brand consistency.
22
23
  */
23
- export declare function XerticaLogo({ className, color, variant, }: XerticaLogoProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function XerticaLogo({ className, color, variant, }: XerticaLogoProps): React.JSX.Element;
24
25
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * Props for the XerticaOrbe component.
3
4
  */
@@ -19,5 +20,5 @@ interface XerticaOrbeProps {
19
20
  * 1. Use this component in AI chat headers or assistant-related visual areas.
20
21
  * 2. It requires `https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.12.2/lottie.min.js` which it loads dynamically.
21
22
  */
22
- export declare function XerticaOrbe({ size, className }: XerticaOrbeProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function XerticaOrbe({ size, className }: XerticaOrbeProps): React.JSX.Element;
23
24
  export {};
@@ -55,5 +55,5 @@ interface XerticaProviderProps {
55
55
  * This component aggregates all necessary context providers. It should be placed at the
56
56
  * root of your application, ideally inside the App component.
57
57
  */
58
- export declare function XerticaProvider({ children, apiKey, googleMapsApiKey, defaultBrandTheme, defaultColorTheme, primaryColor, useCustomTokens, disableDarkMode, availableLanguages, defaultLanguage, }: XerticaProviderProps): import("react/jsx-runtime").JSX.Element;
58
+ export declare function XerticaProvider({ children, apiKey, googleMapsApiKey, defaultBrandTheme, defaultColorTheme, primaryColor, useCustomTokens, disableDarkMode, availableLanguages, defaultLanguage, }: XerticaProviderProps): React.JSX.Element;
59
59
  export {};
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * Props for the XerticaXLogo component.
3
4
  */
@@ -19,5 +20,5 @@ interface XerticaXLogoProps {
19
20
  * 1. Use this variant for favicons, user avatars, or small icon-like brand markers.
20
21
  * 2. It follows the same variant logic as the full `XerticaLogo`.
21
22
  */
22
- export declare function XerticaXLogo({ className, color, variant, }: XerticaXLogoProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function XerticaXLogo({ className, color, variant, }: XerticaXLogoProps): React.JSX.Element;
23
24
  export {};
@@ -1,4 +1,5 @@
1
+ import React from 'react';
1
2
  export interface DrawingMapExampleProps {
2
3
  apiKey?: string;
3
4
  }
4
- export declare function DrawingMapExample({ apiKey }: DrawingMapExampleProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function DrawingMapExample({ apiKey }: DrawingMapExampleProps): React.JSX.Element;
@@ -50,4 +50,4 @@ export type MarkerGroupId = keyof typeof markerGroups;
50
50
  export interface FilterableMapExampleProps {
51
51
  apiKey?: string;
52
52
  }
53
- export declare function FilterableMapExample({ apiKey }: FilterableMapExampleProps): import("react/jsx-runtime").JSX.Element;
53
+ export declare function FilterableMapExample({ apiKey }: FilterableMapExampleProps): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  /**
2
3
  * MapShowcase - Componente de demonstração completo e organizado
3
4
  *
@@ -6,4 +7,4 @@
6
7
  * 2. Marcadores (Pins, Áreas, Personalização)
7
8
  * 3. Controles (Filtros, Controles Nativos)
8
9
  */
9
- export declare function MapShowcase(): import("react/jsx-runtime").JSX.Element;
10
+ export declare function MapShowcase(): React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare function SimpleFilterableMap(): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ export declare function SimpleFilterableMap(): React.JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import React from 'react';
2
- export declare function ImageWithFallback(props: React.ImgHTMLAttributes<HTMLImageElement>): import("react/jsx-runtime").JSX.Element;
2
+ export declare function ImageWithFallback(props: React.ImgHTMLAttributes<HTMLImageElement>): React.JSX.Element;
@@ -123,4 +123,4 @@ export interface HeaderProps {
123
123
  * 4. The `user` prop is mandatory for authenticated states to show the profile dropdown.
124
124
  * 5. Breadcrumbs support unlimited levels — do not limit to 2 or 3 items.
125
125
  */
126
- export declare function Header({ title, breadcrumbs, showLanguageSelector, showThemeToggle, className, user, actions, showSettings, onSettingsClick, showLogout, onLogoutClick, renderLink, breadcrumbSlot, }: HeaderProps): import("react/jsx-runtime").JSX.Element;
126
+ export declare function Header({ title, breadcrumbs, showLanguageSelector, showThemeToggle, className, user, actions, showSettings, onSettingsClick, showLogout, onLogoutClick, renderLink, breadcrumbSlot, }: HeaderProps): React.JSX.Element;