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,100 +1,100 @@
1
- import React from 'react';
2
- import {
3
- Card,
4
- CardContent,
5
- CardFooter,
6
- CardHeader,
7
- CardTitle,
8
- Button,
9
- ScrollArea,
10
- Badge,
11
- } from 'xertica-ui/ui';
12
- import { Header } from 'xertica-ui/layout';
13
- import { useLayout } from 'xertica-ui/hooks';
14
- import { ChevronRight, FileText } from 'lucide-react';
15
- import { useLocation, useNavigate, Link } from 'react-router-dom';
16
- import { getRouteByPath } from '../../../shared/config/navigation';
17
-
18
- interface HomeContentProps {
19
- user?: { name?: string; email?: string; avatar?: string } | null;
20
- }
21
-
22
- export function HomeContent({ user }: HomeContentProps) {
23
- const { sidebarExpanded, sidebarWidth } = useLayout();
24
- const location = useLocation();
25
- const navigate = useNavigate();
26
-
27
- const labelTranslations: Record<string, string> = {
28
- 'home': 'Início',
29
- 'template': 'Template',
30
- };
31
-
32
- const currentRoute = getRouteByPath(location.pathname);
33
- const breadcrumbLabel = currentRoute?.label
34
- ? labelTranslations[currentRoute.label.toLowerCase()] || currentRoute.label
35
- : 'Início';
36
-
37
- return (
38
- <div
39
- style={{
40
- paddingLeft: sidebarExpanded ? `${sidebarWidth}px` : '80px',
41
- }}
42
- className="flex-1 flex flex-col overflow-hidden transition-all duration-300 bg-blue-500"
43
- >
44
- <Header
45
- showThemeToggle={true}
46
- showLanguageSelector={true}
47
- breadcrumbs={[
48
- { label: 'Design System', href: '/home' },
49
- { label: 'Início' },
50
- ]}
51
- renderLink={(href: string, props: any) => <Link to={href} {...props} />}
52
- />
53
-
54
- <main className="flex-1 overflow-hidden bg-muted">
55
- <ScrollArea className="h-full">
56
- <div className="p-2 sm:p-4 md:p-6">
57
- <div className="max-w-6xl mx-auto space-y-8">
58
- <div className="space-y-2">
59
- <h2>{`Bem-vindo, ${user?.name || 'usuário'}!`}</h2>
60
- <p className="text-muted-foreground">
61
- Sua plataforma construída com Xertica UI Design System
62
- </p>
63
- </div>
64
-
65
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
66
- <Card className="hover:shadow-xl transition-shadow duration-200 flex flex-col h-full">
67
- <CardHeader>
68
- <div className="flex items-center gap-3">
69
- <div className="p-2 bg-[var(--chart-2)]/20 rounded-[var(--radius)]">
70
- <FileText className="w-6 h-6 text-[var(--chart-2)]" />
71
- </div>
72
- <div className="flex items-center gap-2">
73
- <CardTitle className="text-sm">Template CLI</CardTitle>
74
- <Badge variant="default" className="text-xs">Novo</Badge>
75
- </div>
76
- </div>
77
- </CardHeader>
78
- <CardContent className="flex-1">
79
- <p className="text-muted-foreground">
80
- Página template pronta para uso no CLI com todos os componentes configurados.
81
- </p>
82
- </CardContent>
83
- <CardFooter>
84
- <Button
85
- variant="outline"
86
- className="w-full"
87
- onClick={() => navigate('/template')}
88
- >
89
- Visualizar
90
- </Button>
91
- </CardFooter>
92
- </Card>
93
- </div>
94
- </div>
95
- </div>
96
- </ScrollArea>
97
- </main>
98
- </div>
99
- );
100
- }
1
+ import React from 'react';
2
+ import {
3
+ Card,
4
+ CardContent,
5
+ CardFooter,
6
+ CardHeader,
7
+ CardTitle,
8
+ Button,
9
+ ScrollArea,
10
+ Badge,
11
+ } from 'xertica-ui/ui';
12
+ import { Header } from 'xertica-ui/layout';
13
+ import { useLayout } from 'xertica-ui/hooks';
14
+ import { ChevronRight, FileText } from 'lucide-react';
15
+ import { useLocation, useNavigate, Link } from 'react-router-dom';
16
+ import { getRouteByPath } from '../../../shared/config/navigation';
17
+
18
+ interface HomeContentProps {
19
+ user?: { name?: string; email?: string; avatar?: string } | null;
20
+ }
21
+
22
+ export function HomeContent({ user }: HomeContentProps) {
23
+ const { sidebarExpanded, sidebarWidth } = useLayout();
24
+ const location = useLocation();
25
+ const navigate = useNavigate();
26
+
27
+ const labelTranslations: Record<string, string> = {
28
+ 'home': 'Início',
29
+ 'template': 'Template',
30
+ };
31
+
32
+ const currentRoute = getRouteByPath(location.pathname);
33
+ const breadcrumbLabel = currentRoute?.label
34
+ ? labelTranslations[currentRoute.label.toLowerCase()] || currentRoute.label
35
+ : 'Início';
36
+
37
+ return (
38
+ <div
39
+ style={{
40
+ paddingLeft: sidebarExpanded ? `${sidebarWidth}px` : '80px',
41
+ }}
42
+ className="flex-1 flex flex-col overflow-hidden transition-all duration-300 bg-blue-500"
43
+ >
44
+ <Header
45
+ showThemeToggle={true}
46
+ showLanguageSelector={true}
47
+ breadcrumbs={[
48
+ { label: 'Design System', href: '/home' },
49
+ { label: 'Início' },
50
+ ]}
51
+ renderLink={(href: string, props: any) => <Link to={href} {...props} />}
52
+ />
53
+
54
+ <main className="flex-1 overflow-hidden bg-muted">
55
+ <ScrollArea className="h-full">
56
+ <div className="p-2 sm:p-4 md:p-6">
57
+ <div className="max-w-6xl mx-auto space-y-8">
58
+ <div className="space-y-2">
59
+ <h2>{`Bem-vindo, ${user?.name || 'usuário'}!`}</h2>
60
+ <p className="text-muted-foreground">
61
+ Sua plataforma construída com Xertica UI Design System
62
+ </p>
63
+ </div>
64
+
65
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
66
+ <Card className="hover:shadow-xl transition-shadow duration-200 flex flex-col h-full">
67
+ <CardHeader>
68
+ <div className="flex items-center gap-3">
69
+ <div className="p-2 bg-[var(--chart-2)]/20 rounded-[var(--radius)]">
70
+ <FileText className="w-6 h-6 text-[var(--chart-2)]" />
71
+ </div>
72
+ <div className="flex items-center gap-2">
73
+ <CardTitle className="text-sm">Template CLI</CardTitle>
74
+ <Badge variant="default" className="text-xs">Novo</Badge>
75
+ </div>
76
+ </div>
77
+ </CardHeader>
78
+ <CardContent className="flex-1">
79
+ <p className="text-muted-foreground">
80
+ Página template pronta para uso no CLI com todos os componentes configurados.
81
+ </p>
82
+ </CardContent>
83
+ <CardFooter>
84
+ <Button
85
+ variant="outline"
86
+ className="w-full"
87
+ onClick={() => navigate('/template')}
88
+ >
89
+ Visualizar
90
+ </Button>
91
+ </CardFooter>
92
+ </Card>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </ScrollArea>
97
+ </main>
98
+ </div>
99
+ );
100
+ }
@@ -1,5 +1,5 @@
1
- export { TemplateContent } from './ui/TemplateContent';
2
- export { CrudTemplate } from './ui/CrudTemplate';
3
- export { DashboardTemplate } from './ui/DashboardTemplate';
4
- export { FormTemplate } from './ui/FormTemplate';
5
- export { LoginTemplate } from './ui/LoginTemplate';
1
+ export { TemplateContent } from './ui/TemplateContent';
2
+ export { CrudTemplate } from './ui/CrudTemplate';
3
+ export { DashboardTemplate } from './ui/DashboardTemplate';
4
+ export { FormTemplate } from './ui/FormTemplate';
5
+ export { LoginTemplate } from './ui/LoginTemplate';
@@ -12,9 +12,9 @@ import {
12
12
  DropdownMenuTrigger,
13
13
  DropdownMenuContent,
14
14
  DropdownMenuItem,
15
- Badge,
16
- Card,
17
- } from "xertica-ui/ui";
15
+ Badge,
16
+ Card,
17
+ } from "xertica-ui/ui";
18
18
  import { Search, Plus, MoreHorizontal } from "lucide-react";
