xertica-ui 2.1.10 → 2.2.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 (1043) hide show
  1. package/CHANGELOG.md +525 -469
  2. package/README.md +382 -299
  3. package/assets/xertica-logo.svg +37 -37
  4. package/assets/xertica-x-logo.svg +20 -20
  5. package/bin/cli.ts +748 -548
  6. package/bin/generate-tokens.ts +262 -262
  7. package/bin/language-config.ts +361 -0
  8. package/components/assets/xertica-orbe-animation.ts +1162 -1162
  9. package/components/assistant/code-block/CodeBlock.tsx +268 -266
  10. package/components/assistant/code-block/code-block.stories.tsx +57 -57
  11. package/components/assistant/code-block/code-block.test.tsx +44 -44
  12. package/components/assistant/code-block/index.ts +1 -1
  13. package/components/assistant/formatted-document/FormattedDocument.tsx +147 -145
  14. package/components/assistant/formatted-document/formatted-document.stories.tsx +51 -51
  15. package/components/assistant/formatted-document/formatted-document.test.tsx +42 -42
  16. package/components/assistant/formatted-document/index.ts +1 -1
  17. package/components/assistant/index.ts +6 -6
  18. package/components/assistant/markdown-message/MarkdownMessage.tsx +152 -152
  19. package/components/assistant/markdown-message/index.ts +1 -1
  20. package/components/assistant/markdown-message/markdown-message.stories.tsx +50 -50
  21. package/components/assistant/markdown-message/markdown-message.test.tsx +33 -33
  22. package/components/assistant/modern-chat-input/ModernChatInput.tsx +36 -31
  23. package/components/assistant/modern-chat-input/index.ts +1 -1
  24. package/components/assistant/modern-chat-input/modern-chat-input.stories.tsx +131 -131
  25. package/components/assistant/modern-chat-input/modern-chat-input.test.tsx +79 -79
  26. package/components/assistant/xertica-assistant/index.ts +3 -3
  27. package/components/assistant/xertica-assistant/parts/AssistantCollapsedView.tsx +99 -97
  28. package/components/assistant/xertica-assistant/parts/AssistantConversationList.tsx +106 -104
  29. package/components/assistant/xertica-assistant/parts/AssistantDocumentEditor.tsx +81 -79
  30. package/components/assistant/xertica-assistant/parts/AssistantFeedbackDialog.tsx +78 -74
  31. package/components/assistant/xertica-assistant/parts/AssistantHeader.tsx +75 -73
  32. package/components/assistant/xertica-assistant/parts/AssistantMessageBubble.tsx +560 -558
  33. package/components/assistant/xertica-assistant/parts/AssistantTabBar.tsx +67 -65
  34. package/components/assistant/xertica-assistant/parts/AssistantTypingIndicator.tsx +41 -41
  35. package/components/assistant/xertica-assistant/parts/AssistantWelcomeScreen.tsx +103 -101
  36. package/components/assistant/xertica-assistant/parts/index.ts +16 -16
  37. package/components/assistant/xertica-assistant/types.ts +134 -134
  38. package/components/assistant/xertica-assistant/use-assistant.ts +615 -608
  39. package/components/assistant/xertica-assistant/xertica-assistant.stories.tsx +407 -407
  40. package/components/assistant/xertica-assistant/xertica-assistant.test.tsx +65 -65
  41. package/components/assistant/xertica-assistant/xertica-assistant.tsx +613 -609
  42. package/components/blocks/card-patterns/ActivityCard.tsx +100 -81
  43. package/components/blocks/card-patterns/ActivityCardSkeleton.tsx +56 -0
  44. package/components/blocks/card-patterns/FeatureCard.tsx +109 -109
  45. package/components/blocks/card-patterns/FeatureCardSkeleton.tsx +63 -0
  46. package/components/blocks/card-patterns/NotificationCard.tsx +140 -137
  47. package/components/blocks/card-patterns/NotificationCardSkeleton.tsx +81 -0
  48. package/components/blocks/card-patterns/ProfileCard.tsx +114 -100
  49. package/components/blocks/card-patterns/ProfileCardSkeleton.tsx +69 -0
  50. package/components/blocks/card-patterns/ProjectCard.tsx +123 -110
  51. package/components/blocks/card-patterns/ProjectCardSkeleton.tsx +72 -0
  52. package/components/blocks/card-patterns/QuickActionCard.tsx +68 -68
  53. package/components/blocks/card-patterns/QuickActionCardSkeleton.tsx +44 -0
  54. package/components/blocks/card-patterns/card-patterns.mdx +123 -0
  55. package/components/blocks/card-patterns/card-patterns.stories.tsx +594 -515
  56. package/components/blocks/card-patterns/index.ts +29 -17
  57. package/components/blocks/index.ts +1 -1
  58. package/components/brand/branding/branding.stories.tsx +57 -57
  59. package/components/brand/index.ts +6 -6
  60. package/components/brand/language-selector/LanguageSelector.tsx +47 -12
  61. package/components/brand/language-selector/index.ts +1 -1
  62. package/components/brand/language-selector/language-selector.mdx +126 -57
  63. package/components/brand/language-selector/language-selector.stories.tsx +66 -16
  64. package/components/brand/language-selector/language-selector.test.tsx +64 -8
  65. package/components/brand/theme-toggle/ThemeToggle.tsx +70 -68
  66. package/components/brand/theme-toggle/index.ts +1 -1
  67. package/components/brand/theme-toggle/theme-toggle.stories.tsx +34 -34
  68. package/components/brand/theme-toggle/theme-toggle.test.tsx +34 -34
  69. package/components/brand/xertica-logo/XerticaLogo.stories.tsx +82 -82
  70. package/components/brand/xertica-logo/XerticaLogo.tsx +104 -104
  71. package/components/brand/xertica-logo/index.ts +1 -1
  72. package/components/brand/xertica-logo/xertica-logo.test.tsx +26 -26
  73. package/components/brand/xertica-orbe/XerticaOrbe.tsx +1927 -1927
  74. package/components/brand/xertica-orbe/index.ts +1 -1
  75. package/components/brand/xertica-orbe/xertica-orbe.stories.tsx +40 -40
  76. package/components/brand/xertica-orbe/xertica-orbe.test.tsx +19 -19
  77. package/components/brand/xertica-provider/XerticaProvider.tsx +38 -2
  78. package/components/brand/xertica-provider/index.ts +1 -1
  79. package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
  80. package/components/brand/xertica-provider/xertica-provider.test.tsx +74 -74
  81. package/components/brand/xertica-xlogo/XerticaXLogo.stories.tsx +79 -79
  82. package/components/brand/xertica-xlogo/XerticaXLogo.tsx +65 -65
  83. package/components/brand/xertica-xlogo/index.ts +1 -1
  84. package/components/brand/xertica-xlogo/xertica-xlogo.test.tsx +16 -16
  85. package/components/examples/ApiKeyMapExample.tsx +71 -71
  86. package/components/examples/DrawingMapExample.tsx +565 -565
  87. package/components/examples/FilterableMapExample.tsx +393 -393
  88. package/components/examples/LocationPickerExample.tsx +348 -348
  89. package/components/examples/MapExamples.tsx +268 -268
  90. package/components/examples/MapGmpExample.tsx +169 -169
  91. package/components/examples/MapShowcase.tsx +471 -471
  92. package/components/examples/RouteMapExamples.tsx +329 -329
  93. package/components/examples/SidebarLogoExample.tsx +65 -65
  94. package/components/examples/SimpleFilterableMap.tsx +219 -219
  95. package/components/examples/index.ts +45 -45
  96. package/components/figma/ImageWithFallback.tsx +27 -27
  97. package/components/hooks/index.ts +13 -13
  98. package/components/hooks/use-layout-shortcuts.ts +43 -43
  99. package/components/index.ts +90 -77
  100. package/components/layout/header/header.stories.tsx +204 -204
  101. package/components/layout/header/header.test.tsx +75 -75
  102. package/components/layout/header/header.tsx +349 -349
  103. package/components/layout/header/index.ts +1 -1
  104. package/components/layout/index.ts +2 -2
  105. package/components/layout/sidebar/index.ts +3 -3
  106. package/components/layout/sidebar/sidebar.mdx +1 -1
  107. package/components/layout/sidebar/sidebar.stories.tsx +586 -586
  108. package/components/layout/sidebar/sidebar.test.tsx +76 -76
  109. package/components/layout/sidebar/sidebar.tsx +1073 -1068
  110. package/components/layout/sidebar/use-sidebar.ts +104 -104
  111. package/components/media/FloatingMediaWrapper.tsx +371 -368
  112. package/components/media/audio-player/AudioPlayer.stories.tsx +124 -124
  113. package/components/media/audio-player/AudioPlayer.test.tsx +106 -106
  114. package/components/media/audio-player/AudioPlayer.tsx +765 -762
  115. package/components/media/audio-player/index.ts +1 -1
  116. package/components/media/audio-player/use-audio-player.ts +312 -312
  117. package/components/media/index.ts +3 -3
  118. package/components/media/video-player/VideoPlayer.stories.tsx +98 -98
  119. package/components/media/video-player/VideoPlayer.test.tsx +73 -73
  120. package/components/media/video-player/VideoPlayer.tsx +310 -308
  121. package/components/media/video-player/index.ts +1 -1
  122. package/components/pages/forgot-password-page/ForgotPasswordPage.stories.tsx +24 -24
  123. package/components/pages/forgot-password-page/ForgotPasswordPage.tsx +188 -188
  124. package/components/pages/forgot-password-page/forgot-password-page.test.tsx +45 -45
  125. package/components/pages/forgot-password-page/index.ts +1 -1
  126. package/components/pages/home-content/HomeContent.stories.tsx +43 -43
  127. package/components/pages/home-content/HomeContent.tsx +120 -125
  128. package/components/pages/home-content/home-content.mdx +62 -62
  129. package/components/pages/home-content/index.ts +1 -1
  130. package/components/pages/home-page/HomePage.stories.tsx +39 -39
  131. package/components/pages/home-page/HomePage.tsx +74 -75
  132. package/components/pages/home-page/home-page.mdx +53 -53
  133. package/components/pages/home-page/home-page.test.tsx +53 -53
  134. package/components/pages/home-page/index.ts +1 -1
  135. package/components/pages/index.ts +8 -8
  136. package/components/pages/login-page/LoginPage.stories.tsx +39 -39
  137. package/components/pages/login-page/LoginPage.tsx +216 -216
  138. package/components/pages/login-page/index.ts +1 -1
  139. package/components/pages/login-page/login-page.test.tsx +63 -63
  140. package/components/pages/reset-password-page/ResetPasswordPage.stories.tsx +24 -24
  141. package/components/pages/reset-password-page/ResetPasswordPage.tsx +239 -237
  142. package/components/pages/reset-password-page/index.ts +1 -1
  143. package/components/pages/template-content/TemplateContent.stories.tsx +43 -43
  144. package/components/pages/template-content/TemplateContent.tsx +1235 -1237
  145. package/components/pages/template-content/index.ts +1 -1
  146. package/components/pages/template-content/template-content.mdx +61 -61
  147. package/components/pages/template-page/TemplatePage.stories.tsx +39 -39
  148. package/components/pages/template-page/TemplatePage.tsx +62 -62
  149. package/components/pages/template-page/index.ts +1 -1
  150. package/components/pages/template-page/template-page.mdx +53 -53
  151. package/components/pages/template-page/template-page.test.tsx +52 -52
  152. package/components/pages/verify-email-page/VerifyEmailPage.stories.tsx +41 -41
  153. package/components/pages/verify-email-page/VerifyEmailPage.tsx +206 -206
  154. package/components/pages/verify-email-page/index.ts +1 -1
  155. package/components/public-api-smoke.test.tsx +52 -52
  156. package/components/shared/CustomTooltipContent.tsx +48 -48
  157. package/components/shared/assistant-utils.test.ts +16 -16
  158. package/components/shared/assistant-utils.ts +225 -225
  159. package/components/shared/error-boundary.stories.tsx +132 -132
  160. package/components/shared/error-boundary.tsx +154 -154
  161. package/components/shared/error-fallbacks.tsx +226 -226
  162. package/components/shared/layout-constants.ts +8 -8
  163. package/components/shared/navigation.ts +35 -35
  164. package/components/shared/use-mobile.test.ts +16 -16
  165. package/components/shared/use-mobile.ts +36 -36
  166. package/components/shared/utils.test.ts +14 -14
  167. package/components/shared/utils.ts +6 -6
  168. package/components/ui/accordion/accordion.mdx +8 -8
  169. package/components/ui/accordion/accordion.stories.tsx +105 -105
  170. package/components/ui/accordion/accordion.test.tsx +59 -59
  171. package/components/ui/accordion/accordion.tsx +77 -77
  172. package/components/ui/accordion/index.ts +1 -1
  173. package/components/ui/alert/alert.mdx +8 -8
  174. package/components/ui/alert/alert.stories.tsx +86 -86
  175. package/components/ui/alert/alert.test.tsx +53 -53
  176. package/components/ui/alert/alert.tsx +93 -93
  177. package/components/ui/alert/index.ts +1 -1
  178. package/components/ui/alert-dialog/alert-dialog.mdx +8 -8
  179. package/components/ui/alert-dialog/alert-dialog.stories.tsx +84 -84
  180. package/components/ui/alert-dialog/alert-dialog.test.tsx +70 -70
  181. package/components/ui/alert-dialog/alert-dialog.tsx +149 -149
  182. package/components/ui/alert-dialog/index.ts +1 -1
  183. package/components/ui/aspect-ratio/aspect-ratio.mdx +8 -8
  184. package/components/ui/aspect-ratio/aspect-ratio.stories.tsx +46 -46
  185. package/components/ui/aspect-ratio/aspect-ratio.test.tsx +28 -28
  186. package/components/ui/aspect-ratio/aspect-ratio.tsx +20 -20
  187. package/components/ui/aspect-ratio/index.ts +1 -1
  188. package/components/ui/assistant-chart/AssistantChart.tsx +64 -64
  189. package/components/ui/assistant-chart/assistant-chart.mdx +8 -8
  190. package/components/ui/assistant-chart/assistant-chart.stories.tsx +44 -44
  191. package/components/ui/assistant-chart/assistant-chart.test.tsx +46 -46
  192. package/components/ui/assistant-chart/index.ts +1 -1
  193. package/components/ui/avatar/avatar.mdx +8 -8
  194. package/components/ui/avatar/avatar.stories.tsx +86 -86
  195. package/components/ui/avatar/avatar.test.tsx +55 -55
  196. package/components/ui/avatar/avatar.tsx +71 -71
  197. package/components/ui/avatar/index.ts +1 -1
  198. package/components/ui/badge/badge.mdx +8 -8
  199. package/components/ui/badge/badge.stories.tsx +72 -72
  200. package/components/ui/badge/badge.test.tsx +40 -40
  201. package/components/ui/badge/badge.tsx +58 -58
  202. package/components/ui/badge/index.ts +1 -1
  203. package/components/ui/breadcrumb/breadcrumb.mdx +8 -8
  204. package/components/ui/breadcrumb/breadcrumb.stories.tsx +123 -123
  205. package/components/ui/breadcrumb/breadcrumb.test.tsx +70 -70
  206. package/components/ui/breadcrumb/breadcrumb.tsx +114 -114
  207. package/components/ui/breadcrumb/index.ts +1 -1
  208. package/components/ui/button/button.mdx +8 -8
  209. package/components/ui/button/button.stories.tsx +183 -183
  210. package/components/ui/button/button.test.tsx +64 -64
  211. package/components/ui/button/button.tsx +98 -98
  212. package/components/ui/button/index.ts +1 -1
  213. package/components/ui/calendar/calendar.mdx +8 -8
  214. package/components/ui/calendar/calendar.stories.tsx +108 -108
  215. package/components/ui/calendar/calendar.test.tsx +53 -53
  216. package/components/ui/calendar/calendar.tsx +230 -230
  217. package/components/ui/calendar/index.ts +1 -1
  218. package/components/ui/card/card.mdx +8 -8
  219. package/components/ui/card/card.stories.tsx +301 -301
  220. package/components/ui/card/card.test.tsx +55 -55
  221. package/components/ui/card/card.tsx +83 -83
  222. package/components/ui/card/index.ts +1 -1
  223. package/components/ui/carousel/carousel.mdx +8 -8
  224. package/components/ui/carousel/carousel.stories.tsx +80 -80
  225. package/components/ui/carousel/carousel.test.tsx +75 -75
  226. package/components/ui/carousel/carousel.tsx +242 -242
  227. package/components/ui/carousel/index.ts +1 -1
  228. package/components/ui/chart/chart.mdx +8 -8
  229. package/components/ui/chart/chart.stories.tsx +1328 -1328
  230. package/components/ui/chart/chart.test.tsx +178 -178
  231. package/components/ui/chart/chart.tsx +2232 -2232
  232. package/components/ui/chart/index.ts +1 -1
  233. package/components/ui/checkbox/checkbox.mdx +8 -8
  234. package/components/ui/checkbox/checkbox.stories.tsx +109 -109
  235. package/components/ui/checkbox/checkbox.test.tsx +49 -49
  236. package/components/ui/checkbox/checkbox.tsx +68 -68
  237. package/components/ui/checkbox/index.ts +1 -1
  238. package/components/ui/collapsible/collapsible.mdx +8 -8
  239. package/components/ui/collapsible/collapsible.stories.tsx +45 -45
  240. package/components/ui/collapsible/collapsible.test.tsx +51 -51
  241. package/components/ui/collapsible/collapsible.tsx +32 -32
  242. package/components/ui/collapsible/index.ts +1 -1
  243. package/components/ui/command/command.mdx +8 -8
  244. package/components/ui/command/command.stories.tsx +134 -134
  245. package/components/ui/command/command.test.tsx +48 -48
  246. package/components/ui/command/command.tsx +163 -163
  247. package/components/ui/command/index.ts +1 -1
  248. package/components/ui/context-menu/context-menu.mdx +8 -8
  249. package/components/ui/context-menu/context-menu.stories.tsx +76 -76
  250. package/components/ui/context-menu/context-menu.test.tsx +61 -61
  251. package/components/ui/context-menu/context-menu.tsx +236 -236
  252. package/components/ui/context-menu/index.ts +1 -1
  253. package/components/ui/dialog/dialog.mdx +8 -8
  254. package/components/ui/dialog/dialog.stories.tsx +174 -174
  255. package/components/ui/dialog/dialog.test.tsx +78 -78
  256. package/components/ui/dialog/dialog.tsx +189 -189
  257. package/components/ui/dialog/index.ts +1 -1
  258. package/components/ui/drawer/drawer.mdx +8 -8
  259. package/components/ui/drawer/drawer.stories.tsx +71 -71
  260. package/components/ui/drawer/drawer.test.tsx +67 -67
  261. package/components/ui/drawer/drawer.tsx +146 -146
  262. package/components/ui/drawer/index.ts +1 -1
  263. package/components/ui/dropdown-menu/dropdown-menu.mdx +8 -8
  264. package/components/ui/dropdown-menu/dropdown-menu.stories.tsx +156 -156
  265. package/components/ui/dropdown-menu/dropdown-menu.test.tsx +62 -62
  266. package/components/ui/dropdown-menu/dropdown-menu.tsx +240 -240
  267. package/components/ui/dropdown-menu/index.ts +1 -1
  268. package/components/ui/empty/empty.mdx +8 -8
  269. package/components/ui/empty/empty.stories.tsx +85 -85
  270. package/components/ui/empty/empty.test.tsx +31 -31
  271. package/components/ui/empty/empty.tsx +88 -88
  272. package/components/ui/empty/index.ts +1 -1
  273. package/components/ui/file-upload/file-upload.mdx +8 -8
  274. package/components/ui/file-upload/file-upload.stories.tsx +144 -144
  275. package/components/ui/file-upload/file-upload.test.tsx +65 -65
  276. package/components/ui/file-upload/file-upload.tsx +142 -142
  277. package/components/ui/file-upload/index.ts +2 -2
  278. package/components/ui/file-upload/use-file-upload.ts +177 -177
  279. package/components/ui/form/form.stories.tsx +85 -85
  280. package/components/ui/form/form.test.tsx +75 -75
  281. package/components/ui/form/form.tsx +163 -163
  282. package/components/ui/form/index.ts +1 -1
  283. package/components/ui/google-maps-loader/google-maps-loader.test.tsx +35 -35
  284. package/components/ui/google-maps-loader/google-maps-loader.tsx +465 -465
  285. package/components/ui/google-maps-loader/index.ts +1 -1
  286. package/components/ui/hover-card/hover-card.mdx +8 -8
  287. package/components/ui/hover-card/hover-card.stories.tsx +61 -61
  288. package/components/ui/hover-card/hover-card.test.tsx +48 -48
  289. package/components/ui/hover-card/hover-card.tsx +50 -50
  290. package/components/ui/hover-card/index.ts +1 -1
  291. package/components/ui/index.ts +400 -400
  292. package/components/ui/input/index.ts +1 -1
  293. package/components/ui/input/input.mdx +8 -8
  294. package/components/ui/input/input.stories.tsx +153 -153
  295. package/components/ui/input/input.test.tsx +47 -47
  296. package/components/ui/input/input.tsx +57 -57
  297. package/components/ui/input-otp/index.ts +1 -1
  298. package/components/ui/input-otp/input-otp.mdx +8 -8
  299. package/components/ui/input-otp/input-otp.stories.tsx +120 -120
  300. package/components/ui/input-otp/input-otp.test.tsx +74 -74
  301. package/components/ui/input-otp/input-otp.tsx +101 -101
  302. package/components/ui/label/index.ts +1 -1
  303. package/components/ui/label/label.mdx +8 -8
  304. package/components/ui/label/label.stories.tsx +74 -74
  305. package/components/ui/label/label.test.tsx +45 -45
  306. package/components/ui/label/label.tsx +53 -53
  307. package/components/ui/map/index.ts +1 -1
  308. package/components/ui/map/map.mdx +8 -8
  309. package/components/ui/map/map.stories.tsx +86 -86
  310. package/components/ui/map/map.test.tsx +82 -82
  311. package/components/ui/map/map.tsx +506 -506
  312. package/components/ui/map/mock.test.tsx +13 -13
  313. package/components/ui/map-config/index.ts +1 -1
  314. package/components/ui/map-config/map-config.ts +18 -18
  315. package/components/ui/map-layers/index.ts +1 -1
  316. package/components/ui/map-layers/map-layers.test.tsx +48 -48
  317. package/components/ui/map-layers/map-layers.tsx +126 -126
  318. package/components/ui/map.exports/index.ts +1 -1
  319. package/components/ui/map.exports/map.exports.ts +31 -31
  320. package/components/ui/menubar/index.ts +1 -1
  321. package/components/ui/menubar/menubar.mdx +8 -8
  322. package/components/ui/menubar/menubar.stories.tsx +130 -130
  323. package/components/ui/menubar/menubar.test.tsx +53 -53
  324. package/components/ui/menubar/menubar.tsx +265 -265
  325. package/components/ui/navigation-menu/index.ts +1 -1
  326. package/components/ui/navigation-menu/navigation-menu.mdx +8 -8
  327. package/components/ui/navigation-menu/navigation-menu.stories.tsx +126 -126
  328. package/components/ui/navigation-menu/navigation-menu.test.tsx +47 -47
  329. package/components/ui/navigation-menu/navigation-menu.tsx +165 -165
  330. package/components/ui/notification-badge/index.ts +1 -1
  331. package/components/ui/notification-badge/notification-badge.mdx +8 -8
  332. package/components/ui/notification-badge/notification-badge.stories.tsx +66 -66
  333. package/components/ui/notification-badge/notification-badge.test.tsx +61 -61
  334. package/components/ui/notification-badge/notification-badge.tsx +91 -91
  335. package/components/ui/page-header/index.ts +1 -1
  336. package/components/ui/page-header/page-header.stories.tsx +69 -69
  337. package/components/ui/page-header/page-header.test.tsx +37 -37
  338. package/components/ui/page-header/page-header.tsx +124 -124
  339. package/components/ui/pagination/index.ts +3 -3
  340. package/components/ui/pagination/pagination.mdx +8 -8
  341. package/components/ui/pagination/pagination.stories.tsx +210 -210
  342. package/components/ui/pagination/pagination.test.tsx +63 -63
  343. package/components/ui/pagination/pagination.tsx +140 -140
  344. package/components/ui/pagination/use-pagination.ts +173 -173
  345. package/components/ui/popover/index.ts +1 -1
  346. package/components/ui/popover/popover.mdx +8 -8
  347. package/components/ui/popover/popover.stories.tsx +73 -73
  348. package/components/ui/popover/popover.test.tsx +48 -48
  349. package/components/ui/popover/popover.tsx +54 -54
  350. package/components/ui/progress/index.ts +1 -1
  351. package/components/ui/progress/progress.mdx +8 -8
  352. package/components/ui/progress/progress.stories.tsx +55 -55
  353. package/components/ui/progress/progress.test.tsx +23 -23
  354. package/components/ui/progress/progress.tsx +68 -68
  355. package/components/ui/radio-group/index.ts +1 -1
  356. package/components/ui/radio-group/radio-group.mdx +8 -8
  357. package/components/ui/radio-group/radio-group.stories.tsx +114 -114
  358. package/components/ui/radio-group/radio-group.test.tsx +78 -78
  359. package/components/ui/radio-group/radio-group.tsx +93 -93
  360. package/components/ui/rating/index.ts +1 -1
  361. package/components/ui/rating/rating.mdx +8 -8
  362. package/components/ui/rating/rating.stories.tsx +50 -50
  363. package/components/ui/rating/rating.test.tsx +48 -48
  364. package/components/ui/rating/rating.tsx +145 -145
  365. package/components/ui/resizable/index.ts +1 -1
  366. package/components/ui/resizable/resizable.mdx +8 -8
  367. package/components/ui/resizable/resizable.stories.tsx +88 -88
  368. package/components/ui/resizable/resizable.test.tsx +61 -61
  369. package/components/ui/resizable/resizable.tsx +452 -452
  370. package/components/ui/rich-text-editor/index.ts +7 -7
  371. package/components/ui/rich-text-editor/rich-text-editor.stories.tsx +290 -290
  372. package/components/ui/rich-text-editor/rich-text-editor.test.tsx +86 -86
  373. package/components/ui/rich-text-editor/rich-text-editor.tsx +634 -634
  374. package/components/ui/rich-text-editor/use-rich-text-editor.ts +453 -453
  375. package/components/ui/route-map/index.ts +1 -1
  376. package/components/ui/route-map/route-map.mdx +8 -8
  377. package/components/ui/route-map/route-map.stories.tsx +48 -48
  378. package/components/ui/route-map/route-map.test.tsx +108 -108
  379. package/components/ui/route-map/route-map.tsx +349 -349
  380. package/components/ui/scroll-area/index.ts +1 -1
  381. package/components/ui/scroll-area/scroll-area.mdx +8 -8
  382. package/components/ui/scroll-area/scroll-area.stories.tsx +31 -31
  383. package/components/ui/scroll-area/scroll-area.test.tsx +27 -27
  384. package/components/ui/scroll-area/scroll-area.tsx +70 -70
  385. package/components/ui/search/index.ts +1 -1
  386. package/components/ui/search/search.mdx +8 -8
  387. package/components/ui/search/search.stories.tsx +107 -107
  388. package/components/ui/search/search.test.tsx +67 -67
  389. package/components/ui/search/search.tsx +141 -141
  390. package/components/ui/select/index.ts +1 -1
  391. package/components/ui/select/select.mdx +8 -8
  392. package/components/ui/select/select.stories.tsx +163 -163
  393. package/components/ui/select/select.test.tsx +99 -99
  394. package/components/ui/select/select.tsx +195 -195
  395. package/components/ui/separator/index.ts +1 -1
  396. package/components/ui/separator/separator.mdx +8 -8
  397. package/components/ui/separator/separator.stories.tsx +55 -55
  398. package/components/ui/separator/separator.test.tsx +23 -23
  399. package/components/ui/separator/separator.tsx +39 -39
  400. package/components/ui/sheet/index.ts +1 -1
  401. package/components/ui/sheet/sheet.mdx +8 -8
  402. package/components/ui/sheet/sheet.stories.tsx +93 -93
  403. package/components/ui/sheet/sheet.test.tsx +62 -62
  404. package/components/ui/sheet/sheet.tsx +149 -149
  405. package/components/ui/simple-map/index.ts +1 -1
  406. package/components/ui/simple-map/simple-map.mdx +8 -8
  407. package/components/ui/simple-map/simple-map.stories.tsx +44 -44
  408. package/components/ui/simple-map/simple-map.test.tsx +36 -36
  409. package/components/ui/simple-map/simple-map.tsx +92 -92
  410. package/components/ui/skeleton/index.ts +1 -1
  411. package/components/ui/skeleton/skeleton.mdx +8 -8
  412. package/components/ui/skeleton/skeleton.stories.tsx +36 -36
  413. package/components/ui/skeleton/skeleton.test.tsx +19 -19
  414. package/components/ui/skeleton/skeleton.tsx +25 -25
  415. package/components/ui/slider/index.ts +1 -1
  416. package/components/ui/slider/slider.mdx +8 -8
  417. package/components/ui/slider/slider.stories.tsx +44 -44
  418. package/components/ui/slider/slider.test.tsx +25 -25
  419. package/components/ui/slider/slider.tsx +66 -66
  420. package/components/ui/sonner/index.ts +1 -1
  421. package/components/ui/sonner/sonner.mdx +8 -8
  422. package/components/ui/sonner/sonner.stories.tsx +41 -41
  423. package/components/ui/sonner/sonner.test.tsx +24 -24
  424. package/components/ui/sonner/sonner.tsx +74 -74
  425. package/components/ui/stats-card/index.ts +2 -1
  426. package/components/ui/stats-card/stats-card-skeleton.tsx +62 -0
  427. package/components/ui/stats-card/stats-card.mdx +8 -8
  428. package/components/ui/stats-card/stats-card.stories.tsx +99 -77
  429. package/components/ui/stats-card/stats-card.test.tsx +34 -34
  430. package/components/ui/stats-card/stats-card.tsx +93 -93
  431. package/components/ui/stepper/index.ts +3 -3
  432. package/components/ui/stepper/stepper.mdx +8 -8
  433. package/components/ui/stepper/stepper.stories.tsx +171 -171
  434. package/components/ui/stepper/stepper.test.tsx +47 -47
  435. package/components/ui/stepper/stepper.tsx +190 -190
  436. package/components/ui/stepper/use-stepper.ts +139 -139
  437. package/components/ui/switch/index.ts +1 -1
  438. package/components/ui/switch/switch.mdx +8 -8
  439. package/components/ui/switch/switch.stories.tsx +93 -93
  440. package/components/ui/switch/switch.test.tsx +44 -44
  441. package/components/ui/switch/switch.tsx +70 -70
  442. package/components/ui/table/index.ts +1 -1
  443. package/components/ui/table/table.mdx +8 -8
  444. package/components/ui/table/table.stories.tsx +114 -114
  445. package/components/ui/table/table.test.tsx +43 -43
  446. package/components/ui/table/table.tsx +104 -104
  447. package/components/ui/tabs/index.ts +1 -1
  448. package/components/ui/tabs/tabs.mdx +8 -8
  449. package/components/ui/tabs/tabs.stories.tsx +140 -140
  450. package/components/ui/tabs/tabs.test.tsx +50 -50
  451. package/components/ui/tabs/tabs.tsx +66 -66
  452. package/components/ui/textarea/index.ts +1 -1
  453. package/components/ui/textarea/textarea.mdx +8 -8
  454. package/components/ui/textarea/textarea.stories.tsx +69 -69
  455. package/components/ui/textarea/textarea.test.tsx +41 -41
  456. package/components/ui/textarea/textarea.tsx +61 -61
  457. package/components/ui/timeline/index.ts +1 -1
  458. package/components/ui/timeline/timeline.mdx +8 -8
  459. package/components/ui/timeline/timeline.stories.tsx +97 -97
  460. package/components/ui/timeline/timeline.test.tsx +53 -53
  461. package/components/ui/timeline/timeline.tsx +124 -124
  462. package/components/ui/toggle/index.ts +1 -1
  463. package/components/ui/toggle/toggle.mdx +8 -8
  464. package/components/ui/toggle/toggle.stories.tsx +56 -56
  465. package/components/ui/toggle/toggle.test.tsx +32 -32
  466. package/components/ui/toggle/toggle.tsx +55 -55
  467. package/components/ui/toggle-group/index.ts +1 -1
  468. package/components/ui/toggle-group/toggle-group.mdx +8 -8
  469. package/components/ui/toggle-group/toggle-group.stories.tsx +66 -66
  470. package/components/ui/toggle-group/toggle-group.test.tsx +47 -47
  471. package/components/ui/toggle-group/toggle-group.tsx +79 -79
  472. package/components/ui/tooltip/index.ts +1 -1
  473. package/components/ui/tooltip/tooltip.mdx +8 -8
  474. package/components/ui/tooltip/tooltip.stories.tsx +83 -83
  475. package/components/ui/tooltip/tooltip.test.tsx +39 -39
  476. package/components/ui/tooltip/tooltip.tsx +69 -69
  477. package/components/ui/tree-view/index.ts +4 -4
  478. package/components/ui/tree-view/tree-view.mdx +8 -8
  479. package/components/ui/tree-view/tree-view.stories.tsx +154 -154
  480. package/components/ui/tree-view/tree-view.test.tsx +58 -58
  481. package/components/ui/tree-view/tree-view.tsx +171 -171
  482. package/components/ui/tree-view/use-tree-view.ts +237 -237
  483. package/components.json +892 -892
  484. package/contexts/ApiKeyContext.test.tsx +26 -26
  485. package/contexts/ApiKeyContext.tsx +196 -196
  486. package/contexts/AssistenteContext.test.tsx +17 -17
  487. package/contexts/AssistenteContext.tsx +113 -113
  488. package/contexts/AuthContext.tsx +118 -118
  489. package/contexts/BrandColorsContext.test.tsx +21 -21
  490. package/contexts/BrandColorsContext.tsx +251 -251
  491. package/contexts/LanguageContext.test.tsx +108 -16
  492. package/contexts/LanguageContext.tsx +202 -17
  493. package/contexts/LayoutContext.test.tsx +29 -29
  494. package/contexts/LayoutContext.tsx +140 -140
  495. package/contexts/ThemeContext.test.tsx +38 -38
  496. package/contexts/ThemeContext.tsx +111 -111
  497. package/contexts/index.ts +8 -8
  498. package/contexts/theme-data.ts +340 -340
  499. package/dist/{AssistantChart-DoZCyS5r.cjs → AssistantChart-9w31gdAb.cjs} +4 -4
  500. package/dist/{AssistantChart-CldVCVDe.cjs → AssistantChart-BAudAfne.cjs} +5 -5
  501. package/dist/{AssistantChart-Bdd44uBn.cjs → AssistantChart-BAx9VQvb.cjs} +127 -388
  502. package/dist/{AssistantChart-Cu3m7RBo.js → AssistantChart-BP8upjMk.js} +5 -5
  503. package/dist/{use-mobile-BXuYROXM.js → AssistantChart-BXU1ACnh.js} +958 -1671
  504. package/dist/{AssistantChart-CFhDdGyU.js → AssistantChart-CVko2A1W.js} +130 -391
  505. package/dist/{AssistantChart-C_hwFRRr.js → AssistantChart-CVzmmhx4.js} +4 -4
  506. package/dist/{use-mobile-CG2-SdXV.cjs → AssistantChart-D0A1FPYt.cjs} +980 -1700
  507. package/dist/{AudioPlayer-IAU5q5T1.cjs → AudioPlayer-1ypwE2Wh.cjs} +1 -1
  508. package/dist/AudioPlayer-BWDW6TN9.cjs +1279 -0
  509. package/dist/AudioPlayer-CM962GEh.js +1280 -0
  510. package/dist/{AudioPlayer-CySJIyvL.js → AudioPlayer-DuKXrCfy.js} +1 -1
  511. package/dist/CodeBlock-CV6dtsTM.cjs +220 -0
  512. package/dist/CodeBlock-CjeFavqV.js +221 -0
  513. package/dist/{FeatureCard-DbHWCb4E.js → FeatureCard-Cfs6Ishq.js} +221 -37
  514. package/dist/FeatureCard-ie3L8Fpr.cjs +484 -0
  515. package/dist/FeatureCardSkeleton-CAgu8stE.js +27 -0
  516. package/dist/FeatureCardSkeleton-mO3Bdm_V.cjs +26 -0
  517. package/dist/{LanguageContext-CS14yCpi.js → LanguageContext-BwhwC3G2.js} +2 -2
  518. package/dist/{LanguageContext-B_KFTCzT.cjs → LanguageContext-DvUt5jBg.cjs} +2 -2
  519. package/dist/{ThemeContext-C2EwAPDt.js → ThemeContext-BbBNoFTG.js} +2 -2
  520. package/dist/ThemeContext-BblcjQup.cjs +1855 -0
  521. package/dist/ThemeContext-Bo-W2WZH.js +1856 -0
  522. package/dist/ThemeContext-CP3a0jxy.cjs +1855 -0
  523. package/dist/{ThemeContext-vTjumZeM.cjs → ThemeContext-Cmr8Ex8H.cjs} +2 -2
  524. package/dist/ThemeContext-CpqYShLq.cjs +324 -0
  525. package/dist/{ThemeContext-CQSo4Iwc.js → ThemeContext-D3LzacmG.js} +8 -1
  526. package/dist/ThemeContext-Du2nE1PL.js +325 -0
  527. package/dist/ThemeContext-GeEBTJ3q.cjs +1621 -0
  528. package/dist/ThemeContext-JyLK9B1o.js +1622 -0
  529. package/dist/{ThemeContext-CGk3KK0k.cjs → ThemeContext-U4dEYc6C.cjs} +8 -1
  530. package/dist/ThemeContext-ept8jhXI.js +1856 -0
  531. package/dist/{VerifyEmailPage-C0c2e5n0.js → VerifyEmailPage-BE-L9mB7.js} +7 -7
  532. package/dist/VerifyEmailPage-BIBOKV7Z.js +3214 -0
  533. package/dist/{VerifyEmailPage--1Vurewl.cjs → VerifyEmailPage-BRSP-Pwt.cjs} +3 -3
  534. package/dist/{VerifyEmailPage-Cwi3kbol.cjs → VerifyEmailPage-Bae2cBXT.cjs} +7 -7
  535. package/dist/{VerifyEmailPage-DjQKRlUS.cjs → VerifyEmailPage-BiRm7Nh4.cjs} +1185 -796
  536. package/dist/VerifyEmailPage-Bvfv8HVQ.js +3214 -0
  537. package/dist/{VerifyEmailPage-BComraR7.cjs → VerifyEmailPage-CR7kb5df.cjs} +22 -12
  538. package/dist/{VerifyEmailPage-MTD7AG1Z.js → VerifyEmailPage-C_ihbcth.js} +4 -4
  539. package/dist/{VerifyEmailPage-1WwWczAn.js → VerifyEmailPage-CbgjOF0v.js} +22 -12
  540. package/dist/{VerifyEmailPage-DvMLZgFt.js → VerifyEmailPage-CdYPSJoO.js} +1 -1
  541. package/dist/VerifyEmailPage-D-FRj5TU.cjs +3213 -0
  542. package/dist/{VerifyEmailPage-s-1X3LDJ.cjs → VerifyEmailPage-DF2ilhum.cjs} +1049 -665
  543. package/dist/{VerifyEmailPage-CYXtbKi3.cjs → VerifyEmailPage-DMBh4NM9.cjs} +1 -1
  544. package/dist/{VerifyEmailPage-CgMxRb4z.js → VerifyEmailPage-DTtFfC-J.js} +3 -3
  545. package/dist/{VerifyEmailPage-CFLMls1p.cjs → VerifyEmailPage-Dt7zgA4w.cjs} +4 -4
  546. package/dist/VerifyEmailPage-EhudUdqF.js +3211 -0
  547. package/dist/VerifyEmailPage-hdB8JQGv.cjs +3213 -0
  548. package/dist/VerifyEmailPage-vYHbYK3q.js +3214 -0
  549. package/dist/XerticaProvider-AChwphCO.cjs +48 -0
  550. package/dist/XerticaProvider-AbWlr7Af.cjs +48 -0
  551. package/dist/{XerticaProvider-D-yNhF94.cjs → XerticaProvider-B8CaV7xu.cjs} +1 -1
  552. package/dist/{XerticaProvider-CEoWMTxu.js → XerticaProvider-BITjgC5p.js} +2 -2
  553. package/dist/{XerticaProvider-CllrbMEJ.cjs → XerticaProvider-By8q3Roe.cjs} +2 -2
  554. package/dist/XerticaProvider-CUYJZc32.js +49 -0
  555. package/dist/{XerticaProvider-ET0ihewn.cjs → XerticaProvider-CW9hpCdF.cjs} +2 -2
  556. package/dist/XerticaProvider-CWgby5mY.js +49 -0
  557. package/dist/XerticaProvider-CWs6EwNa.js +49 -0
  558. package/dist/XerticaProvider-CjQAQPcn.cjs +48 -0
  559. package/dist/XerticaProvider-D5lLumH-.js +49 -0
  560. package/dist/{XerticaProvider-DYq4JWtg.js → XerticaProvider-DQtvJU7m.js} +1 -1
  561. package/dist/XerticaProvider-qQUDop71.cjs +48 -0
  562. package/dist/{XerticaProvider-B7EVH-NF.js → XerticaProvider-siSt9uG2.js} +2 -2
  563. package/dist/{LanguageSelector-D6uacAIM.cjs → XerticaXLogo-8TTzBjHw.cjs} +136 -115
  564. package/dist/{LanguageSelector-B5YfbHra.js → XerticaXLogo-BWaag64t.js} +136 -115
  565. package/dist/XerticaXLogo-CFuIlYFH.js +252 -0
  566. package/dist/XerticaXLogo-CU-U-GP4.cjs +251 -0
  567. package/dist/XerticaXLogo-ChryA6xj.js +252 -0
  568. package/dist/{XerticaXLogo-CQUUjXoH.cjs → XerticaXLogo-CziKMQil.cjs} +8 -8
  569. package/dist/XerticaXLogo-DHz5SugF.js +252 -0
  570. package/dist/XerticaXLogo-DTee_y8X.cjs +251 -0
  571. package/dist/{XerticaXLogo-Cmsp-Eey.js → XerticaXLogo-DfUvz-lD.js} +9 -9
  572. package/dist/XerticaXLogo-kslQ8Tk_.cjs +251 -0
  573. package/dist/{alert-dialog-s-vmNkJ_.js → alert-dialog-iDe5VE5o.js} +3 -3
  574. package/dist/{alert-dialog-DSKByiKZ.cjs → alert-dialog-yckpaOpy.cjs} +3 -3
  575. package/dist/assistant.cjs.js +2 -2
  576. package/dist/assistant.es.js +2 -2
  577. package/dist/blocks.cjs.js +8 -1
  578. package/dist/blocks.es.js +10 -3
  579. package/dist/brand.cjs.js +2 -2
  580. package/dist/brand.es.js +2 -2
  581. package/dist/cli.js +524 -164
  582. package/dist/components/blocks/card-patterns/ActivityCardSkeleton.d.ts +19 -0
  583. package/dist/components/blocks/card-patterns/FeatureCardSkeleton.d.ts +18 -0
  584. package/dist/components/blocks/card-patterns/NotificationCardSkeleton.d.ts +21 -0
  585. package/dist/components/blocks/card-patterns/ProfileCardSkeleton.d.ts +20 -0
  586. package/dist/components/blocks/card-patterns/ProjectCardSkeleton.d.ts +18 -0
  587. package/dist/components/blocks/card-patterns/QuickActionCardSkeleton.d.ts +16 -0
  588. package/dist/components/blocks/card-patterns/index.d.ts +12 -0
  589. package/dist/components/brand/language-selector/LanguageSelector.d.ts +15 -1
  590. package/dist/components/brand/xertica-provider/XerticaProvider.d.ts +29 -1
  591. package/dist/components/index.d.ts +3 -0
  592. package/dist/components/ui/stats-card/index.d.ts +1 -0
  593. package/dist/components/ui/stats-card/stats-card-skeleton.d.ts +25 -0
  594. package/dist/contexts/LanguageContext.d.ts +66 -5
  595. package/dist/features/assistant/data/mock.d.ts +2 -2
  596. package/dist/features/assistant/hooks/useAssistantConfig.d.ts +0 -1
  597. package/dist/features/assistant/index.d.ts +1 -1
  598. package/dist/features/home/hooks/useDashboardStats.d.ts +0 -1
  599. package/dist/features/home/hooks/useFeatureCards.d.ts +0 -1
  600. package/dist/features/home/hooks/useTeamMembers.d.ts +0 -1
  601. package/dist/features/home/index.d.ts +3 -3
  602. package/dist/{google-maps-loader-Y-QkD-Li.cjs → google-maps-loader-BqsYL48U.cjs} +0 -5
  603. package/dist/{google-maps-loader-CTYySAun.js → google-maps-loader-t2IlYBzw.js} +0 -4
  604. package/dist/hooks.cjs.js +2 -1
  605. package/dist/hooks.es.js +2 -1
  606. package/dist/i18n.d.ts +13 -0
  607. package/dist/index-CkTUgOwX.js +8 -0
  608. package/dist/{index-COtD8bRW.cjs → index-D3RLKRAs.cjs} +1 -1
  609. package/dist/index.cjs.js +34 -19
  610. package/dist/index.es.js +71 -56
  611. package/dist/index.umd.js +454 -1027
  612. package/dist/layout.cjs.js +1 -1
  613. package/dist/layout.es.js +1 -1
  614. package/dist/media.cjs.js +1 -1
  615. package/dist/media.es.js +1 -1
  616. package/dist/pages.cjs.js +1 -1
  617. package/dist/pages.es.js +1 -1
  618. package/dist/{rich-text-editor-Bp3zQqMC.js → rich-text-editor-1UW3Y2JK.js} +989 -1052
  619. package/dist/{rich-text-editor-CeucBdIv.cjs → rich-text-editor-CyggTOLQ.cjs} +989 -1052
  620. package/dist/{sidebar-DQj1z3jG.cjs → sidebar-B3EYhli0.cjs} +269 -227
  621. package/dist/{sidebar-CK_0ZQHj.cjs → sidebar-B9NR0lCe.cjs} +271 -274
  622. package/dist/sidebar-BvF5I2Ue.cjs +800 -0
  623. package/dist/{sidebar-q7P2Godd.cjs → sidebar-C5B_LHek.cjs} +1 -1
  624. package/dist/{sidebar-LluMXfam.js → sidebar-CA6_ek3f.js} +269 -227
  625. package/dist/{sidebar-BxGXsDAd.cjs → sidebar-CVUGHOS_.cjs} +8 -16
  626. package/dist/{sidebar-BViy8Eeu.js → sidebar-CmvwjnVb.js} +9 -17
  627. package/dist/{sidebar-CUuOvYhK.js → sidebar-CplprZpM.js} +272 -258
  628. package/dist/{sidebar-BbVIQvlP.js → sidebar-Dz7bd3zP.js} +1 -1
  629. package/dist/sidebar-KIS0C2JH.js +801 -0
  630. package/dist/sidebar-OTO_up7Z.js +801 -0
  631. package/dist/sidebar-zowjejT2.cjs +800 -0
  632. package/dist/skeleton-4zoHiFJ_.cjs +83 -0
  633. package/dist/skeleton-C4bHqUBf.js +84 -0
  634. package/dist/ui.cjs.js +12 -11
  635. package/dist/ui.es.js +46 -45
  636. package/dist/{use-audio-player-nv8ZSGa1.js → use-audio-player-Bkh23vQ3.js} +3 -7
  637. package/dist/{use-audio-player-NKsWyjWu.cjs → use-audio-player-Dn1NR9xN.cjs} +3 -7
  638. package/dist/{xertica-assistant-dyP7KHM5.cjs → xertica-assistant-B1IaHXnB.cjs} +388 -529
  639. package/dist/{xertica-assistant-ciJaWqm1.js → xertica-assistant-BMqdyRVi.js} +10 -28
  640. package/dist/{xertica-assistant-BdiZag0h.js → xertica-assistant-BbgzsgsG.js} +539 -562
  641. package/dist/{xertica-assistant-V_IdW4WF.cjs → xertica-assistant-Bj3vBCq_.cjs} +9 -27
  642. package/dist/{xertica-assistant-yX1CFBBo.js → xertica-assistant-DPsESB6t.js} +390 -531
  643. package/dist/{CodeBlock-7TTgmdGG.cjs → xertica-assistant-Qp3ydksa.cjs} +51 -263
  644. package/dist/{xertica-assistant-DUBpmEgo.cjs → xertica-assistant-d2qs2Vd9.cjs} +538 -561
  645. package/dist/{CodeBlock-DnYNI8rQ.js → xertica-assistant-gnCJdcZY.js} +7 -219
  646. package/dist/xertica-ui.css +2 -2
  647. package/docs/ai-usage.md +195 -195
  648. package/docs/architecture-improvements.md +456 -476
  649. package/docs/architecture.md +306 -273
  650. package/docs/components/accordion.md +109 -109
  651. package/docs/components/alert-dialog.md +127 -127
  652. package/docs/components/alert.md +106 -106
  653. package/docs/components/aspect-ratio.md +58 -58
  654. package/docs/components/assistant-chart.md +47 -47
  655. package/docs/components/assistant.md +426 -426
  656. package/docs/components/audio-player.md +167 -167
  657. package/docs/components/avatar.md +101 -101
  658. package/docs/components/badge.md +84 -84
  659. package/docs/components/branding.md +252 -249
  660. package/docs/components/breadcrumb.md +104 -104
  661. package/docs/components/button.md +156 -156
  662. package/docs/components/calendar.md +141 -141
  663. package/docs/components/card-patterns.md +445 -376
  664. package/docs/components/card.md +245 -245
  665. package/docs/components/carousel.md +100 -100
  666. package/docs/components/chart.md +638 -638
  667. package/docs/components/checkbox.md +88 -88
  668. package/docs/components/code-block.md +105 -105
  669. package/docs/components/collapsible.md +86 -86
  670. package/docs/components/command.md +113 -113
  671. package/docs/components/context-menu.md +81 -81
  672. package/docs/components/dialog.md +198 -198
  673. package/docs/components/drawer.md +105 -105
  674. package/docs/components/dropdown-menu.md +127 -127
  675. package/docs/components/empty.md +127 -127
  676. package/docs/components/error-boundary.md +191 -191
  677. package/docs/components/file-upload.md +189 -189
  678. package/docs/components/floating-media-wrapper.md +63 -63
  679. package/docs/components/form.md +177 -177
  680. package/docs/components/formatted-document.md +105 -105
  681. package/docs/components/google-maps-loader.md +44 -44
  682. package/docs/components/header.md +177 -177
  683. package/docs/components/hooks.md +430 -425
  684. package/docs/components/hover-card.md +86 -86
  685. package/docs/components/image-with-fallback.md +107 -107
  686. package/docs/components/input-otp.md +95 -95
  687. package/docs/components/input.md +130 -130
  688. package/docs/components/label.md +69 -69
  689. package/docs/components/language-selector.md +71 -16
  690. package/docs/components/map-layers.md +138 -138
  691. package/docs/components/map.md +84 -84
  692. package/docs/components/markdown-message.md +47 -47
  693. package/docs/components/menubar.md +89 -89
  694. package/docs/components/modern-chat-input.md +164 -164
  695. package/docs/components/navigation-menu.md +83 -83
  696. package/docs/components/notification-badge.md +78 -78
  697. package/docs/components/page-header.md +93 -93
  698. package/docs/components/pages.md +309 -309
  699. package/docs/components/pagination.md +334 -334
  700. package/docs/components/popover.md +116 -116
  701. package/docs/components/progress.md +103 -103
  702. package/docs/components/radio-group.md +133 -133
  703. package/docs/components/rating.md +77 -77
  704. package/docs/components/resizable.md +84 -84
  705. package/docs/components/rich-text-editor.md +255 -255
  706. package/docs/components/route-map.md +124 -124
  707. package/docs/components/scroll-area.md +58 -58
  708. package/docs/components/search.md +87 -87
  709. package/docs/components/select.md +144 -144
  710. package/docs/components/separator.md +58 -58
  711. package/docs/components/sheet.md +122 -122
  712. package/docs/components/sidebar.md +314 -314
  713. package/docs/components/simple-map.md +51 -51
  714. package/docs/components/skeleton.md +99 -99
  715. package/docs/components/slider.md +84 -84
  716. package/docs/components/sonner.md +115 -115
  717. package/docs/components/stats-card.md +120 -120
  718. package/docs/components/stepper.md +268 -268
  719. package/docs/components/switch.md +106 -106
  720. package/docs/components/table.md +138 -138
  721. package/docs/components/tabs.md +117 -117
  722. package/docs/components/textarea.md +86 -86
  723. package/docs/components/theme-toggle.md +73 -73
  724. package/docs/components/timeline.md +121 -121
  725. package/docs/components/toggle-group.md +68 -68
  726. package/docs/components/toggle.md +62 -62
  727. package/docs/components/tooltip.md +116 -116
  728. package/docs/components/tree-view.md +238 -238
  729. package/docs/components/use-mobile.md +96 -96
  730. package/docs/components/video-player.md +68 -68
  731. package/docs/components/xertica-logo.md +36 -36
  732. package/docs/components/xertica-orbe.md +35 -35
  733. package/docs/components/xertica-provider.md +65 -65
  734. package/docs/components/xertica-xlogo.md +35 -35
  735. package/docs/decision-tree.md +293 -293
  736. package/docs/doc-audit.md +243 -224
  737. package/docs/form-sizing.md +162 -162
  738. package/docs/getting-started.md +591 -568
  739. package/docs/guidelines.md +328 -222
  740. package/docs/i18n.md +324 -43
  741. package/docs/installation.md +267 -267
  742. package/docs/layout.md +143 -143
  743. package/docs/llms.md +295 -295
  744. package/docs/patterns/analytics.md +194 -194
  745. package/docs/patterns/crud.md +149 -149
  746. package/docs/patterns/dashboard.md +138 -138
  747. package/docs/patterns/detail-page.md +296 -296
  748. package/docs/patterns/form.md +241 -241
  749. package/docs/patterns/login.md +156 -156
  750. package/docs/patterns/settings.md +368 -368
  751. package/docs/patterns/wizard.md +213 -213
  752. package/docs/state-management.md +289 -283
  753. package/guidelines/Guidelines.md +406 -257
  754. package/hooks/useTheme.test.tsx +16 -16
  755. package/hooks/useTheme.ts +4 -4
  756. package/imports/Podcast.tsx +540 -540
  757. package/imports/XerticaAi.tsx +46 -46
  758. package/imports/XerticaX.tsx +15 -15
  759. package/imports/svg-aueiaqngck.ts +20 -20
  760. package/imports/svg-v9krss1ozd.ts +23 -23
  761. package/imports/svg-vhrdofe3qe.ts +6 -6
  762. package/llms-compact.txt +1 -1
  763. package/llms-full.txt +5 -2
  764. package/llms.txt +186 -186
  765. package/mcp/resources.json +22 -22
  766. package/mcp/tools.json +35 -35
  767. package/package.json +213 -213
  768. package/scripts/ai-validator.ts +91 -91
  769. package/scripts/cleanup-case-dupes.ts +62 -62
  770. package/scripts/generate-ai-manifests.ts +107 -107
  771. package/styles/globals.css +13 -13
  772. package/styles/xertica/app-overrides/chat.css +61 -61
  773. package/styles/xertica/app-overrides/scrollbar.css +33 -33
  774. package/styles/xertica/base.css +71 -71
  775. package/styles/xertica/integrations/google-maps.css +76 -76
  776. package/styles/xertica/integrations/sonner.css +73 -73
  777. package/styles/xertica/theme-map.css +99 -99
  778. package/styles/xertica/tokens.css +236 -236
  779. package/templates/.prettierignore +4 -4
  780. package/templates/.prettierrc +10 -10
  781. package/templates/CLAUDE.md +180 -180
  782. package/templates/eslint.config.js +26 -26
  783. package/templates/guidelines/Guidelines.md +553 -335
  784. package/templates/package.json +69 -69
  785. package/templates/postcss.config.js +6 -6
  786. package/templates/src/app/App.tsx +46 -46
  787. package/templates/src/app/components/AppLayout.tsx +55 -55
  788. package/templates/src/app/components/AuthGuard.tsx +82 -82
  789. package/templates/src/app/context/AuthContext.tsx +108 -108
  790. package/templates/src/features/assistant/data/mock.ts +21 -12
  791. package/templates/src/features/assistant/hooks/useAssistantConfig.ts +4 -3
  792. package/templates/src/features/assistant/index.ts +5 -5
  793. package/templates/src/features/auth/index.ts +4 -4
  794. package/templates/src/features/auth/ui/AuthPageShell.tsx +32 -32
  795. package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +70 -70
  796. package/templates/src/features/auth/ui/LoginContent.tsx +90 -90
  797. package/templates/src/features/auth/ui/ResetPasswordContent.tsx +177 -177
  798. package/templates/src/features/auth/ui/SocialLoginButtons.tsx +73 -73
  799. package/templates/src/features/auth/ui/VerifyEmailContent.tsx +82 -82
  800. package/templates/src/features/home/data/mock.ts +35 -35
  801. package/templates/src/features/home/hooks/useFeatureCards.ts +4 -3
  802. package/templates/src/features/home/index.ts +11 -11
  803. package/templates/src/features/home/store/dashboardStore.ts +25 -25
  804. package/templates/src/features/home/ui/HomeContent.tsx +119 -121
  805. package/templates/src/features/template/index.ts +5 -5
  806. package/templates/src/features/template/ui/CrudTemplate.tsx +32 -17
  807. package/templates/src/features/template/ui/DashboardTemplate.tsx +31 -15
  808. package/templates/src/features/template/ui/FormTemplate.tsx +21 -21
  809. package/templates/src/features/template/ui/LoginTemplate.tsx +14 -7
  810. package/templates/src/features/template/ui/TemplateContent.tsx +403 -288
  811. package/templates/src/i18n.ts +97 -11
  812. package/templates/src/locales/en/common.json +21 -0
  813. package/templates/src/locales/en/components/activityCard.json +10 -0
  814. package/templates/src/locales/en/components/assistant.json +105 -0
  815. package/templates/src/locales/en/components/media.json +29 -0
  816. package/templates/src/locales/en/components/notificationCard.json +5 -0
  817. package/templates/src/locales/en/components/profileCard.json +8 -0
  818. package/templates/src/locales/en/components/projectCard.json +10 -0
  819. package/templates/src/locales/en/components/sidebar.json +14 -0
  820. package/templates/src/locales/en/components/stats.json +8 -0
  821. package/templates/src/locales/en/components/team.json +14 -0
  822. package/templates/src/locales/en/errors.json +9 -0
  823. package/templates/src/locales/en/languageSelector.json +7 -0
  824. package/templates/src/locales/en/nav.json +6 -0
  825. package/templates/src/locales/en/pages/crudTemplate.json +25 -0
  826. package/templates/src/locales/en/pages/dashboardTemplate.json +20 -0
  827. package/templates/src/locales/en/pages/formTemplate.json +16 -0
  828. package/templates/src/locales/en/pages/home.json +7 -0
  829. package/templates/src/locales/en/pages/login.json +15 -0
  830. package/templates/src/locales/en/pages/loginTemplate.json +9 -0
  831. package/templates/src/locales/en/pages/resetPassword.json +18 -0
  832. package/templates/src/locales/en/pages/templates.json +317 -0
  833. package/templates/src/locales/en/pages/verifyEmail.json +12 -0
  834. package/templates/src/locales/en/themeToggle.json +6 -0
  835. package/templates/src/locales/es/common.json +21 -0
  836. package/templates/src/locales/es/components/activityCard.json +10 -0
  837. package/templates/src/locales/es/components/assistant.json +105 -0
  838. package/templates/src/locales/es/components/media.json +29 -0
  839. package/templates/src/locales/es/components/notificationCard.json +5 -0
  840. package/templates/src/locales/es/components/profileCard.json +8 -0
  841. package/templates/src/locales/es/components/projectCard.json +10 -0
  842. package/templates/src/locales/es/components/sidebar.json +14 -0
  843. package/templates/src/locales/es/components/stats.json +8 -0
  844. package/templates/src/locales/es/components/team.json +14 -0
  845. package/templates/src/locales/es/errors.json +9 -0
  846. package/templates/src/locales/es/languageSelector.json +7 -0
  847. package/templates/src/locales/es/nav.json +6 -0
  848. package/templates/src/locales/es/pages/crudTemplate.json +25 -0
  849. package/templates/src/locales/es/pages/dashboardTemplate.json +20 -0
  850. package/templates/src/locales/es/pages/formTemplate.json +16 -0
  851. package/templates/src/locales/es/pages/home.json +7 -0
  852. package/templates/src/locales/es/pages/login.json +15 -0
  853. package/templates/src/locales/es/pages/loginTemplate.json +9 -0
  854. package/templates/src/locales/es/pages/resetPassword.json +18 -0
  855. package/templates/src/locales/es/pages/templates.json +317 -0
  856. package/templates/src/locales/es/pages/verifyEmail.json +12 -0
  857. package/templates/src/locales/es/themeToggle.json +6 -0
  858. package/templates/src/locales/pt-BR/common.json +21 -0
  859. package/templates/src/locales/pt-BR/components/activityCard.json +10 -0
  860. package/templates/src/locales/pt-BR/components/assistant.json +105 -0
  861. package/templates/src/locales/pt-BR/components/media.json +29 -0
  862. package/templates/src/locales/pt-BR/components/notificationCard.json +5 -0
  863. package/templates/src/locales/pt-BR/components/profileCard.json +8 -0
  864. package/templates/src/locales/pt-BR/components/projectCard.json +10 -0
  865. package/templates/src/locales/pt-BR/components/sidebar.json +14 -0
  866. package/templates/src/locales/pt-BR/components/stats.json +8 -0
  867. package/templates/src/locales/pt-BR/components/team.json +14 -0
  868. package/templates/src/locales/pt-BR/errors.json +9 -0
  869. package/templates/src/locales/pt-BR/languageSelector.json +7 -0
  870. package/templates/src/locales/pt-BR/nav.json +6 -0
  871. package/templates/src/locales/pt-BR/pages/crudTemplate.json +25 -0
  872. package/templates/src/locales/pt-BR/pages/dashboardTemplate.json +20 -0
  873. package/templates/src/locales/pt-BR/pages/formTemplate.json +16 -0
  874. package/templates/src/locales/pt-BR/pages/home.json +7 -0
  875. package/templates/src/locales/pt-BR/pages/login.json +15 -0
  876. package/templates/src/locales/pt-BR/pages/loginTemplate.json +9 -0
  877. package/templates/src/locales/pt-BR/pages/resetPassword.json +18 -0
  878. package/templates/src/locales/pt-BR/pages/templates.json +317 -0
  879. package/templates/src/locales/pt-BR/pages/verifyEmail.json +12 -0
  880. package/templates/src/locales/pt-BR/themeToggle.json +6 -0
  881. package/templates/src/main.tsx +11 -11
  882. package/templates/src/pages/AssistantPage.tsx +463 -463
  883. package/templates/src/pages/ForgotPasswordPage.tsx +6 -6
  884. package/templates/src/pages/HomePage.tsx +49 -50
  885. package/templates/src/pages/LoginPage.tsx +10 -10
  886. package/templates/src/pages/ResetPasswordPage.tsx +6 -6
  887. package/templates/src/pages/TemplatePage.tsx +28 -28
  888. package/templates/src/pages/VerifyEmailPage.tsx +6 -6
  889. package/templates/src/shared/config/navigation.ts +19 -19
  890. package/templates/src/shared/error-boundary.tsx +154 -154
  891. package/templates/src/shared/error-fallbacks.tsx +226 -226
  892. package/templates/src/shared/lib/auth.ts +20 -20
  893. package/templates/src/shared/types/auth.ts +3 -3
  894. package/templates/src/styles/index.css +95 -95
  895. package/templates/src/styles/xertica/tokens.css +236 -236
  896. package/templates/tsconfig.json +25 -25
  897. package/templates/tsconfig.node.json +12 -12
  898. package/templates/vite-env.d.ts +1 -1
  899. package/templates/vite.config.ts +51 -21
  900. package/utils/color-utils.ts +72 -72
  901. package/utils/demo-responses.test.ts +10 -10
  902. package/utils/demo-responses.ts +151 -151
  903. package/utils/gemini.test.ts +25 -25
  904. package/utils/gemini.ts +155 -155
  905. package/dist/AssistantChart-DIpshm3i.js +0 -4784
  906. package/dist/AssistantChart-zjsy2GaZ.cjs +0 -4810
  907. package/dist/AudioPlayer-B1lt5cPl.cjs +0 -989
  908. package/dist/AudioPlayer-BZ7bibzU.cjs +0 -982
  909. package/dist/AudioPlayer-C12BjQBV.cjs +0 -997
  910. package/dist/AudioPlayer-CFeV8t-5.cjs +0 -936
  911. package/dist/AudioPlayer-CGRUtUdN.js +0 -937
  912. package/dist/AudioPlayer-DMcG_c7L.js +0 -990
  913. package/dist/AudioPlayer-DcFKRJE_.js +0 -998
  914. package/dist/AudioPlayer-e8LfNoqO.js +0 -983
  915. package/dist/CodeBlock-BeSt1h5P.js +0 -2078
  916. package/dist/CodeBlock-BgfYL_rD.cjs +0 -2094
  917. package/dist/CodeBlock-BlcqlA9M.cjs +0 -2094
  918. package/dist/CodeBlock-Bnmeu5ez.cjs +0 -2094
  919. package/dist/CodeBlock-BtfPlbAI.js +0 -2078
  920. package/dist/CodeBlock-CIySIuYr.js +0 -2078
  921. package/dist/CodeBlock-CuPtUM-7.cjs +0 -2094
  922. package/dist/CodeBlock-D6ffWXgc.js +0 -2078
  923. package/dist/CodeBlock-D8dcwbit.cjs +0 -2094
  924. package/dist/CodeBlock-DMZrFnlw.cjs +0 -2094
  925. package/dist/CodeBlock-DlBehYN8.js +0 -2078
  926. package/dist/CodeBlock-DvKWbSnE.cjs +0 -2094
  927. package/dist/CodeBlock-DwMCfkFY.js +0 -2078
  928. package/dist/CodeBlock-Dy6CNYyj.js +0 -2078
  929. package/dist/CodeBlock-U1pPOQI7.cjs +0 -2094
  930. package/dist/CodeBlock-f_GpNhEB.js +0 -2078
  931. package/dist/CodeBlock-oB6u8nI1.js +0 -2078
  932. package/dist/CodeBlock-tZC31B73.cjs +0 -2094
  933. package/dist/FeatureCard-CxC-7C-C.cjs +0 -300
  934. package/dist/ImageWithFallback-CGtidP6B.cjs +0 -4542
  935. package/dist/ImageWithFallback-lsg3pdFg.js +0 -4508
  936. package/dist/LayoutContext-BAql6ZRY.js +0 -97
  937. package/dist/LayoutContext-BvK-ggDa.cjs +0 -96
  938. package/dist/ThemeContext-BoH4NLfN.js +0 -734
  939. package/dist/ThemeContext-r69W20Xg.cjs +0 -733
  940. package/dist/VerifyEmailPage-COiyNl1y.js +0 -2825
  941. package/dist/VerifyEmailPage-CqKsR2v8.js +0 -2827
  942. package/dist/XerticaOrbe-KL1RBHzw.cjs +0 -1354
  943. package/dist/XerticaOrbe-zwS1p2a8.js +0 -1355
  944. package/dist/XerticaProvider-6btlAlzc.js +0 -17
  945. package/dist/XerticaProvider-BNoNOxQ5.cjs +0 -16
  946. package/dist/XerticaProvider-BlY2limY.cjs +0 -38
  947. package/dist/XerticaProvider-DDuiIcKo.js +0 -39
  948. package/dist/XerticaProvider-cI9hSs27.cjs +0 -38
  949. package/dist/XerticaProvider-hSwhNQex.js +0 -39
  950. package/dist/breadcrumb-CqJ7bHY5.js +0 -161
  951. package/dist/breadcrumb-m9Hb2_XN.cjs +0 -177
  952. package/dist/components/assistant/xertica-assistant/hooks/index.d.ts +0 -6
  953. package/dist/components/assistant/xertica-assistant/hooks/use-assistant-conversations.d.ts +0 -21
  954. package/dist/components/assistant/xertica-assistant/hooks/use-assistant-messages.d.ts +0 -49
  955. package/dist/components/assistant/xertica-assistant/hooks/use-assistant-suggestions.d.ts +0 -16
  956. package/dist/components/blocks/audio-player/AudioPlayer.d.ts +0 -35
  957. package/dist/components/blocks/audio-player/index.d.ts +0 -1
  958. package/dist/components/blocks/document-editor/DocumentEditor.d.ts +0 -26
  959. package/dist/components/blocks/document-editor/index.d.ts +0 -1
  960. package/dist/components/blocks/podcast-player/PodcastPlayer.d.ts +0 -41
  961. package/dist/components/blocks/podcast-player/index.d.ts +0 -1
  962. package/dist/components/ui/chart/parts/chart-dashboard.d.ts +0 -113
  963. package/dist/components/ui/chart/parts/chart-metric.d.ts +0 -118
  964. package/dist/components/ui/chart/parts/chart-primitives.d.ts +0 -101
  965. package/dist/components/ui/chart/parts/chart-shared.d.ts +0 -20
  966. package/dist/components/ui/chart/parts/chart-utils.d.ts +0 -12
  967. package/dist/components/ui/chart/parts/index.d.ts +0 -5
  968. package/dist/dropdown-menu-BDB5CmQs.cjs +0 -247
  969. package/dist/dropdown-menu-DQidbKBD.js +0 -231
  970. package/dist/google-maps-loader-BFWp6VPd.js +0 -287
  971. package/dist/google-maps-loader-eS3uQ5TA.cjs +0 -287
  972. package/dist/header-Cgy6vYPk.cjs +0 -731
  973. package/dist/header-DRlT4jgI.js +0 -715
  974. package/dist/header-Dux00SI4.cjs +0 -731
  975. package/dist/header-EkGKXPsD.js +0 -715
  976. package/dist/header-WfEywpyc.cjs +0 -731
  977. package/dist/header-tifNQn2U.js +0 -715
  978. package/dist/index-BhapVLVj.js +0 -8
  979. package/dist/index-D6fxYEY8.cjs +0 -7
  980. package/dist/index-DW5tYe26.js +0 -8
  981. package/dist/input-2R4loU86.js +0 -127
  982. package/dist/input-DWANSKGb.cjs +0 -145
  983. package/dist/progress-DPtzoVV8.js +0 -175
  984. package/dist/progress-EeaoqqUs.cjs +0 -191
  985. package/dist/rich-text-editor-0mraWT5y.cjs +0 -2376
  986. package/dist/rich-text-editor-B6jMRLzk.cjs +0 -1939
  987. package/dist/rich-text-editor-B8_oYcIR.js +0 -1730
  988. package/dist/rich-text-editor-B9UbSXNb.js +0 -1203
  989. package/dist/rich-text-editor-BYuRBNBU.js +0 -2373
  990. package/dist/rich-text-editor-Bb9pySTs.cjs +0 -2374
  991. package/dist/rich-text-editor-BcL6L3cm.cjs +0 -2374
  992. package/dist/rich-text-editor-BoVZYtTs.cjs +0 -2391
  993. package/dist/rich-text-editor-CMgSN_w2.js +0 -1189
  994. package/dist/rich-text-editor-CPV1lEPH.cjs +0 -1748
  995. package/dist/rich-text-editor-CoKqbCtu.cjs +0 -1799
  996. package/dist/rich-text-editor-Cw56T_mB.js +0 -2356
  997. package/dist/rich-text-editor-Cyt8qs2b.js +0 -1921
  998. package/dist/rich-text-editor-D6H84OcX.cjs +0 -1220
  999. package/dist/rich-text-editor-D76gD-QI.js +0 -2328
  1000. package/dist/rich-text-editor-DKkokOnA.js +0 -1781
  1001. package/dist/rich-text-editor-DNsdpN64.cjs +0 -2359
  1002. package/dist/rich-text-editor-DfG8bCyY.js +0 -2358
  1003. package/dist/rich-text-editor-Dxjw31Z4.js +0 -2341
  1004. package/dist/rich-text-editor-DzP0Epmb.js +0 -2356
  1005. package/dist/rich-text-editor-lyYE2ZG5.cjs +0 -1207
  1006. package/dist/rich-text-editor-skplNlBM.cjs +0 -2345
  1007. package/dist/select-Bkbr0f-Z.cjs +0 -162
  1008. package/dist/select-CvIVdX2n.js +0 -145
  1009. package/dist/sidebar-Djn5syhi.cjs +0 -786
  1010. package/dist/sidebar-_rT7rBMk.js +0 -787
  1011. package/dist/slider-Bc5Hd0y1.js +0 -56
  1012. package/dist/slider-N7hFFj6X.cjs +0 -73
  1013. package/dist/tooltip-Ded96neP.cjs +0 -137
  1014. package/dist/tooltip-HDOoD2-0.js +0 -120
  1015. package/dist/use-audio-player-BkmEmj8Q.js +0 -185
  1016. package/dist/use-audio-player-CLFTWFW1.cjs +0 -184
  1017. package/dist/use-file-upload-BcjEo2S5.js +0 -404
  1018. package/dist/use-file-upload-CRJR68Tj.cjs +0 -403
  1019. package/dist/use-mobile-B0hNy_Y6.cjs +0 -4303
  1020. package/dist/use-mobile-Bbd51ASU.cjs +0 -4392
  1021. package/dist/use-mobile-Bk6CX-TC.js +0 -4359
  1022. package/dist/use-mobile-BvYdisLP.js +0 -4202
  1023. package/dist/use-mobile-BzuxjzNX.cjs +0 -4392
  1024. package/dist/use-mobile-CKb5pqTs.js +0 -4269
  1025. package/dist/use-mobile-CYuAuGDl.js +0 -4202
  1026. package/dist/use-mobile-CaENcqm-.js +0 -4508
  1027. package/dist/use-mobile-CbrYgJGJ.js +0 -4203
  1028. package/dist/use-mobile-DMOvImGQ.cjs +0 -4542
  1029. package/dist/use-mobile-DRB3BQgD.cjs +0 -4235
  1030. package/dist/use-mobile-DZvv7QMR.js +0 -4359
  1031. package/dist/use-mobile-DdI_TXam.cjs +0 -4235
  1032. package/dist/use-mobile-DlceKf8a.js +0 -4359
  1033. package/dist/use-mobile-DsOnow1o.cjs +0 -4236
  1034. package/dist/use-mobile-Kcj6jSnK.cjs +0 -4392
  1035. package/dist/use-mobile-bnKcua_i.js +0 -4202
  1036. package/dist/use-mobile-ncXBeE2z.cjs +0 -4235
  1037. package/dist/use-rich-text-editor-DjiddBGv.js +0 -282
  1038. package/dist/use-rich-text-editor-lpeswbCs.cjs +0 -281
  1039. package/templates/src/locales/en.json +0 -79
  1040. package/templates/src/locales/es.json +0 -79
  1041. package/templates/src/locales/pt-BR.json +0 -79
  1042. package/dist/{rich-text-editor-DgF8s7xW.js → rich-text-editor-BmsjY03B.js} +26 -26
  1043. package/dist/{rich-text-editor-mWoaSCE4.cjs → rich-text-editor-GS2kpTAK.cjs} +26 -26
