xertica-ui 1.7.4 → 1.8.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 (357) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +184 -227
  3. package/components/Introduction.mdx +3 -0
  4. package/components/assistant/code-block/CodeBlock.tsx +262 -262
  5. package/components/assistant/code-block/code-block.stories.tsx +57 -57
  6. package/components/assistant/code-block/code-block.test.tsx +44 -44
  7. package/components/assistant/formatted-document/FormattedDocument.tsx +14 -3
  8. package/components/assistant/formatted-document/formatted-document.test.tsx +42 -42
  9. package/components/assistant/markdown-message/MarkdownMessage.tsx +14 -4
  10. package/components/assistant/markdown-message/markdown-message.test.tsx +33 -33
  11. package/components/assistant/modern-chat-input/ModernChatInput.tsx +11 -10
  12. package/components/assistant/modern-chat-input/modern-chat-input.stories.tsx +2 -1
  13. package/components/assistant/modern-chat-input/modern-chat-input.test.tsx +72 -72
  14. package/components/assistant/xertica-assistant/xertica-assistant.mdx +14 -16
  15. package/components/assistant/xertica-assistant/xertica-assistant.stories.tsx +53 -24
  16. package/components/assistant/xertica-assistant/xertica-assistant.test.tsx +65 -65
  17. package/components/assistant/xertica-assistant/xertica-assistant.tsx +10 -8
  18. package/components/brand/branding/branding.mdx +27 -27
  19. package/components/brand/language-selector/language-selector.test.tsx +27 -27
  20. package/components/brand/theme-toggle/theme-toggle.test.tsx +34 -34
  21. package/components/brand/xertica-logo/xertica-logo.test.tsx +26 -26
  22. package/components/brand/xertica-orbe/xertica-orbe.test.tsx +19 -19
  23. package/components/brand/xertica-provider/xertica-provider.test.tsx +29 -29
  24. package/components/brand/xertica-xlogo/xertica-xlogo.test.tsx +16 -16
  25. package/components/examples/LocationPickerExample.tsx +328 -328
  26. package/components/examples/RouteMapExamples.tsx +329 -329
  27. package/components/index.ts +3 -4
  28. package/components/layout/header/header.test.tsx +70 -70
  29. package/components/layout/sidebar/sidebar.test.tsx +67 -67
  30. package/components/layout/sidebar/sidebar.tsx +1 -0
  31. package/components/media/FloatingMediaWrapper.tsx +221 -54
  32. package/components/media/audio-player/AudioPlayer.mdx +67 -0
  33. package/components/media/audio-player/AudioPlayer.stories.tsx +120 -0
  34. package/components/media/audio-player/AudioPlayer.test.tsx +106 -0
  35. package/components/media/audio-player/AudioPlayer.tsx +654 -0
  36. package/components/media/video-player/VideoPlayer.mdx +103 -0
  37. package/components/media/video-player/VideoPlayer.stories.tsx +94 -0
  38. package/components/media/video-player/VideoPlayer.test.tsx +73 -0
  39. package/components/media/{VideoPlayer.tsx → video-player/VideoPlayer.tsx} +27 -21
  40. package/components/media/video-player/index.ts +1 -0
  41. package/components/pages/forgot-password-page/forgot-password-page.test.tsx +42 -42
  42. package/components/pages/home-page/home-page.test.tsx +41 -41
  43. package/components/pages/login-page/login-page.test.tsx +60 -60
  44. package/components/pages/template-page/template-page.test.tsx +38 -38
  45. package/components/shared/assistant-utils.test.ts +18 -18
  46. package/components/shared/use-mobile.test.ts +16 -16
  47. package/components/shared/utils.test.ts +14 -14
  48. package/components/ui/accordion/accordion.test.tsx +64 -64
  49. package/components/ui/alert/alert.test.tsx +55 -55
  50. package/components/ui/alert-dialog/alert-dialog.stories.tsx +8 -2
  51. package/components/ui/alert-dialog/alert-dialog.test.tsx +68 -68
  52. package/components/ui/aspect-ratio/aspect-ratio.test.tsx +28 -28
  53. package/components/ui/assistant-chart/assistant-chart.test.tsx +42 -42
  54. package/components/ui/avatar/avatar.stories.tsx +26 -5
  55. package/components/ui/avatar/avatar.test.tsx +55 -55
  56. package/components/ui/badge/badge.test.tsx +40 -40
  57. package/components/ui/breadcrumb/breadcrumb.stories.tsx +35 -7
  58. package/components/ui/breadcrumb/breadcrumb.test.tsx +70 -70
  59. package/components/ui/button/button.test.tsx +64 -64
  60. package/components/ui/calendar/calendar.stories.tsx +2 -2
  61. package/components/ui/calendar/calendar.test.tsx +47 -47
  62. package/components/ui/card/card.test.tsx +55 -55
  63. package/components/ui/carousel/carousel.stories.tsx +10 -2
  64. package/components/ui/carousel/carousel.test.tsx +74 -74
  65. package/components/ui/chart/chart.test.tsx +49 -49
  66. package/components/ui/checkbox/checkbox.test.tsx +38 -38
  67. package/components/ui/collapsible/collapsible.stories.tsx +36 -30
  68. package/components/ui/collapsible/collapsible.test.tsx +51 -51
  69. package/components/ui/command/command.stories.tsx +2 -2
  70. package/components/ui/command/command.test.tsx +48 -48
  71. package/components/ui/command/command.tsx +2 -0
  72. package/components/ui/context-menu/context-menu.stories.tsx +2 -2
  73. package/components/ui/context-menu/context-menu.test.tsx +59 -59
  74. package/components/ui/dialog/dialog.stories.tsx +11 -0
  75. package/components/ui/dialog/dialog.test.tsx +76 -76
  76. package/components/ui/drawer/drawer.stories.tsx +19 -2
  77. package/components/ui/drawer/drawer.test.tsx +65 -65
  78. package/components/ui/dropdown-menu/dropdown-menu.stories.tsx +13 -2
  79. package/components/ui/dropdown-menu/dropdown-menu.test.tsx +60 -60
  80. package/components/ui/empty/empty.stories.tsx +39 -11
  81. package/components/ui/empty/empty.test.tsx +37 -37
  82. package/components/ui/file-upload/file-upload.test.tsx +65 -65
  83. package/components/ui/form/form.test.tsx +80 -80
  84. package/components/ui/google-maps-loader/google-maps-loader.test.tsx +35 -35
  85. package/components/ui/hover-card/hover-card.stories.tsx +18 -2
  86. package/components/ui/hover-card/hover-card.test.tsx +50 -50
  87. package/components/ui/input/input.test.tsx +47 -47
  88. package/components/ui/input-otp/input-otp.stories.tsx +22 -17
  89. package/components/ui/input-otp/input-otp.test.tsx +56 -56
  90. package/components/ui/label/label.stories.tsx +16 -2
  91. package/components/ui/label/label.test.tsx +21 -21
  92. package/components/ui/map/map.test.tsx +74 -74
  93. package/components/ui/map/mock.test.tsx +13 -13
  94. package/components/ui/map-layers/map-layers.test.tsx +44 -44
  95. package/components/ui/menubar/menubar.stories.tsx +19 -5
  96. package/components/ui/menubar/menubar.test.tsx +51 -51
  97. package/components/ui/navigation-menu/navigation-menu.stories.tsx +19 -5
  98. package/components/ui/navigation-menu/navigation-menu.test.tsx +47 -47
  99. package/components/ui/notification-badge/notification-badge.stories.tsx +3 -3
  100. package/components/ui/notification-badge/notification-badge.test.tsx +61 -61
  101. package/components/ui/page-header/page-header.test.tsx +42 -42
  102. package/components/ui/pagination/pagination.stories.tsx +25 -7
  103. package/components/ui/pagination/pagination.test.tsx +61 -61
  104. package/components/ui/popover/popover.stories.tsx +9 -2
  105. package/components/ui/popover/popover.test.tsx +50 -50
  106. package/components/ui/progress/progress.test.tsx +23 -23
  107. package/components/ui/progress/progress.tsx +1 -0
  108. package/components/ui/radio-group/radio-group.stories.tsx +13 -2
  109. package/components/ui/radio-group/radio-group.test.tsx +54 -54
  110. package/components/ui/rating/rating.test.tsx +48 -48
  111. package/components/ui/rating/rating.tsx +1 -0
  112. package/components/ui/resizable/resizable.test.tsx +58 -58
  113. package/components/ui/rich-text-editor/rich-text-editor.mdx +21 -7
  114. package/components/ui/rich-text-editor/rich-text-editor.stories.tsx +55 -6
  115. package/components/ui/rich-text-editor/rich-text-editor.test.tsx +13 -10
  116. package/components/ui/rich-text-editor/rich-text-editor.tsx +79 -26
  117. package/components/ui/route-map/route-map.test.tsx +95 -95
  118. package/components/ui/scroll-area/scroll-area.stories.tsx +2 -2
  119. package/components/ui/scroll-area/scroll-area.test.tsx +27 -27
  120. package/components/ui/scroll-area/scroll-area.tsx +3 -0
  121. package/components/ui/search/search.test.tsx +54 -54
  122. package/components/ui/select/select.stories.tsx +31 -18
  123. package/components/ui/select/select.test.tsx +63 -63
  124. package/components/ui/separator/separator.stories.tsx +14 -2
  125. package/components/ui/separator/separator.test.tsx +23 -23
  126. package/components/ui/sheet/sheet.stories.tsx +13 -2
  127. package/components/ui/sheet/sheet.test.tsx +60 -60
  128. package/components/ui/simple-map/simple-map.test.tsx +47 -47
  129. package/components/ui/skeleton/skeleton.stories.tsx +2 -2
  130. package/components/ui/skeleton/skeleton.test.tsx +19 -19
  131. package/components/ui/slider/slider.test.tsx +25 -25
  132. package/components/ui/slider/slider.tsx +4 -3
  133. package/components/ui/sonner/sonner.test.tsx +24 -24
  134. package/components/ui/stats-card/stats-card.test.tsx +38 -38
  135. package/components/ui/stepper/stepper.stories.tsx +2 -2
  136. package/components/ui/stepper/stepper.test.tsx +47 -47
  137. package/components/ui/switch/switch.stories.tsx +12 -2
  138. package/components/ui/switch/switch.test.tsx +33 -33
  139. package/components/ui/table/table.stories.tsx +3 -3
  140. package/components/ui/table/table.test.tsx +50 -50
  141. package/components/ui/tabs/tabs.stories.tsx +16 -2
  142. package/components/ui/tabs/tabs.test.tsx +50 -50
  143. package/components/ui/textarea/textarea.test.tsx +28 -28
  144. package/components/ui/timeline/timeline.stories.tsx +27 -6
  145. package/components/ui/timeline/timeline.test.tsx +53 -53
  146. package/components/ui/toggle/toggle.test.tsx +32 -32
  147. package/components/ui/toggle-group/toggle-group.test.tsx +47 -47
  148. package/components/ui/tooltip/tooltip.stories.tsx +9 -2
  149. package/components/ui/tooltip/tooltip.test.tsx +37 -37
  150. package/components/ui/tree-view/tree-view.test.tsx +58 -58
  151. package/components.json +99 -20
  152. package/contexts/ApiKeyContext.test.tsx +26 -26
  153. package/contexts/ApiKeyContext.tsx +145 -145
  154. package/contexts/AssistenteContext.test.tsx +17 -17
  155. package/contexts/AssistenteContext.tsx +144 -144
  156. package/contexts/BrandColorsContext.test.tsx +21 -21
  157. package/contexts/LanguageContext.test.tsx +29 -29
  158. package/contexts/LanguageContext.tsx +35 -35
  159. package/contexts/LayoutContext.test.tsx +23 -23
  160. package/contexts/ThemeContext.test.tsx +36 -36
  161. package/contexts/ThemeContext.tsx +105 -105
  162. package/dist/components/AudioPlayer.d.ts +35 -35
  163. package/dist/components/CodeBlock.d.ts +28 -28
  164. package/dist/components/DocumentEditor.d.ts +26 -26
  165. package/dist/components/ForgotPasswordPage.d.ts +13 -13
  166. package/dist/components/FormattedDocument.d.ts +25 -25
  167. package/dist/components/Header.d.ts +72 -72
  168. package/dist/components/HomeContent.d.ts +20 -20
  169. package/dist/components/HomePage.d.ts +26 -26
  170. package/dist/components/LanguageSelector.d.ts +26 -26
  171. package/dist/components/LoginPage.d.ts +25 -25
  172. package/dist/components/MarkdownMessage.d.ts +24 -24
  173. package/dist/components/ModernChatInput.d.ts +44 -44
  174. package/dist/components/PodcastPlayer.d.ts +41 -41
  175. package/dist/components/ResetPasswordPage.d.ts +14 -14
  176. package/dist/components/Sidebar.d.ts +126 -126
  177. package/dist/components/TemplateContent.d.ts +19 -19
  178. package/dist/components/TemplatePage.d.ts +24 -24
  179. package/dist/components/ThemeToggle.d.ts +26 -26
  180. package/dist/components/VerifyEmailPage.d.ts +14 -14
  181. package/dist/components/XerticaLogo.d.ts +24 -24
  182. package/dist/components/XerticaOrbe.d.ts +23 -23
  183. package/dist/components/XerticaProvider.d.ts +35 -35
  184. package/dist/components/XerticaXLogo.d.ts +23 -23
  185. package/dist/components/assistant-utils.d.ts +21 -21
  186. package/dist/components/index.d.ts +2 -4
  187. package/dist/components/layout-constants.d.ts +8 -8
  188. package/dist/components/media/FloatingMediaWrapper.d.ts +5 -1
  189. package/dist/components/media/audio-player/AudioPlayer.d.ts +36 -0
  190. package/dist/components/media/audio-player/index.d.ts +1 -0
  191. package/dist/components/media/video-player/VideoPlayer.d.ts +9 -0
  192. package/dist/components/media/video-player/index.d.ts +1 -0
  193. package/dist/components/ui/accordion.d.ts +20 -20
  194. package/dist/components/ui/alert-dialog.d.ts +26 -26
  195. package/dist/components/ui/alert.d.ts +25 -25
  196. package/dist/components/ui/aspect-ratio.d.ts +14 -14
  197. package/dist/components/ui/avatar.d.ts +20 -20
  198. package/dist/components/ui/badge.d.ts +22 -22
  199. package/dist/components/ui/breadcrumb.d.ts +23 -23
  200. package/dist/components/ui/button.d.ts +37 -37
  201. package/dist/components/ui/calendar.d.ts +20 -20
  202. package/dist/components/ui/card.d.ts +21 -21
  203. package/dist/components/ui/carousel.d.ts +31 -31
  204. package/dist/components/ui/chart.d.ts +55 -55
  205. package/dist/components/ui/checkbox.d.ts +16 -16
  206. package/dist/components/ui/collapsible.d.ts +16 -16
  207. package/dist/components/ui/command.d.ts +29 -29
  208. package/dist/components/ui/context-menu.d.ts +37 -37
  209. package/dist/components/ui/dialog.d.ts +33 -33
  210. package/dist/components/ui/drawer.d.ts +26 -26
  211. package/dist/components/ui/dropdown-menu.d.ts +37 -37
  212. package/dist/components/ui/empty.d.ts +22 -22
  213. package/dist/components/ui/file-upload.d.ts +24 -24
  214. package/dist/components/ui/form.d.ts +37 -37
  215. package/dist/components/ui/hover-card.d.ts +18 -18
  216. package/dist/components/ui/input-otp.d.ts +23 -23
  217. package/dist/components/ui/input.d.ts +25 -25
  218. package/dist/components/ui/label.d.ts +15 -15
  219. package/dist/components/ui/map-layers.d.ts +48 -48
  220. package/dist/components/ui/map.d.ts +82 -82
  221. package/dist/components/ui/menubar.d.ts +39 -39
  222. package/dist/components/ui/navigation-menu.d.ts +26 -26
  223. package/dist/components/ui/notification-badge.d.ts +24 -24
  224. package/dist/components/ui/page-header.d.ts +76 -76
  225. package/dist/components/ui/pagination.d.ts +25 -25
  226. package/dist/components/ui/popover.d.ts +19 -19
  227. package/dist/components/ui/progress.d.ts +15 -15
  228. package/dist/components/ui/radio-group.d.ts +17 -17
  229. package/dist/components/ui/rating.d.ts +24 -24
  230. package/dist/components/ui/resizable.d.ts +39 -39
  231. package/dist/components/ui/route-map.d.ts +41 -41
  232. package/dist/components/ui/scroll-area.d.ts +16 -16
  233. package/dist/components/ui/search.d.ts +20 -20
  234. package/dist/components/ui/select.d.ts +27 -27
  235. package/dist/components/ui/separator.d.ts +15 -15
  236. package/dist/components/ui/sheet.d.ts +26 -26
  237. package/dist/components/ui/simple-map.d.ts +57 -57
  238. package/dist/components/ui/skeleton.d.ts +14 -14
  239. package/dist/components/ui/slider.d.ts +16 -16
  240. package/dist/components/ui/sonner.d.ts +15 -15
  241. package/dist/components/ui/stats-card.d.ts +29 -29
  242. package/dist/components/ui/stepper.d.ts +31 -31
  243. package/dist/components/ui/switch.d.ts +15 -15
  244. package/dist/components/ui/table.d.ts +22 -22
  245. package/dist/components/ui/tabs.d.ts +19 -19
  246. package/dist/components/ui/textarea.d.ts +15 -15
  247. package/dist/components/ui/timeline.d.ts +24 -24
  248. package/dist/components/ui/toggle-group.d.ts +24 -24
  249. package/dist/components/ui/toggle.d.ts +23 -23
  250. package/dist/components/ui/tooltip.d.ts +19 -19
  251. package/dist/components/ui/tree-view.d.ts +28 -28
  252. package/dist/components/ui/xertica-assistant.d.ts +241 -241
  253. package/dist/index.es.js +810 -960
  254. package/dist/index.umd.js +809 -958
  255. package/dist/xertica-ui.css +1 -1
  256. package/docs/ai-usage.md +174 -174
  257. package/docs/architecture.md +1 -1
  258. package/docs/components/accordion.md +114 -114
  259. package/docs/components/alert-dialog.md +127 -127
  260. package/docs/components/aspect-ratio.md +58 -58
  261. package/docs/components/assistant.md +1 -1
  262. package/docs/components/audio-player.md +42 -34
  263. package/docs/components/avatar.md +103 -103
  264. package/docs/components/badge.md +75 -75
  265. package/docs/components/breadcrumb.md +104 -104
  266. package/docs/components/button.md +162 -162
  267. package/docs/components/calendar.md +99 -99
  268. package/docs/components/card.md +162 -162
  269. package/docs/components/carousel.md +100 -100
  270. package/docs/components/chart.md +148 -148
  271. package/docs/components/checkbox.md +86 -86
  272. package/docs/components/collapsible.md +91 -91
  273. package/docs/components/command.md +98 -98
  274. package/docs/components/context-menu.md +81 -81
  275. package/docs/components/dialog.md +155 -155
  276. package/docs/components/drawer.md +107 -107
  277. package/docs/components/dropdown-menu.md +131 -131
  278. package/docs/components/empty.md +136 -136
  279. package/docs/components/file-upload.md +83 -83
  280. package/docs/components/floating-media-wrapper.md +63 -0
  281. package/docs/components/form.md +150 -150
  282. package/docs/components/hover-card.md +86 -86
  283. package/docs/components/input-otp.md +102 -102
  284. package/docs/components/label.md +67 -67
  285. package/docs/components/map.md +76 -76
  286. package/docs/components/menubar.md +83 -83
  287. package/docs/components/navigation-menu.md +83 -83
  288. package/docs/components/notification-badge.md +61 -61
  289. package/docs/components/pagination.md +121 -121
  290. package/docs/components/popover.md +121 -121
  291. package/docs/components/progress.md +80 -80
  292. package/docs/components/radio-group.md +127 -127
  293. package/docs/components/rating.md +77 -77
  294. package/docs/components/resizable.md +88 -88
  295. package/docs/components/route-map.md +124 -124
  296. package/docs/components/scroll-area.md +58 -58
  297. package/docs/components/search.md +75 -75
  298. package/docs/components/select.md +148 -148
  299. package/docs/components/separator.md +58 -58
  300. package/docs/components/sheet.md +124 -124
  301. package/docs/components/skeleton.md +92 -92
  302. package/docs/components/slider.md +90 -90
  303. package/docs/components/sonner.md +118 -118
  304. package/docs/components/stats-card.md +119 -119
  305. package/docs/components/stepper.md +122 -122
  306. package/docs/components/switch.md +111 -111
  307. package/docs/components/table.md +138 -138
  308. package/docs/components/tabs.md +117 -117
  309. package/docs/components/textarea.md +86 -86
  310. package/docs/components/timeline.md +81 -81
  311. package/docs/components/toggle-group.md +68 -68
  312. package/docs/components/toggle.md +66 -66
  313. package/docs/components/tooltip.md +116 -116
  314. package/docs/components/tree-view.md +78 -78
  315. package/docs/components/use-mobile.md +100 -100
  316. package/docs/components/video-player.md +68 -0
  317. package/docs/guidelines.md +203 -203
  318. package/docs/llms.md +10 -2
  319. package/docs/patterns/analytics.md +208 -208
  320. package/docs/patterns/crud.md +158 -158
  321. package/docs/patterns/form.md +244 -244
  322. package/docs/patterns/login.md +167 -167
  323. package/guidelines/Guidelines.md +657 -657
  324. package/hooks/useTheme.test.tsx +16 -16
  325. package/llms-full.txt +21 -80
  326. package/llms.txt +15 -8
  327. package/mcp/resources.json +22 -22
  328. package/mcp/tools.json +35 -35
  329. package/package.json +2 -2
  330. package/scripts/a11y-audit.mjs +162 -0
  331. package/scripts/ai-validator.ts +83 -83
  332. package/templates/package.json +2 -2
  333. package/templates/src/app/pages/CrudTemplate.tsx +106 -106
  334. package/templates/src/app/pages/DashboardTemplate.tsx +101 -101
  335. package/templates/src/app/pages/FormTemplate.tsx +109 -109
  336. package/templates/src/app/pages/LoginTemplate.tsx +52 -52
  337. package/utils/demo-responses.test.ts +10 -10
  338. package/utils/demo-responses.ts +114 -114
  339. package/utils/gemini.test.ts +24 -24
  340. package/components/blocks/audio-player/AudioPlayer.tsx +0 -244
  341. package/components/blocks/audio-player/audio-player.mdx +0 -31
  342. package/components/blocks/audio-player/audio-player.stories.tsx +0 -36
  343. package/components/blocks/audio-player/audio-player.test.tsx +0 -69
  344. package/components/blocks/document-editor/DocumentEditor.tsx +0 -530
  345. package/components/blocks/document-editor/document-editor.mdx +0 -31
  346. package/components/blocks/document-editor/document-editor.stories.tsx +0 -38
  347. package/components/blocks/document-editor/document-editor.test.tsx +0 -59
  348. package/components/blocks/document-editor/index.ts +0 -1
  349. package/components/blocks/podcast-player/PodcastPlayer.tsx +0 -464
  350. package/components/blocks/podcast-player/index.ts +0 -1
  351. package/components/blocks/podcast-player/podcast-player.mdx +0 -38
  352. package/components/blocks/podcast-player/podcast-player.stories.tsx +0 -55
  353. package/components/blocks/podcast-player/podcast-player.test.tsx +0 -53
  354. package/components/media/AudioPlayer.tsx +0 -284
  355. package/docs/components/document-editor.md +0 -69
  356. package/docs/components/podcast-player.md +0 -84
  357. /package/components/{blocks → media}/audio-player/index.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,32 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ---
