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,17 +1,17 @@
1
- export { ActivityCard } from "./ActivityCard"
2
- export type { ActivityCardProps, ActivityItem } from "./ActivityCard"
3
-
4
- export { ProfileCard } from "./ProfileCard"
5
- export type { ProfileCardProps } from "./ProfileCard"
6
-
7
- export { ProjectCard } from "./ProjectCard"
8
- export type { ProjectCardProps, ProjectMember, ProjectStatus } from "./ProjectCard"
9
-
10
- export { QuickActionCard } from "./QuickActionCard"
11
- export type { QuickActionCardProps } from "./QuickActionCard"
12
-
13
- export { NotificationCard } from "./NotificationCard"
14
- export type { NotificationCardProps, NotificationItem, NotificationType } from "./NotificationCard"
15
-
16
- export { FeatureCard } from "./FeatureCard"
17
- export type { FeatureCardProps, FeatureCardColor } from "./FeatureCard"
1
+ export { ActivityCard } from "./ActivityCard"
2
+ export type { ActivityCardProps, ActivityItem } from "./ActivityCard"
3
+
4
+ export { ProfileCard } from "./ProfileCard"
5
+ export type { ProfileCardProps } from "./ProfileCard"
6
+
7
+ export { ProjectCard } from "./ProjectCard"
8
+ export type { ProjectCardProps, ProjectMember, ProjectStatus } from "./ProjectCard"
9
+
10
+ export { QuickActionCard } from "./QuickActionCard"
11
+ export type { QuickActionCardProps } from "./QuickActionCard"
12
+
13
+ export { NotificationCard } from "./NotificationCard"
14
+ export type { NotificationCardProps, NotificationItem, NotificationType } from "./NotificationCard"
15
+
16
+ export { FeatureCard } from "./FeatureCard"
17
+ export type { FeatureCardProps, FeatureCardColor } from "./FeatureCard"
@@ -1 +1 @@
1
- export * from "./card-patterns"
1
+ export * from "./card-patterns"
@@ -1,6 +1,6 @@
1
- export * from './xertica-provider';
2
- export * from './xertica-logo';
3
- export * from './xertica-xlogo';
4
- export * from './xertica-orbe';
5
- export * from './theme-toggle';
6
- export * from './language-selector';
1
+ export * from './xertica-provider';
2
+ export * from './xertica-logo';
3
+ export * from './xertica-xlogo';
4
+ export * from './xertica-orbe';
5
+ export * from './theme-toggle';
6
+ export * from './language-selector';
@@ -1,13 +1,13 @@
1
- import React from 'react';
2
- import { ApiKeyProvider } from '../../../contexts/ApiKeyContext';
3
- import { AssistenteProvider } from '../../../contexts/AssistenteContext';
4
- import { BrandColorsProvider } from '../../../contexts/BrandColorsContext';
5
- import { LanguageProvider } from '../../../contexts/LanguageContext';
6
- import { LayoutProvider } from '../../../contexts/LayoutContext';
7
- import { ThemeProvider } from '../../../contexts/ThemeContext';
8
- import { GoogleMapsLoaderProvider } from '../../ui/google-maps-loader';
9
- import { Toaster } from '../../ui/sonner';
10
- import { TooltipProvider } from '../../ui/tooltip';
1
+ import React from 'react';
2
+ import { ApiKeyProvider } from '../../../contexts/ApiKeyContext';
3
+ import { AssistenteProvider } from '../../../contexts/AssistenteContext';
4
+ import { BrandColorsProvider } from '../../../contexts/BrandColorsContext';
5
+ import { LanguageProvider } from '../../../contexts/LanguageContext';
6
+ import { LayoutProvider } from '../../../contexts/LayoutContext';
7
+ import { ThemeProvider } from '../../../contexts/ThemeContext';
8
+ import { GoogleMapsLoaderProvider } from '../../ui/google-maps-loader';
9
+ import { Toaster } from '../../ui/sonner';
10
+ import { TooltipProvider } from '../../ui/tooltip';
11
11
 
12
12
  /**
13
13
  * Props for the XerticaProvider component.
@@ -36,41 +36,41 @@ interface XerticaProviderProps {
36
36
  * This component aggregates all necessary context providers. It should be placed at the
37
37
  * root of your application, ideally inside the App component.
38
38
  */
