xertica-ui 2.1.2 → 2.1.3

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 (402) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +1 -1
  3. package/assets/xertica-logo.svg +37 -37
  4. package/assets/xertica-x-logo.svg +20 -20
  5. package/bin/cli.ts +1 -1
  6. package/bin/generate-tokens.ts +13 -7
  7. package/components/assistant/index.ts +6 -6
  8. package/components/assistant/xertica-assistant/index.ts +2 -0
  9. package/components/assistant/xertica-assistant/use-assistant.ts +564 -0
  10. package/components/assistant/xertica-assistant/xertica-assistant.stories.tsx +200 -0
  11. package/components/assistant/xertica-assistant/xertica-assistant.tsx +183 -474
  12. package/components/blocks/card-patterns/ActivityCard.tsx +72 -72
  13. package/components/blocks/card-patterns/FeatureCard.tsx +100 -100
  14. package/components/blocks/card-patterns/NotificationCard.tsx +127 -127
  15. package/components/blocks/card-patterns/ProfileCard.tsx +84 -84
  16. package/components/blocks/card-patterns/ProjectCard.tsx +89 -89
  17. package/components/blocks/card-patterns/QuickActionCard.tsx +62 -62
  18. package/components/blocks/card-patterns/card-patterns.stories.tsx +445 -445
  19. package/components/blocks/card-patterns/index.ts +17 -17
  20. package/components/blocks/index.ts +1 -1
  21. package/components/brand/index.ts +6 -6
  22. package/components/brand/xertica-provider/XerticaProvider.tsx +48 -48
  23. package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
  24. package/components/brand/xertica-provider/xertica-provider.test.tsx +52 -52
  25. package/components/examples/MapExamples.tsx +282 -282
  26. package/components/examples/SimpleFilterableMap.tsx +191 -191
  27. package/components/examples/index.ts +51 -51
  28. package/components/figma/ImageWithFallback.tsx +27 -27
  29. package/components/hooks/index.ts +7 -7
  30. package/components/index.ts +5 -5
  31. package/components/layout/header/header.test.tsx +8 -8
  32. package/components/layout/header/header.tsx +4 -4
  33. package/components/layout/index.ts +2 -2
  34. package/components/layout/sidebar/index.ts +2 -0
  35. package/components/layout/sidebar/sidebar.mdx +1 -1
  36. package/components/layout/sidebar/sidebar.stories.tsx +160 -8
  37. package/components/layout/sidebar/sidebar.test.tsx +11 -11
  38. package/components/layout/sidebar/sidebar.tsx +610 -471
  39. package/components/layout/sidebar/use-sidebar.ts +113 -0
  40. package/components/media/FloatingMediaWrapper.tsx +11 -11
  41. package/components/media/audio-player/AudioPlayer.tsx +22 -22
  42. package/components/media/index.ts +3 -3
  43. package/components/pages/home-content/HomeContent.tsx +7 -7
  44. package/components/pages/home-content/home-content.mdx +62 -62
  45. package/components/pages/home-page/HomePage.stories.tsx +39 -39
  46. package/components/pages/home-page/HomePage.tsx +1 -1
  47. package/components/pages/home-page/home-page.mdx +53 -53
  48. package/components/pages/index.ts +8 -8
  49. package/components/pages/template-content/TemplateContent.tsx +5 -5
  50. package/components/pages/template-content/template-content.mdx +61 -61
  51. package/components/pages/template-page/TemplatePage.stories.tsx +39 -39
  52. package/components/pages/template-page/TemplatePage.tsx +5 -5
  53. package/components/pages/template-page/template-page.mdx +53 -53
  54. package/components/public-api-smoke.test.tsx +52 -52
  55. package/components/shared/assistant-utils.ts +43 -43
  56. package/components/shared/layout-constants.ts +1 -1
  57. package/components/ui/accordion/accordion.mdx +8 -8
  58. package/components/ui/accordion/accordion.stories.tsx +53 -53
  59. package/components/ui/alert/alert.mdx +8 -8
  60. package/components/ui/alert-dialog/alert-dialog.mdx +8 -8
  61. package/components/ui/aspect-ratio/aspect-ratio.mdx +8 -8
  62. package/components/ui/assistant-chart/assistant-chart.mdx +8 -8
  63. package/components/ui/avatar/avatar.mdx +8 -8
  64. package/components/ui/badge/badge.mdx +8 -8
  65. package/components/ui/badge/badge.tsx +9 -9
  66. package/components/ui/breadcrumb/breadcrumb.mdx +8 -8
  67. package/components/ui/button/button.mdx +8 -8
  68. package/components/ui/calendar/calendar.mdx +8 -8
  69. package/components/ui/calendar/calendar.tsx +258 -258
  70. package/components/ui/card/card.mdx +8 -8
  71. package/components/ui/card/card.stories.tsx +245 -245
  72. package/components/ui/carousel/carousel.mdx +8 -8
  73. package/components/ui/chart/chart.mdx +8 -8
  74. package/components/ui/chart/chart.stories.tsx +1303 -344
  75. package/components/ui/chart/chart.test.tsx +154 -154
  76. package/components/ui/chart/chart.tsx +2367 -1494
  77. package/components/ui/checkbox/checkbox.mdx +8 -8
  78. package/components/ui/checkbox/checkbox.stories.tsx +20 -20
  79. package/components/ui/collapsible/collapsible.mdx +8 -8
  80. package/components/ui/command/command.mdx +8 -8
  81. package/components/ui/context-menu/context-menu.mdx +8 -8
  82. package/components/ui/dialog/dialog.mdx +8 -8
  83. package/components/ui/drawer/drawer.mdx +8 -8
  84. package/components/ui/dropdown-menu/dropdown-menu.mdx +8 -8
  85. package/components/ui/empty/empty.mdx +8 -8
  86. package/components/ui/file-upload/file-upload.mdx +8 -8
  87. package/components/ui/file-upload/file-upload.stories.tsx +100 -0
  88. package/components/ui/file-upload/file-upload.tsx +14 -74
  89. package/components/ui/file-upload/index.ts +1 -0
  90. package/components/ui/file-upload/use-file-upload.ts +181 -0
  91. package/components/ui/google-maps-loader/google-maps-loader.tsx +2 -2
  92. package/components/ui/hover-card/hover-card.mdx +8 -8
  93. package/components/ui/input/input.mdx +8 -8
  94. package/components/ui/input-otp/input-otp.mdx +8 -8
  95. package/components/ui/input-otp/input-otp.stories.tsx +6 -6
  96. package/components/ui/label/label.mdx +8 -8
  97. package/components/ui/map/map.mdx +8 -8
  98. package/components/ui/map/map.stories.tsx +51 -51
  99. package/components/ui/map/map.tsx +2 -2
  100. package/components/ui/menubar/menubar.mdx +8 -8
  101. package/components/ui/navigation-menu/navigation-menu.mdx +8 -8
  102. package/components/ui/notification-badge/notification-badge.mdx +8 -8
  103. package/components/ui/pagination/index.ts +2 -0
  104. package/components/ui/pagination/pagination.mdx +8 -8
  105. package/components/ui/pagination/pagination.stories.tsx +94 -0
  106. package/components/ui/pagination/use-pagination.ts +194 -0
  107. package/components/ui/popover/popover.mdx +8 -8
  108. package/components/ui/progress/progress.mdx +8 -8
  109. package/components/ui/progress/progress.tsx +68 -68
  110. package/components/ui/radio-group/radio-group.mdx +8 -8
  111. package/components/ui/rating/rating.mdx +8 -8
  112. package/components/ui/resizable/resizable.mdx +8 -8
  113. package/components/ui/rich-text-editor/index.ts +2 -0
  114. package/components/ui/rich-text-editor/rich-text-editor.stories.tsx +129 -1
  115. package/components/ui/rich-text-editor/rich-text-editor.tsx +86 -305
  116. package/components/ui/rich-text-editor/use-rich-text-editor.ts +439 -0
  117. package/components/ui/route-map/route-map.mdx +8 -8
  118. package/components/ui/route-map/route-map.stories.tsx +54 -54
  119. package/components/ui/route-map/route-map.tsx +2 -2
  120. package/components/ui/scroll-area/scroll-area.mdx +8 -8
  121. package/components/ui/search/search.mdx +8 -8
  122. package/components/ui/select/select.mdx +8 -8
  123. package/components/ui/select/select.stories.tsx +9 -9
  124. package/components/ui/separator/separator.mdx +8 -8
  125. package/components/ui/sheet/sheet.mdx +8 -8
  126. package/components/ui/sheet/sheet.stories.tsx +95 -95
  127. package/components/ui/simple-map/simple-map.mdx +8 -8
  128. package/components/ui/simple-map/simple-map.stories.tsx +48 -48
  129. package/components/ui/skeleton/skeleton.mdx +8 -8
  130. package/components/ui/slider/slider.mdx +8 -8
  131. package/components/ui/sonner/sonner.mdx +8 -8
  132. package/components/ui/stats-card/stats-card.mdx +8 -8
  133. package/components/ui/stepper/index.ts +3 -1
  134. package/components/ui/stepper/stepper.mdx +8 -8
  135. package/components/ui/stepper/stepper.stories.tsx +116 -0
  136. package/components/ui/stepper/stepper.tsx +4 -4
  137. package/components/ui/stepper/use-stepper.ts +137 -0
  138. package/components/ui/switch/switch.mdx +8 -8
  139. package/components/ui/switch/switch.stories.tsx +20 -20
  140. package/components/ui/table/table.mdx +8 -8
  141. package/components/ui/tabs/tabs.mdx +8 -8
  142. package/components/ui/tabs/tabs.stories.tsx +26 -26
  143. package/components/ui/textarea/textarea.mdx +8 -8
  144. package/components/ui/timeline/timeline.mdx +8 -8
  145. package/components/ui/toggle/toggle.mdx +8 -8
  146. package/components/ui/toggle-group/toggle-group.mdx +8 -8
  147. package/components/ui/tooltip/tooltip.mdx +8 -8
  148. package/components/ui/tree-view/index.ts +4 -1
  149. package/components/ui/tree-view/tree-view.mdx +8 -8
  150. package/components/ui/tree-view/tree-view.stories.tsx +110 -4
  151. package/components/ui/tree-view/tree-view.tsx +17 -125
  152. package/components/ui/tree-view/use-tree-view.ts +229 -0
  153. package/components.json +1512 -1512
  154. package/contexts/ApiKeyContext.tsx +72 -72
  155. package/contexts/BrandColorsContext.tsx +26 -26
  156. package/contexts/LanguageContext.tsx +13 -13
  157. package/contexts/LayoutContext.test.tsx +11 -11
  158. package/contexts/LayoutContext.tsx +29 -29
  159. package/contexts/ThemeContext.tsx +26 -26
  160. package/contexts/theme-data.ts +4 -4
  161. package/dist/{AssistantChart-CVzmmhx4.js → AssistantChart-C_hwFRRr.js} +4 -4
  162. package/dist/{AssistantChart-BAx9VQvb.cjs → AssistantChart-CldVCVDe.cjs} +311 -94
  163. package/dist/{AssistantChart-CVko2A1W.js → AssistantChart-Cu3m7RBo.js} +314 -97
  164. package/dist/{AssistantChart-9w31gdAb.cjs → AssistantChart-DoZCyS5r.cjs} +4 -4
  165. package/dist/AudioPlayer-B1lt5cPl.cjs +989 -0
  166. package/dist/AudioPlayer-BZ7bibzU.cjs +982 -0
  167. package/dist/AudioPlayer-C12BjQBV.cjs +997 -0
  168. package/dist/AudioPlayer-DMcG_c7L.js +990 -0
  169. package/dist/AudioPlayer-DcFKRJE_.js +998 -0
  170. package/dist/AudioPlayer-e8LfNoqO.js +983 -0
  171. package/dist/{xertica-assistant-Qp3ydksa.cjs → CodeBlock-7TTgmdGG.cjs} +263 -51
  172. package/dist/{xertica-assistant-gnCJdcZY.js → CodeBlock-BeSt1h5P.js} +219 -7
  173. package/dist/CodeBlock-BgfYL_rD.cjs +2094 -0
  174. package/dist/CodeBlock-BlcqlA9M.cjs +2094 -0
  175. package/dist/CodeBlock-Bnmeu5ez.cjs +2094 -0
  176. package/dist/CodeBlock-BtfPlbAI.js +2078 -0
  177. package/dist/CodeBlock-CIySIuYr.js +2078 -0
  178. package/dist/CodeBlock-CuPtUM-7.cjs +2094 -0
  179. package/dist/CodeBlock-D6ffWXgc.js +2078 -0
  180. package/dist/CodeBlock-D8dcwbit.cjs +2094 -0
  181. package/dist/CodeBlock-DMZrFnlw.cjs +2094 -0
  182. package/dist/CodeBlock-DlBehYN8.js +2078 -0
  183. package/dist/CodeBlock-DnYNI8rQ.js +2078 -0
  184. package/dist/CodeBlock-DvKWbSnE.cjs +2094 -0
  185. package/dist/CodeBlock-DwMCfkFY.js +2078 -0
  186. package/dist/CodeBlock-Dy6CNYyj.js +2078 -0
  187. package/dist/CodeBlock-U1pPOQI7.cjs +2094 -0
  188. package/dist/CodeBlock-f_GpNhEB.js +2078 -0
  189. package/dist/CodeBlock-oB6u8nI1.js +2078 -0
  190. package/dist/CodeBlock-tZC31B73.cjs +2094 -0
  191. package/dist/ImageWithFallback-CGtidP6B.cjs +4542 -0
  192. package/dist/ImageWithFallback-lsg3pdFg.js +4508 -0
  193. package/dist/LanguageSelector-B5YfbHra.js +231 -0
  194. package/dist/LanguageSelector-D6uacAIM.cjs +230 -0
  195. package/dist/LayoutContext-BAql6ZRY.js +97 -0
  196. package/dist/LayoutContext-BvK-ggDa.cjs +96 -0
  197. package/dist/ThemeContext-BoH4NLfN.js +734 -0
  198. package/dist/{ThemeContext-BbBNoFTG.js → ThemeContext-C2EwAPDt.js} +2 -2
  199. package/dist/ThemeContext-r69W20Xg.cjs +733 -0
  200. package/dist/{ThemeContext-Cmr8Ex8H.cjs → ThemeContext-vTjumZeM.cjs} +2 -2
  201. package/dist/{VerifyEmailPage-BE-L9mB7.js → VerifyEmailPage-C0c2e5n0.js} +7 -7
  202. package/dist/{VerifyEmailPage-DMBh4NM9.cjs → VerifyEmailPage-CYXtbKi3.cjs} +1 -1
  203. package/dist/{VerifyEmailPage-CR7kb5df.cjs → VerifyEmailPage-Cwi3kbol.cjs} +7 -7
  204. package/dist/{VerifyEmailPage-CdYPSJoO.js → VerifyEmailPage-DvMLZgFt.js} +1 -1
  205. package/dist/XerticaOrbe-KL1RBHzw.cjs +1354 -0
  206. package/dist/XerticaOrbe-zwS1p2a8.js +1355 -0
  207. package/dist/XerticaProvider-6btlAlzc.js +17 -0
  208. package/dist/XerticaProvider-BNoNOxQ5.cjs +16 -0
  209. package/dist/XerticaProvider-BlY2limY.cjs +38 -0
  210. package/dist/{XerticaProvider-BITjgC5p.js → XerticaProvider-CEoWMTxu.js} +2 -2
  211. package/dist/{XerticaProvider-By8q3Roe.cjs → XerticaProvider-CllrbMEJ.cjs} +2 -2
  212. package/dist/XerticaProvider-DDuiIcKo.js +39 -0
  213. package/dist/XerticaProvider-cI9hSs27.cjs +38 -0
  214. package/dist/XerticaProvider-hSwhNQex.js +39 -0
  215. package/dist/{alert-dialog-yckpaOpy.cjs → alert-dialog-DSKByiKZ.cjs} +3 -3
  216. package/dist/{alert-dialog-iDe5VE5o.js → alert-dialog-s-vmNkJ_.js} +3 -3
  217. package/dist/assistant.cjs.js +2 -1
  218. package/dist/assistant.es.js +3 -2
  219. package/dist/brand.cjs.js +1 -1
  220. package/dist/brand.es.js +1 -1
  221. package/dist/breadcrumb-CqJ7bHY5.js +161 -0
  222. package/dist/breadcrumb-m9Hb2_XN.cjs +177 -0
  223. package/dist/cli.js +14 -8
  224. package/dist/components/assistant/xertica-assistant/index.d.ts +2 -0
  225. package/dist/components/assistant/xertica-assistant/use-assistant.d.ts +126 -0
  226. package/dist/components/assistant/xertica-assistant/xertica-assistant.d.ts +7 -2
  227. package/dist/components/blocks/audio-player/AudioPlayer.d.ts +35 -0
  228. package/dist/components/blocks/audio-player/index.d.ts +1 -0
  229. package/dist/components/blocks/document-editor/DocumentEditor.d.ts +26 -0
  230. package/dist/components/blocks/document-editor/index.d.ts +1 -0
  231. package/dist/components/blocks/podcast-player/PodcastPlayer.d.ts +41 -0
  232. package/dist/components/blocks/podcast-player/index.d.ts +1 -0
  233. package/dist/components/layout/sidebar/index.d.ts +2 -0
  234. package/dist/components/layout/sidebar/sidebar.d.ts +80 -0
  235. package/dist/components/layout/sidebar/use-sidebar.d.ts +22 -0
  236. package/dist/components/shared/layout-constants.d.ts +1 -1
  237. package/dist/components/ui/button/button.d.ts +1 -1
  238. package/dist/components/ui/chart/chart.d.ts +162 -5
  239. package/dist/components/ui/file-upload/file-upload.d.ts +2 -0
  240. package/dist/components/ui/file-upload/index.d.ts +1 -0
  241. package/dist/components/ui/file-upload/use-file-upload.d.ts +49 -0
  242. package/dist/components/ui/pagination/index.d.ts +2 -0
  243. package/dist/components/ui/pagination/use-pagination.d.ts +78 -0
  244. package/dist/components/ui/rich-text-editor/index.d.ts +2 -0
  245. package/dist/components/ui/rich-text-editor/use-rich-text-editor.d.ts +107 -0
  246. package/dist/components/ui/stepper/index.d.ts +3 -1
  247. package/dist/components/ui/stepper/stepper.d.ts +2 -2
  248. package/dist/components/ui/stepper/use-stepper.d.ts +60 -0
  249. package/dist/components/ui/tree-view/index.d.ts +4 -1
  250. package/dist/components/ui/tree-view/tree-view.d.ts +4 -6
  251. package/dist/components/ui/tree-view/use-tree-view.d.ts +60 -0
  252. package/dist/dropdown-menu-BDB5CmQs.cjs +247 -0
  253. package/dist/dropdown-menu-DQidbKBD.js +231 -0
  254. package/dist/google-maps-loader-BFWp6VPd.js +287 -0
  255. package/dist/{google-maps-loader-t2IlYBzw.js → google-maps-loader-CTYySAun.js} +4 -0
  256. package/dist/{google-maps-loader-BqsYL48U.cjs → google-maps-loader-Y-QkD-Li.cjs} +5 -0
  257. package/dist/google-maps-loader-eS3uQ5TA.cjs +287 -0
  258. package/dist/header-Cgy6vYPk.cjs +731 -0
  259. package/dist/header-DRlT4jgI.js +715 -0
  260. package/dist/header-Dux00SI4.cjs +731 -0
  261. package/dist/header-EkGKXPsD.js +715 -0
  262. package/dist/header-WfEywpyc.cjs +731 -0
  263. package/dist/header-tifNQn2U.js +715 -0
  264. package/dist/hooks.cjs.js +1 -1
  265. package/dist/hooks.es.js +1 -1
  266. package/dist/index-BhapVLVj.js +8 -0
  267. package/dist/{index-D3RLKRAs.cjs → index-COtD8bRW.cjs} +1 -1
  268. package/dist/index-D6fxYEY8.cjs +7 -0
  269. package/dist/index-DW5tYe26.js +8 -0
  270. package/dist/index.cjs.js +19 -8
  271. package/dist/index.es.js +39 -28
  272. package/dist/index.umd.js +1043 -470
  273. package/dist/input-2R4loU86.js +127 -0
  274. package/dist/input-DWANSKGb.cjs +145 -0
  275. package/dist/layout.cjs.js +89 -1
  276. package/dist/layout.es.js +90 -2
  277. package/dist/pages.cjs.js +1 -1
  278. package/dist/pages.es.js +1 -1
  279. package/dist/rich-text-editor-0mraWT5y.cjs +2376 -0
  280. package/dist/rich-text-editor-B6jMRLzk.cjs +1939 -0
  281. package/dist/rich-text-editor-B8_oYcIR.js +1730 -0
  282. package/dist/rich-text-editor-B9UbSXNb.js +1203 -0
  283. package/dist/rich-text-editor-BYuRBNBU.js +2373 -0
  284. package/dist/rich-text-editor-Bb9pySTs.cjs +2374 -0
  285. package/dist/rich-text-editor-BcL6L3cm.cjs +2374 -0
  286. package/dist/rich-text-editor-BoVZYtTs.cjs +2391 -0
  287. package/dist/rich-text-editor-CPV1lEPH.cjs +1748 -0
  288. package/dist/rich-text-editor-CoKqbCtu.cjs +1799 -0
  289. package/dist/rich-text-editor-Cw56T_mB.js +2356 -0
  290. package/dist/rich-text-editor-Cyt8qs2b.js +1921 -0
  291. package/dist/rich-text-editor-D6H84OcX.cjs +1220 -0
  292. package/dist/rich-text-editor-D76gD-QI.js +2328 -0
  293. package/dist/rich-text-editor-DKkokOnA.js +1781 -0
  294. package/dist/rich-text-editor-DNsdpN64.cjs +2359 -0
  295. package/dist/rich-text-editor-DfG8bCyY.js +2358 -0
  296. package/dist/rich-text-editor-DgF8s7xW.js +2949 -0
  297. package/dist/rich-text-editor-Dxjw31Z4.js +2341 -0
  298. package/dist/rich-text-editor-DzP0Epmb.js +2356 -0
  299. package/dist/rich-text-editor-mWoaSCE4.cjs +2966 -0
  300. package/dist/rich-text-editor-skplNlBM.cjs +2345 -0
  301. package/dist/select-Bkbr0f-Z.cjs +162 -0
  302. package/dist/select-CvIVdX2n.js +145 -0
  303. package/dist/sidebar-CK_0ZQHj.cjs +803 -0
  304. package/dist/sidebar-CUuOvYhK.js +787 -0
  305. package/dist/slider-Bc5Hd0y1.js +56 -0
  306. package/dist/slider-N7hFFj6X.cjs +73 -0
  307. package/dist/tooltip-Ded96neP.cjs +137 -0
  308. package/dist/tooltip-HDOoD2-0.js +120 -0
  309. package/dist/ui.cjs.js +14 -4
  310. package/dist/ui.es.js +26 -16
  311. package/dist/use-mobile-B0hNy_Y6.cjs +4303 -0
  312. package/dist/use-mobile-BXuYROXM.js +4202 -0
  313. package/dist/use-mobile-Bbd51ASU.cjs +4392 -0
  314. package/dist/use-mobile-Bk6CX-TC.js +4359 -0
  315. package/dist/use-mobile-BvYdisLP.js +4202 -0
  316. package/dist/use-mobile-BzuxjzNX.cjs +4392 -0
  317. package/dist/use-mobile-CG2-SdXV.cjs +4235 -0
  318. package/dist/use-mobile-CKb5pqTs.js +4269 -0
  319. package/dist/use-mobile-CYuAuGDl.js +4202 -0
  320. package/dist/use-mobile-CaENcqm-.js +4508 -0
  321. package/dist/use-mobile-CbrYgJGJ.js +4203 -0
  322. package/dist/use-mobile-DMOvImGQ.cjs +4542 -0
  323. package/dist/use-mobile-DRB3BQgD.cjs +4235 -0
  324. package/dist/use-mobile-DZvv7QMR.js +4359 -0
  325. package/dist/use-mobile-DdI_TXam.cjs +4235 -0
  326. package/dist/use-mobile-DlceKf8a.js +4359 -0
  327. package/dist/use-mobile-DsOnow1o.cjs +4236 -0
  328. package/dist/use-mobile-Kcj6jSnK.cjs +4392 -0
  329. package/dist/use-mobile-bnKcua_i.js +4202 -0
  330. package/dist/use-mobile-ncXBeE2z.cjs +4235 -0
  331. package/dist/{xertica-assistant-B1IaHXnB.cjs → xertica-assistant-dyP7KHM5.cjs} +533 -392
  332. package/dist/{xertica-assistant-DPsESB6t.js → xertica-assistant-yX1CFBBo.js} +535 -394
  333. package/dist/xertica-ui.css +2 -2
  334. package/docs/ai-usage.md +28 -10
  335. package/docs/architecture.md +76 -0
  336. package/docs/components/assistant.md +159 -0
  337. package/docs/components/calendar.md +154 -154
  338. package/docs/components/card-patterns.md +337 -337
  339. package/docs/components/card.md +235 -235
  340. package/docs/components/chart.md +354 -39
  341. package/docs/components/file-upload.md +119 -2
  342. package/docs/components/map.md +84 -84
  343. package/docs/components/pagination.md +187 -0
  344. package/docs/components/rich-text-editor.md +164 -0
  345. package/docs/components/sidebar.md +153 -4
  346. package/docs/components/stepper.md +157 -12
  347. package/docs/components/tree-view.md +164 -6
  348. package/docs/components/xertica-provider.md +24 -24
  349. package/docs/decision-tree.md +287 -287
  350. package/docs/getting-started.md +1 -1
  351. package/docs/guidelines.md +14 -8
  352. package/docs/layout.md +2 -2
  353. package/docs/llms.md +4 -4
  354. package/guidelines/Guidelines.md +252 -250
  355. package/hooks/useTheme.ts +3 -3
  356. package/imports/Podcast.tsx +388 -388
  357. package/imports/XerticaAi.tsx +45 -45
  358. package/imports/XerticaX.tsx +19 -19
  359. package/imports/svg-aueiaqngck.ts +11 -11
  360. package/imports/svg-v9krss1ozd.ts +16 -16
  361. package/imports/svg-vhrdofe3qe.ts +5 -5
  362. package/llms-compact.txt +327 -327
  363. package/llms.txt +160 -160
  364. package/package.json +203 -203
  365. package/styles/xertica/app-overrides/chat.css +61 -61
  366. package/styles/xertica/app-overrides/scrollbar.css +33 -33
  367. package/styles/xertica/integrations/google-maps.css +76 -76
  368. package/styles/xertica/integrations/sonner.css +73 -73
  369. package/styles/xertica/tokens.css +41 -12
  370. package/templates/CLAUDE.md +182 -172
  371. package/templates/guidelines/Guidelines.md +325 -313
  372. package/templates/package.json +3 -3
  373. package/templates/src/features/auth/index.ts +4 -4
  374. package/templates/src/features/auth/ui/AuthPageShell.tsx +34 -34
  375. package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +70 -70
  376. package/templates/src/features/auth/ui/LoginContent.tsx +90 -90
  377. package/templates/src/features/auth/ui/ResetPasswordContent.tsx +151 -151
  378. package/templates/src/features/auth/ui/SocialLoginButtons.tsx +59 -59
  379. package/templates/src/features/auth/ui/VerifyEmailContent.tsx +82 -82
  380. package/templates/src/features/home/index.ts +1 -1
  381. package/templates/src/features/home/ui/HomeContent.tsx +100 -100
  382. package/templates/src/features/template/index.ts +5 -5
  383. package/templates/src/features/template/ui/CrudTemplate.tsx +3 -3
  384. package/templates/src/features/template/ui/DashboardTemplate.tsx +3 -3
  385. package/templates/src/features/template/ui/FormTemplate.tsx +120 -120
  386. package/templates/src/features/template/ui/LoginTemplate.tsx +3 -3
  387. package/templates/src/pages/AssistantPage.tsx +328 -328
  388. package/templates/src/pages/ForgotPasswordPage.tsx +6 -6
  389. package/templates/src/pages/HomePage.tsx +57 -57
  390. package/templates/src/pages/LoginPage.tsx +10 -10
  391. package/templates/src/pages/ResetPasswordPage.tsx +6 -6
  392. package/templates/src/pages/TemplatePage.tsx +30 -30
  393. package/templates/src/pages/VerifyEmailPage.tsx +6 -6
  394. package/templates/src/shared/config/navigation.ts +20 -20
  395. package/templates/src/shared/lib/auth.ts +20 -20
  396. package/templates/src/shared/types/auth.ts +3 -3
  397. package/templates/src/styles/xertica/tokens.css +39 -10
  398. package/templates/tsconfig.json +5 -5
  399. package/utils/gemini.ts +140 -140
  400. package/dist/VerifyEmailPage-Bae2cBXT.cjs +0 -2827
  401. package/dist/VerifyEmailPage-CbgjOF0v.js +0 -2828
  402. package/dist/index-CkTUgOwX.js +0 -8
