xertica-ui 2.5.2 → 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 (577) hide show
  1. package/CHANGELOG.md +687 -656
  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 +36 -11
  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 -1501
  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 +2 -3
  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 +2 -3
  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-DMJJ_Amf.js → AssistantChart-BMNSA_Pk.js} +5 -5
  144. package/dist/{AssistantChart-D0A1FPYt.cjs → AssistantChart-BzM7plyc.cjs} +150 -114
  145. package/dist/{AssistantChart-BXU1ACnh.js → AssistantChart-C842evTi.js} +134 -240
  146. package/dist/{AssistantChart-BZTPJ5dP.cjs → AssistantChart-CVF2uh37.cjs} +5 -5
  147. package/dist/{AssistantChart-COGiOV-g.cjs → AssistantChart-JooMdVQU.cjs} +17 -7
  148. package/dist/{AssistantChart-CWX1OWNM.js → AssistantChart-KHS-tp-L.js} +17 -7
  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-BJjAMUTW.js → VerifyEmailPage-BcCluouh.js} +151 -78
  161. package/dist/VerifyEmailPage-Bx1sr0uQ.cjs +3298 -0
  162. package/dist/{VerifyEmailPage-X14vhdyl.js → VerifyEmailPage-DUYyXCX9.js} +12 -12
  163. package/dist/VerifyEmailPage-DXXMHbzq.js +3289 -0
  164. package/dist/{VerifyEmailPage-u_Dn7t1U.cjs → VerifyEmailPage-DpYtFk35.cjs} +21 -21
  165. package/dist/{VerifyEmailPage-Cyl55sJb.js → VerifyEmailPage-NXKWW3Dk.js} +134 -64
  166. package/dist/{VerifyEmailPage-Bv8Ah_TK.cjs → VerifyEmailPage-QrCz4Wqr.cjs} +143 -73
  167. package/dist/{VerifyEmailPage-CkBYfsNy.cjs → VerifyEmailPage-ZmQra0Wi.cjs} +160 -87
  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 +18 -18
  295. package/dist/index.es.js +12 -12
  296. package/dist/{input-cc-PTD4R.js → input-B0_vbA3g.js} +3 -61
  297. package/dist/{input-C_UiS2Py.cjs → input-ByYuOv8A.cjs} +1 -62
  298. package/dist/layout.cjs.js +1 -1
  299. package/dist/layout.es.js +1 -1
  300. package/dist/pages.cjs.js +1 -1
  301. package/dist/pages.es.js +1 -1
  302. package/dist/{rich-text-editor-DxO1Hz3a.cjs → rich-text-editor-BuqSu718.cjs} +70 -5
  303. package/dist/{rich-text-editor-DqLICivI.js → rich-text-editor-CV8FtA_l.js} +68 -6
  304. package/dist/{rich-text-editor-DloeW0wc.js → rich-text-editor-DV1SixzE.js} +61 -3
  305. package/dist/{rich-text-editor-B2CKz7nx.cjs → rich-text-editor-DnSDglzW.cjs} +63 -2
  306. package/dist/{sidebar-BS1p2V7t.cjs → sidebar-BGJ0j567.cjs} +367 -9
  307. package/dist/{sidebar-3XyzjVBw.js → sidebar-BI6mZlC8.js} +364 -6
  308. package/dist/{sidebar-DyYvgyBj.cjs → sidebar-BtmotOg-.cjs} +367 -9
  309. package/dist/{sidebar-Duermn32.js → sidebar-D3EgGVxF.js} +77 -63
  310. package/dist/{sidebar-CLmIjgNd.cjs → sidebar-DDTqMGnR.cjs} +80 -66
  311. package/dist/{sidebar-B4ZWaMrE.js → sidebar-I7EXyf5D.js} +364 -6
  312. package/dist/ui.cjs.js +7 -7
  313. package/dist/ui.es.js +5 -5
  314. package/dist/{xertica-assistant-QFUnv5I2.cjs → xertica-assistant-BrF9jScR.cjs} +4 -4
  315. package/dist/{xertica-assistant-BbgzsgsG.js → xertica-assistant-CJVnvMqU.js} +55 -45
  316. package/dist/{xertica-assistant-d2qs2Vd9.cjs → xertica-assistant-CKPtc1z5.cjs} +58 -40
  317. package/dist/{xertica-assistant-CyikE3N_.js → xertica-assistant-CsBsxTsI.js} +2 -2
  318. package/dist/{xertica-assistant-CIaUlbIt.cjs → xertica-assistant-DER0brPQ.cjs} +6 -5
  319. package/dist/{xertica-assistant-B1NaSFFj.js → xertica-assistant-DQCjpk5M.js} +4 -3
  320. package/dist/{xertica-assistant-B687qEPU.js → xertica-assistant-Dk-9AJzw.js} +16 -7
  321. package/dist/{xertica-assistant-sOHwTgIP.cjs → xertica-assistant-DxhIKvuY.cjs} +18 -9
  322. package/dist/xertica-ui.css +2 -2
  323. package/docs/components/audio-player.md +1 -1
  324. package/docs/components/sidebar.md +331 -331
  325. package/docs/components/stats-card.md +138 -138
  326. package/docs/components/toggle.md +12 -0
  327. package/docs/doc-audit.md +35 -229
  328. package/docs/i18n.md +31 -10
  329. package/docs/llms.md +6 -4
  330. package/llms-compact.txt +444 -444
  331. package/llms-full.txt +12144 -12144
  332. package/llms.txt +187 -187
  333. package/package.json +223 -219
  334. package/scripts/a11y-audit.mjs +162 -162
  335. package/scripts/fix-stories.cjs +19 -19
  336. package/styles/globals.css +0 -1
  337. package/styles/xertica/base.css +8 -0
  338. package/styles/xertica/tokens.css +240 -240
  339. package/templates/.env.example +2 -2
  340. package/templates/.prettierignore +4 -4
  341. package/templates/.prettierrc +10 -10
  342. package/templates/guidelines/Guidelines.md +865 -865
  343. package/templates/index.html +13 -13
  344. package/templates/package.json +69 -69
  345. package/templates/src/app/components/AuthGuard.tsx +11 -0
  346. package/templates/src/features/auth/ui/AuthPageShell.tsx +32 -32
  347. package/templates/src/features/home/ui/HomeContent.tsx +2 -3
  348. package/templates/src/features/settings/index.ts +2 -0
  349. package/templates/src/features/settings/ui/SettingsContent.tsx +134 -0
  350. package/templates/src/features/template/ui/TemplateContent.tsx +2 -3
  351. package/templates/src/i18n.ts +36 -13
  352. package/templates/src/locales/en/pages/settings.json +15 -0
  353. package/templates/src/locales/es/pages/settings.json +15 -0
  354. package/templates/src/locales/pt-BR/pages/settings.json +15 -0
  355. package/templates/src/pages/SettingsPage.tsx +28 -0
  356. package/templates/src/shared/config/navigation.ts +2 -2
  357. package/templates/src/styles/xertica/tokens.css +240 -240
  358. package/templates/vite.config.d.ts +2 -2
  359. package/templates/vite.config.js +20 -20
  360. package/utils/gemini.ts +2 -2
  361. package/dist/AssistantChart-9w31gdAb.cjs +0 -3363
  362. package/dist/AssistantChart-BAudAfne.cjs +0 -3591
  363. package/dist/AssistantChart-BAx9VQvb.cjs +0 -3374
  364. package/dist/AssistantChart-BP8upjMk.js +0 -3565
  365. package/dist/AssistantChart-CVko2A1W.js +0 -3348
  366. package/dist/AssistantChart-CVzmmhx4.js +0 -3337
  367. package/dist/AssistantChart-CeU2dIb6.js +0 -3469
  368. package/dist/AssistantChart-DO5UuX4J.cjs +0 -3495
  369. package/dist/AudioPlayer-1ypwE2Wh.cjs +0 -936
  370. package/dist/AudioPlayer-BJ2IuRQW.cjs +0 -1275
  371. package/dist/AudioPlayer-BWDW6TN9.cjs +0 -1279
  372. package/dist/AudioPlayer-CM962GEh.js +0 -1280
  373. package/dist/AudioPlayer-CbZId7cj.cjs +0 -998
  374. package/dist/AudioPlayer-DU8zt8-z.js +0 -999
  375. package/dist/AudioPlayer-DuKXrCfy.js +0 -937
  376. package/dist/AudioPlayer-Xxma6_-H.js +0 -1276
  377. package/dist/BrandColorsContext-DLVJgtmH.js +0 -666
  378. package/dist/BrandColorsContext-DZT7JjeD.js +0 -659
  379. package/dist/BrandColorsContext-GUyFmkX0.cjs +0 -665
  380. package/dist/BrandColorsContext-awnBCmC4.cjs +0 -666
  381. package/dist/CodeBlock-C2ZUXt8V.js +0 -219
  382. package/dist/CodeBlock-C5oYnLQp.cjs +0 -218
  383. package/dist/CodeBlock-DuxdtN-l.js +0 -219
  384. package/dist/CodeBlock-POVYONvC.cjs +0 -218
  385. package/dist/CustomTooltipContent-BT6brkVJ.cjs +0 -49
  386. package/dist/CustomTooltipContent-CfOfikhq.js +0 -33
  387. package/dist/CustomTooltipContent-DHjkY0ww.js +0 -40
  388. package/dist/CustomTooltipContent-c_K-DWRr.cjs +0 -56
  389. package/dist/FeatureCard-9GhnlgL3.js +0 -336
  390. package/dist/FeatureCard-Bcb3Zi54.js +0 -302
  391. package/dist/FeatureCard-Cfs6Ishq.js +0 -485
  392. package/dist/FeatureCard-CkPd2psQ.cjs +0 -301
  393. package/dist/FeatureCard-Dkp-xmzM.cjs +0 -335
  394. package/dist/FeatureCard-ie3L8Fpr.cjs +0 -484
  395. package/dist/FeatureCardSkeleton-CAgu8stE.js +0 -27
  396. package/dist/FeatureCardSkeleton-mO3Bdm_V.cjs +0 -26
  397. package/dist/LanguageContext-BwhwC3G2.js +0 -657
  398. package/dist/LanguageContext-DvUt5jBg.cjs +0 -656
  399. package/dist/LayoutContext-BDmcZfMH.cjs +0 -84
  400. package/dist/LayoutContext-C4kKN9RV.cjs +0 -93
  401. package/dist/LayoutContext-CGEe1oPq.js +0 -94
  402. package/dist/LayoutContext-CwT5KLiW.cjs +0 -104
  403. package/dist/LayoutContext-DVLCsoQn.js +0 -105
  404. package/dist/LayoutContext-dbQvdC4O.js +0 -85
  405. package/dist/ThemeContext-BbBNoFTG.js +0 -735
  406. package/dist/ThemeContext-Bo-W2WZH.js +0 -1856
  407. package/dist/ThemeContext-CP3a0jxy.cjs +0 -1855
  408. package/dist/ThemeContext-Cmr8Ex8H.cjs +0 -734
  409. package/dist/ThemeContext-CpqYShLq.cjs +0 -324
  410. package/dist/ThemeContext-D3LzacmG.js +0 -188
  411. package/dist/ThemeContext-DQUOeziy.cjs +0 -1855
  412. package/dist/ThemeContext-Du2nE1PL.js +0 -325
  413. package/dist/ThemeContext-GeEBTJ3q.cjs +0 -1621
  414. package/dist/ThemeContext-JyLK9B1o.js +0 -1622
  415. package/dist/ThemeContext-RTy1m2Uq.js +0 -82
  416. package/dist/ThemeContext-U4dEYc6C.cjs +0 -187
  417. package/dist/ThemeContext-bSzuOit2.cjs +0 -81
  418. package/dist/ThemeContext-ept8jhXI.js +0 -1856
  419. package/dist/VerifyEmailPage-BE-L9mB7.js +0 -2828
  420. package/dist/VerifyEmailPage-BIBOKV7Z.js +0 -3214
  421. package/dist/VerifyEmailPage-BRSP-Pwt.cjs +0 -3196
  422. package/dist/VerifyEmailPage-Bae2cBXT.cjs +0 -2827
  423. package/dist/VerifyEmailPage-BiRm7Nh4.cjs +0 -3213
  424. package/dist/VerifyEmailPage-Bvfv8HVQ.js +0 -3214
  425. package/dist/VerifyEmailPage-CR7kb5df.cjs +0 -2827
  426. package/dist/VerifyEmailPage-C_ihbcth.js +0 -2828
  427. package/dist/VerifyEmailPage-CbgjOF0v.js +0 -2828
  428. package/dist/VerifyEmailPage-CdYPSJoO.js +0 -2828
  429. package/dist/VerifyEmailPage-D-FRj5TU.cjs +0 -3213
  430. package/dist/VerifyEmailPage-DF2ilhum.cjs +0 -3210
  431. package/dist/VerifyEmailPage-DMBh4NM9.cjs +0 -2827
  432. package/dist/VerifyEmailPage-DTtFfC-J.js +0 -3197
  433. package/dist/VerifyEmailPage-Dt7zgA4w.cjs +0 -2827
  434. package/dist/VerifyEmailPage-EhudUdqF.js +0 -3211
  435. package/dist/VerifyEmailPage-RrUApqBN.js +0 -3214
  436. package/dist/VerifyEmailPage-VoMI7MYH.cjs +0 -3213
  437. package/dist/VerifyEmailPage-hdB8JQGv.cjs +0 -3213
  438. package/dist/VerifyEmailPage-vYHbYK3q.js +0 -3214
  439. package/dist/XerticaOrbe-BCUVSPPB.cjs +0 -1924
  440. package/dist/XerticaOrbe-BGIB1CTK.js +0 -1355
  441. package/dist/XerticaOrbe-By8eEvR-.js +0 -1925
  442. package/dist/XerticaOrbe-FWGjBj0U.cjs +0 -1354
  443. package/dist/XerticaProvider-AChwphCO.cjs +0 -48
  444. package/dist/XerticaProvider-AbWlr7Af.cjs +0 -48
  445. package/dist/XerticaProvider-B8CaV7xu.cjs +0 -39
  446. package/dist/XerticaProvider-BITjgC5p.js +0 -39
  447. package/dist/XerticaProvider-BSyFrmC0.js +0 -49
  448. package/dist/XerticaProvider-By8q3Roe.cjs +0 -38
  449. package/dist/XerticaProvider-CUYJZc32.js +0 -49
  450. package/dist/XerticaProvider-CW9hpCdF.cjs +0 -39
  451. package/dist/XerticaProvider-CWgby5mY.js +0 -49
  452. package/dist/XerticaProvider-CWs6EwNa.js +0 -49
  453. package/dist/XerticaProvider-CiNKjMx1.cjs +0 -48
  454. package/dist/XerticaProvider-CjQAQPcn.cjs +0 -48
  455. package/dist/XerticaProvider-D5lLumH-.js +0 -49
  456. package/dist/XerticaProvider-DQtvJU7m.js +0 -40
  457. package/dist/XerticaProvider-DUOJg9iX.js +0 -49
  458. package/dist/XerticaProvider-Dl_b72_l.cjs +0 -51
  459. package/dist/XerticaProvider-qQUDop71.cjs +0 -48
  460. package/dist/XerticaProvider-siSt9uG2.js +0 -40
  461. package/dist/XerticaXLogo-8TTzBjHw.cjs +0 -251
  462. package/dist/XerticaXLogo-B2svDGZh.cjs +0 -251
  463. package/dist/XerticaXLogo-BWaag64t.js +0 -252
  464. package/dist/XerticaXLogo-CFuIlYFH.js +0 -252
  465. package/dist/XerticaXLogo-CU-U-GP4.cjs +0 -251
  466. package/dist/XerticaXLogo-ChryA6xj.js +0 -252
  467. package/dist/XerticaXLogo-CowGv7BC.js +0 -252
  468. package/dist/XerticaXLogo-CziKMQil.cjs +0 -242
  469. package/dist/XerticaXLogo-D8jf0SNv.cjs +0 -214
  470. package/dist/XerticaXLogo-DHz5SugF.js +0 -252
  471. package/dist/XerticaXLogo-DTee_y8X.cjs +0 -251
  472. package/dist/XerticaXLogo-DfUvz-lD.js +0 -243
  473. package/dist/XerticaXLogo-DzXKZBtG.js +0 -231
  474. package/dist/XerticaXLogo-fAJMy3H4.js +0 -215
  475. package/dist/XerticaXLogo-kslQ8Tk_.cjs +0 -251
  476. package/dist/XerticaXLogo-xWbElCZj.cjs +0 -230
  477. package/dist/alert-dialog-iDe5VE5o.js +0 -842
  478. package/dist/alert-dialog-yckpaOpy.cjs +0 -865
  479. package/dist/avatar-Cq5_E8r9.cjs +0 -78
  480. package/dist/avatar-CuYu2MKt.cjs +0 -72
  481. package/dist/avatar-Cxyofu1H.js +0 -56
  482. package/dist/avatar-DSBfJMRJ.js +0 -62
  483. package/dist/breadcrumb-CVzzzqfo.js +0 -103
  484. package/dist/breadcrumb-DIJ0X3Ot.js +0 -96
  485. package/dist/breadcrumb-DjSxkjlQ.cjs +0 -95
  486. package/dist/breadcrumb-DnDlQFg2.cjs +0 -102
  487. package/dist/button-0CXwCRTm.cjs +0 -85
  488. package/dist/button-Bnv9SvYK.cjs +0 -79
  489. package/dist/button-C6uvh0rV.js +0 -63
  490. package/dist/button-qkz7Icqf.js +0 -69
  491. package/dist/card-B8-Gl5DL.js +0 -73
  492. package/dist/card-Bv_c57KU.cjs +0 -72
  493. package/dist/card-DJTsYhLL.cjs +0 -89
  494. package/dist/card-fi8zAN-I.js +0 -90
  495. package/dist/dropdown-menu-B_uEXNc4.cjs +0 -220
  496. package/dist/dropdown-menu-CFuCssWA.js +0 -204
  497. package/dist/dropdown-menu-Ze1YZFyc.cjs +0 -247
  498. package/dist/dropdown-menu-nc_Lvg-u.js +0 -231
  499. package/dist/google-maps-loader-BVoVhUwA.js +0 -316
  500. package/dist/google-maps-loader-BqsYL48U.cjs +0 -285
  501. package/dist/google-maps-loader-DjJaYhV6.cjs +0 -316
  502. package/dist/google-maps-loader-t2IlYBzw.js +0 -286
  503. package/dist/index-B7A523O_.js +0 -8
  504. package/dist/index-BabBx2pa.js +0 -6
  505. package/dist/index-CkTUgOwX.js +0 -8
  506. package/dist/index-D3RLKRAs.cjs +0 -7
  507. package/dist/index-DmHhnb7a.cjs +0 -7
  508. package/dist/index.umd.js +0 -13712
  509. package/dist/input-CNFHVKvo.cjs +0 -145
  510. package/dist/input-CPl84zAx.cjs +0 -151
  511. package/dist/input-D-6IsAca.js +0 -133
  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-GS2kpTAK.cjs +0 -2966
  525. package/dist/routes.d.ts +0 -10
  526. package/dist/select-Cmb8zF7w.cjs +0 -156
  527. package/dist/select-CprSNX0z.js +0 -139
  528. package/dist/select-DT7Zjn42.cjs +0 -162
  529. package/dist/select-En8DkoaQ.js +0 -145
  530. package/dist/sidebar-B3EYhli0.cjs +0 -800
  531. package/dist/sidebar-B9NR0lCe.cjs +0 -800
  532. package/dist/sidebar-BcJ6LxvX.cjs +0 -733
  533. package/dist/sidebar-BvF5I2Ue.cjs +0 -800
  534. package/dist/sidebar-C5B_LHek.cjs +0 -795
  535. package/dist/sidebar-CA6_ek3f.js +0 -801
  536. package/dist/sidebar-CRMiBtAi.js +0 -801
  537. package/dist/sidebar-CVUGHOS_.cjs +0 -756
  538. package/dist/sidebar-CZ2mWaMM.cjs +0 -800
  539. package/dist/sidebar-CmvwjnVb.js +0 -757
  540. package/dist/sidebar-CplprZpM.js +0 -801
  541. package/dist/sidebar-Dz7bd3zP.js +0 -796
  542. package/dist/sidebar-KIS0C2JH.js +0 -801
  543. package/dist/sidebar-OTO_up7Z.js +0 -801
  544. package/dist/sidebar-WoKvFWCN.js +0 -717
  545. package/dist/sidebar-zowjejT2.cjs +0 -800
  546. package/dist/skeleton-4zoHiFJ_.cjs +0 -83
  547. package/dist/skeleton-C4bHqUBf.js +0 -84
  548. package/dist/slider-C0JKA9k3.js +0 -56
  549. package/dist/slider-CPmwzm_3.cjs +0 -73
  550. package/dist/slider-DcJharR9.cjs +0 -73
  551. package/dist/slider-Pay3fka2.js +0 -56
  552. package/dist/sonner-DeUIj0Zg.cjs +0 -63
  553. package/dist/sonner-g9RIfi35.js +0 -47
  554. package/dist/tooltip-CNtsL5cB.cjs +0 -71
  555. package/dist/tooltip-CTyZCD8h.js +0 -55
  556. package/dist/tooltip-CwgSdy3h.cjs +0 -67
  557. package/dist/tooltip-D-OrYnKO.js +0 -51
  558. package/dist/use-audio-player-BJFV24XW.js +0 -188
  559. package/dist/use-audio-player-Bkh23vQ3.js +0 -177
  560. package/dist/use-audio-player-Dn1NR9xN.cjs +0 -176
  561. package/dist/use-audio-player-DyVYlOnR.cjs +0 -187
  562. package/dist/use-mobile-BB4M_4Ru.cjs +0 -47
  563. package/dist/use-mobile-CLu9nqGL.js +0 -31
  564. package/dist/use-mobile-CNwiBNxu.js +0 -33
  565. package/dist/use-mobile-Dlf74ufz.cjs +0 -49
  566. package/dist/xertica-assistant-B1IaHXnB.cjs +0 -1894
  567. package/dist/xertica-assistant-BMqdyRVi.js +0 -2082
  568. package/dist/xertica-assistant-Bj3vBCq_.cjs +0 -2081
  569. package/dist/xertica-assistant-CfBCo21g.js +0 -2148
  570. package/dist/xertica-assistant-DIM_Do1k.js +0 -1866
  571. package/dist/xertica-assistant-DPsESB6t.js +0 -1878
  572. package/dist/xertica-assistant-DrsRwla1.cjs +0 -2147
  573. package/dist/xertica-assistant-Qp3ydksa.cjs +0 -1882
  574. package/dist/xertica-assistant-gnCJdcZY.js +0 -1866
  575. package/dist/xertica-assistant-yyrR0JKl.cjs +0 -1882
  576. package/styles/xertica/app-overrides/scrollbar.css +0 -33
  577. 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;