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.
- package/CHANGELOG.md +31 -0
- package/README.md +1 -1
- package/assets/xertica-logo.svg +37 -37
- package/assets/xertica-x-logo.svg +20 -20
- package/bin/cli.ts +1 -1
- package/bin/generate-tokens.ts +13 -7
- package/components/assistant/index.ts +6 -6
- package/components/assistant/xertica-assistant/index.ts +2 -0
- package/components/assistant/xertica-assistant/use-assistant.ts +564 -0
- package/components/assistant/xertica-assistant/xertica-assistant.stories.tsx +200 -0
- package/components/assistant/xertica-assistant/xertica-assistant.tsx +183 -474
- package/components/blocks/card-patterns/ActivityCard.tsx +72 -72
- package/components/blocks/card-patterns/FeatureCard.tsx +100 -100
- package/components/blocks/card-patterns/NotificationCard.tsx +127 -127
- package/components/blocks/card-patterns/ProfileCard.tsx +84 -84
- package/components/blocks/card-patterns/ProjectCard.tsx +89 -89
- package/components/blocks/card-patterns/QuickActionCard.tsx +62 -62
- package/components/blocks/card-patterns/card-patterns.stories.tsx +445 -445
- package/components/blocks/card-patterns/index.ts +17 -17
- package/components/blocks/index.ts +1 -1
- package/components/brand/index.ts +6 -6
- package/components/brand/xertica-provider/XerticaProvider.tsx +48 -48
- package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
- package/components/brand/xertica-provider/xertica-provider.test.tsx +52 -52
- package/components/examples/MapExamples.tsx +282 -282
- package/components/examples/SimpleFilterableMap.tsx +191 -191
- package/components/examples/index.ts +51 -51
- package/components/figma/ImageWithFallback.tsx +27 -27
- package/components/hooks/index.ts +7 -7
- package/components/index.ts +5 -5
- package/components/layout/header/header.test.tsx +8 -8
- package/components/layout/header/header.tsx +4 -4
- package/components/layout/index.ts +2 -2
- package/components/layout/sidebar/index.ts +2 -0
- package/components/layout/sidebar/sidebar.mdx +1 -1
- package/components/layout/sidebar/sidebar.stories.tsx +160 -8
- package/components/layout/sidebar/sidebar.test.tsx +11 -11
- package/components/layout/sidebar/sidebar.tsx +610 -471
- package/components/layout/sidebar/use-sidebar.ts +113 -0
- package/components/media/FloatingMediaWrapper.tsx +11 -11
- package/components/media/audio-player/AudioPlayer.tsx +22 -22
- package/components/media/index.ts +3 -3
- package/components/pages/home-content/HomeContent.tsx +7 -7
- package/components/pages/home-content/home-content.mdx +62 -62
- package/components/pages/home-page/HomePage.stories.tsx +39 -39
- package/components/pages/home-page/HomePage.tsx +1 -1
- package/components/pages/home-page/home-page.mdx +53 -53
- package/components/pages/index.ts +8 -8
- package/components/pages/template-content/TemplateContent.tsx +5 -5
- package/components/pages/template-content/template-content.mdx +61 -61
- package/components/pages/template-page/TemplatePage.stories.tsx +39 -39
- package/components/pages/template-page/TemplatePage.tsx +5 -5
- package/components/pages/template-page/template-page.mdx +53 -53
- package/components/public-api-smoke.test.tsx +52 -52
- package/components/shared/assistant-utils.ts +43 -43
- package/components/shared/layout-constants.ts +1 -1
- package/components/ui/accordion/accordion.mdx +8 -8
- package/components/ui/accordion/accordion.stories.tsx +53 -53
- package/components/ui/alert/alert.mdx +8 -8
- package/components/ui/alert-dialog/alert-dialog.mdx +8 -8
- package/components/ui/aspect-ratio/aspect-ratio.mdx +8 -8
- package/components/ui/assistant-chart/assistant-chart.mdx +8 -8
- package/components/ui/avatar/avatar.mdx +8 -8
- package/components/ui/badge/badge.mdx +8 -8
- package/components/ui/badge/badge.tsx +9 -9
- package/components/ui/breadcrumb/breadcrumb.mdx +8 -8
- package/components/ui/button/button.mdx +8 -8
- package/components/ui/calendar/calendar.mdx +8 -8
- package/components/ui/calendar/calendar.tsx +258 -258
- package/components/ui/card/card.mdx +8 -8
- package/components/ui/card/card.stories.tsx +245 -245
- package/components/ui/carousel/carousel.mdx +8 -8
- package/components/ui/chart/chart.mdx +8 -8
- package/components/ui/chart/chart.stories.tsx +1303 -344
- package/components/ui/chart/chart.test.tsx +154 -154
- package/components/ui/chart/chart.tsx +2367 -1494
- package/components/ui/checkbox/checkbox.mdx +8 -8
- package/components/ui/checkbox/checkbox.stories.tsx +20 -20
- package/components/ui/collapsible/collapsible.mdx +8 -8
- package/components/ui/command/command.mdx +8 -8
- package/components/ui/context-menu/context-menu.mdx +8 -8
- package/components/ui/dialog/dialog.mdx +8 -8
- package/components/ui/drawer/drawer.mdx +8 -8
- package/components/ui/dropdown-menu/dropdown-menu.mdx +8 -8
- package/components/ui/empty/empty.mdx +8 -8
- package/components/ui/file-upload/file-upload.mdx +8 -8
- package/components/ui/file-upload/file-upload.stories.tsx +100 -0
- package/components/ui/file-upload/file-upload.tsx +14 -74
- package/components/ui/file-upload/index.ts +1 -0
- package/components/ui/file-upload/use-file-upload.ts +181 -0
- package/components/ui/google-maps-loader/google-maps-loader.tsx +2 -2
- package/components/ui/hover-card/hover-card.mdx +8 -8
- package/components/ui/input/input.mdx +8 -8
- package/components/ui/input-otp/input-otp.mdx +8 -8
- package/components/ui/input-otp/input-otp.stories.tsx +6 -6
- package/components/ui/label/label.mdx +8 -8
- package/components/ui/map/map.mdx +8 -8
- package/components/ui/map/map.stories.tsx +51 -51
- package/components/ui/map/map.tsx +2 -2
- package/components/ui/menubar/menubar.mdx +8 -8
- package/components/ui/navigation-menu/navigation-menu.mdx +8 -8
- package/components/ui/notification-badge/notification-badge.mdx +8 -8
- package/components/ui/pagination/index.ts +2 -0
- package/components/ui/pagination/pagination.mdx +8 -8
- package/components/ui/pagination/pagination.stories.tsx +94 -0
- package/components/ui/pagination/use-pagination.ts +194 -0
- package/components/ui/popover/popover.mdx +8 -8
- package/components/ui/progress/progress.mdx +8 -8
- package/components/ui/progress/progress.tsx +68 -68
- package/components/ui/radio-group/radio-group.mdx +8 -8
- package/components/ui/rating/rating.mdx +8 -8
- package/components/ui/resizable/resizable.mdx +8 -8
- package/components/ui/rich-text-editor/index.ts +2 -0
- package/components/ui/rich-text-editor/rich-text-editor.stories.tsx +129 -1
- package/components/ui/rich-text-editor/rich-text-editor.tsx +86 -305
- package/components/ui/rich-text-editor/use-rich-text-editor.ts +439 -0
- package/components/ui/route-map/route-map.mdx +8 -8
- package/components/ui/route-map/route-map.stories.tsx +54 -54
- package/components/ui/route-map/route-map.tsx +2 -2
- package/components/ui/scroll-area/scroll-area.mdx +8 -8
- package/components/ui/search/search.mdx +8 -8
- package/components/ui/select/select.mdx +8 -8
- package/components/ui/select/select.stories.tsx +9 -9
- package/components/ui/separator/separator.mdx +8 -8
- package/components/ui/sheet/sheet.mdx +8 -8
- package/components/ui/sheet/sheet.stories.tsx +95 -95
- package/components/ui/simple-map/simple-map.mdx +8 -8
- package/components/ui/simple-map/simple-map.stories.tsx +48 -48
- package/components/ui/skeleton/skeleton.mdx +8 -8
- package/components/ui/slider/slider.mdx +8 -8
- package/components/ui/sonner/sonner.mdx +8 -8
- package/components/ui/stats-card/stats-card.mdx +8 -8
- package/components/ui/stepper/index.ts +3 -1
- package/components/ui/stepper/stepper.mdx +8 -8
- package/components/ui/stepper/stepper.stories.tsx +116 -0
- package/components/ui/stepper/stepper.tsx +4 -4
- package/components/ui/stepper/use-stepper.ts +137 -0
- package/components/ui/switch/switch.mdx +8 -8
- package/components/ui/switch/switch.stories.tsx +20 -20
- package/components/ui/table/table.mdx +8 -8
- package/components/ui/tabs/tabs.mdx +8 -8
- package/components/ui/tabs/tabs.stories.tsx +26 -26
- package/components/ui/textarea/textarea.mdx +8 -8
- package/components/ui/timeline/timeline.mdx +8 -8
- package/components/ui/toggle/toggle.mdx +8 -8
- package/components/ui/toggle-group/toggle-group.mdx +8 -8
- package/components/ui/tooltip/tooltip.mdx +8 -8
- package/components/ui/tree-view/index.ts +4 -1
- package/components/ui/tree-view/tree-view.mdx +8 -8
- package/components/ui/tree-view/tree-view.stories.tsx +110 -4
- package/components/ui/tree-view/tree-view.tsx +17 -125
- package/components/ui/tree-view/use-tree-view.ts +229 -0
- package/components.json +1512 -1512
- package/contexts/ApiKeyContext.tsx +72 -72
- package/contexts/BrandColorsContext.tsx +26 -26
- package/contexts/LanguageContext.tsx +13 -13
- package/contexts/LayoutContext.test.tsx +11 -11
- package/contexts/LayoutContext.tsx +29 -29
- package/contexts/ThemeContext.tsx +26 -26
- package/contexts/theme-data.ts +4 -4
- package/dist/{AssistantChart-CVzmmhx4.js → AssistantChart-C_hwFRRr.js} +4 -4
- package/dist/{AssistantChart-BAx9VQvb.cjs → AssistantChart-CldVCVDe.cjs} +311 -94
- package/dist/{AssistantChart-CVko2A1W.js → AssistantChart-Cu3m7RBo.js} +314 -97
- package/dist/{AssistantChart-9w31gdAb.cjs → AssistantChart-DoZCyS5r.cjs} +4 -4
- package/dist/AudioPlayer-B1lt5cPl.cjs +989 -0
- package/dist/AudioPlayer-BZ7bibzU.cjs +982 -0
- package/dist/AudioPlayer-C12BjQBV.cjs +997 -0
- package/dist/AudioPlayer-DMcG_c7L.js +990 -0
- package/dist/AudioPlayer-DcFKRJE_.js +998 -0
- package/dist/AudioPlayer-e8LfNoqO.js +983 -0
- package/dist/{xertica-assistant-Qp3ydksa.cjs → CodeBlock-7TTgmdGG.cjs} +263 -51
- package/dist/{xertica-assistant-gnCJdcZY.js → CodeBlock-BeSt1h5P.js} +219 -7
- package/dist/CodeBlock-BgfYL_rD.cjs +2094 -0
- package/dist/CodeBlock-BlcqlA9M.cjs +2094 -0
- package/dist/CodeBlock-Bnmeu5ez.cjs +2094 -0
- package/dist/CodeBlock-BtfPlbAI.js +2078 -0
- package/dist/CodeBlock-CIySIuYr.js +2078 -0
- package/dist/CodeBlock-CuPtUM-7.cjs +2094 -0
- package/dist/CodeBlock-D6ffWXgc.js +2078 -0
- package/dist/CodeBlock-D8dcwbit.cjs +2094 -0
- package/dist/CodeBlock-DMZrFnlw.cjs +2094 -0
- package/dist/CodeBlock-DlBehYN8.js +2078 -0
- package/dist/CodeBlock-DnYNI8rQ.js +2078 -0
- package/dist/CodeBlock-DvKWbSnE.cjs +2094 -0
- package/dist/CodeBlock-DwMCfkFY.js +2078 -0
- package/dist/CodeBlock-Dy6CNYyj.js +2078 -0
- package/dist/CodeBlock-U1pPOQI7.cjs +2094 -0
- package/dist/CodeBlock-f_GpNhEB.js +2078 -0
- package/dist/CodeBlock-oB6u8nI1.js +2078 -0
- package/dist/CodeBlock-tZC31B73.cjs +2094 -0
- package/dist/ImageWithFallback-CGtidP6B.cjs +4542 -0
- package/dist/ImageWithFallback-lsg3pdFg.js +4508 -0
- package/dist/LanguageSelector-B5YfbHra.js +231 -0
- package/dist/LanguageSelector-D6uacAIM.cjs +230 -0
- package/dist/LayoutContext-BAql6ZRY.js +97 -0
- package/dist/LayoutContext-BvK-ggDa.cjs +96 -0
- package/dist/ThemeContext-BoH4NLfN.js +734 -0
- package/dist/{ThemeContext-BbBNoFTG.js → ThemeContext-C2EwAPDt.js} +2 -2
- package/dist/ThemeContext-r69W20Xg.cjs +733 -0
- package/dist/{ThemeContext-Cmr8Ex8H.cjs → ThemeContext-vTjumZeM.cjs} +2 -2
- package/dist/{VerifyEmailPage-BE-L9mB7.js → VerifyEmailPage-C0c2e5n0.js} +7 -7
- package/dist/{VerifyEmailPage-DMBh4NM9.cjs → VerifyEmailPage-CYXtbKi3.cjs} +1 -1
- package/dist/{VerifyEmailPage-CR7kb5df.cjs → VerifyEmailPage-Cwi3kbol.cjs} +7 -7
- package/dist/{VerifyEmailPage-CdYPSJoO.js → VerifyEmailPage-DvMLZgFt.js} +1 -1
- package/dist/XerticaOrbe-KL1RBHzw.cjs +1354 -0
- package/dist/XerticaOrbe-zwS1p2a8.js +1355 -0
- package/dist/XerticaProvider-6btlAlzc.js +17 -0
- package/dist/XerticaProvider-BNoNOxQ5.cjs +16 -0
- package/dist/XerticaProvider-BlY2limY.cjs +38 -0
- package/dist/{XerticaProvider-BITjgC5p.js → XerticaProvider-CEoWMTxu.js} +2 -2
- package/dist/{XerticaProvider-By8q3Roe.cjs → XerticaProvider-CllrbMEJ.cjs} +2 -2
- package/dist/XerticaProvider-DDuiIcKo.js +39 -0
- package/dist/XerticaProvider-cI9hSs27.cjs +38 -0
- package/dist/XerticaProvider-hSwhNQex.js +39 -0
- package/dist/{alert-dialog-yckpaOpy.cjs → alert-dialog-DSKByiKZ.cjs} +3 -3
- package/dist/{alert-dialog-iDe5VE5o.js → alert-dialog-s-vmNkJ_.js} +3 -3
- package/dist/assistant.cjs.js +2 -1
- package/dist/assistant.es.js +3 -2
- package/dist/brand.cjs.js +1 -1
- package/dist/brand.es.js +1 -1
- package/dist/breadcrumb-CqJ7bHY5.js +161 -0
- package/dist/breadcrumb-m9Hb2_XN.cjs +177 -0
- package/dist/cli.js +14 -8
- package/dist/components/assistant/xertica-assistant/index.d.ts +2 -0
- package/dist/components/assistant/xertica-assistant/use-assistant.d.ts +126 -0
- package/dist/components/assistant/xertica-assistant/xertica-assistant.d.ts +7 -2
- package/dist/components/blocks/audio-player/AudioPlayer.d.ts +35 -0
- package/dist/components/blocks/audio-player/index.d.ts +1 -0
- package/dist/components/blocks/document-editor/DocumentEditor.d.ts +26 -0
- package/dist/components/blocks/document-editor/index.d.ts +1 -0
- package/dist/components/blocks/podcast-player/PodcastPlayer.d.ts +41 -0
- package/dist/components/blocks/podcast-player/index.d.ts +1 -0
- package/dist/components/layout/sidebar/index.d.ts +2 -0
- package/dist/components/layout/sidebar/sidebar.d.ts +80 -0
- package/dist/components/layout/sidebar/use-sidebar.d.ts +22 -0
- package/dist/components/shared/layout-constants.d.ts +1 -1
- package/dist/components/ui/button/button.d.ts +1 -1
- package/dist/components/ui/chart/chart.d.ts +162 -5
- package/dist/components/ui/file-upload/file-upload.d.ts +2 -0
- package/dist/components/ui/file-upload/index.d.ts +1 -0
- package/dist/components/ui/file-upload/use-file-upload.d.ts +49 -0
- package/dist/components/ui/pagination/index.d.ts +2 -0
- package/dist/components/ui/pagination/use-pagination.d.ts +78 -0
- package/dist/components/ui/rich-text-editor/index.d.ts +2 -0
- package/dist/components/ui/rich-text-editor/use-rich-text-editor.d.ts +107 -0
- package/dist/components/ui/stepper/index.d.ts +3 -1
- package/dist/components/ui/stepper/stepper.d.ts +2 -2
- package/dist/components/ui/stepper/use-stepper.d.ts +60 -0
- package/dist/components/ui/tree-view/index.d.ts +4 -1
- package/dist/components/ui/tree-view/tree-view.d.ts +4 -6
- package/dist/components/ui/tree-view/use-tree-view.d.ts +60 -0
- package/dist/dropdown-menu-BDB5CmQs.cjs +247 -0
- package/dist/dropdown-menu-DQidbKBD.js +231 -0
- package/dist/google-maps-loader-BFWp6VPd.js +287 -0
- package/dist/{google-maps-loader-t2IlYBzw.js → google-maps-loader-CTYySAun.js} +4 -0
- package/dist/{google-maps-loader-BqsYL48U.cjs → google-maps-loader-Y-QkD-Li.cjs} +5 -0
- package/dist/google-maps-loader-eS3uQ5TA.cjs +287 -0
- package/dist/header-Cgy6vYPk.cjs +731 -0
- package/dist/header-DRlT4jgI.js +715 -0
- package/dist/header-Dux00SI4.cjs +731 -0
- package/dist/header-EkGKXPsD.js +715 -0
- package/dist/header-WfEywpyc.cjs +731 -0
- package/dist/header-tifNQn2U.js +715 -0
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +1 -1
- package/dist/index-BhapVLVj.js +8 -0
- package/dist/{index-D3RLKRAs.cjs → index-COtD8bRW.cjs} +1 -1
- package/dist/index-D6fxYEY8.cjs +7 -0
- package/dist/index-DW5tYe26.js +8 -0
- package/dist/index.cjs.js +19 -8
- package/dist/index.es.js +39 -28
- package/dist/index.umd.js +1043 -470
- package/dist/input-2R4loU86.js +127 -0
- package/dist/input-DWANSKGb.cjs +145 -0
- package/dist/layout.cjs.js +89 -1
- package/dist/layout.es.js +90 -2
- package/dist/pages.cjs.js +1 -1
- package/dist/pages.es.js +1 -1
- package/dist/rich-text-editor-0mraWT5y.cjs +2376 -0
- package/dist/rich-text-editor-B6jMRLzk.cjs +1939 -0
- package/dist/rich-text-editor-B8_oYcIR.js +1730 -0
- package/dist/rich-text-editor-B9UbSXNb.js +1203 -0
- package/dist/rich-text-editor-BYuRBNBU.js +2373 -0
- package/dist/rich-text-editor-Bb9pySTs.cjs +2374 -0
- package/dist/rich-text-editor-BcL6L3cm.cjs +2374 -0
- package/dist/rich-text-editor-BoVZYtTs.cjs +2391 -0
- package/dist/rich-text-editor-CPV1lEPH.cjs +1748 -0
- package/dist/rich-text-editor-CoKqbCtu.cjs +1799 -0
- package/dist/rich-text-editor-Cw56T_mB.js +2356 -0
- package/dist/rich-text-editor-Cyt8qs2b.js +1921 -0
- package/dist/rich-text-editor-D6H84OcX.cjs +1220 -0
- package/dist/rich-text-editor-D76gD-QI.js +2328 -0
- package/dist/rich-text-editor-DKkokOnA.js +1781 -0
- package/dist/rich-text-editor-DNsdpN64.cjs +2359 -0
- package/dist/rich-text-editor-DfG8bCyY.js +2358 -0
- package/dist/rich-text-editor-DgF8s7xW.js +2949 -0
- package/dist/rich-text-editor-Dxjw31Z4.js +2341 -0
- package/dist/rich-text-editor-DzP0Epmb.js +2356 -0
- package/dist/rich-text-editor-mWoaSCE4.cjs +2966 -0
- package/dist/rich-text-editor-skplNlBM.cjs +2345 -0
- package/dist/select-Bkbr0f-Z.cjs +162 -0
- package/dist/select-CvIVdX2n.js +145 -0
- package/dist/sidebar-CK_0ZQHj.cjs +803 -0
- package/dist/sidebar-CUuOvYhK.js +787 -0
- package/dist/slider-Bc5Hd0y1.js +56 -0
- package/dist/slider-N7hFFj6X.cjs +73 -0
- package/dist/tooltip-Ded96neP.cjs +137 -0
- package/dist/tooltip-HDOoD2-0.js +120 -0
- package/dist/ui.cjs.js +14 -4
- package/dist/ui.es.js +26 -16
- package/dist/use-mobile-B0hNy_Y6.cjs +4303 -0
- package/dist/use-mobile-BXuYROXM.js +4202 -0
- package/dist/use-mobile-Bbd51ASU.cjs +4392 -0
- package/dist/use-mobile-Bk6CX-TC.js +4359 -0
- package/dist/use-mobile-BvYdisLP.js +4202 -0
- package/dist/use-mobile-BzuxjzNX.cjs +4392 -0
- package/dist/use-mobile-CG2-SdXV.cjs +4235 -0
- package/dist/use-mobile-CKb5pqTs.js +4269 -0
- package/dist/use-mobile-CYuAuGDl.js +4202 -0
- package/dist/use-mobile-CaENcqm-.js +4508 -0
- package/dist/use-mobile-CbrYgJGJ.js +4203 -0
- package/dist/use-mobile-DMOvImGQ.cjs +4542 -0
- package/dist/use-mobile-DRB3BQgD.cjs +4235 -0
- package/dist/use-mobile-DZvv7QMR.js +4359 -0
- package/dist/use-mobile-DdI_TXam.cjs +4235 -0
- package/dist/use-mobile-DlceKf8a.js +4359 -0
- package/dist/use-mobile-DsOnow1o.cjs +4236 -0
- package/dist/use-mobile-Kcj6jSnK.cjs +4392 -0
- package/dist/use-mobile-bnKcua_i.js +4202 -0
- package/dist/use-mobile-ncXBeE2z.cjs +4235 -0
- package/dist/{xertica-assistant-B1IaHXnB.cjs → xertica-assistant-dyP7KHM5.cjs} +533 -392
- package/dist/{xertica-assistant-DPsESB6t.js → xertica-assistant-yX1CFBBo.js} +535 -394
- package/dist/xertica-ui.css +2 -2
- package/docs/ai-usage.md +28 -10
- package/docs/architecture.md +76 -0
- package/docs/components/assistant.md +159 -0
- package/docs/components/calendar.md +154 -154
- package/docs/components/card-patterns.md +337 -337
- package/docs/components/card.md +235 -235
- package/docs/components/chart.md +354 -39
- package/docs/components/file-upload.md +119 -2
- package/docs/components/map.md +84 -84
- package/docs/components/pagination.md +187 -0
- package/docs/components/rich-text-editor.md +164 -0
- package/docs/components/sidebar.md +153 -4
- package/docs/components/stepper.md +157 -12
- package/docs/components/tree-view.md +164 -6
- package/docs/components/xertica-provider.md +24 -24
- package/docs/decision-tree.md +287 -287
- package/docs/getting-started.md +1 -1
- package/docs/guidelines.md +14 -8
- package/docs/layout.md +2 -2
- package/docs/llms.md +4 -4
- package/guidelines/Guidelines.md +252 -250
- package/hooks/useTheme.ts +3 -3
- package/imports/Podcast.tsx +388 -388
- package/imports/XerticaAi.tsx +45 -45
- package/imports/XerticaX.tsx +19 -19
- package/imports/svg-aueiaqngck.ts +11 -11
- package/imports/svg-v9krss1ozd.ts +16 -16
- package/imports/svg-vhrdofe3qe.ts +5 -5
- package/llms-compact.txt +327 -327
- package/llms.txt +160 -160
- package/package.json +203 -203
- package/styles/xertica/app-overrides/chat.css +61 -61
- package/styles/xertica/app-overrides/scrollbar.css +33 -33
- package/styles/xertica/integrations/google-maps.css +76 -76
- package/styles/xertica/integrations/sonner.css +73 -73
- package/styles/xertica/tokens.css +41 -12
- package/templates/CLAUDE.md +182 -172
- package/templates/guidelines/Guidelines.md +325 -313
- package/templates/package.json +3 -3
- package/templates/src/features/auth/index.ts +4 -4
- package/templates/src/features/auth/ui/AuthPageShell.tsx +34 -34
- package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +70 -70
- package/templates/src/features/auth/ui/LoginContent.tsx +90 -90
- package/templates/src/features/auth/ui/ResetPasswordContent.tsx +151 -151
- package/templates/src/features/auth/ui/SocialLoginButtons.tsx +59 -59
- package/templates/src/features/auth/ui/VerifyEmailContent.tsx +82 -82
- package/templates/src/features/home/index.ts +1 -1
- package/templates/src/features/home/ui/HomeContent.tsx +100 -100
- package/templates/src/features/template/index.ts +5 -5
- package/templates/src/features/template/ui/CrudTemplate.tsx +3 -3
- package/templates/src/features/template/ui/DashboardTemplate.tsx +3 -3
- package/templates/src/features/template/ui/FormTemplate.tsx +120 -120
- package/templates/src/features/template/ui/LoginTemplate.tsx +3 -3
- package/templates/src/pages/AssistantPage.tsx +328 -328
- package/templates/src/pages/ForgotPasswordPage.tsx +6 -6
- package/templates/src/pages/HomePage.tsx +57 -57
- package/templates/src/pages/LoginPage.tsx +10 -10
- package/templates/src/pages/ResetPasswordPage.tsx +6 -6
- package/templates/src/pages/TemplatePage.tsx +30 -30
- package/templates/src/pages/VerifyEmailPage.tsx +6 -6
- package/templates/src/shared/config/navigation.ts +20 -20
- package/templates/src/shared/lib/auth.ts +20 -20
- package/templates/src/shared/types/auth.ts +3 -3
- package/templates/src/styles/xertica/tokens.css +39 -10
- package/templates/tsconfig.json +5 -5
- package/utils/gemini.ts +140 -140
- package/dist/VerifyEmailPage-Bae2cBXT.cjs +0 -2827
- package/dist/VerifyEmailPage-CbgjOF0v.js +0 -2828
- package/dist/index-CkTUgOwX.js +0 -8
|
@@ -4,14 +4,14 @@ const React = require("react");
|
|
|
4
4
|
const framerMotion = require("framer-motion");
|
|
5
5
|
const lucideReact = require("lucide-react");
|
|
6
6
|
const RechartsPrimitive = require("recharts");
|
|
7
|
-
const richTextEditor = require("./rich-text-editor-
|
|
8
|
-
const dropdownMenu = require("./dropdown-menu-
|
|
9
|
-
const
|
|
10
|
-
const input = require("./input-
|
|
7
|
+
const richTextEditor = require("./rich-text-editor-CPV1lEPH.cjs");
|
|
8
|
+
const dropdownMenu = require("./dropdown-menu-BDB5CmQs.cjs");
|
|
9
|
+
const tooltip = require("./tooltip-Ded96neP.cjs");
|
|
10
|
+
const input = require("./input-DWANSKGb.cjs");
|
|
11
11
|
const sonner = require("sonner");
|
|
12
|
-
const XerticaOrbe = require("./XerticaOrbe-
|
|
13
|
-
const tooltip = require("./tooltip-CNtsL5cB.cjs");
|
|
12
|
+
const XerticaOrbe = require("./XerticaOrbe-KL1RBHzw.cjs");
|
|
14
13
|
const TooltipPrimitive = require("@radix-ui/react-tooltip");
|
|
14
|
+
const reactSyntaxHighlighter = require("react-syntax-highlighter");
|
|
15
15
|
function _interopNamespaceDefault(e) {
|
|
16
16
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
17
17
|
if (e) {
|
|
@@ -108,7 +108,7 @@ function FormattedDocument({ content, maxPreviewLength = 500, className = "" })
|
|
|
108
108
|
}
|
|
109
109
|
),
|
|
110
110
|
isLong && /* @__PURE__ */ jsxRuntime.jsx(
|
|
111
|
-
|
|
111
|
+
tooltip.Button,
|
|
112
112
|
{
|
|
113
113
|
variant: "ghost",
|
|
114
114
|
size: "sm",
|
|
@@ -308,7 +308,7 @@ function ModernChatInput({
|
|
|
308
308
|
(recordingTime % 60).toString().padStart(2, "0")
|
|
309
309
|
] }),
|
|
310
310
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
311
|
-
|
|
311
|
+
tooltip.Button,
|
|
312
312
|
{
|
|
313
313
|
onClick: handleVoiceRecording,
|
|
314
314
|
size: "sm",
|
|
@@ -385,7 +385,7 @@ function ModernChatInput({
|
|
|
385
385
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
386
386
|
(enableDocumentCreation || enablePodcastGeneration || enableSearch) && /* @__PURE__ */ jsxRuntime.jsxs(input.Popover, { open: isPopoverOpen, onOpenChange: setIsPopoverOpen, children: [
|
|
387
387
|
/* @__PURE__ */ jsxRuntime.jsx(input.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
388
|
-
|
|
388
|
+
tooltip.Button,
|
|
389
389
|
{
|
|
390
390
|
variant: "ghost",
|
|
391
391
|
size: "sm",
|
|
@@ -461,7 +461,7 @@ function ModernChatInput({
|
|
|
461
461
|
whileHover: { scale: 1.05 },
|
|
462
462
|
whileTap: { scale: 0.95 },
|
|
463
463
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
464
|
-
|
|
464
|
+
tooltip.Button,
|
|
465
465
|
{
|
|
466
466
|
variant: "ghost",
|
|
467
467
|
size: "sm",
|
|
@@ -481,7 +481,7 @@ function ModernChatInput({
|
|
|
481
481
|
whileHover: { scale: 1.05 },
|
|
482
482
|
whileTap: { scale: 0.95 },
|
|
483
483
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
484
|
-
|
|
484
|
+
tooltip.Button,
|
|
485
485
|
{
|
|
486
486
|
variant: "ghost",
|
|
487
487
|
size: "sm",
|
|
@@ -503,7 +503,7 @@ function ModernChatInput({
|
|
|
503
503
|
whileHover: hasContent ? { scale: 1.05 } : {},
|
|
504
504
|
whileTap: hasContent ? { scale: 0.95 } : {},
|
|
505
505
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
506
|
-
|
|
506
|
+
tooltip.Button,
|
|
507
507
|
{
|
|
508
508
|
onClick: () => {
|
|
509
509
|
onSubmit(selectedAction);
|
|
@@ -684,7 +684,7 @@ function AssistantTooltipContent({
|
|
|
684
684
|
{
|
|
685
685
|
"data-slot": "tooltip-content",
|
|
686
686
|
sideOffset,
|
|
687
|
-
className:
|
|
687
|
+
className: tooltip.cn(
|
|
688
688
|
"bg-popover text-popover-foreground shadow-lg animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
|
|
689
689
|
className
|
|
690
690
|
),
|
|
@@ -998,10 +998,10 @@ function XerticaAssistant({
|
|
|
998
998
|
const containerHeight = height ?? "h-full";
|
|
999
999
|
if (isMobile && !isExpanded) {
|
|
1000
1000
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1001
|
-
|
|
1001
|
+
tooltip.Button,
|
|
1002
1002
|
{
|
|
1003
1003
|
onClick: handleToggle,
|
|
1004
|
-
className:
|
|
1004
|
+
className: tooltip.cn(
|
|
1005
1005
|
"fixed bottom-4 right-4 h-14 rounded-full shadow-lg pl-3 pr-5 gap-3 bg-white text-zinc-900 hover:bg-zinc-50 border border-zinc-200 z-50 transition-all duration-300",
|
|
1006
1006
|
className
|
|
1007
1007
|
),
|
|
@@ -1050,7 +1050,7 @@ function XerticaAssistant({
|
|
|
1050
1050
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1051
1051
|
"div",
|
|
1052
1052
|
{
|
|
1053
|
-
className:
|
|
1053
|
+
className: tooltip.cn(
|
|
1054
1054
|
`${containerHeight} flex flex-col bg-background relative`,
|
|
1055
1055
|
!isFullPage && "border-l border-border shadow-sm",
|
|
1056
1056
|
isMobile && isExpanded && "fixed inset-0 z-[100] h-[100dvh] w-full border-l-0 shadow-2xl",
|
|
@@ -1063,7 +1063,7 @@ function XerticaAssistant({
|
|
|
1063
1063
|
editingDocument && !isFullPage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1064
1064
|
"div",
|
|
1065
1065
|
{
|
|
1066
|
-
className:
|
|
1066
|
+
className: tooltip.cn(
|
|
1067
1067
|
"flex flex-col border-border bg-background overflow-hidden transition-all duration-300",
|
|
1068
1068
|
isMobile ? "fixed inset-0 z-[110] w-full h-[100dvh]" : "absolute top-0 bottom-0 right-full w-[800px] border-l border-r border-border shadow-[-25px_0_50px_-15px_rgba(0,0,0,0.15)] z-[90]"
|
|
1069
1069
|
),
|
|
@@ -1075,7 +1075,7 @@ function XerticaAssistant({
|
|
|
1075
1075
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-card-foreground text-sm", children: editingDocument.title })
|
|
1076
1076
|
] }),
|
|
1077
1077
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1078
|
-
|
|
1078
|
+
tooltip.Button,
|
|
1079
1079
|
{
|
|
1080
1080
|
variant: "ghost",
|
|
1081
1081
|
size: "icon",
|
|
@@ -1093,7 +1093,7 @@ function XerticaAssistant({
|
|
|
1093
1093
|
onChange: (newVal) => setEditingDocument((prev) => prev ? { ...prev, content: newVal } : null),
|
|
1094
1094
|
placeholder: "Comece a digitar o conteúdo do seu documento aqui...",
|
|
1095
1095
|
className: "max-w-4xl mx-auto h-full",
|
|
1096
|
-
actionButton: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1096
|
+
actionButton: /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Button, { size: "sm", className: "gap-2 h-8", children: [
|
|
1097
1097
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-3.5 h-3.5" }),
|
|
1098
1098
|
"Salvar"
|
|
1099
1099
|
] })
|
|
@@ -1105,7 +1105,7 @@ function XerticaAssistant({
|
|
|
1105
1105
|
!isFullPage && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1106
1106
|
"div",
|
|
1107
1107
|
{
|
|
1108
|
-
className:
|
|
1108
|
+
className: tooltip.cn(
|
|
1109
1109
|
"border-b border-border flex items-center h-[64px]",
|
|
1110
1110
|
isExpanded ? "justify-between px-4" : "justify-center px-0"
|
|
1111
1111
|
),
|
|
@@ -1125,7 +1125,7 @@ function XerticaAssistant({
|
|
|
1125
1125
|
),
|
|
1126
1126
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1127
1127
|
isExpanded && onNavigateFullPage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1128
|
-
|
|
1128
|
+
tooltip.Button,
|
|
1129
1129
|
{
|
|
1130
1130
|
variant: "ghost",
|
|
1131
1131
|
size: "sm",
|
|
@@ -1137,12 +1137,12 @@ function XerticaAssistant({
|
|
|
1137
1137
|
}
|
|
1138
1138
|
),
|
|
1139
1139
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1140
|
-
|
|
1140
|
+
tooltip.Button,
|
|
1141
1141
|
{
|
|
1142
1142
|
variant: "ghost",
|
|
1143
1143
|
size: "sm",
|
|
1144
1144
|
onClick: handleToggle,
|
|
1145
|
-
className:
|
|
1145
|
+
className: tooltip.cn(
|
|
1146
1146
|
"h-8 w-8 p-0 text-muted-foreground hover:bg-accent hover:text-accent-foreground rounded-full",
|
|
1147
1147
|
!isExpanded && "w-10 h-10"
|
|
1148
1148
|
// Slightly larger touch target when collapsed if desired, or keep consistent
|
|
@@ -1177,7 +1177,7 @@ function XerticaAssistant({
|
|
|
1177
1177
|
] }),
|
|
1178
1178
|
/* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
|
|
1179
1179
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1180
|
-
|
|
1180
|
+
tooltip.Button,
|
|
1181
1181
|
{
|
|
1182
1182
|
variant: "ghost",
|
|
1183
1183
|
size: "sm",
|
|
@@ -1197,7 +1197,7 @@ function XerticaAssistant({
|
|
|
1197
1197
|
] }),
|
|
1198
1198
|
showFavorites && /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
|
|
1199
1199
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1200
|
-
|
|
1200
|
+
tooltip.Button,
|
|
1201
1201
|
{
|
|
1202
1202
|
variant: "ghost",
|
|
1203
1203
|
size: "sm",
|
|
@@ -1217,7 +1217,7 @@ function XerticaAssistant({
|
|
|
1217
1217
|
] }),
|
|
1218
1218
|
showHistory && /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
|
|
1219
1219
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1220
|
-
|
|
1220
|
+
tooltip.Button,
|
|
1221
1221
|
{
|
|
1222
1222
|
variant: "ghost",
|
|
1223
1223
|
size: "sm",
|
|
@@ -1245,13 +1245,13 @@ function XerticaAssistant({
|
|
|
1245
1245
|
transition: { duration: 0.2 },
|
|
1246
1246
|
className: "flex-1 flex flex-col overflow-hidden",
|
|
1247
1247
|
children: [
|
|
1248
|
-
!isFullPage &&
|
|
1248
|
+
!isFullPage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1249
1249
|
"div",
|
|
1250
1250
|
{
|
|
1251
1251
|
className: "px-4 py-2 border-b border-border",
|
|
1252
1252
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
1253
1253
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1254
|
-
|
|
1254
|
+
tooltip.Button,
|
|
1255
1255
|
{
|
|
1256
1256
|
variant: abaSelecionada === "chat" ? "default" : "ghost",
|
|
1257
1257
|
size: "sm",
|
|
@@ -1265,7 +1265,7 @@ function XerticaAssistant({
|
|
|
1265
1265
|
}
|
|
1266
1266
|
),
|
|
1267
1267
|
showHistory && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1268
|
-
|
|
1268
|
+
tooltip.Button,
|
|
1269
1269
|
{
|
|
1270
1270
|
variant: abaSelecionada === "historico" ? "default" : "ghost",
|
|
1271
1271
|
size: "sm",
|
|
@@ -1279,7 +1279,7 @@ function XerticaAssistant({
|
|
|
1279
1279
|
}
|
|
1280
1280
|
),
|
|
1281
1281
|
showFavorites && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1282
|
-
|
|
1282
|
+
tooltip.Button,
|
|
1283
1283
|
{
|
|
1284
1284
|
variant: abaSelecionada === "favoritos" ? "default" : "ghost",
|
|
1285
1285
|
size: "sm",
|
|
@@ -1316,7 +1316,7 @@ function XerticaAssistant({
|
|
|
1316
1316
|
sugestao.id
|
|
1317
1317
|
)),
|
|
1318
1318
|
!showMoreSuggestions ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1319
|
-
|
|
1319
|
+
tooltip.Button,
|
|
1320
1320
|
{
|
|
1321
1321
|
variant: "ghost",
|
|
1322
1322
|
size: "sm",
|
|
@@ -1342,7 +1342,7 @@ function XerticaAssistant({
|
|
|
1342
1342
|
sugestao.id
|
|
1343
1343
|
)) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground text-center py-2", children: "Nenhuma sugestão extra." }),
|
|
1344
1344
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1345
|
-
|
|
1345
|
+
tooltip.Button,
|
|
1346
1346
|
{
|
|
1347
1347
|
variant: "ghost",
|
|
1348
1348
|
size: "sm",
|
|
@@ -1365,9 +1365,9 @@ function XerticaAssistant({
|
|
|
1365
1365
|
className: `flex gap-2 w-full min-w-0 ${msg.type === "user" ? "justify-end" : "justify-start"}`,
|
|
1366
1366
|
children: [
|
|
1367
1367
|
msg.type === "assistant" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 pt-1", children: /* @__PURE__ */ jsxRuntime.jsx(XerticaOrbe.XerticaOrbe, { size: 32 }) }),
|
|
1368
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1368
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: tooltip.cn(
|
|
1369
1369
|
"flex flex-col min-w-0 transition-all duration-300",
|
|
1370
|
-
msg.type === "user" ? "max-w-[85%] md:max-w-[70%] items-end w-fit" :
|
|
1370
|
+
msg.type === "user" ? "max-w-[85%] md:max-w-[70%] items-end w-fit" : tooltip.cn(
|
|
1371
1371
|
"items-start",
|
|
1372
1372
|
msg.tableData || msg.chartData || msg.searchResults || msg.attachmentType === "document" ? "w-full max-w-full" : "w-fit max-w-[95%] md:max-w-[90%]"
|
|
1373
1373
|
)
|
|
@@ -1375,7 +1375,7 @@ function XerticaAssistant({
|
|
|
1375
1375
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1376
1376
|
"div",
|
|
1377
1377
|
{
|
|
1378
|
-
className:
|
|
1378
|
+
className: tooltip.cn(
|
|
1379
1379
|
"px-4 py-2 break-words overflow-hidden overflow-x-hidden w-full min-w-0 rounded-2xl",
|
|
1380
1380
|
msg.type === "user" ? "bg-primary text-primary-foreground shadow-sm" : "bg-muted text-foreground"
|
|
1381
1381
|
),
|
|
@@ -1391,7 +1391,7 @@ function XerticaAssistant({
|
|
|
1391
1391
|
] }),
|
|
1392
1392
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
|
|
1393
1393
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1394
|
-
|
|
1394
|
+
tooltip.Button,
|
|
1395
1395
|
{
|
|
1396
1396
|
variant: "ghost",
|
|
1397
1397
|
size: "sm",
|
|
@@ -1402,7 +1402,7 @@ function XerticaAssistant({
|
|
|
1402
1402
|
}
|
|
1403
1403
|
),
|
|
1404
1404
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1405
|
-
|
|
1405
|
+
tooltip.Button,
|
|
1406
1406
|
{
|
|
1407
1407
|
variant: "ghost",
|
|
1408
1408
|
size: "sm",
|
|
@@ -1506,7 +1506,7 @@ function XerticaAssistant({
|
|
|
1506
1506
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium break-words", children: msg.attachmentName })
|
|
1507
1507
|
] }),
|
|
1508
1508
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1509
|
-
|
|
1509
|
+
tooltip.Button,
|
|
1510
1510
|
{
|
|
1511
1511
|
variant: "ghost",
|
|
1512
1512
|
size: "sm",
|
|
@@ -1625,7 +1625,7 @@ function XerticaAssistant({
|
|
|
1625
1625
|
msg.id
|
|
1626
1626
|
),
|
|
1627
1627
|
disabled: executingCommand === command.id,
|
|
1628
|
-
className:
|
|
1628
|
+
className: tooltip.cn(
|
|
1629
1629
|
"flex items-start gap-2 p-2 rounded-[var(--radius)] border transition-all text-left disabled:opacity-50 disabled:cursor-not-allowed",
|
|
1630
1630
|
savedSearches.includes(msg.id) && command.id === "5" ? "border-[var(--toast-warning-border)] bg-[var(--toast-warning-bg)]/20" : "border-border bg-transparent hover:bg-muted/50"
|
|
1631
1631
|
),
|
|
@@ -1649,7 +1649,7 @@ function XerticaAssistant({
|
|
|
1649
1649
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mt-1 px-2", children: [
|
|
1650
1650
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: msg.timestamp.toLocaleTimeString("pt-BR", { hour: "2-digit", minute: "2-digit" }) }),
|
|
1651
1651
|
enablePodcastGeneration && msg.type === "assistant" && msg.attachmentType !== "podcast" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1652
|
-
|
|
1652
|
+
tooltip.Button,
|
|
1653
1653
|
{
|
|
1654
1654
|
variant: "ghost",
|
|
1655
1655
|
size: "sm",
|
|
@@ -1663,11 +1663,11 @@ function XerticaAssistant({
|
|
|
1663
1663
|
),
|
|
1664
1664
|
msg.type === "assistant" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 border-l border-border pl-2 ml-1", children: [
|
|
1665
1665
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1666
|
-
|
|
1666
|
+
tooltip.Button,
|
|
1667
1667
|
{
|
|
1668
1668
|
variant: "ghost",
|
|
1669
1669
|
size: "icon",
|
|
1670
|
-
className:
|
|
1670
|
+
className: tooltip.cn(
|
|
1671
1671
|
"h-6 w-6 rounded-full hover:bg-green-100 dark:hover:bg-green-900/20 hover:text-green-600",
|
|
1672
1672
|
msg.evaluation === "like" && "text-green-600 bg-green-100 dark:bg-green-900/20"
|
|
1673
1673
|
),
|
|
@@ -1679,11 +1679,11 @@ function XerticaAssistant({
|
|
|
1679
1679
|
),
|
|
1680
1680
|
/* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu, { children: [
|
|
1681
1681
|
/* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1682
|
-
|
|
1682
|
+
tooltip.Button,
|
|
1683
1683
|
{
|
|
1684
1684
|
variant: "ghost",
|
|
1685
1685
|
size: "icon",
|
|
1686
|
-
className:
|
|
1686
|
+
className: tooltip.cn(
|
|
1687
1687
|
"h-6 w-6 rounded-full hover:bg-red-100 dark:hover:bg-red-900/20 hover:text-red-600",
|
|
1688
1688
|
msg.evaluation === "dislike" && "text-red-600 bg-red-100 dark:bg-red-900/20"
|
|
1689
1689
|
),
|
|
@@ -1703,7 +1703,7 @@ function XerticaAssistant({
|
|
|
1703
1703
|
] })
|
|
1704
1704
|
] }),
|
|
1705
1705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1706
|
-
|
|
1706
|
+
tooltip.Button,
|
|
1707
1707
|
{
|
|
1708
1708
|
variant: "ghost",
|
|
1709
1709
|
size: "sm",
|
|
@@ -1766,7 +1766,7 @@ function XerticaAssistant({
|
|
|
1766
1766
|
] }) }) }),
|
|
1767
1767
|
(abaSelecionada === "historico" && showHistory || abaSelecionada === "favoritos" && showFavorites) && /* @__PURE__ */ jsxRuntime.jsx(input.ScrollArea, { className: "flex-1 min-h-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `p-4 ${isFullPage ? "mx-auto w-full max-w-6xl" : ""}`, children: [
|
|
1768
1768
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1769
|
-
|
|
1769
|
+
tooltip.Button,
|
|
1770
1770
|
{
|
|
1771
1771
|
variant: "outline",
|
|
1772
1772
|
size: "sm",
|
|
@@ -1785,7 +1785,7 @@ function XerticaAssistant({
|
|
|
1785
1785
|
"div",
|
|
1786
1786
|
{
|
|
1787
1787
|
onClick: () => handleSelecionarConversa(conversa.id),
|
|
1788
|
-
className:
|
|
1788
|
+
className: tooltip.cn(
|
|
1789
1789
|
"p-3 rounded-[var(--radius)] cursor-pointer transition-colors duration-200 border",
|
|
1790
1790
|
conversa.id === conversaAtual ? "border-primary bg-primary/10" : "border-border hover:bg-muted"
|
|
1791
1791
|
),
|
|
@@ -1793,7 +1793,7 @@ function XerticaAssistant({
|
|
|
1793
1793
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between mb-1", children: [
|
|
1794
1794
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-medium text-foreground truncate flex-1", children: conversa.title }),
|
|
1795
1795
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1796
|
-
|
|
1796
|
+
tooltip.Button,
|
|
1797
1797
|
{
|
|
1798
1798
|
variant: "ghost",
|
|
1799
1799
|
size: "sm",
|
|
@@ -1805,7 +1805,7 @@ function XerticaAssistant({
|
|
|
1805
1805
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1806
1806
|
lucideReact.Heart,
|
|
1807
1807
|
{
|
|
1808
|
-
className:
|
|
1808
|
+
className: tooltip.cn(
|
|
1809
1809
|
"w-3 h-3",
|
|
1810
1810
|
conversa.isFavorite ? "text-destructive fill-current" : "text-muted-foreground"
|
|
1811
1811
|
)
|
|
@@ -1869,12 +1869,224 @@ function XerticaAssistant({
|
|
|
1869
1869
|
}
|
|
1870
1870
|
) }),
|
|
1871
1871
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.DialogFooter, { children: [
|
|
1872
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1873
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1872
|
+
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "outline", onClick: () => setEvaluationState((prev) => ({ ...prev, isOpen: false })), children: "Cancelar" }),
|
|
1873
|
+
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { onClick: handleSubmitDislike, disabled: !evaluationState.category && !evaluationState.reason.trim(), children: evaluationState.category ? "Confirmar e Enviar" : "Enviar Feedback" })
|
|
1874
1874
|
] })
|
|
1875
1875
|
] }) })
|
|
1876
1876
|
] });
|
|
1877
1877
|
}
|
|
1878
|
+
const elegantTheme = {
|
|
1879
|
+
'code[class*="language-"]': {
|
|
1880
|
+
color: "var(--foreground)",
|
|
1881
|
+
fontFamily: "var(--font-mono)",
|
|
1882
|
+
fontSize: "0.875rem",
|
|
1883
|
+
textAlign: "left",
|
|
1884
|
+
whiteSpace: "pre",
|
|
1885
|
+
wordSpacing: "normal",
|
|
1886
|
+
wordBreak: "normal",
|
|
1887
|
+
lineHeight: "1.6",
|
|
1888
|
+
tabSize: 2,
|
|
1889
|
+
hyphens: "none"
|
|
1890
|
+
},
|
|
1891
|
+
'pre[class*="language-"]': {
|
|
1892
|
+
color: "var(--foreground)",
|
|
1893
|
+
fontFamily: "var(--font-mono)",
|
|
1894
|
+
fontSize: "0.875rem",
|
|
1895
|
+
textAlign: "left",
|
|
1896
|
+
whiteSpace: "pre",
|
|
1897
|
+
wordSpacing: "normal",
|
|
1898
|
+
wordBreak: "normal",
|
|
1899
|
+
lineHeight: "1.6",
|
|
1900
|
+
tabSize: 2,
|
|
1901
|
+
hyphens: "none",
|
|
1902
|
+
padding: "1rem",
|
|
1903
|
+
margin: 0,
|
|
1904
|
+
overflow: "auto",
|
|
1905
|
+
background: "transparent"
|
|
1906
|
+
},
|
|
1907
|
+
"comment": {
|
|
1908
|
+
color: "var(--muted-foreground)",
|
|
1909
|
+
fontStyle: "italic"
|
|
1910
|
+
},
|
|
1911
|
+
"prolog": {
|
|
1912
|
+
color: "var(--muted-foreground)"
|
|
1913
|
+
},
|
|
1914
|
+
"doctype": {
|
|
1915
|
+
color: "var(--muted-foreground)"
|
|
1916
|
+
},
|
|
1917
|
+
"cdata": {
|
|
1918
|
+
color: "var(--muted-foreground)"
|
|
1919
|
+
},
|
|
1920
|
+
"punctuation": {
|
|
1921
|
+
color: "var(--muted-foreground)"
|
|
1922
|
+
},
|
|
1923
|
+
"property": {
|
|
1924
|
+
color: "var(--chart-4)"
|
|
1925
|
+
},
|
|
1926
|
+
"tag": {
|
|
1927
|
+
color: "var(--chart-1)"
|
|
1928
|
+
},
|
|
1929
|
+
"boolean": {
|
|
1930
|
+
color: "var(--chart-5)"
|
|
1931
|
+
},
|
|
1932
|
+
"number": {
|
|
1933
|
+
color: "var(--chart-5)"
|
|
1934
|
+
},
|
|
1935
|
+
"constant": {
|
|
1936
|
+
color: "var(--chart-5)"
|
|
1937
|
+
},
|
|
1938
|
+
"symbol": {
|
|
1939
|
+
color: "var(--chart-5)"
|
|
1940
|
+
},
|
|
1941
|
+
"deleted": {
|
|
1942
|
+
color: "var(--chart-5)"
|
|
1943
|
+
},
|
|
1944
|
+
"selector": {
|
|
1945
|
+
color: "var(--chart-2)"
|
|
1946
|
+
},
|
|
1947
|
+
"attr-name": {
|
|
1948
|
+
color: "var(--chart-4)"
|
|
1949
|
+
},
|
|
1950
|
+
"string": {
|
|
1951
|
+
color: "var(--chart-2)"
|
|
1952
|
+
},
|
|
1953
|
+
"char": {
|
|
1954
|
+
color: "var(--chart-2)"
|
|
1955
|
+
},
|
|
1956
|
+
"builtin": {
|
|
1957
|
+
color: "var(--chart-4)"
|
|
1958
|
+
},
|
|
1959
|
+
"inserted": {
|
|
1960
|
+
color: "var(--chart-2)"
|
|
1961
|
+
},
|
|
1962
|
+
"operator": {
|
|
1963
|
+
color: "var(--primary)"
|
|
1964
|
+
},
|
|
1965
|
+
"entity": {
|
|
1966
|
+
color: "var(--chart-4)"
|
|
1967
|
+
},
|
|
1968
|
+
"url": {
|
|
1969
|
+
color: "var(--chart-1)"
|
|
1970
|
+
},
|
|
1971
|
+
".language-css .token.string": {
|
|
1972
|
+
color: "var(--chart-2)"
|
|
1973
|
+
},
|
|
1974
|
+
".style .token.string": {
|
|
1975
|
+
color: "var(--chart-2)"
|
|
1976
|
+
},
|
|
1977
|
+
"atrule": {
|
|
1978
|
+
color: "var(--chart-3)"
|
|
1979
|
+
},
|
|
1980
|
+
"attr-value": {
|
|
1981
|
+
color: "var(--chart-2)"
|
|
1982
|
+
},
|
|
1983
|
+
"keyword": {
|
|
1984
|
+
color: "var(--chart-3)"
|
|
1985
|
+
},
|
|
1986
|
+
"function": {
|
|
1987
|
+
color: "var(--chart-1)"
|
|
1988
|
+
},
|
|
1989
|
+
"class-name": {
|
|
1990
|
+
color: "var(--chart-4)"
|
|
1991
|
+
},
|
|
1992
|
+
"regex": {
|
|
1993
|
+
color: "var(--chart-5)"
|
|
1994
|
+
},
|
|
1995
|
+
"important": {
|
|
1996
|
+
color: "var(--chart-5)",
|
|
1997
|
+
fontWeight: "bold"
|
|
1998
|
+
},
|
|
1999
|
+
"variable": {
|
|
2000
|
+
color: "var(--chart-5)"
|
|
2001
|
+
}
|
|
2002
|
+
};
|
|
2003
|
+
const CodeBlock = ({
|
|
2004
|
+
code,
|
|
2005
|
+
language = "tsx",
|
|
2006
|
+
filename,
|
|
2007
|
+
showLineNumbers = false
|
|
2008
|
+
}) => {
|
|
2009
|
+
const [copied, setCopied] = React.useState(false);
|
|
2010
|
+
const handleCopy = async () => {
|
|
2011
|
+
try {
|
|
2012
|
+
if (navigator.clipboard && navigator.clipboard.writeText) {
|
|
2013
|
+
try {
|
|
2014
|
+
await navigator.clipboard.writeText(code);
|
|
2015
|
+
} catch (clipboardError) {
|
|
2016
|
+
if (clipboardError.name === "NotAllowedError" || clipboardError.message.includes("permissions policy")) {
|
|
2017
|
+
throw new Error("Clipboard permission denied, falling back");
|
|
2018
|
+
}
|
|
2019
|
+
throw clipboardError;
|
|
2020
|
+
}
|
|
2021
|
+
} else {
|
|
2022
|
+
throw new Error("Clipboard API not available");
|
|
2023
|
+
}
|
|
2024
|
+
setCopied(true);
|
|
2025
|
+
setTimeout(() => setCopied(false), 2e3);
|
|
2026
|
+
} catch (err) {
|
|
2027
|
+
try {
|
|
2028
|
+
const textArea = document.createElement("textarea");
|
|
2029
|
+
textArea.value = code;
|
|
2030
|
+
textArea.style.position = "fixed";
|
|
2031
|
+
textArea.style.left = "-999999px";
|
|
2032
|
+
textArea.style.top = "-999999px";
|
|
2033
|
+
document.body.appendChild(textArea);
|
|
2034
|
+
textArea.focus();
|
|
2035
|
+
textArea.select();
|
|
2036
|
+
const successful = document.execCommand("copy");
|
|
2037
|
+
document.body.removeChild(textArea);
|
|
2038
|
+
if (successful) {
|
|
2039
|
+
setCopied(true);
|
|
2040
|
+
setTimeout(() => setCopied(false), 2e3);
|
|
2041
|
+
} else {
|
|
2042
|
+
console.error("Failed to copy text: execCommand returned false");
|
|
2043
|
+
}
|
|
2044
|
+
} catch (fallbackErr) {
|
|
2045
|
+
console.error("All copy methods failed:", fallbackErr);
|
|
2046
|
+
}
|
|
2047
|
+
}
|
|
2048
|
+
};
|
|
2049
|
+
const codeString = typeof code === "string" ? code : String(code || "");
|
|
2050
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative group rounded-[var(--radius)] border border-border overflow-hidden bg-muted/30", children: [
|
|
2051
|
+
filename && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-4 py-2 bg-muted border-b border-border", children: [
|
|
2052
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground font-mono", children: filename }),
|
|
2053
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground uppercase", children: language })
|
|
2054
|
+
] }),
|
|
2055
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2056
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2057
|
+
tooltip.Button,
|
|
2058
|
+
{
|
|
2059
|
+
variant: "ghost",
|
|
2060
|
+
size: "icon",
|
|
2061
|
+
className: "absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity z-10 bg-background/80 hover:bg-background",
|
|
2062
|
+
onClick: handleCopy,
|
|
2063
|
+
"aria-label": copied ? "Copiado" : "Copiar código",
|
|
2064
|
+
children: copied ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-4 h-4 text-[var(--toast-success-icon)]", "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, { className: "w-4 h-4", "aria-hidden": "true" })
|
|
2065
|
+
}
|
|
2066
|
+
),
|
|
2067
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto w-full max-w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2068
|
+
reactSyntaxHighlighter.Prism,
|
|
2069
|
+
{
|
|
2070
|
+
language,
|
|
2071
|
+
style: elegantTheme,
|
|
2072
|
+
showLineNumbers,
|
|
2073
|
+
wrapLines: true,
|
|
2074
|
+
customStyle: {
|
|
2075
|
+
margin: 0,
|
|
2076
|
+
padding: "1rem",
|
|
2077
|
+
background: "transparent",
|
|
2078
|
+
fontSize: "inherit"
|
|
2079
|
+
},
|
|
2080
|
+
codeTagProps: {
|
|
2081
|
+
className: "text-[length:inherit]"
|
|
2082
|
+
},
|
|
2083
|
+
children: codeString
|
|
2084
|
+
}
|
|
2085
|
+
) })
|
|
2086
|
+
] })
|
|
2087
|
+
] });
|
|
2088
|
+
};
|
|
2089
|
+
exports.CodeBlock = CodeBlock;
|
|
1878
2090
|
exports.FormattedDocument = FormattedDocument;
|
|
1879
2091
|
exports.MarkdownMessage = MarkdownMessage;
|
|
1880
2092
|
exports.ModernChatInput = ModernChatInput;
|