package/README.md CHANGED
@@ -1,299 +1,382 @@
1
- # Xertica UI
2
-
3
- > **Enterprise-grade React design system** built on Tailwind CSS v4, Radix UI, and Lucide Icons — with a robust AI-first documentation layer for precise LLM-driven composition and autonomous agent interaction.
4
-
5
- [![npm version](https://img.shields.io/badge/npm-2.1.4-blue)](https://www.npmjs.com/package/xertica-ui)
6
- [![license](https://img.shields.io/badge/license-proprietary-red)](./LICENSE)
7
-
8
- ---
9
-
10
- ## 🤖 AI-First Single Source of Truth
11
-
12
- Xertica UI is specifically designed to be consumed by AI Agents (LLMs, code assistants, autonomous agents). We provide dedicated entry points for AI context:
13
-
14
- | File | Purpose |
15
- | ---------------------------------------- | ------------------------------------------------------------------------------------------- |
16
- | [`llms.txt`](./llms.txt) | Standard index for AI crawlers and context-aware agents. |
17
- | [`llms-compact.txt`](./llms-compact.txt) | **Compact documentation** of all components in a single file for LLMs with limited context. |
18
- | [`llms-full.txt`](./llms-full.txt) | **Complete documentation** of all components in a single file for LLMs with large-context. |
19
- | `docs/llms.md` | Master index for agents to navigate the documentation folder. |
20
-
21
- ---
22
-
23
- ## 🚀 Quick Start — CLI (Recommended)
24
-
25
- Scaffold a full application with pre-configured routing, layout, and components:
26
-
27
- ```bash
28
- npx xertica-ui@latest init my-app
29
- cd my-app
30
- npm run dev
31
- ```
32
-
33
- The CLI scaffolds a complete Vite + React + TypeScript project with Portuguese UI localization and English AI-ready documentation.
34
-
35
- > **Note:** Always use `@latest` with npx. Without it, npx may execute a locally cached older version instead of fetching the latest from the registry.
36
-
37
- ---
38
-
39
- ## 📦 Installation as a Library
40
-
41
- To add Xertica UI to an existing React project:
42
-
43
- ```bash
44
- npm install xertica-ui
45
- ```
46
-
47
- **1. Import the stylesheet** in your entry file (`main.tsx` or `App.tsx`):
48
-
49
- ```tsx
50
- import 'xertica-ui/style.css';
51
- ```
52
-
53
- **2. Import components from the matching subpath**:
54
-
55
- ```tsx
56
- import { Button, Card } from 'xertica-ui/ui';
57
-
58
- export function Example() {
59
- return (
60
- <Card className="p-4">
61
- <Button>Continue</Button>
62
- </Card>
63
- );
64
- }
65
- ```
66
-
67
- **3. Optionally wrap your app** with `XerticaProvider` when you want coordinated theme, layout, assistant, maps, tooltip, API-key, and toast services:
68
-
69
- ```tsx
70
- import { XerticaProvider } from 'xertica-ui/brand';
71
-
72
- function App() {
73
- return (
74
- <XerticaProvider>
75
- <YourApp />
76
- </XerticaProvider>
77
- );
78
- }
79
- ```
80
-
81
- ---
82
-
83
- ## 📂 Subpath Imports (FSD/FDA)
84
-
85
- Xertica UI v2 exposes **granular subpath entries** import only what your layer needs without loading the entire library:
86
-
87
- ```tsx
88
- import { Button, Card, Input } from 'xertica-ui/ui'; // shared/ui — primitives
89
- import { QuickActionCard } from 'xertica-ui/blocks'; // composed blocks
90
- import { Sidebar, Header } from 'xertica-ui/layout'; // layout shell
91
- import { XerticaProvider } from 'xertica-ui/brand'; // app-level — providers & brand
92
- import { XerticaAssistant } from 'xertica-ui/assistant'; // feature — AI assistant
93
- import { VideoPlayer, AudioPlayer } from 'xertica-ui/media'; // feature — media players
94
- import { useLayout, useOptionalLayout, useTheme } from 'xertica-ui/hooks'; // shared/lib — hooks & contexts
95
- import { TemplatePage } from 'xertica-ui/pages'; // optional page templates
96
- import 'xertica-ui/style.css'; // styles — import once at root
97
- ```
98
-
99
- The root `from 'xertica-ui'` barrel remains available for full backward compatibility.
100
-
101
- > **TypeScript**: requires `"moduleResolution": "bundler"` (or `"node16"` / `"nodenext"`) in `tsconfig.json` to resolve subpath exports.
102
-
103
- ### Component Independence Contract
104
-
105
- `xertica-ui/style.css` is the only required global import. Public components are designed to render independently whenever possible, so importing one component into a consumer project should also bring the runtime logic that component needs.
106
-
107
- `XerticaProvider` remains the recommended app-level convenience wrapper, but it is not required for most primitives. It composes the library providers for theme, brand colors, language, layout, assistant state, API keys, Google Maps, tooltips, and toasts.
108
-
109
- Components with unavoidable external configuration, such as Google Maps, should render a configuration or error state instead of crashing the app.
110
-
111
- ---
112
-
113
- ## 🛠️ The Layout System
114
-
115
- Xertica UI features an autonomous layout system managed by `LayoutContext`.
116
-
117
- ### Mandatory Page Structure
118
-
119
- Every page **must** use the `<PageHeader>` component for its title and primary actions. Never use raw `h1` or `div` for headers.
120
-
121
- ```tsx
122
- import { PageHeader, PageHeaderHeading, Button } from 'xertica-ui/ui';
123
-
124
- export function MyPage() {
125
- return (
126
- <>
127
- <PageHeader>
128
- <PageHeaderHeading>Dashboard</PageHeaderHeading>
129
- <Button>Action</Button>
130
- </PageHeader>
131
- <div className="p-6">{/* Page Content */}</div>
132
- </>
133
- );
134
- }
135
- ```
136
-
137
- ### `useLayout()` Hook
138
-
139
- Access the sidebar state, width, and toggle functions anywhere in the component tree:
140
-
141
- ```tsx
142
- import { useLayout } from 'xertica-ui/hooks';
143
-
144
- const { sidebarWidth, isSidebarOpen, toggleSidebar } = useLayout();
145
- ```
146
-
147
- Use `useLayout()` when a page must fail early without a layout provider. Use `useOptionalLayout()` inside reusable components that should still render with internal fallbacks when imported in isolation.
148
-
149
- ```tsx
150
- import { useOptionalLayout } from 'xertica-ui/hooks';
151
-
152
- const layout = useOptionalLayout();
153
- const sidebarWidth = layout?.sidebarWidth ?? 0;
154
- ```
155
-
156
- ---
157
-
158
- ## 🏗️ CLI Template — FSD/FDA Architecture
159
-
160
- Projects scaffolded with `npx xertica-ui@latest init` follow **Feature-Sliced Design (FSD) + Feature-Driven Architecture (FDA)**:
161
-
162
- ```
163
- src/
164
- app/ ← BrowserRouter, XerticaProvider, AuthGuard, AppLayout
165
- shared/
166
- config/ ← navigation.ts (route definitions)
167
- lib/ ← auth.ts (localStorage helpers)
168
- types/ ← auth.ts (User interface)
169
- features/
170
- auth/ui/ ← LoginContent, ForgotPasswordContent, VerifyEmailContent, ResetPasswordContent
171
- home/ui/ ← HomeContent
172
- template/ui/ ← TemplateContent, FormTemplate
173
- pages/ ← thin wrappers: LoginPage, HomePage, TemplatePage, …
174
- styles/ ← index.css, xertica/tokens.css
175
- ```
176
-
177
- Each feature only imports from `shared/` or its own domain. Pages only compose features. See `templates/guidelines/Guidelines.md` for the full architecture guide.
178
-
179
- ---
180
-
181
- ## 🧩 Component Catalog (100+ Components)
182
-
183
- ### Layout & Navigation
184
-
185
- `Header` · `Sidebar` · `PageHeader` · `Breadcrumb` · `NavigationMenu` · `Tabs` · `Pagination` · `Accordion` · `Collapsible`
186
-
187
- ### Core Surfaces
188
-
189
- `Card` · `Separator` · `ScrollArea` · `AspectRatio` · `Resizable` · `Skeleton` · `Empty`
190
-
191
- ### Forms & Inputs
192
-
193
- `Form` · `Input` · `Textarea` · `RichTextEditor` · `Label` · `Checkbox` · `RadioGroup` · `Switch` · `Select` · `Slider` · `Calendar` · `InputOTP` · `FileUpload` · `Search`
194
-
195
- ### Actions & Data
196
-
197
- `Button` · `Toggle` · `ToggleGroup` · `Rating` · `Table` · `Badge` · `Avatar` · `Progress` · `StatsCard` · `Timeline` · `Stepper` · `TreeView` · `NotificationBadge` · `Chart`
198
-
199
- ### Overlays & Feedback
200
-
201
- `Dialog` · `AlertDialog` · `Sheet` · `Drawer` · `Popover` · `HoverCard` · `Tooltip` · `Alert` · `Sonner (Toast)` · `Command`
202
-
203
- ### Composed Blocks
204
-
205
- `FeatureCard` · `ActivityCard` · `ProfileCard` · `ProjectCard` · `QuickActionCard` · `NotificationCard`
206
-
207
- ---
208
-
209
- ## 🌟 Specialized Modules
210
-
211
- ### 🤖 AI Assistant
212
-
213
- Integrated AI chat panel with workspace support.
214
-
215
- - `XerticaAssistant` · `MarkdownMessage` · `CodeBlock` · `AssistantChart`
216
-
217
- ### 🗺️ Maps & Geolocation
218
-
219
- First-class Google Maps integration.
220
-
221
- - `Map` · `RouteMap` · `SimpleMap` · `GoogleMapsLoader`
222
-
223
- ### 🎙️ Media
224
-
225
- - `AudioPlayer` · `VideoPlayer` · `FloatingMediaWrapper`
226
-
227
- ### 📄 Pages
228
-
229
- - `LoginPage` · `HomePage` · `TemplatePage` · `ForgotPasswordPage` · `ResetPasswordPage` · `VerifyEmailPage`
230
-
231
- ### 🧱 Blocks
232
-
233
- High-level dashboard and product patterns exported from `xertica-ui/blocks`.
234
-
235
- - `FeatureCard` · `ActivityCard` · `ProfileCard` · `ProjectCard` · `QuickActionCard` · `NotificationCard`
236
-
237
- The CLI template now includes a small fixed version badge so generated projects can visually identify which `xertica-ui` package version they are using.
238
-
239
- ---
240
-
241
- ## 📚 Storybook Documentation
242
-
243
- Storybook Docs pages use each component's real story variations instead of repeating a single usage example. UI component MDX files now render the story list directly, so docs stay aligned with the component's public stories.
244
-
245
- Map stories use a wider responsive preview frame, making `Map`, `RouteMap`, and related map examples readable in the Docs canvas.
246
-
247
- ---
248
-
249
- ## 🎨 Design Tokens
250
-
251
- Xertica UI uses semantic CSS tokens. **Never use raw colors or generic Tailwind color classes**:
252
-
253
- ```
254
- Background: bg-background text-foreground
255
- Card surface: bg-card text-card-foreground
256
- Muted area: bg-muted text-muted-foreground
257
- Primary action: bg-primary text-primary-foreground
258
- Destructive: bg-destructive text-destructive-foreground
259
- Border: border-border
260
- ```
261
-
262
- ---
263
-
264
- ## 🌍 Localization
265
-
266
- - **UI Components**: Fully localized in **Portuguese (pt-BR)** for end-users.
267
- - **Documentation/Code**: Strictly maintained in **English** for AI Agent compatibility and global developer standard.
268
-
269
- ---
270
-
271
- ## 💻 Tech Stack
272
-
273
- | Technology | Version |
274
- | ------------ | ------- |
275
- | React | 18.3 |
276
- | TypeScript | 5.7 |
277
- | Tailwind CSS | 4.0 |
278
- | Vite | 6.0 |
279
- | Radix UI | Latest |
280
- | Lucide React | 0.469+ |
281
- | Vitest | 4.1 |
282
-
283
- ---
284
-
285
- ## 📜 Scripts
286
-
287
- | Command | Description |
288
- | -------------------- | -------------------------------------- |
289
- | `npm run dev` | Start development server |
290
- | `npm run build` | Production bundle |
291
- | `npm run storybook` | Launch component library documentation |
292
- | `npm run test` | Run unit tests via Vitest |
293
- | `npm run type-check` | TypeScript validation |
294
-
295
- ---
296
-
297
- ## ⚖️ License
298
-
299
- Proprietary Xertica.ai Team.
1
+ # Xertica UI
2
+
3
+ > **Enterprise-grade React design system** built on Tailwind CSS v4, Radix UI, and Lucide Icons — with a robust AI-first documentation layer for precise LLM-driven composition and autonomous agent interaction.
4
+
5
+ [![npm version](https://img.shields.io/badge/npm-2.2.0-blue)](https://www.npmjs.com/package/xertica-ui)
6
+ [![license](https://img.shields.io/badge/license-proprietary-red)](./LICENSE)
7
+
8
+ ---
9
+
10
+ ## 🤖 AI-First Single Source of Truth
11
+
12
+ Xertica UI is specifically designed to be consumed by AI Agents (LLMs, code assistants, autonomous agents). We provide dedicated entry points for AI context:
13
+
14
+ | File | Purpose |
15
+ | ---------------------------------------- | ------------------------------------------------------------------------------------------- |
16
+ | [`llms.txt`](./llms.txt) | Standard index for AI crawlers and context-aware agents. |
17
+ | [`llms-compact.txt`](./llms-compact.txt) | **Compact documentation** of all components in a single file for LLMs with limited context. |
18
+ | [`llms-full.txt`](./llms-full.txt) | **Complete documentation** of all components in a single file for LLMs with large-context. |
19
+ | `docs/llms.md` | Master index for agents to navigate the documentation folder. |
20
+
21
+ ---
22
+
23
+ ## 🚀 Quick Start — CLI (Recommended)
24
+
25
+ Scaffold a full application with pre-configured routing, layout, and components:
26
+
27
+ ```bash
28
+ npx xertica-ui@latest init my-app
29
+ cd my-app
30
+ npm run dev
31
+ ```
32
+
33
+ During `init`, the CLI walks you through:
34
+
35
+ | Prompt | Choices |
36
+ |---|---|
37
+ | Pages to include | Login, Home, Template (multi-select) |
38
+ | **Languages to support** | Português (BR), English, Español — select **1, 2, or 3** |
39
+ | Default color theme | Xertica, Slate, Blue, Violet, Rose, Emerald, … |
40
+ | Install dependencies automatically | yes / no |
41
+
42
+ The CLI generates a tailored project with:
43
+
44
+ - Only the locale JSON files for the languages you picked (no orphan files)
45
+ - `src/i18n.ts` with imports + `resources` for exactly those languages
46
+ - `src/app/App.tsx` with the `availableLanguages` prop on `<XerticaProvider>` (omitted when all 3 defaults are selected)
47
+ - A persisted selection in `src/locales/.languages.json` so the `update` command can preserve it
48
+
49
+ ### Monolingual mode (transparent)
50
+
51
+ If you select only one language, the project becomes **monolingual** — the `<LanguageSelector>` automatically renders `null` (there is nothing to switch to). A header comment in the generated `App.tsx` documents this behavior. To force the selector visible anyway, pass `<LanguageSelector showWhenMonolingual />`.
52
+
53
+ ### Updating languages later
54
+
55
+ ```bash
56
+ npx xertica-ui update # then choose "Languages"
57
+ ```
58
+
59
+ The flow shows your current selection, lets you toggle languages, and on confirmation:
60
+ - copies any newly-added locale JSON from `node_modules/xertica-ui/templates/src/locales/`
61
+ - removes JSONs of unselected languages
62
+ - regenerates `src/i18n.ts` and `src/app/App.tsx`
63
+ - updates `src/locales/.languages.json`
64
+
65
+ The `update` → **Project files** flow also reads `.languages.json` and preserves your selection — overwrites of `App.tsx` and `i18n.ts` won't reset your languages to defaults.
66
+
67
+ > **Note:** Always use `@latest` with npx. Without it, npx may execute a locally cached older version instead of fetching the latest from the registry.
68
+
69
+ ---
70
+
71
+ ## 📦 Installation as a Library
72
+
73
+ To add Xertica UI to an existing React project:
74
+
75
+ ```bash
76
+ npm install xertica-ui
77
+ ```
78
+
79
+ **1. Import the stylesheet** in your entry file (`main.tsx` or `App.tsx`):
80
+
81
+ ```tsx
82
+ import 'xertica-ui/style.css';
83
+ ```
84
+
85
+ **2. Import components from the matching subpath**:
86
+
87
+ ```tsx
88
+ import { Button, Card } from 'xertica-ui/ui';
89
+
90
+ export function Example() {
91
+ return (
92
+ <Card className="p-4">
93
+ <Button>Continue</Button>
94
+ </Card>
95
+ );
96
+ }
97
+ ```
98
+
99
+ **3. Optionally wrap your app** with `XerticaProvider` when you want coordinated theme, layout, assistant, maps, tooltip, API-key, language, and toast services:
100
+
101
+ ```tsx
102
+ import { XerticaProvider } from 'xertica-ui/brand';
103
+
104
+ function App() {
105
+ return (
106
+ <XerticaProvider>
107
+ <YourApp />
108
+ </XerticaProvider>
109
+ );
110
+ }
111
+ ```
112
+
113
+ **Configuring languages at runtime** — `<XerticaProvider>` accepts `availableLanguages` to override the default set. When only one language is configured, the `LanguageSelector` auto-hides:
114
+
115
+ ```tsx
116
+ import { XerticaProvider, DEFAULT_LANGUAGES } from 'xertica-ui';
117
+ import fr from './locales/fr.json';
118
+
119
+ // Monolingual English (no language picker)
120
+ <XerticaProvider availableLanguages={[{ code: 'en', label: 'English' }]}>
121
+
122
+ // Defaults + a custom locale (bundle auto-registered with i18next)
123
+ <XerticaProvider
124
+ availableLanguages={[
125
+ ...DEFAULT_LANGUAGES,
126
+ { code: 'fr', label: 'Français', shortLabel: 'FR', resources: fr },
127
+ ]}
128
+ >
129
+ ```
130
+
131
+ See [`docs/i18n.md`](./docs/i18n.md) for the full `LanguageDefinition` and `registerLanguageResource` API.
132
+
133
+ ---
134
+
135
+ ## 📂 Subpath Imports (FSD/FDA)
136
+
137
+ Xertica UI v2 exposes **granular subpath entries** — import only what your layer needs without loading the entire library:
138
+
139
+ ```tsx
140
+ import { Button, Card, Input } from 'xertica-ui/ui'; // shared/ui — primitives
141
+ import { QuickActionCard } from 'xertica-ui/blocks'; // composed blocks
142
+ import { Sidebar, Header } from 'xertica-ui/layout'; // layout shell
143
+ import { XerticaProvider } from 'xertica-ui/brand'; // app-level — providers & brand
144
+ import { XerticaAssistant } from 'xertica-ui/assistant'; // feature — AI assistant
145
+ import { VideoPlayer, AudioPlayer } from 'xertica-ui/media'; // feature — media players
146
+ import { useLayout, useOptionalLayout, useTheme } from 'xertica-ui/hooks'; // shared/lib — hooks & contexts
147
+ import { TemplatePage } from 'xertica-ui/pages'; // optional page templates
148
+ import 'xertica-ui/style.css'; // styles — import once at root
149
+ ```
150
+
151
+ The root `from 'xertica-ui'` barrel remains available for full backward compatibility.
152
+
153
+ > **TypeScript**: requires `"moduleResolution": "bundler"` (or `"node16"` / `"nodenext"`) in `tsconfig.json` to resolve subpath exports.
154
+
155
+ ### Component Independence Contract
156
+
157
+ `xertica-ui/style.css` is the only required global import. Public components are designed to render independently whenever possible, so importing one component into a consumer project should also bring the runtime logic that component needs.
158
+
159
+ `XerticaProvider` remains the recommended app-level convenience wrapper, but it is not required for most primitives. It composes the library providers for theme, brand colors, language, layout, assistant state, API keys, Google Maps, tooltips, and toasts.
160
+
161
+ Components with unavoidable external configuration, such as Google Maps, should render a configuration or error state instead of crashing the app.
162
+
163
+ ---
164
+
165
+ ## 🛠️ The Layout System
166
+
167
+ Xertica UI features an autonomous layout system managed by `LayoutContext`.
168
+
169
+ ### Mandatory Page Structure
170
+
171
+ Every page **must** use the `<PageHeader>` component for its title and primary actions. Never use raw `h1` or `div` for headers.
172
+
173
+ ```tsx
174
+ import { PageHeader, PageHeaderHeading, Button } from 'xertica-ui/ui';
175
+
176
+ export function MyPage() {
177
+ return (
178
+ <>
179
+ <PageHeader>
180
+ <PageHeaderHeading>Dashboard</PageHeaderHeading>
181
+ <Button>Action</Button>
182
+ </PageHeader>
183
+ <div className="p-6">{/* Page Content */}</div>
184
+ </>
185
+ );
186
+ }
187
+ ```
188
+
189
+ ### `useLayout()` Hook
190
+
191
+ Access the sidebar state, width, and toggle functions anywhere in the component tree:
192
+
193
+ ```tsx
194
+ import { useLayout } from 'xertica-ui/hooks';
195
+
196
+ const { sidebarWidth, isSidebarOpen, toggleSidebar } = useLayout();
197
+ ```
198
+
199
+ Use `useLayout()` when a page must fail early without a layout provider. Use `useOptionalLayout()` inside reusable components that should still render with internal fallbacks when imported in isolation.
200
+
201
+ ```tsx
202
+ import { useOptionalLayout } from 'xertica-ui/hooks';
203
+
204
+ const layout = useOptionalLayout();
205
+ const sidebarWidth = layout?.sidebarWidth ?? 0;
206
+ ```
207
+
208
+ ---
209
+
210
+ ## 🏗️ CLI Template — FSD/FDA Architecture
211
+
212
+ Projects scaffolded with `npx xertica-ui@latest init` follow **Feature-Sliced Design (FSD) + Feature-Driven Architecture (FDA)**:
213
+
214
+ ```
215
+ src/
216
+ app/ ← BrowserRouter, XerticaProvider, AuthGuard, AppLayout
217
+ shared/
218
+ config/ ← navigation.ts (route definitions)
219
+ lib/ ← auth.ts (localStorage helpers)
220
+ types/ ← auth.ts (User interface)
221
+ features/
222
+ auth/ui/ ← LoginContent, ForgotPasswordContent, VerifyEmailContent, ResetPasswordContent
223
+ home/
224
+ data/mock.ts ← typed fetch + factory functions like getMockRichSuggestions()
225
+ hooks/ ← useFeatureCards() language-aware queryKey
226
+ ui/ ← HomeContent
227
+ template/ui/ ← TemplateContent, FormTemplate
228
+ assistant/ ← AssistantConfig + useAssistantConfig() (always installed, AppLayout depends on it)
229
+ pages/ ← thin wrappers: LoginPage, HomePage, TemplatePage, AssistantPage,
230
+ styles/ ← index.css, xertica/tokens.css
231
+ i18n.ts ← generated by CLI — imports/resources for selected languages only
232
+ locales/
233
+ pt-BR.json
234
+ en.json ← only files for the languages you selected
235
+ es.json
236
+ .languages.json ← persisted selection (read by `npx xertica-ui update`)
237
+ ```
238
+
239
+ Each feature only imports from `shared/` or its own domain. Pages only compose features. Server-state hooks (e.g. `useFeatureCards`) include the active **language** in their `queryKey` so locale switching invalidates and refetches automatically. See `templates/guidelines/Guidelines.md` for the full architecture guide.
240
+
241
+ ---
242
+
243
+ ## 🧩 Component Catalog (100+ Components)
244
+
245
+ ### Layout & Navigation
246
+
247
+ `Header` · `Sidebar` · `PageHeader` · `Breadcrumb` · `NavigationMenu` · `Tabs` · `Pagination` · `Accordion` · `Collapsible`
248
+
249
+ ### Core Surfaces
250
+
251
+ `Card` · `Separator` · `ScrollArea` · `AspectRatio` · `Resizable` · `Skeleton` · `Empty`
252
+
253
+ ### Forms & Inputs
254
+
255
+ `Form` · `Input` · `Textarea` · `RichTextEditor` · `Label` · `Checkbox` · `RadioGroup` · `Switch` · `Select` · `Slider` · `Calendar` · `InputOTP` · `FileUpload` · `Search`
256
+
257
+ ### Actions & Data
258
+
259
+ `Button` · `Toggle` · `ToggleGroup` · `Rating` · `Table` · `Badge` · `Avatar` · `Progress` · `StatsCard` · `Timeline` · `Stepper` · `TreeView` · `NotificationBadge` · `Chart`
260
+
261
+ ### Overlays & Feedback
262
+
263
+ `Dialog` · `AlertDialog` · `Sheet` · `Drawer` · `Popover` · `HoverCard` · `Tooltip` · `Alert` · `Sonner (Toast)` · `Command`
264
+
265
+ ### Composed Blocks (with matching skeleton variants)
266
+
267
+ | Card | Skeleton |
268
+ |---|---|
269
+ | `FeatureCard` | `FeatureCardSkeleton` |
270
+ | `ActivityCard` | `ActivityCardSkeleton` |
271
+ | `ProfileCard` | `ProfileCardSkeleton` |
272
+ | `ProjectCard` | `ProjectCardSkeleton` |
273
+ | `QuickActionCard` | `QuickActionCardSkeleton` |
274
+ | `NotificationCard` | `NotificationCardSkeleton` |
275
+ | `StatsCard` (in `xertica-ui/ui`) | `StatsCardSkeleton` |
276
+
277
+ Each skeleton mirrors its card's visual layout with pulsing placeholders for loading states:
278
+
279
+ ```tsx
280
+ {isLoading
281
+ ? <ActivityCardSkeleton rows={5} />
282
+ : <ActivityCard items={items} />}
283
+ ```
284
+
285
+ ---
286
+
287
+ ## 🌟 Specialized Modules
288
+
289
+ ### 🤖 AI Assistant
290
+
291
+ Integrated AI chat panel with workspace support. Use `demoMode={true}` for mock responses without an API key; pass `demoMode={false}` and a `geminiApiKey` (via `<XerticaProvider apiKey="...">`) for real Gemini integration.
292
+
293
+ - `XerticaAssistant` · `MarkdownMessage` · `CodeBlock` · `AssistantChart` · `ModernChatInput` · `FormattedDocument`
294
+
295
+ ### 🗺️ Maps & Geolocation
296
+
297
+ First-class Google Maps integration.
298
+
299
+ - `Map` · `RouteMap` · `SimpleMap` · `GoogleMapsLoader`
300
+
301
+ ### 🎙️ Media
302
+
303
+ - `AudioPlayer` · `VideoPlayer` · `FloatingMediaWrapper`
304
+
305
+ ### 📄 Pages
306
+
307
+ - `LoginPage` · `HomePage` · `TemplatePage` · `AssistantPage` · `ForgotPasswordPage` · `ResetPasswordPage` · `VerifyEmailPage`
308
+
309
+ ### 🧱 Blocks
310
+
311
+ High-level dashboard and product patterns exported from `xertica-ui/blocks` (also re-exported from the root barrel). Every card ships with a matching `*Skeleton` loading-state companion — see the table in **Composed Blocks** above.
312
+
313
+ The CLI template includes a small fixed version badge so generated projects can visually identify which `xertica-ui` package version they are using.
314
+
315
+ ---
316
+
317
+ ## 📚 Storybook Documentation
318
+
319
+ Storybook Docs pages use each component's real story variations instead of repeating a single usage example. UI component MDX files now render the story list directly, so docs stay aligned with the component's public stories.
320
+
321
+ Map stories use a wider responsive preview frame, making `Map`, `RouteMap`, and related map examples readable in the Docs canvas.
322
+
323
+ ---
324
+
325
+ ## 🎨 Design Tokens
326
+
327
+ Xertica UI uses semantic CSS tokens. **Never use raw colors or generic Tailwind color classes**:
328
+
329
+ ```
330
+ Background: bg-background text-foreground
331
+ Card surface: bg-card text-card-foreground
332
+ Muted area: bg-muted text-muted-foreground
333
+ Primary action: bg-primary text-primary-foreground
334
+ Destructive: bg-destructive text-destructive-foreground
335
+ Border: border-border
336
+ ```
337
+
338
+ ---
339
+
340
+ ## 🌍 Localization
341
+
342
+ Xertica UI is fully internationalized via **`i18next`** + **`react-i18next`**.
343
+
344
+ - **UI Components**: Translated out-of-the-box in **Portuguese (pt-BR)**, **English**, and **Español**. Every component uses `useTranslation()` — no hardcoded strings.
345
+ - **Runtime extensibility**: Add custom locales (e.g. `fr`, `ja`, `de`) at runtime via `<XerticaProvider availableLanguages={[...]}>` — no source-file edits required.
346
+ - **Monolingual mode**: Configure a single language to make the `LanguageSelector` auto-hide.
347
+ - **Language-aware React Query**: Hooks include the active language in their `queryKey` so mock/API responses translated via `i18n.t()` refetch automatically when the user switches language. No page reload required.
348
+ - **Documentation/Code**: Strictly maintained in **English** for AI Agent compatibility and global developer standard.
349
+
350
+ See [`docs/i18n.md`](./docs/i18n.md) for setup, runtime configuration, and adding custom locales.
351
+
352
+ ---
353
+
354
+ ## 💻 Tech Stack
355
+
356
+ | Technology | Version |
357
+ | ------------ | ------- |
358
+ | React | 18.3 |
359
+ | TypeScript | 5.7 |
360
+ | Tailwind CSS | 4.0 |
361
+ | Vite | 6.0 |
362
+ | Radix UI | Latest |
363
+ | Lucide React | 0.469+ |
364
+ | Vitest | 4.1 |
365
+
366
+ ---
367
+
368
+ ## 📜 Scripts
369
+
370
+ | Command | Description |
371
+ | -------------------- | -------------------------------------- |
372
+ | `npm run dev` | Start development server |
373
+ | `npm run build` | Production bundle |
374
+ | `npm run storybook` | Launch component library documentation |
375
+ | `npm run test` | Run unit tests via Vitest |
376
+ | `npm run type-check` | TypeScript validation |
377
+
378
+ ---
379
+
380
+ ## ⚖️ License
381
+
382
+ Proprietary — Xertica.ai Team.