9
9
 
10
+ ## [1.8.0] — 2026-04-27
11
+
12
+ ### Added
13
+ - **VideoPlayer UI Enhancements** — Added gradient overlay on controls for improved contrast against video content:
14
+ - Gradient: `from-black/60 via-black/30 to-transparent` with `pt-12` spacing
15
+ - White progress bar with `bg-white/30` track, `bg-white` fill, and `rounded-r-sm` on filled portion
16
+ - White icons with `drop-shadow-md` for visibility
17
+ - Buttons use `text-white hover:text-white hover:bg-black/50` for proper hover states
18
+ - **Slider Visual Fixes** — Improved progress bar alignment:
19
+ - Added left margin `ml-2` to track for thumb alignment
20
+ - Added `rounded-r-sm` to Range for filled portion
21
+ - Adjusted track/margins for proper visual alignment at full value
22
+
23
+ ### Changed
24
+ - **Documentation** — Updated component counts across all docs:
25
+ - `llms.txt`: 75 → 97 components
26
+ - `llms-full.txt`: Added statistics table
27
+ - `docs/llms.md`: Added statistics section
28
+ - `Introduction.mdx`: Added "97 Components" badge
29
+ - **components.json** — 75 → 89 components (added missing Media, Assistant, Pages, and Map components)
30
+
31
+ ### Fixed
32
+ - **Slider Progress Bar** — Fixed visual gap where thumb doesn't align with filled bar at end position by adjusting track margins
33
+
34
+ ---
35
+
10
36
  ## [1.7.0] — 2026-04-23