@@ -1,172 +1,182 @@
1
- # Xertica UI — Project Rules
2
-
3
- This project uses **xertica-ui**, an enterprise React design system built on Tailwind CSS v4, Radix UI, and Lucide Icons.
4
-
5
- > For the complete component reference, read `node_modules/xertica-ui/llms-full.txt`.
6
- > For a compact quick-reference, read `node_modules/xertica-ui/llms-compact.txt`.
7
- > For component selection guidance, read `node_modules/xertica-ui/docs/decision-tree.md`.
8
-
9
- ---
10
-
11
- ## Import Rules
12
-
13
- Always use the most specific subpath — never import from a category you don't need:
14
-
15
- ```tsx
16
- import { Button, Card, Input, Badge, Table, Dialog } from 'xertica-ui/ui';
17
- import { Sidebar, Header } from 'xertica-ui/layout';
18
- import { XerticaProvider, XerticaLogo, ThemeToggle } from 'xertica-ui/brand';
19
- import { XerticaAssistant, generateDemoResponse } from 'xertica-ui/assistant';
20
- import { VideoPlayer, AudioPlayer } from 'xertica-ui/media';
21
- import { useLayout, useOptionalLayout, useTheme } from 'xertica-ui/hooks';
22
- import 'xertica-ui/style.css'; // import once at root only
23
- ```
24
-
25
- The root `from 'xertica-ui'` remains valid for backward compatibility, but scaffolded project code must prefer the subpaths above.
26
-
27
- Icons are **never** from xertica-ui — always use `lucide-react`:
28
-
29
- ```tsx
30
- import { Home, Settings, Plus, Trash2, ChevronRight } from 'lucide-react';
31
- ```
32
-
33
- ---
34
-
35
- ## Non-Negotiable Rules
36
-
37
- ### HTML — never use raw elements for UI
38
- | ❌ Never | ✅ Always |
39
- |---|---|
40
- | `<button>` | `<Button>` from `xertica-ui/ui` |
41
- | `<input>` | `<Input>` from `xertica-ui/ui` |
42
- | `<select>` | `<Select>` from `xertica-ui/ui` |
43
- | `<h1>` / `<h2>` for page headers | `<PageHeader><PageHeaderHeading>` |
44
- | `<div class="card ...">` | `<Card>` from `xertica-ui/ui` |
45
- | custom scrollbar div | `<ScrollArea>` from `xertica-ui/ui` |
46
-
47
- ### Colors — never use raw values
48
- | ❌ Never | ✅ Always |
49
- |---|---|
50
- | `bg-blue-500`, `text-gray-700` | `bg-primary`, `text-muted-foreground` |
51
- | `#3b82f6`, `rgb(...)` | `var(--primary)` |
52
- | `rounded-lg`, `rounded-xl` | `rounded-[var(--radius)]` |
53
-
54
- Semantic token reference:
55
- ```
56
- bg-background / text-foreground → page background and primary text
57
- bg-card / text-card-foreground → card surfaces
58
- bg-muted / text-muted-foreground → subdued areas and secondary text
59
- bg-primary / text-primary-foreground → primary actions
60
- bg-destructive → danger states
61
- bg-accent → hover states
62
- border-border → standard borders
63
- border-input → form field borders
64
- ```
65
-
66
- ### Layout always use context, never hardcode
67
- ```tsx
68
- // Correct
69
- import { useLayout } from 'xertica-ui/hooks';
70
- const { sidebarExpanded, sidebarWidth } = useLayout();
71
- <div style={{ paddingLeft: sidebarExpanded ? `${sidebarWidth}px` : '80px' }}>
72
-
73
- // Correct for reusable components that may render without providers
74
- import { useOptionalLayout } from 'xertica-ui/hooks';
75
- const layout = useOptionalLayout();
76
- const fallbackSidebarWidth = layout?.sidebarWidth ?? 80;
77
-
78
- // Wrong — never hardcode sidebar width
79
- <div style={{ paddingLeft: '256px' }}>
80
- ```
81
-
82
- ### Destructive actions — always confirm
83
- ```tsx
84
- // Correct confirm before executing
85
- <AlertDialog>
86
- <AlertDialogTrigger asChild>
87
- <Button variant="destructive">Delete</Button>
88
- </AlertDialogTrigger>
89
- <AlertDialogContent>...</AlertDialogContent>
90
- </AlertDialog>
91
-
92
- // Wrongnever execute destructive action directly on click
93
- <Button variant="destructive" onClick={deleteRecord}>Delete</Button>
94
- ```
95
-
96
- ---
97
-
98
- ## Page Structure
99
-
100
- Every page must follow this structure:
101
-
102
- ```tsx
103
- import { PageHeader, PageHeaderHeading, PageHeaderDescription } from 'xertica-ui/ui';
104
-
105
- export function MyPage() {
106
- return (
107
- <>
108
- <PageHeader>
109
- <PageHeaderHeading>Page Title</PageHeaderHeading>
110
- <PageHeaderDescription>Optional subtitle</PageHeaderDescription>
111
- <Button>Primary Action</Button>
112
- </PageHeader>
113
- <div className="p-6 space-y-6">
114
- {/* Page content */}
115
- </div>
116
- </>
117
- );
118
- }
119
- ```
120
-
121
- ---
122
-
123
- ## App Root Structure
124
-
125
- ```tsx
126
- import { XerticaProvider } from 'xertica-ui/brand';
127
- import { BrowserRouter } from 'react-router-dom';
128
- import 'xertica-ui/style.css';
129
-
130
- function Root() {
131
- const geminiApiKey = import.meta.env.VITE_GEMINI_API_KEY;
132
- const googleMapsApiKey = import.meta.env.VITE_GOOGLE_MAPS_API_KEY;
133
-
134
- return (
135
- <XerticaProvider
136
- apiKey={geminiApiKey}
137
- googleMapsApiKey={googleMapsApiKey}
138
- disableDarkMode
139
- >
140
- <BrowserRouter>
141
- <App />
142
- </BrowserRouter>
143
- </XerticaProvider>
144
- );
145
- }
146
- ```
147
-
148
- `XerticaProvider` is the app-level convenience wrapper used by this template. It composes theme, brand colors, language, layout, assistant/API keys, Google Maps, tooltips, and toasts. Most individual `xertica-ui` components are designed to render independently; use `useOptionalLayout()` when building reusable components that should keep working outside this provider.
149
-
150
- ---
151
-
152
- ## Toast Notifications
153
-
154
- ```tsx
155
- import { toast } from 'sonner'; // sonner is re-exported, no extra install needed
156
-
157
- toast.success('Saved successfully');
158
- toast.error('Something went wrong');
159
- toast.info('Processing...');
160
- toast.warning('Check your input');
161
- ```
162
-
163
- Never render `<Toaster>` manually — it is auto-injected by `<XerticaProvider>`.
164
-
165
- ---
166
-
167
- ## Before Writing Any Component
168
-
169
- 1. Check `node_modules/xertica-ui/llms-compact.txt` — the component may already exist.
170
- 2. Check `node_modules/xertica-ui/docs/decision-tree.md` — you may be choosing the wrong component.
171
- 3. Read the specific component doc at `node_modules/xertica-ui/docs/components/[name].md`.
172
- 4. Never create custom primitives that duplicate library components.
1
+ # Xertica UI — Project Rules
2
+
3
+ This project uses **xertica-ui**, an enterprise React design system built on Tailwind CSS v4, Radix UI, and Lucide Icons.
4
+
5
+ > For the complete component reference, read `node_modules/xertica-ui/llms-full.txt`.
6
+ > For a compact quick-reference, read `node_modules/xertica-ui/llms-compact.txt`.
7
+ > For component selection guidance, read `node_modules/xertica-ui/docs/decision-tree.md`.
8
+
9
+ ---
10
+
11
+ ## Import Rules
12
+
13
+ Always use the most specific subpath — never import from a category you don't need:
14
+
15
+ ```tsx
16
+ import { Button, Card, Input, Badge, Table, Dialog } from 'xertica-ui/ui';
17
+ import { Sidebar, Header } from 'xertica-ui/layout';
18
+ import { XerticaProvider, XerticaLogo, ThemeToggle } from 'xertica-ui/brand';
19
+ import { XerticaAssistant, generateDemoResponse } from 'xertica-ui/assistant';
20
+ import { VideoPlayer, AudioPlayer } from 'xertica-ui/media';
21
+ import { useLayout, useOptionalLayout, useTheme } from 'xertica-ui/hooks';
22
+ import 'xertica-ui/style.css'; // import once at root only
23
+ ```
24
+
25
+ The root `from 'xertica-ui'` remains valid for backward compatibility, but scaffolded project code must prefer the subpaths above.
26
+
27
+ Icons are **never** from xertica-ui — always use `lucide-react`:
28
+
29
+ ```tsx
30
+ import { Home, Settings, Plus, Trash2, ChevronRight } from 'lucide-react';
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Non-Negotiable Rules
36
+
37
+ ### HTML — never use raw elements for UI
38
+ | ❌ Never | ✅ Always |
39
+ |---|---|
40
+ | `<button>` | `<Button>` from `xertica-ui/ui` |
41
+ | `<input>` | `<Input>` from `xertica-ui/ui` |
42
+ | `<select>` | `<Select>` from `xertica-ui/ui` |
43
+ | `<h1>` / `<h2>` for page headers | `<PageHeader><PageHeaderHeading>` |
44
+ | `<div class="card ...">` | `<Card>` from `xertica-ui/ui` |
45
+ | custom scrollbar div | `<ScrollArea>` from `xertica-ui/ui` |
46
+
47
+ ### Colors — context-dependent rules
48
+
49
+ | ❌ Never (any context) | Reason |
50
+ |---|---|
51
+ | `#3b82f6`, `rgb(59,130,246)`, `hsl(...)` | Raw values — non-themeable |
52
+ | `style={{ color: '#...' }}` for theming | Non-themeable inline style |
53
+
54
+ | Wrong for semantic/status contexts | ✅ Required instead |
55
+ |---|---|
56
+ | `bg-red-500` for error states | `bg-destructive` |
57
+ | `text-red-500` for error text | `text-destructive` |
58
+ | `bg-green-500` for success states | `bg-success` |
59
+ | `bg-yellow-500` for warnings | `bg-warning` |
60
+
61
+ > For **layout, spacing, and general non-semantic UI** (custom components, decorative elements, Storybook stories where no semantic token applies), standard Tailwind color utilities like `bg-blue-500` or `text-gray-700` are acceptable.
62
+
63
+ Semantic token reference:
64
+ ```
65
+ bg-background / text-foreground → page background and primary text
66
+ bg-card / text-card-foreground → card surfaces
67
+ bg-muted / text-muted-foreground → subdued areas and secondary text
68
+ bg-primary / text-primary-foreground → primary actions
69
+ bg-destructive → danger / error states
70
+ bg-success / bg-warning / bg-info → semantic status states
71
+ bg-accent → hover states
72
+ border-border → standard borders
73
+ border-input → form field borders
74
+ ```
75
+
76
+ ### Layout always use context, never hardcode
77
+ ```tsx
78
+ // Correct
79
+ import { useLayout } from 'xertica-ui/hooks';
80
+ const { sidebarExpanded, sidebarWidth } = useLayout();
81
+ <div style={{ paddingLeft: sidebarExpanded ? `${sidebarWidth}px` : '80px' }}>
82
+
83
+ // ✅ Correct for reusable components that may render without providers
84
+ import { useOptionalLayout } from 'xertica-ui/hooks';
85
+ const layout = useOptionalLayout();
86
+ const fallbackSidebarWidth = layout?.sidebarWidth ?? 80;
87
+
88
+ // ❌ Wrong — never hardcode sidebar width
89
+ <div style={{ paddingLeft: '256px' }}>
90
+ ```
91
+
92
+ ### Destructive actionsalways confirm
93
+ ```tsx
94
+ // ✅ Correct — confirm before executing
95
+ <AlertDialog>
96
+ <AlertDialogTrigger asChild>
97
+ <Button variant="destructive">Delete</Button>
98
+ </AlertDialogTrigger>
99
+ <AlertDialogContent>...</AlertDialogContent>
100
+ </AlertDialog>
101
+
102
+ // ❌ Wrong — never execute destructive action directly on click
103
+ <Button variant="destructive" onClick={deleteRecord}>Delete</Button>
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Page Structure
109
+
110
+ Every page must follow this structure:
111
+
112
+ ```tsx
113
+ import { PageHeader, PageHeaderHeading, PageHeaderDescription } from 'xertica-ui/ui';
114
+
115
+ export function MyPage() {
116
+ return (
117
+ <>
118
+ <PageHeader>
119
+ <PageHeaderHeading>Page Title</PageHeaderHeading>
120
+ <PageHeaderDescription>Optional subtitle</PageHeaderDescription>
121
+ <Button>Primary Action</Button>
122
+ </PageHeader>
123
+ <div className="p-6 space-y-6">
124
+ {/* Page content */}
125
+ </div>
126
+ </>
127
+ );
128
+ }
129
+ ```
130
+
131
+ ---
132
+
133
+ ## App Root Structure
134
+
135
+ ```tsx
136
+ import { XerticaProvider } from 'xertica-ui/brand';
137
+ import { BrowserRouter } from 'react-router-dom';
138
+ import 'xertica-ui/style.css';
139
+
140
+ function Root() {
141
+ const geminiApiKey = import.meta.env.VITE_GEMINI_API_KEY;
142
+ const googleMapsApiKey = import.meta.env.VITE_GOOGLE_MAPS_API_KEY;
143
+
144
+ return (
145
+ <XerticaProvider
146
+ apiKey={geminiApiKey}
147
+ googleMapsApiKey={googleMapsApiKey}
148
+ disableDarkMode
149
+ >
150
+ <BrowserRouter>
151
+ <App />
152
+ </BrowserRouter>
153
+ </XerticaProvider>
154
+ );
155
+ }
156
+ ```
157
+
158
+ `XerticaProvider` is the app-level convenience wrapper used by this template. It composes theme, brand colors, language, layout, assistant/API keys, Google Maps, tooltips, and toasts. Most individual `xertica-ui` components are designed to render independently; use `useOptionalLayout()` when building reusable components that should keep working outside this provider.
159
+
160
+ ---
161
+
162
+ ## Toast Notifications
163
+
164
+ ```tsx
165
+ import { toast } from 'sonner'; // sonner is re-exported, no extra install needed
166
+
167
+ toast.success('Saved successfully');
168
+ toast.error('Something went wrong');
169
+ toast.info('Processing...');
170
+ toast.warning('Check your input');
171
+ ```
172
+
173
+ Never render `<Toaster>` manually — it is auto-injected by `<XerticaProvider>`.
174
+
175
+ ---
176
+
177
+ ## Before Writing Any Component
178
+
179
+ 1. Check `node_modules/xertica-ui/llms-compact.txt` — the component may already exist.
180
+ 2. Check `node_modules/xertica-ui/docs/decision-tree.md` — you may be choosing the wrong component.
181
+ 3. Read the specific component doc at `node_modules/xertica-ui/docs/components/[name].md`.
182
+ 4. Never create custom primitives that duplicate library components.