39
- export function XerticaProvider({
40
- children,
41
- apiKey,
42
- googleMapsApiKey,
43
- defaultBrandTheme,
44
- primaryColor,
45
- useCustomTokens,
46
- disableDarkMode,
47
- }: XerticaProviderProps) {
48
- return (
49
- <ThemeProvider disableDarkMode={disableDarkMode}>
50
- <BrandColorsProvider
51
- defaultTheme={defaultBrandTheme}
52
- primaryColor={primaryColor}
53
- useCustomTokens={useCustomTokens}
54
- >
55
- <LanguageProvider>
56
- <ApiKeyProvider
57
- initialApiKey={apiKey}
58
- initialGeminiApiKey={apiKey}
59
- initialGoogleMapsApiKey={googleMapsApiKey}
60
- >
61
- <GoogleMapsLoaderProvider apiKey={googleMapsApiKey}>
62
- <AssistenteProvider>
63
- <LayoutProvider>
64
- <TooltipProvider>
65
- {children}
66
- <Toaster position="top-right" richColors />
67
- </TooltipProvider>
68
- </LayoutProvider>
69
- </AssistenteProvider>
70
- </GoogleMapsLoaderProvider>
71
- </ApiKeyProvider>
72
- </LanguageProvider>
73
- </BrandColorsProvider>
74
- </ThemeProvider>
75
- );
76
- }
39
+ export function XerticaProvider({
40
+ children,
41
+ apiKey,
42
+ googleMapsApiKey,
43
+ defaultBrandTheme,
44
+ primaryColor,
45
+ useCustomTokens,
46
+ disableDarkMode,
47
+ }: XerticaProviderProps) {
48
+ return (
49
+ <ThemeProvider disableDarkMode={disableDarkMode}>
50
+ <BrandColorsProvider
51
+ defaultTheme={defaultBrandTheme}
52
+ primaryColor={primaryColor}
53
+ useCustomTokens={useCustomTokens}
54
+ >
55
+ <LanguageProvider>
56
+ <ApiKeyProvider
57
+ initialApiKey={apiKey}
58
+ initialGeminiApiKey={apiKey}
59
+ initialGoogleMapsApiKey={googleMapsApiKey}
60
+ >
61
+ <GoogleMapsLoaderProvider apiKey={googleMapsApiKey}>
62
+ <AssistenteProvider>
63
+ <LayoutProvider>
64
+ <TooltipProvider>
65
+ {children}
66
+ <Toaster position="top-right" richColors />
67
+ </TooltipProvider>
68
+ </LayoutProvider>
69
+ </AssistenteProvider>
70
+ </GoogleMapsLoaderProvider>
71
+ </ApiKeyProvider>
72
+ </LanguageProvider>
73
+ </BrandColorsProvider>
74
+ </ThemeProvider>
75
+ );
76
+ }
@@ -1,61 +1,61 @@
1
- import { Meta, Title, Subtitle } from '@storybook/addon-docs/blocks';
2
-
3
- <Meta title="System/XerticaProvider" />
4
-
5
- <Title>XerticaProvider</Title>
6
- <Subtitle>The recommended root wrapper for shared Xertica UI services.</Subtitle>
7
-
8
- ---
9
-
10
- ## Overview
11
-
12
- The `XerticaProvider` orchestrates the shared services used by complete applications: theme, brand colors, language, API keys, assistant state, layout, tooltips, Google Maps loading, and toast notifications.
13
-
14
- Most components have local fallbacks and can render without it, but app shells should still place it at the root so state is synchronized across layout, assistant, maps, theme, and notifications.
15
-
16
- ```tsx
17
- import { XerticaProvider } from 'xertica-ui/brand';
18
- import 'xertica-ui/style.css';
19
-
20
- function App() {
21
- return (
22
- <XerticaProvider>
23
- <YourAppContent />
24
- </XerticaProvider>
25
- );
26
- }
27
- ```
28
-
29
- ---
30
-
31
- ## Props
32
-
33
- | Prop | Type | Default | Description |
34
- |---|---|---|---|
35
- | `children` | `ReactNode` | **Required** | The application content to be wrapped by all providers. |
36
- | `googleMapsApiKey` | `string` | - | Initial Google Maps JavaScript API key. |
37
- | `apiKey` | `string` | - | Initial Gemini / AI service API key forwarded to `ApiKeyProvider`. |
38
- | `defaultBrandTheme` | `string` | - | Initial brand color theme id forwarded to `BrandColorsProvider`. |
39
- | `primaryColor` | `string` | - | Hex color override for the primary brand token. |
40
- | `useCustomTokens` | `boolean` | `false` | Skips runtime brand token injection when the host app owns tokens. |
41
- | `disableDarkMode` | `boolean` | `false` | Forces light mode and disables dark-mode toggling from the theme provider. |
42
-
43
- ---
44
-
45
- ## What It Provides
46
-
47
- 1. **Theme, Language, Brand, and API Key Contexts**: Centralizes app-level preferences and service keys.
48
- 2. **Assistant Context**: Provides shared assistant conversation state.
49
- 3. **Layout Context**: Enables `useLayout()` for synchronized sidebar and assistant state.
50
- 4. **Tooltip Provider**: Standardizes Radix tooltip behavior across the app.
51
- 5. **Google Maps Loader**: Handles asynchronous loading of the Maps API.
52
- 6. **Toast Notifications**: Injects the `Sonner` toaster into the DOM.
53
-
54
- ---
55
-
56
- ## AI Best Practices
57
-
58
- > [!CAUTION]
59
- > - **Recommended App Wrapper** - Components should render independently when possible, but apps should still use this provider once at the root for synchronized state and shared services.
60
- > - **Environment Safety** - Never hardcode API keys. Always use environment variables when passing them to the provider.
61
- > - **Toaster Injection** - The provider automatically injects the `Sonner` toaster. Do not add another `<Toaster />` in your app root unless you specifically need to override it.
1
+ import { Meta, Title, Subtitle } from '@storybook/addon-docs/blocks';
2
+
3
+ <Meta title="System/XerticaProvider" />
4
+
5
+ <Title>XerticaProvider</Title>
6
+ <Subtitle>The recommended root wrapper for shared Xertica UI services.</Subtitle>
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ The `XerticaProvider` orchestrates the shared services used by complete applications: theme, brand colors, language, API keys, assistant state, layout, tooltips, Google Maps loading, and toast notifications.
13
+
14
+ Most components have local fallbacks and can render without it, but app shells should still place it at the root so state is synchronized across layout, assistant, maps, theme, and notifications.
15
+
16
+ ```tsx
17
+ import { XerticaProvider } from 'xertica-ui/brand';
18
+ import 'xertica-ui/style.css';
19
+
20
+ function App() {
21
+ return (
22
+ <XerticaProvider>
23
+ <YourAppContent />
24
+ </XerticaProvider>
25
+ );
26
+ }
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Props
32
+
33
+ | Prop | Type | Default | Description |
34
+ |---|---|---|---|
35
+ | `children` | `ReactNode` | **Required** | The application content to be wrapped by all providers. |
36
+ | `googleMapsApiKey` | `string` | - | Initial Google Maps JavaScript API key. |
37
+ | `apiKey` | `string` | - | Initial Gemini / AI service API key forwarded to `ApiKeyProvider`. |
38
+ | `defaultBrandTheme` | `string` | - | Initial brand color theme id forwarded to `BrandColorsProvider`. |
39
+ | `primaryColor` | `string` | - | Hex color override for the primary brand token. |
40
+ | `useCustomTokens` | `boolean` | `false` | Skips runtime brand token injection when the host app owns tokens. |
41
+ | `disableDarkMode` | `boolean` | `false` | Forces light mode and disables dark-mode toggling from the theme provider. |
42
+
43
+ ---
44
+
45
+ ## What It Provides
46
+
47
+ 1. **Theme, Language, Brand, and API Key Contexts**: Centralizes app-level preferences and service keys.
48
+ 2. **Assistant Context**: Provides shared assistant conversation state.
49
+ 3. **Layout Context**: Enables `useLayout()` for synchronized sidebar and assistant state.
50
+ 4. **Tooltip Provider**: Standardizes Radix tooltip behavior across the app.
51
+ 5. **Google Maps Loader**: Handles asynchronous loading of the Maps API.
52
+ 6. **Toast Notifications**: Injects the `Sonner` toaster into the DOM.
53
+
54
+ ---
55
+
56
+ ## AI Best Practices
57
+
58
+ > [!CAUTION]
59
+ > - **Recommended App Wrapper** - Components should render independently when possible, but apps should still use this provider once at the root for synchronized state and shared services.
60
+ > - **Environment Safety** - Never hardcode API keys. Always use environment variables when passing them to the provider.
61
+ > - **Toaster Injection** - The provider automatically injects the `Sonner` toaster. Do not add another `<Toaster />` in your app root unless you specifically need to override it.
@@ -1,34 +1,34 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import { describe, it, expect } from 'vitest';
3
- import { XerticaProvider } from './XerticaProvider';
4
- import React from 'react';
5
- import { useApiKey } from '../../../contexts/ApiKeyContext';
6
- import { useAssistente } from '../../../contexts/AssistenteContext';
7
- import { useBrandColors } from '../../../contexts/BrandColorsContext';
8
- import { useLanguage } from '../../../contexts/LanguageContext';
9
- import { useLayout } from '../../../contexts/LayoutContext';
10
- import { useTheme } from '../../../contexts/ThemeContext';
11
-
12
- function ProviderProbe() {
13
- const layout = useLayout();
14
- const theme = useTheme();
15
- const language = useLanguage();
16
- const brand = useBrandColors();
17
- const api = useApiKey();
18
- const assistant = useAssistente();
19
-
20
- return (
21
- <div
22
- data-testid="provider-probe"
23
- data-sidebar={layout.sidebarExpanded ? 'open' : 'closed'}
24
- data-theme={theme.theme}
25
- data-language={language.language}
26
- data-brand={brand.currentTheme}
27
- data-api={api.geminiApiKey}
28
- data-conversation={assistant.conversaAtual}
29
- />
30
- );
31
- }
3
+ import { XerticaProvider } from './XerticaProvider';
4
+ import React from 'react';
5
+ import { useApiKey } from '../../../contexts/ApiKeyContext';
6
+ import { useAssistente } from '../../../contexts/AssistenteContext';
7
+ import { useBrandColors } from '../../../contexts/BrandColorsContext';
8
+ import { useLanguage } from '../../../contexts/LanguageContext';
9
+ import { useLayout } from '../../../contexts/LayoutContext';
10
+ import { useTheme } from '../../../contexts/ThemeContext';
11
+
12
+ function ProviderProbe() {
13
+ const layout = useLayout();
14
+ const theme = useTheme();
15
+ const language = useLanguage();
16
+ const brand = useBrandColors();
17
+ const api = useApiKey();
18
+ const assistant = useAssistente();
19
+
20
+ return (
21
+ <div
22
+ data-testid="provider-probe"
23
+ data-sidebar={layout.sidebarExpanded ? 'open' : 'closed'}
24
+ data-theme={theme.theme}
25
+ data-language={language.language}
26
+ data-brand={brand.currentTheme}
27
+ data-api={api.geminiApiKey}
28
+ data-conversation={assistant.conversaAtual}
29
+ />
30
+ );
31
+ }
32
32
 
33
33
  describe('XerticaProvider', () => {
34
34
  it('renders children correctly', () => {
@@ -41,7 +41,7 @@ describe('XerticaProvider', () => {
41
41
  expect(screen.getByTestId('provider-child')).toBeInTheDocument();
42
42
  });
43
43
 
44
- it('renders global components like Toaster', () => {
44
+ it('renders global components like Toaster', () => {
45
45
  const { container } = render(
46
46
  <XerticaProvider>
47
47
  <div>Content</div>
@@ -50,25 +50,25 @@ describe('XerticaProvider', () => {
50
50
 
51
51
  // Check for sonner's toaster container (it has a specific data attribute or class)
52
52
  // Actually, sonner injects a [data-sonner-toaster] element
53
- const toaster = container.querySelector('[data-sonner-toaster]');
54
- expect(toaster).toBeDefined();
55
- });
56
-
57
- it('composes all public providers and forwards initial keys/theme props', () => {
58
- render(
59
- <XerticaProvider
60
- apiKey="test-gemini-key"
61
- googleMapsApiKey="test-maps-key"
62
- defaultBrandTheme="xertica-original"
63
- >
64
- <ProviderProbe />
65
- </XerticaProvider>
66
- );
67
-
68
- const probe = screen.getByTestId('provider-probe');
69
- expect(probe).toHaveAttribute('data-theme', 'light');
70
- expect(probe).toHaveAttribute('data-language', 'pt-BR');
71
- expect(probe).toHaveAttribute('data-api', 'test-gemini-key');
72
- expect(probe).toHaveAttribute('data-conversation', '1');
73
- });
74
- });
53
+ const toaster = container.querySelector('[data-sonner-toaster]');
54
+ expect(toaster).toBeDefined();
55
+ });
56
+
57
+ it('composes all public providers and forwards initial keys/theme props', () => {
58
+ render(
59
+ <XerticaProvider
60
+ apiKey="test-gemini-key"
61
+ googleMapsApiKey="test-maps-key"
62
+ defaultBrandTheme="xertica-original"
63
+ >
64
+ <ProviderProbe />
65
+ </XerticaProvider>
66
+ );
67
+
68
+ const probe = screen.getByTestId('provider-probe');
69
+ expect(probe).toHaveAttribute('data-theme', 'light');
70
+ expect(probe).toHaveAttribute('data-language', 'pt-BR');
71
+ expect(probe).toHaveAttribute('data-api', 'test-gemini-key');
72
+ expect(probe).toHaveAttribute('data-conversation', '1');
73
+ });
74
+ });