11
37
 
12
38
  ### Fixed
package/README.md CHANGED
@@ -1,227 +1,184 @@
1
- # Xertica UI
2
-
3
- > **Enterprise-grade React design system** built on Tailwind CSS v4, Radix UI, and Lucide Icons — with an AI-first documentation layer for accurate LLM-driven composition.
4
-
5
- [![npm version](https://img.shields.io/npm/v/xertica-ui)](https://www.npmjs.com/package/xertica-ui)
6
- [![license](https://img.shields.io/badge/license-proprietary-red)](./LICENSE)
7
-
8
- ---
9
-
10
- ## Quick Start CLI (Recommended)
11
-
12
- Scaffold a full application in seconds:
13
-
14
- ```bash
15
- npx xertica-ui@latest init my-app
16
- cd my-app
17
- npm run dev
18
- ```
19
-
20
- The CLI scaffolds a complete Vite + React + TypeScript project with routing, authentication pages, a sidebar layout, and all Xertica UI components pre-configured.
21
-
22
- ---
23
-
24
- ## Installation as a Library
25
-
26
- To add Xertica UI to an existing React project:
27
-
28
- ```bash
29
- npm install xertica-ui
30
- ```
31
-
32
- **1. Import the stylesheet** in your entry file (`main.tsx` or `App.tsx`):
33
-
34
- ```tsx
35
- import 'xertica-ui/style.css';
36
- ```
37
-
38
- **2. Wrap your app** with `XerticaProvider`:
39
-
40
- ```tsx
41
- import { XerticaProvider } from 'xertica-ui';
42
-
43
- function App() {
44
- return (
45
- <XerticaProvider>
46
- <YourApp />
47
- </XerticaProvider>
48
- );
49
- }
50
- ```
51
-
52
- **3. Use components:**
53
-
54
- ```tsx
55
- import { Button, Card, CardContent } from 'xertica-ui';
56
-
57
- export function Example() {
58
- return (
59
- <Card>
60
- <CardContent>
61
- <Button>Get Started</Button>
62
- </CardContent>
63
- </Card>
64
- );
65
- }
66
- ```
67
-
68
- ---
69
-
70
- ## XerticaProvider Props
71
-
72
- | Prop | Type | Description |
73
- |---|---|---|
74
- | `apiKey` | `string` | Google Gemini API key for the AI assistant |
75
- | `googleMapsApiKey` | `string` | Google Maps JavaScript API key |
76
- | `primaryColor` | `string` | Override the primary brand color |
77
- | `defaultBrandTheme` | `string` | Preset brand theme name |
78
- | `useCustomTokens` | `boolean` | Use local `tokens.css` instead of library defaults |
79
- | `disableDarkMode` | `boolean` | Disables dark mode support |
80
-
81
- ---
82
-
83
- ## Component Catalog
84
-
85
- ### Layout & Navigation
86
- `Header` · `Sidebar` · `PageHeader` · `PageHeaderHeading` · `PageHeaderDescription` · `Breadcrumb` · `NavigationMenu` · `Tabs` · `Pagination`
87
-
88
- ### Surfaces
89
- `Card` · `CardHeader` · `CardTitle` · `CardDescription` · `CardContent` · `CardFooter` · `Separator` · `ScrollArea` · `AspectRatio` · `ResizablePanelGroup`
90
-
91
- ### Form & Input
92
- `Form` · `FormField` · `FormItem` · `FormLabel` · `FormControl` · `FormMessage` · `Input` · `Textarea` · `Label` · `Checkbox` · `RadioGroup` · `Switch` · `Slider` · `Select` · `Calendar` · `InputOTP` · `FileUpload` · `Search`
93
-
94
- ### Actions
95
- `Button` · `Toggle` · `ToggleGroup` · `Rating`
96
-
97
- ### Data Display
98
- `Table` · `Badge` · `Avatar` · `Progress` · `Skeleton` · `Empty` · `StatsCard` · `Timeline` · `Stepper` · `TreeView` · `NotificationBadge` · `ChartContainer`
99
-
100
- ### Structure & Utilities
101
- `Accordion` · `Collapsible` · `Carousel` · `ScrollArea`
102
-
103
- ### Overlays & Feedback
104
- `Dialog` · `AlertDialog` · `Sheet` · `Drawer` · `Popover` · `HoverCard` · `Tooltip` · `Alert` · `Toaster` · `Command`
105
-
106
- ### Menus
107
- `DropdownMenu` · `ContextMenu` · `Menubar`
108
-
109
- ### Maps
110
- `Map` · `RouteMap`
111
-
112
- ### AI Features
113
- `XerticaAssistant`
114
-
115
- ### Hooks
116
- `useMobile` · `useIsMobile` · `useLayout`
117
-
118
- ---
119
-
120
- ## Design Tokens
121
-
122
- Xertica UI uses semantic CSS tokens **never use raw colors or Tailwind color classes**:
123
-
124
- ```
125
- Background: bg-background text-foreground
126
- Card surface: bg-card text-card-foreground
127
- Muted area: bg-muted text-muted-foreground
128
- Primary action: bg-primary text-primary-foreground
129
- Destructive: bg-destructive text-destructive-foreground
130
- Border: border-border
131
- ```
132
-
133
- Tokens are defined in `styles/xertica/tokens.css` and customizable per project:
134
-
135
- ```css
136
- :root {
137
- --primary: rgba(44, 39, 91, 1);
138
- --radius: 6px;
139
- --radius-card: 12px;
140
- }
141
- ```
142
-
143
- ---
144
-
145
- ## Dark Mode
146
-
147
- Full dark mode support via `data-mode="dark"` attribute or `.dark` class, managed automatically by `XerticaProvider`. User preference is persisted to `localStorage`.
148
-
149
- ---
150
-
151
- ## AI Agent / LLM Usage
152
-
153
- Xertica UI ships with a comprehensive AI-first documentation layer in `docs/`:
154
-
155
- | File | Purpose |
156
- |---|---|
157
- | `docs/llms.md` | **Start here** — master index for AI agents |
158
- | `docs/ai-usage.md` | Mandatory rules for LLM-driven code generation |
159
- | `docs/guidelines.md` | Design token semantics and composition rules |
160
- | `docs/layout.md` | `LayoutContext` and `useLayout` API reference |
161
- | `docs/components/*.md` | Per-component reference with props, examples, and AI rules |
162
- | `docs/patterns/*.md` | Full page composition patterns (dashboard, CRUD, form, etc.) |
163
-
164
- Point your LLM agent to `docs/llms.md` as the entrypoint.
165
-
166
- ---
167
-
168
- ## Tech Stack
169
-
170
- | Technology | Version |
171
- |---|---|
172
- | React | 18.3 |
173
- | TypeScript | 5.7 |
174
- | Tailwind CSS | 4.0 |
175
- | Vite | 6.0 |
176
- | Radix UI | latest |
177
- | Recharts | 2.x |
178
- | Lucide React | 0.469+ |
179
- | react-hook-form | 7.x |
180
- | zod | 3.x |
181
-
182
- ---
183
-
184
- ## Peer Dependencies
185
-
186
- ```json
187
- {
188
- "react": "^18.3.1",
189
- "react-dom": "^18.3.1",
190
- "react-router-dom": "^7.1.3"
191
- }
192
- ```
193
-
194
- ---
195
-
196
- ## Scripts
197
-
198
- | Command | Description |
199
- |---|---|
200
- | `npm run dev` | Start development server |
201
- | `npm run build` | Production bundle |
202
- | `npm run type-check` | TypeScript validation |
203
- | `npm run lint` | ESLint check |
204
-
205
- ---
206
-
207
- ## Troubleshooting
208
-
209
- **CSS not loading:**
210
- ```bash
211
- npm install
212
- rm -rf node_modules/.vite
213
- npm run dev
214
- ```
215
-
216
- **TypeScript errors:**
217
- ```bash
218
- npm run type-check
219
- ```
220
-
221
- **Maps not rendering:** Ensure `googleMapsApiKey` is passed to `<XerticaProvider>` and the Maps JavaScript API + Directions API are enabled in your Google Cloud project.
222
-
223
- ---
224
-
225
- ## License
226
-
227
- 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/npm/v/xertica-ui)](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-full.txt`](./llms-full.txt) | **Complete documentation** of all 96 components in a single file for large-context LLMs. |
18
+ | `docs/llms.md` | Master index for agents to navigate the documentation folder. |
19
+
20
+ ---
21
+
22
+ ## 🚀 Quick Start — CLI (Recommended)
23
+
24
+ Scaffold a full application with pre-configured routing, layout, and components:
25
+
26
+ ```bash
27
+ npx xertica-ui@latest init my-app
28
+ cd my-app
29
+ npm run dev
30
+ ```
31
+
32
+ The CLI scaffolds a complete Vite + React + TypeScript project with Portuguese UI localization and English AI-ready documentation.
33
+
34
+ ---
35
+
36
+ ## 📦 Installation as a Library
37
+
38
+ To add Xertica UI to an existing React project:
39
+
40
+ ```bash
41
+ npm install xertica-ui
42
+ ```
43
+
44
+ **1. Import the stylesheet** in your entry file (`main.tsx` or `App.tsx`):
45
+
46
+ ```tsx
47
+ import 'xertica-ui/style.css';
48
+ ```
49
+
50
+ **2. Wrap your app** with `XerticaProvider`:
51
+
52
+ ```tsx
53
+ import { XerticaProvider } from 'xertica-ui';
54
+
55
+ function App() {
56
+ return (
57
+ <XerticaProvider>
58
+ <YourApp />
59
+ </XerticaProvider>
60
+ );
61
+ }
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 🛠️ The Layout System
67
+
68
+ Xertica UI features an autonomous layout system managed by `LayoutContext`.
69
+
70
+ ### Mandatory Page Structure
71
+ Every page **must** use the `<PageHeader>` component for its title and primary actions. Never use raw `h1` or `div` for headers.
72
+
73
+ ```tsx
74
+ import { PageHeader, PageHeaderHeading, Button } from 'xertica-ui';
75
+
76
+ export function MyPage() {
77
+ return (
78
+ <>
79
+ <PageHeader>
80
+ <PageHeaderHeading>Dashboard</PageHeaderHeading>
81
+ <Button>Action</Button>
82
+ </PageHeader>
83
+ <div className="p-6">
84
+ {/* Page Content */}
85
+ </div>
86
+ </>
87
+ );
88
+ }
89
+ ```
90
+
91
+ ### `useLayout()` Hook
92
+ Access the sidebar state, width, and toggle functions anywhere in the component tree:
93
+ ```tsx
94
+ const { sidebarWidth, isSidebarOpen, toggleSidebar } = useLayout();
95
+ ```
96
+
97
+ ---
98
+
99
+ ## 🧩 Component Catalog (96 Components)
100
+
101
+ ### Layout & Navigation
102
+ `Header` · `Sidebar` · `PageHeader` · `Breadcrumb` · `NavigationMenu` · `Tabs` · `Pagination` · `Accordion` · `Collapsible`
103
+
104
+ ### Core Surfaces
105
+ `Card` · `Separator` · `ScrollArea` · `AspectRatio` · `Resizable` · `Skeleton` · `Empty`
106
+
107
+ ### Forms & Inputs
108
+ `Form` · `Input` · `Textarea` · `RichTextEditor` · `Label` · `Checkbox` · `RadioGroup` · `Switch` · `Select` · `Slider` · `Calendar` · `InputOTP` · `FileUpload` · `Search`
109
+
110
+ ### Actions & Data
111
+ `Button` · `Toggle` · `ToggleGroup` · `Rating` · `Table` · `Badge` · `Avatar` · `Progress` · `StatsCard` · `Timeline` · `Stepper` · `TreeView` · `NotificationBadge` · `Chart`
112
+
113
+ ### Overlays & Feedback
114
+ `Dialog` · `AlertDialog` · `Sheet` · `Drawer` · `Popover` · `HoverCard` · `Tooltip` · `Alert` · `Sonner (Toast)` · `Command`
115
+
116
+ ---
117
+
118
+ ## 🌟 Specialized Modules
119
+
120
+ ### 🤖 AI Assistant
121
+ Integrated AI chat panel with workspace support.
122
+ - `XerticaAssistant` · `MarkdownMessage` · `CodeBlock` · `AssistantChart`
123
+
124
+ ### 🗺️ Maps & Geolocation
125
+ First-class Google Maps integration.
126
+ - `Map` · `RouteMap` · `SimpleMap` · `GoogleMapsLoader`
127
+
128
+ ### 🎙️ Media
129
+ - `AudioPlayer` · `VideoPlayer` · `FloatingMediaWrapper`
130
+
131
+ ---
132
+
133
+ ## 🎨 Design Tokens
134
+
135
+ Xertica UI uses semantic CSS tokens. **Never use raw colors or generic Tailwind color classes**:
136
+
137
+ ```
138
+ Background: bg-background text-foreground
139
+ Card surface: bg-card text-card-foreground
140
+ Muted area: bg-muted text-muted-foreground
141
+ Primary action: bg-primary text-primary-foreground
142
+ Destructive: bg-destructive text-destructive-foreground
143
+ Border: border-border
144
+ ```
145
+
146
+ ---
147
+
148
+ ## 🌍 Localization
149
+
150
+ - **UI Components**: Fully localized in **Portuguese (pt-BR)** for end-users.
151
+ - **Documentation/Code**: Strictly maintained in **English** for AI Agent compatibility and global developer standard.
152
+
153
+ ---
154
+
155
+ ## 💻 Tech Stack
156
+
157
+ | Technology | Version |
158
+ |---|---|
159
+ | React | 18.3 |
160
+ | TypeScript | 5.7 |
161
+ | Tailwind CSS | 4.0 |
162
+ | Vite | 6.0 |
163
+ | Radix UI | Latest |
164
+ | Lucide React | 0.469+ |
165
+ | Vitest | 4.1 |
166
+
167
+ ---
168
+
169
+ ## 📜 Scripts
170
+
171
+ | Command | Description |
172
+ |---|---|
173
+ | `npm run dev` | Start development server |
174
+ | `npm run build` | Production bundle |
175
+ | `npm run storybook` | Launch component library documentation |
176
+ | `npm run test` | Run unit tests via Vitest |
177
+ | `npm run type-check` | TypeScript validation |
178
+
179
+ ---
180
+
181
+ ## ⚖️ License
182
+
183
+ Proprietary — Xertica AI Team.
184
+
@@ -12,6 +12,9 @@ import { XerticaLogo } from './brand/xertica-logo/XerticaLogo';
12
12
  <p className="text-xl text-muted-foreground max-w-2xl">
13
13
  Official Design System for Xertica projects. Built with Tailwind CSS v4, Radix UI, and AI-first engineering.
14
14
  </p>
15
+ <div className="text-lg font-mono text-muted-foreground bg-muted px-4 py-2 rounded-lg">
16
+ 97 Components
17
+ </div>
15
18
  <div className="flex gap-4 pt-4">
16
19
  <a href="https://www.npmjs.com/package/xertica-ui" target="_blank" className="h-11 px-8 rounded-full border border-border bg-background text-foreground font-medium flex items-center hover:bg-accent transition-colors no-underline">
17
20
  NPM