19
19
 
20
20
  export function CrudTemplate() {
@@ -4,9 +4,9 @@ import {
4
4
  CardContent,
5
5
  CardHeader,
6
6
  CardTitle,
7
- Badge,
8
- Button,
9
- } from "xertica-ui/ui";
7
+ Badge,
8
+ Button,
9
+ } from "xertica-ui/ui";
10
10
  import { Users, DollarSign, Activity, TrendingUp } from "lucide-react";
11
11
 
12
12
  export function DashboardTemplate() {
@@ -1,120 +1,120 @@
1
- import React, { useState } from "react";
2
- import {
3
- Button,
4
- Input,
5
- Label,
6
- Card,
7
- CardHeader,
8
- CardTitle,
9
- CardContent,
10
- CardFooter,
11
- Checkbox,
12
- } from "xertica-ui/ui";
13
-
14
- interface FormValues {
15
- fullName: string;
16
- email: string;
17
- notify: boolean;
18
- }
19
-
20
- interface FormErrors {
21
- fullName?: string;
22
- email?: string;
23
- }
24
-
25
- function validate(values: FormValues): FormErrors {
26
- const errors: FormErrors = {};
27
- if (values.fullName.trim().length < 3) errors.fullName = "Nome completo é obrigatório";
28
- if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(values.email)) errors.email = "Formato inválido";
29
- return errors;
30
- }
31
-
32
- export function FormTemplate() {
33
- const [values, setValues] = useState<FormValues>({ fullName: "", email: "", notify: false });
34
- const [errors, setErrors] = useState<FormErrors>({});
35
- const [submitted, setSubmitted] = useState(false);
36
-
37
- const handleSubmit = (e: React.FormEvent) => {
38
- e.preventDefault();
39
- const errs = validate(values);
40
- setErrors(errs);
41
- if (Object.keys(errs).length === 0) {
42
- setSubmitted(true);
43
- console.log("Formulário enviado:", values);
44
- }
45
- };
46
-
47
- const handleReset = () => {
48
- setValues({ fullName: "", email: "", notify: false });
49
- setErrors({});
50
- setSubmitted(false);
51
- };
52
-
53
- return (
54
- <div className="p-6">
55
- <Card className="mx-auto w-full max-w-2xl">
56
- <CardHeader>
57
- <CardTitle>Editar Perfil Corporativo</CardTitle>
58
- <p className="text-sm text-muted-foreground">
59
- Atualize os detalhes de sua conta e defina as preferências.
60
- </p>
61
- </CardHeader>
62
-
63
- <form onSubmit={handleSubmit}>
64
- <CardContent className="grid gap-6 md:grid-cols-2">
65
- <div className="col-span-full space-y-2">
66
- <Label htmlFor="fullName">Nome Completo</Label>
67
- <Input
68
- id="fullName"
69
- placeholder="Seu nome"
70
- value={values.fullName}
71
- onChange={e => setValues(v => ({ ...v, fullName: e.target.value }))}
72
- />
73
- {errors.fullName && (
74
- <p className="text-sm text-destructive">{errors.fullName}</p>
75
- )}
76
- </div>
77
-
78
- <div className="col-span-full space-y-2">
79
- <Label htmlFor="email">E-mail Corporativo</Label>
80
- <Input
81
- id="email"
82
- type="email"
83
- placeholder="nome@exemplo.com"
84
- value={values.email}
85
- onChange={e => setValues(v => ({ ...v, email: e.target.value }))}
86
- />
87
- {errors.email && (
88
- <p className="text-sm text-destructive">{errors.email}</p>
89
- )}
90
- </div>
91
-
92
- <div className="col-span-full flex items-center space-x-2">
93
- <Checkbox
94
- id="notify"
95
- checked={values.notify}
96
- onCheckedChange={checked =>
97
- setValues(v => ({ ...v, notify: checked === true }))
98
- }
99
- />
100
- <Label htmlFor="notify" className="font-normal cursor-pointer text-sm">
101
- Desejo receber notificações atualizadas por e-mail no final de cada dia constando o sumário.
102
- </Label>
103
- </div>
104
-
105
- {submitted && (
106
- <div className="col-span-full rounded-[var(--radius)] bg-[var(--chart-2)]/10 border border-[var(--chart-2)]/20 p-3">
107
- <p className="text-sm text-[var(--chart-2)]">Perfil salvo com sucesso!</p>
108
- </div>
109
- )}
110
- </CardContent>
111
-
112
- <CardFooter className="flex justify-end gap-2 border-t pt-6 bg-muted/20">
113
- <Button type="button" variant="ghost" onClick={handleReset}>Cancelar</Button>
114
- <Button type="submit">Salvar Alterações</Button>
115
- </CardFooter>
116
- </form>
117
- </Card>
118
- </div>
119
- );
120
- }
1
+ import React, { useState } from "react";
2
+ import {
3
+ Button,
4
+ Input,
5
+ Label,
6
+ Card,
7
+ CardHeader,
8
+ CardTitle,
9
+ CardContent,
10
+ CardFooter,
11
+ Checkbox,
12
+ } from "xertica-ui/ui";
13
+
14
+ interface FormValues {
15
+ fullName: string;
16
+ email: string;
17
+ notify: boolean;
18
+ }
19
+
20
+ interface FormErrors {
21
+ fullName?: string;
22
+ email?: string;
23
+ }
24
+
25
+ function validate(values: FormValues): FormErrors {
26
+ const errors: FormErrors = {};
27
+ if (values.fullName.trim().length < 3) errors.fullName = "Nome completo é obrigatório";
28
+ if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(values.email)) errors.email = "Formato inválido";
29
+ return errors;
30
+ }
31
+
32
+ export function FormTemplate() {
33
+ const [values, setValues] = useState<FormValues>({ fullName: "", email: "", notify: false });
34
+ const [errors, setErrors] = useState<FormErrors>({});
35
+ const [submitted, setSubmitted] = useState(false);
36
+
37
+ const handleSubmit = (e: React.FormEvent) => {
38
+ e.preventDefault();
39
+ const errs = validate(values);
40
+ setErrors(errs);
41
+ if (Object.keys(errs).length === 0) {
42
+ setSubmitted(true);
43
+ console.log("Formulário enviado:", values);
44
+ }
45
+ };
46
+
47
+ const handleReset = () => {
48
+ setValues({ fullName: "", email: "", notify: false });
49
+ setErrors({});
50
+ setSubmitted(false);
51
+ };
52
+
53
+ return (
54
+ <div className="p-6">
55
+ <Card className="mx-auto w-full max-w-2xl">
56
+ <CardHeader>
57
+ <CardTitle>Editar Perfil Corporativo</CardTitle>
58
+ <p className="text-sm text-muted-foreground">
59
+ Atualize os detalhes de sua conta e defina as preferências.
60
+ </p>
61
+ </CardHeader>
62
+
63
+ <form onSubmit={handleSubmit}>
64
+ <CardContent className="grid gap-6 md:grid-cols-2">
65
+ <div className="col-span-full space-y-2">
66
+ <Label htmlFor="fullName">Nome Completo</Label>
67
+ <Input
68
+ id="fullName"
69
+ placeholder="Seu nome"
70
+ value={values.fullName}
71
+ onChange={e => setValues(v => ({ ...v, fullName: e.target.value }))}
72
+ />
73
+ {errors.fullName && (
74
+ <p className="text-sm text-destructive">{errors.fullName}</p>
75
+ )}
76
+ </div>
77
+
78
+ <div className="col-span-full space-y-2">
79
+ <Label htmlFor="email">E-mail Corporativo</Label>
80
+ <Input
81
+ id="email"
82
+ type="email"
83
+ placeholder="nome@exemplo.com"
84
+ value={values.email}
85
+ onChange={e => setValues(v => ({ ...v, email: e.target.value }))}
86
+ />
87
+ {errors.email && (
88
+ <p className="text-sm text-destructive">{errors.email}</p>
89
+ )}
90
+ </div>
91
+
92
+ <div className="col-span-full flex items-center space-x-2">
93
+ <Checkbox
94
+ id="notify"
95
+ checked={values.notify}
96
+ onCheckedChange={checked =>
97
+ setValues(v => ({ ...v, notify: checked === true }))
98
+ }
99
+ />
100
+ <Label htmlFor="notify" className="font-normal cursor-pointer text-sm">
101
+ Desejo receber notificações atualizadas por e-mail no final de cada dia constando o sumário.
102
+ </Label>
103
+ </div>
104
+
105
+ {submitted && (
106
+ <div className="col-span-full rounded-[var(--radius)] bg-[var(--chart-2)]/10 border border-[var(--chart-2)]/20 p-3">
107
+ <p className="text-sm text-[var(--chart-2)]">Perfil salvo com sucesso!</p>
108
+ </div>
109
+ )}
110
+ </CardContent>
111
+
112
+ <CardFooter className="flex justify-end gap-2 border-t pt-6 bg-muted/20">
113
+ <Button type="button" variant="ghost" onClick={handleReset}>Cancelar</Button>
114
+ <Button type="submit">Salvar Alterações</Button>
115
+ </CardFooter>
116
+ </form>
117
+ </Card>
118
+ </div>
119
+ );
120
+ }
@@ -7,9 +7,9 @@ import {
7
7
  CardHeader,
8
8
  CardTitle,
9
9
  Input,
10
- Button,
11
- Label,
12
- } from "xertica-ui/ui";
10
+ Button,
11
+ Label,
12
+ } from "xertica-ui/ui";
13
13
  import { LockIcon } from "lucide-react";
14
14
 
15
15
  export function LoginTemplate() {