xertica-ui 2.1.3 → 2.1.4

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 (404) hide show
  1. package/CHANGELOG.md +15 -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/components/assistant/index.ts +6 -6
  6. package/components/assistant/xertica-assistant/parts/AssistantCollapsedView.tsx +97 -0
  7. package/components/assistant/xertica-assistant/parts/AssistantConversationList.tsx +104 -0
  8. package/components/assistant/xertica-assistant/parts/AssistantDocumentEditor.tsx +81 -0
  9. package/components/assistant/xertica-assistant/parts/AssistantFeedbackDialog.tsx +86 -0
  10. package/components/assistant/xertica-assistant/parts/AssistantHeader.tsx +77 -0
  11. package/components/assistant/xertica-assistant/parts/AssistantMessageBubble.tsx +573 -0
  12. package/components/assistant/xertica-assistant/parts/AssistantTabBar.tsx +65 -0
  13. package/components/assistant/xertica-assistant/parts/AssistantTypingIndicator.tsx +41 -0
  14. package/components/assistant/xertica-assistant/parts/AssistantWelcomeScreen.tsx +98 -0
  15. package/components/assistant/xertica-assistant/parts/index.ts +16 -0
  16. package/components/assistant/xertica-assistant/types.ts +139 -0
  17. package/components/assistant/xertica-assistant/use-assistant.ts +5 -10
  18. package/components/assistant/xertica-assistant/xertica-assistant.tsx +125 -1096
  19. package/components/blocks/card-patterns/ActivityCard.tsx +72 -72
  20. package/components/blocks/card-patterns/FeatureCard.tsx +100 -100
  21. package/components/blocks/card-patterns/NotificationCard.tsx +127 -127
  22. package/components/blocks/card-patterns/ProfileCard.tsx +84 -84
  23. package/components/blocks/card-patterns/ProjectCard.tsx +89 -89
  24. package/components/blocks/card-patterns/QuickActionCard.tsx +62 -62
  25. package/components/blocks/card-patterns/card-patterns.stories.tsx +445 -445
  26. package/components/blocks/card-patterns/index.ts +17 -17
  27. package/components/blocks/index.ts +1 -1
  28. package/components/brand/index.ts +6 -6
  29. package/components/brand/theme-toggle/ThemeToggle.tsx +8 -27
  30. package/components/brand/xertica-provider/XerticaProvider.tsx +48 -48
  31. package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
  32. package/components/brand/xertica-provider/xertica-provider.test.tsx +52 -52
  33. package/components/examples/MapExamples.tsx +282 -282
  34. package/components/examples/SimpleFilterableMap.tsx +191 -191
  35. package/components/examples/index.ts +51 -51
  36. package/components/figma/ImageWithFallback.tsx +27 -27
  37. package/components/hooks/index.ts +10 -7
  38. package/components/hooks/use-layout-shortcuts.ts +46 -0
  39. package/components/index.ts +5 -5
  40. package/components/layout/header/header.test.tsx +8 -8
  41. package/components/layout/header/header.tsx +4 -4
  42. package/components/layout/index.ts +2 -2
  43. package/components/layout/sidebar/sidebar.mdx +1 -1
  44. package/components/layout/sidebar/sidebar.test.tsx +11 -11
  45. package/components/layout/sidebar/sidebar.tsx +1 -31
  46. package/components/layout/sidebar/use-sidebar.ts +2 -11
  47. package/components/media/FloatingMediaWrapper.tsx +11 -11
  48. package/components/media/audio-player/AudioPlayer.tsx +140 -215
  49. package/components/media/audio-player/use-audio-player.ts +298 -0
  50. package/components/media/index.ts +3 -3
  51. package/components/pages/home-content/HomeContent.tsx +7 -7
  52. package/components/pages/home-content/home-content.mdx +62 -62
  53. package/components/pages/home-page/HomePage.stories.tsx +39 -39
  54. package/components/pages/home-page/home-page.mdx +53 -53
  55. package/components/pages/index.ts +8 -8
  56. package/components/pages/template-content/template-content.mdx +61 -61
  57. package/components/pages/template-page/TemplatePage.stories.tsx +39 -39
  58. package/components/pages/template-page/template-page.mdx +53 -53
  59. package/components/public-api-smoke.test.tsx +52 -52
  60. package/components/shared/CustomTooltipContent.tsx +52 -0
  61. package/components/shared/assistant-utils.ts +43 -43
  62. package/components/ui/accordion/accordion.mdx +8 -8
  63. package/components/ui/accordion/accordion.stories.tsx +53 -53
  64. package/components/ui/alert/alert.mdx +8 -8
  65. package/components/ui/alert-dialog/alert-dialog.mdx +8 -8
  66. package/components/ui/aspect-ratio/aspect-ratio.mdx +8 -8
  67. package/components/ui/assistant-chart/assistant-chart.mdx +8 -8
  68. package/components/ui/avatar/avatar.mdx +8 -8
  69. package/components/ui/badge/badge.mdx +8 -8
  70. package/components/ui/badge/badge.tsx +9 -9
  71. package/components/ui/breadcrumb/breadcrumb.mdx +8 -8
  72. package/components/ui/button/button.mdx +8 -8
  73. package/components/ui/calendar/calendar.mdx +8 -8
  74. package/components/ui/calendar/calendar.tsx +258 -258
  75. package/components/ui/card/card.mdx +8 -8
  76. package/components/ui/card/card.stories.tsx +245 -245
  77. package/components/ui/carousel/carousel.mdx +8 -8
  78. package/components/ui/chart/chart.mdx +8 -8
  79. package/components/ui/chart/chart.stories.tsx +1303 -1303
  80. package/components/ui/chart/chart.test.tsx +154 -154
  81. package/components/ui/chart/chart.tsx +2367 -2367
  82. package/components/ui/checkbox/checkbox.mdx +8 -8
  83. package/components/ui/checkbox/checkbox.stories.tsx +20 -20
  84. package/components/ui/collapsible/collapsible.mdx +8 -8
  85. package/components/ui/command/command.mdx +8 -8
  86. package/components/ui/context-menu/context-menu.mdx +8 -8
  87. package/components/ui/dialog/dialog.mdx +8 -8
  88. package/components/ui/drawer/drawer.mdx +8 -8
  89. package/components/ui/dropdown-menu/dropdown-menu.mdx +8 -8
  90. package/components/ui/empty/empty.mdx +8 -8
  91. package/components/ui/file-upload/file-upload.mdx +8 -8
  92. package/components/ui/google-maps-loader/google-maps-loader.tsx +2 -2
  93. package/components/ui/hover-card/hover-card.mdx +8 -8
  94. package/components/ui/input/input.mdx +8 -8
  95. package/components/ui/input-otp/input-otp.mdx +8 -8
  96. package/components/ui/input-otp/input-otp.stories.tsx +6 -6
  97. package/components/ui/label/label.mdx +8 -8
  98. package/components/ui/map/map.mdx +8 -8
  99. package/components/ui/map/map.stories.tsx +51 -51
  100. package/components/ui/map/map.tsx +2 -2
  101. package/components/ui/menubar/menubar.mdx +8 -8
  102. package/components/ui/navigation-menu/navigation-menu.mdx +8 -8
  103. package/components/ui/notification-badge/notification-badge.mdx +8 -8
  104. package/components/ui/pagination/pagination.mdx +8 -8
  105. package/components/ui/popover/popover.mdx +8 -8
  106. package/components/ui/progress/progress.mdx +8 -8
  107. package/components/ui/progress/progress.tsx +68 -68
  108. package/components/ui/radio-group/radio-group.mdx +8 -8
  109. package/components/ui/rating/rating.mdx +8 -8
  110. package/components/ui/resizable/resizable.mdx +8 -8
  111. package/components/ui/route-map/route-map.mdx +8 -8
  112. package/components/ui/route-map/route-map.stories.tsx +54 -54
  113. package/components/ui/route-map/route-map.tsx +2 -2
  114. package/components/ui/scroll-area/scroll-area.mdx +8 -8
  115. package/components/ui/search/search.mdx +8 -8
  116. package/components/ui/select/select.mdx +8 -8
  117. package/components/ui/select/select.stories.tsx +9 -9
  118. package/components/ui/separator/separator.mdx +8 -8
  119. package/components/ui/sheet/sheet.mdx +8 -8
  120. package/components/ui/sheet/sheet.stories.tsx +95 -95
  121. package/components/ui/simple-map/simple-map.mdx +8 -8
  122. package/components/ui/simple-map/simple-map.stories.tsx +48 -48
  123. package/components/ui/skeleton/skeleton.mdx +8 -8
  124. package/components/ui/slider/slider.mdx +8 -8
  125. package/components/ui/sonner/sonner.mdx +8 -8
  126. package/components/ui/stats-card/stats-card.mdx +8 -8
  127. package/components/ui/stepper/stepper.mdx +8 -8
  128. package/components/ui/switch/switch.mdx +8 -8
  129. package/components/ui/switch/switch.stories.tsx +20 -20
  130. package/components/ui/table/table.mdx +8 -8
  131. package/components/ui/tabs/tabs.mdx +8 -8
  132. package/components/ui/tabs/tabs.stories.tsx +26 -26
  133. package/components/ui/textarea/textarea.mdx +8 -8
  134. package/components/ui/timeline/timeline.mdx +8 -8
  135. package/components/ui/toggle/toggle.mdx +8 -8
  136. package/components/ui/toggle-group/toggle-group.mdx +8 -8
  137. package/components/ui/tooltip/tooltip.mdx +8 -8
  138. package/components/ui/tree-view/tree-view.mdx +8 -8
  139. package/components.json +1512 -1512
  140. package/contexts/ApiKeyContext.tsx +72 -72
  141. package/contexts/AssistenteContext.tsx +17 -54
  142. package/contexts/BrandColorsContext.tsx +32 -43
  143. package/contexts/LanguageContext.tsx +13 -13
  144. package/contexts/LayoutContext.test.tsx +11 -11
  145. package/contexts/LayoutContext.tsx +24 -50
  146. package/contexts/ThemeContext.tsx +26 -26
  147. package/contexts/theme-data.ts +4 -4
  148. package/dist/{AssistantChart-DoZCyS5r.cjs → AssistantChart-9w31gdAb.cjs} +4 -4
  149. package/dist/{AssistantChart-CldVCVDe.cjs → AssistantChart-BAudAfne.cjs} +5 -5
  150. package/dist/{use-mobile-DRB3BQgD.cjs → AssistantChart-BAx9VQvb.cjs} +209 -1070
  151. package/dist/{AssistantChart-Cu3m7RBo.js → AssistantChart-BP8upjMk.js} +5 -5
  152. package/dist/{use-mobile-BvYdisLP.js → AssistantChart-CVko2A1W.js} +171 -1025
  153. package/dist/{AssistantChart-C_hwFRRr.js → AssistantChart-CVzmmhx4.js} +4 -4
  154. package/dist/{AudioPlayer-C12BjQBV.cjs → AudioPlayer-1ypwE2Wh.cjs} +126 -187
  155. package/dist/{AudioPlayer-DcFKRJE_.js → AudioPlayer-DuKXrCfy.js} +80 -141
  156. package/dist/CustomTooltipContent-DHjkY0ww.js +40 -0
  157. package/dist/CustomTooltipContent-c_K-DWRr.cjs +56 -0
  158. package/dist/{ThemeContext-BoH4NLfN.js → LanguageContext-BwhwC3G2.js} +27 -104
  159. package/dist/{ThemeContext-r69W20Xg.cjs → LanguageContext-DvUt5jBg.cjs} +27 -104
  160. package/dist/{LayoutContext-BvK-ggDa.cjs → LayoutContext-BDmcZfMH.cjs} +8 -20
  161. package/dist/{LayoutContext-BAql6ZRY.js → LayoutContext-dbQvdC4O.js} +8 -20
  162. package/dist/{ThemeContext-C2EwAPDt.js → ThemeContext-BbBNoFTG.js} +2 -2
  163. package/dist/{ThemeContext-vTjumZeM.cjs → ThemeContext-Cmr8Ex8H.cjs} +2 -2
  164. package/dist/ThemeContext-RTy1m2Uq.js +82 -0
  165. package/dist/ThemeContext-bSzuOit2.cjs +81 -0
  166. package/dist/VerifyEmailPage-BE-L9mB7.js +2828 -0
  167. package/dist/{VerifyEmailPage-Cwi3kbol.cjs → VerifyEmailPage-Bae2cBXT.cjs} +7 -7
  168. package/dist/VerifyEmailPage-CR7kb5df.cjs +2827 -0
  169. package/dist/{VerifyEmailPage-C0c2e5n0.js → VerifyEmailPage-C_ihbcth.js} +6 -6
  170. package/dist/VerifyEmailPage-CbgjOF0v.js +2828 -0
  171. package/dist/{VerifyEmailPage-DvMLZgFt.js → VerifyEmailPage-CdYPSJoO.js} +1 -1
  172. package/dist/{VerifyEmailPage-CYXtbKi3.cjs → VerifyEmailPage-DMBh4NM9.cjs} +1 -1
  173. package/dist/VerifyEmailPage-Dt7zgA4w.cjs +2827 -0
  174. package/dist/{XerticaProvider-CEoWMTxu.js → XerticaProvider-BITjgC5p.js} +2 -2
  175. package/dist/{XerticaProvider-CllrbMEJ.cjs → XerticaProvider-By8q3Roe.cjs} +2 -2
  176. package/dist/{XerticaProvider-cI9hSs27.cjs → XerticaProvider-CW9hpCdF.cjs} +9 -8
  177. package/dist/{XerticaProvider-DDuiIcKo.js → XerticaProvider-siSt9uG2.js} +5 -4
  178. package/dist/{LanguageSelector-D6uacAIM.cjs → XerticaXLogo-D8jf0SNv.cjs} +86 -102
  179. package/dist/{LanguageSelector-B5YfbHra.js → XerticaXLogo-fAJMy3H4.js} +87 -103
  180. package/dist/{alert-dialog-s-vmNkJ_.js → alert-dialog-iDe5VE5o.js} +3 -3
  181. package/dist/{alert-dialog-DSKByiKZ.cjs → alert-dialog-yckpaOpy.cjs} +3 -3
  182. package/dist/assistant.cjs.js +1 -1
  183. package/dist/assistant.es.js +1 -1
  184. package/dist/brand.cjs.js +2 -2
  185. package/dist/brand.es.js +2 -2
  186. package/dist/components/assistant/xertica-assistant/parts/AssistantCollapsedView.d.ts +13 -0
  187. package/dist/components/assistant/xertica-assistant/parts/AssistantConversationList.d.ts +16 -0
  188. package/dist/components/assistant/xertica-assistant/parts/AssistantDocumentEditor.d.ts +17 -0
  189. package/dist/components/assistant/xertica-assistant/parts/AssistantFeedbackDialog.d.ts +19 -0
  190. package/dist/components/assistant/xertica-assistant/parts/AssistantHeader.d.ts +11 -0
  191. package/dist/components/assistant/xertica-assistant/parts/AssistantMessageBubble.d.ts +29 -0
  192. package/dist/components/assistant/xertica-assistant/parts/AssistantTabBar.d.ts +13 -0
  193. package/dist/components/assistant/xertica-assistant/parts/AssistantTypingIndicator.d.ts +4 -0
  194. package/dist/components/assistant/xertica-assistant/parts/AssistantWelcomeScreen.d.ts +17 -0
  195. package/dist/components/assistant/xertica-assistant/parts/index.d.ts +16 -0
  196. package/dist/components/assistant/xertica-assistant/types.d.ts +106 -0
  197. package/dist/components/assistant/xertica-assistant/use-assistant.d.ts +1 -2
  198. package/dist/components/assistant/xertica-assistant/xertica-assistant.d.ts +2 -96
  199. package/dist/components/hooks/index.d.ts +3 -0
  200. package/dist/components/hooks/use-layout-shortcuts.d.ts +22 -0
  201. package/dist/components/media/audio-player/AudioPlayer.d.ts +4 -1
  202. package/dist/components/media/audio-player/use-audio-player.d.ts +72 -0
  203. package/dist/components/shared/CustomTooltipContent.d.ts +20 -0
  204. package/dist/components/ui/alert/alert.d.ts +1 -1
  205. package/dist/components/ui/badge/badge.d.ts +1 -1
  206. package/dist/components/ui/button/button.d.ts +2 -2
  207. package/dist/contexts/AssistenteContext.d.ts +10 -49
  208. package/dist/{google-maps-loader-Y-QkD-Li.cjs → google-maps-loader-BqsYL48U.cjs} +0 -5
  209. package/dist/{google-maps-loader-CTYySAun.js → google-maps-loader-t2IlYBzw.js} +0 -4
  210. package/dist/hooks.cjs.js +30 -10
  211. package/dist/hooks.es.js +25 -4
  212. package/dist/index-CkTUgOwX.js +8 -0
  213. package/dist/{index-COtD8bRW.cjs → index-D3RLKRAs.cjs} +1 -1
  214. package/dist/index.cjs.js +11 -11
  215. package/dist/index.es.js +11 -11
  216. package/dist/index.umd.js +454 -1027
  217. package/dist/layout.cjs.js +3 -10
  218. package/dist/layout.es.js +3 -10
  219. package/dist/media.cjs.js +1 -1
  220. package/dist/media.es.js +1 -1
  221. package/dist/pages.cjs.js +1 -1
  222. package/dist/pages.es.js +1 -1
  223. package/dist/{sidebar-CK_0ZQHj.cjs → sidebar-CVUGHOS_.cjs} +10 -57
  224. package/dist/{sidebar-CUuOvYhK.js → sidebar-CmvwjnVb.js} +10 -40
  225. package/dist/ui.cjs.js +4 -4
  226. package/dist/ui.es.js +4 -4
  227. package/dist/use-audio-player-Bkh23vQ3.js +177 -0
  228. package/dist/use-audio-player-Dn1NR9xN.cjs +176 -0
  229. package/dist/utils/color-utils.d.ts +51 -0
  230. package/dist/{xertica-assistant-dyP7KHM5.cjs → xertica-assistant-B1IaHXnB.cjs} +388 -529
  231. package/dist/xertica-assistant-BMqdyRVi.js +2082 -0
  232. package/dist/xertica-assistant-Bj3vBCq_.cjs +2081 -0
  233. package/dist/{xertica-assistant-yX1CFBBo.js → xertica-assistant-DPsESB6t.js} +390 -531
  234. package/dist/{CodeBlock-BgfYL_rD.cjs → xertica-assistant-Qp3ydksa.cjs} +51 -263
  235. package/dist/{CodeBlock-DnYNI8rQ.js → xertica-assistant-gnCJdcZY.js} +7 -219
  236. package/dist/xertica-ui.css +2 -2
  237. package/docs/architecture-improvements.md +463 -0
  238. package/docs/architecture.md +1 -1
  239. package/docs/components/assistant-chart.md +1 -1
  240. package/docs/components/audio-player.md +46 -0
  241. package/docs/components/branding.md +251 -0
  242. package/docs/components/calendar.md +154 -154
  243. package/docs/components/card-patterns.md +337 -337
  244. package/docs/components/card.md +235 -235
  245. package/docs/components/code-block.md +108 -0
  246. package/docs/components/formatted-document.md +113 -0
  247. package/docs/components/hooks.md +430 -0
  248. package/docs/components/image-with-fallback.md +106 -0
  249. package/docs/components/map-layers.md +140 -0
  250. package/docs/components/map.md +84 -84
  251. package/docs/components/modern-chat-input.md +163 -0
  252. package/docs/components/pages.md +351 -0
  253. package/docs/components/xertica-provider.md +24 -24
  254. package/docs/decision-tree.md +287 -287
  255. package/docs/doc-audit.md +223 -0
  256. package/docs/getting-started.md +154 -0
  257. package/docs/llms.md +25 -5
  258. package/docs/patterns/detail-page.md +276 -0
  259. package/docs/patterns/settings.md +346 -0
  260. package/docs/patterns/wizard.md +217 -0
  261. package/guidelines/Guidelines.md +252 -252
  262. package/hooks/useTheme.ts +3 -3
  263. package/imports/Podcast.tsx +388 -388
  264. package/imports/XerticaAi.tsx +45 -45
  265. package/imports/XerticaX.tsx +19 -19
  266. package/imports/svg-aueiaqngck.ts +11 -11
  267. package/imports/svg-v9krss1ozd.ts +16 -16
  268. package/imports/svg-vhrdofe3qe.ts +5 -5
  269. package/llms-compact.txt +327 -327
  270. package/llms.txt +160 -160
  271. package/package.json +203 -203
  272. package/styles/xertica/app-overrides/chat.css +61 -61
  273. package/styles/xertica/app-overrides/scrollbar.css +33 -33
  274. package/styles/xertica/integrations/google-maps.css +76 -76
  275. package/styles/xertica/integrations/sonner.css +73 -73
  276. package/templates/CLAUDE.md +182 -182
  277. package/templates/guidelines/Guidelines.md +325 -325
  278. package/templates/package.json +2 -2
  279. package/templates/src/features/auth/index.ts +4 -4
  280. package/templates/src/features/auth/ui/AuthPageShell.tsx +34 -34
  281. package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +70 -70
  282. package/templates/src/features/auth/ui/LoginContent.tsx +90 -90
  283. package/templates/src/features/auth/ui/ResetPasswordContent.tsx +151 -151
  284. package/templates/src/features/auth/ui/SocialLoginButtons.tsx +59 -59
  285. package/templates/src/features/auth/ui/VerifyEmailContent.tsx +82 -82
  286. package/templates/src/features/home/index.ts +1 -1
  287. package/templates/src/features/home/ui/HomeContent.tsx +100 -100
  288. package/templates/src/features/template/index.ts +5 -5
  289. package/templates/src/features/template/ui/CrudTemplate.tsx +3 -3
  290. package/templates/src/features/template/ui/DashboardTemplate.tsx +3 -3
  291. package/templates/src/features/template/ui/FormTemplate.tsx +120 -120
  292. package/templates/src/features/template/ui/LoginTemplate.tsx +3 -3
  293. package/templates/src/pages/AssistantPage.tsx +328 -328
  294. package/templates/src/pages/ForgotPasswordPage.tsx +6 -6
  295. package/templates/src/pages/HomePage.tsx +57 -57
  296. package/templates/src/pages/LoginPage.tsx +10 -10
  297. package/templates/src/pages/ResetPasswordPage.tsx +6 -6
  298. package/templates/src/pages/TemplatePage.tsx +30 -30
  299. package/templates/src/pages/VerifyEmailPage.tsx +6 -6
  300. package/templates/src/shared/config/navigation.ts +20 -20
  301. package/templates/src/shared/lib/auth.ts +20 -20
  302. package/templates/src/shared/types/auth.ts +3 -3
  303. package/templates/tsconfig.json +5 -5
  304. package/utils/color-utils.ts +72 -0
  305. package/utils/gemini.ts +140 -140
  306. package/dist/AudioPlayer-B1lt5cPl.cjs +0 -989
  307. package/dist/AudioPlayer-BZ7bibzU.cjs +0 -982
  308. package/dist/AudioPlayer-DMcG_c7L.js +0 -990
  309. package/dist/AudioPlayer-e8LfNoqO.js +0 -983
  310. package/dist/CodeBlock-7TTgmdGG.cjs +0 -2094
  311. package/dist/CodeBlock-BeSt1h5P.js +0 -2078
  312. package/dist/CodeBlock-BlcqlA9M.cjs +0 -2094
  313. package/dist/CodeBlock-Bnmeu5ez.cjs +0 -2094
  314. package/dist/CodeBlock-BtfPlbAI.js +0 -2078
  315. package/dist/CodeBlock-CIySIuYr.js +0 -2078
  316. package/dist/CodeBlock-CuPtUM-7.cjs +0 -2094
  317. package/dist/CodeBlock-D6ffWXgc.js +0 -2078
  318. package/dist/CodeBlock-D8dcwbit.cjs +0 -2094
  319. package/dist/CodeBlock-DMZrFnlw.cjs +0 -2094
  320. package/dist/CodeBlock-DlBehYN8.js +0 -2078
  321. package/dist/CodeBlock-DvKWbSnE.cjs +0 -2094
  322. package/dist/CodeBlock-DwMCfkFY.js +0 -2078
  323. package/dist/CodeBlock-Dy6CNYyj.js +0 -2078
  324. package/dist/CodeBlock-U1pPOQI7.cjs +0 -2094
  325. package/dist/CodeBlock-f_GpNhEB.js +0 -2078
  326. package/dist/CodeBlock-oB6u8nI1.js +0 -2078
  327. package/dist/CodeBlock-tZC31B73.cjs +0 -2094
  328. package/dist/ImageWithFallback-CGtidP6B.cjs +0 -4542
  329. package/dist/ImageWithFallback-lsg3pdFg.js +0 -4508
  330. package/dist/XerticaOrbe-KL1RBHzw.cjs +0 -1354
  331. package/dist/XerticaOrbe-zwS1p2a8.js +0 -1355
  332. package/dist/XerticaProvider-6btlAlzc.js +0 -17
  333. package/dist/XerticaProvider-BNoNOxQ5.cjs +0 -16
  334. package/dist/XerticaProvider-BlY2limY.cjs +0 -38
  335. package/dist/XerticaProvider-hSwhNQex.js +0 -39
  336. package/dist/breadcrumb-CqJ7bHY5.js +0 -161
  337. package/dist/breadcrumb-m9Hb2_XN.cjs +0 -177
  338. package/dist/components/blocks/audio-player/AudioPlayer.d.ts +0 -35
  339. package/dist/components/blocks/audio-player/index.d.ts +0 -1
  340. package/dist/components/blocks/document-editor/DocumentEditor.d.ts +0 -26
  341. package/dist/components/blocks/document-editor/index.d.ts +0 -1
  342. package/dist/components/blocks/podcast-player/PodcastPlayer.d.ts +0 -41
  343. package/dist/components/blocks/podcast-player/index.d.ts +0 -1
  344. package/dist/dropdown-menu-BDB5CmQs.cjs +0 -247
  345. package/dist/dropdown-menu-DQidbKBD.js +0 -231
  346. package/dist/google-maps-loader-BFWp6VPd.js +0 -287
  347. package/dist/google-maps-loader-eS3uQ5TA.cjs +0 -287
  348. package/dist/header-Cgy6vYPk.cjs +0 -731
  349. package/dist/header-DRlT4jgI.js +0 -715
  350. package/dist/header-Dux00SI4.cjs +0 -731
  351. package/dist/header-EkGKXPsD.js +0 -715
  352. package/dist/header-WfEywpyc.cjs +0 -731
  353. package/dist/header-tifNQn2U.js +0 -715
  354. package/dist/index-BhapVLVj.js +0 -8
  355. package/dist/index-D6fxYEY8.cjs +0 -7
  356. package/dist/index-DW5tYe26.js +0 -8
  357. package/dist/input-2R4loU86.js +0 -127
  358. package/dist/input-DWANSKGb.cjs +0 -145
  359. package/dist/rich-text-editor-0mraWT5y.cjs +0 -2376
  360. package/dist/rich-text-editor-B6jMRLzk.cjs +0 -1939
  361. package/dist/rich-text-editor-B8_oYcIR.js +0 -1730
  362. package/dist/rich-text-editor-B9UbSXNb.js +0 -1203
  363. package/dist/rich-text-editor-BYuRBNBU.js +0 -2373
  364. package/dist/rich-text-editor-Bb9pySTs.cjs +0 -2374
  365. package/dist/rich-text-editor-BcL6L3cm.cjs +0 -2374
  366. package/dist/rich-text-editor-BoVZYtTs.cjs +0 -2391
  367. package/dist/rich-text-editor-CPV1lEPH.cjs +0 -1748
  368. package/dist/rich-text-editor-CoKqbCtu.cjs +0 -1799
  369. package/dist/rich-text-editor-Cw56T_mB.js +0 -2356
  370. package/dist/rich-text-editor-Cyt8qs2b.js +0 -1921
  371. package/dist/rich-text-editor-D6H84OcX.cjs +0 -1220
  372. package/dist/rich-text-editor-D76gD-QI.js +0 -2328
  373. package/dist/rich-text-editor-DKkokOnA.js +0 -1781
  374. package/dist/rich-text-editor-DNsdpN64.cjs +0 -2359
  375. package/dist/rich-text-editor-DfG8bCyY.js +0 -2358
  376. package/dist/rich-text-editor-Dxjw31Z4.js +0 -2341
  377. package/dist/rich-text-editor-DzP0Epmb.js +0 -2356
  378. package/dist/rich-text-editor-skplNlBM.cjs +0 -2345
  379. package/dist/select-Bkbr0f-Z.cjs +0 -162
  380. package/dist/select-CvIVdX2n.js +0 -145
  381. package/dist/slider-Bc5Hd0y1.js +0 -56
  382. package/dist/slider-N7hFFj6X.cjs +0 -73
  383. package/dist/tooltip-Ded96neP.cjs +0 -137
  384. package/dist/tooltip-HDOoD2-0.js +0 -120
  385. package/dist/use-mobile-B0hNy_Y6.cjs +0 -4303
  386. package/dist/use-mobile-BXuYROXM.js +0 -4202
  387. package/dist/use-mobile-Bbd51ASU.cjs +0 -4392
  388. package/dist/use-mobile-Bk6CX-TC.js +0 -4359
  389. package/dist/use-mobile-BzuxjzNX.cjs +0 -4392
  390. package/dist/use-mobile-CG2-SdXV.cjs +0 -4235
  391. package/dist/use-mobile-CKb5pqTs.js +0 -4269
  392. package/dist/use-mobile-CYuAuGDl.js +0 -4202
  393. package/dist/use-mobile-CaENcqm-.js +0 -4508
  394. package/dist/use-mobile-CbrYgJGJ.js +0 -4203
  395. package/dist/use-mobile-DMOvImGQ.cjs +0 -4542
  396. package/dist/use-mobile-DZvv7QMR.js +0 -4359
  397. package/dist/use-mobile-DdI_TXam.cjs +0 -4235
  398. package/dist/use-mobile-DlceKf8a.js +0 -4359
  399. package/dist/use-mobile-DsOnow1o.cjs +0 -4236
  400. package/dist/use-mobile-Kcj6jSnK.cjs +0 -4392
  401. package/dist/use-mobile-bnKcua_i.js +0 -4202
  402. package/dist/use-mobile-ncXBeE2z.cjs +0 -4235
  403. package/dist/{rich-text-editor-DgF8s7xW.js → rich-text-editor-BmsjY03B.js} +26 -26
  404. package/dist/{rich-text-editor-mWoaSCE4.cjs → rich-text-editor-GS2kpTAK.cjs} +26 -26
@@ -1,11 +1,12 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useRef, useCallback } from "react";
3
3
  import { Maximize2, GripHorizontal, X, Play, Pause, VolumeX, Volume2, Maximize, PictureInPicture, Radio, ExternalLink, PauseCircle, PlayCircle, RotateCcw, Info, Gauge, Download, MoreHorizontal, MoreVertical } from "lucide-react";
4
- import { S as Slider } from "./slider-Bc5Hd0y1.js";
5
- import { B as Button, e as cn, b as TooltipProvider, T as Tooltip, c as TooltipTrigger, a as TooltipContent } from "./tooltip-HDOoD2-0.js";
4
+ import { S as Slider } from "./slider-C0JKA9k3.js";
5
+ import { B as Button, c as cn } from "./button-qkz7Icqf.js";
6
6
  import { createPortal } from "react-dom";
7
- import { D as DropdownMenu, n as DropdownMenuTrigger, b as DropdownMenuContent, d as DropdownMenuItem, i as DropdownMenuSeparator } from "./dropdown-menu-DQidbKBD.js";
8
- import { a as useOptionalLayout } from "./LayoutContext-DVLCsoQn.js";
7
+ import { b as TooltipProvider, T as Tooltip, c as TooltipTrigger, a as TooltipContent } from "./tooltip-CTyZCD8h.js";
8
+ import { D as DropdownMenu, n as DropdownMenuTrigger, b as DropdownMenuContent, d as DropdownMenuItem, i as DropdownMenuSeparator } from "./dropdown-menu-nc_Lvg-u.js";
9
+ import { u as useAudioPlayer } from "./use-audio-player-Bkh23vQ3.js";
9
10
  function FloatingMediaWrapper({
10
11
  children,
11
12
  isFloating,
@@ -519,116 +520,47 @@ function AudioPlayer({
519
520
  enableAutoFloat = true,
520
521
  onCloseFloating
521
522
  }) {
522
- const audioRef = useRef(null);
523
- const containerRef = useRef(null);
524
- const layout = useOptionalLayout();
525
- const sidebarExpanded = (layout == null ? void 0 : layout.sidebarExpanded) ?? false;
526
- const sidebarWidth = (layout == null ? void 0 : layout.sidebarWidth) ?? 256;
527
- const assistenteExpanded = (layout == null ? void 0 : layout.assistenteExpanded) ?? false;
528
- const [isPlaying, setIsPlaying] = useState(false);
529
- const [volume, setVolume] = useState(0.8);
530
- const [isMuted, setIsMuted] = useState(false);
531
- const [currentTime, setCurrentTime] = useState(initialTime);
532
- const [duration, setDuration] = useState(initialDuration || 0);
533
- const [isFloating, setIsFloating] = useState(false);
534
- const [isManualFloating, setIsManualFloating] = useState(false);
535
- const [enableAutoFloatLocal, setEnableAutoFloatLocal] = useState(enableAutoFloat);
536
- const [isVisible, setIsVisible] = useState(variant === "card");
537
- const [isMobile, setIsMobile] = useState(false);
538
- const [playbackSpeed, setPlaybackSpeed] = useState(1);
539
- useEffect(() => {
540
- if (typeof window === "undefined") return;
541
- const checkMobile = () => setIsMobile(window.innerWidth < 768);
542
- checkMobile();
543
- window.addEventListener("resize", checkMobile);
544
- return () => window.removeEventListener("resize", checkMobile);
545
- }, []);
546
- useEffect(() => {
547
- if (variant === "bar") {
548
- if (isOpen) {
549
- setIsVisible(true);
550
- } else {
551
- const timer = setTimeout(() => setIsVisible(false), 300);
552
- return () => clearTimeout(timer);
553
- }
554
- } else {
555
- setIsVisible(true);
556
- }
557
- }, [isOpen, variant]);
558
- useEffect(() => {
559
- const audio = audioRef.current;
560
- if (!audio) return;
561
- audio.volume = volume;
562
- audio.muted = isMuted;
563
- audio.playbackRate = playbackSpeed;
564
- }, [volume, isMuted, playbackSpeed, src]);
565
- useEffect(() => {
566
- if (variant !== "card" || !enableAutoFloatLocal) return;
567
- const container = containerRef.current;
568
- if (!container) return;
569
- if (typeof IntersectionObserver === "undefined") return;
570
- const observer = new IntersectionObserver(
571
- ([entry]) => {
572
- if (isPlaying && !entry.isIntersecting && !isFloating) {
573
- if (audioRef.current) setCurrentTime(audioRef.current.currentTime);
574
- setIsFloating(true);
575
- } else if (entry.isIntersecting && isFloating && !isManualFloating) {
576
- if (audioRef.current) setCurrentTime(audioRef.current.currentTime);
577
- handleSetFloating(false);
578
- }
579
- },
580
- { threshold: 0.2 }
581
- );
582
- observer.observe(container);
583
- return () => observer.disconnect();
584
- }, [isPlaying, isFloating, isManualFloating, variant, enableAutoFloatLocal]);
585
- useEffect(() => {
586
- const audio = audioRef.current;
587
- if (audio) {
588
- if (Math.abs(audio.currentTime - currentTime) > 0.5) {
589
- audio.currentTime = currentTime;
590
- }
591
- if (isPlaying) {
592
- audio.play().catch((err) => console.log("Playback interrupted:", err));
593
- }
594
- }
595
- }, [isFloating, variant]);
596
- const handleSetFloating = (floating) => {
597
- if (audioRef.current) setCurrentTime(audioRef.current.currentTime);
598
- setIsFloating(floating);
599
- if (!floating) {
600
- setIsManualFloating(false);
601
- }
602
- };
603
- const togglePlay = () => {
604
- if (audioRef.current) {
605
- if (isPlaying) {
606
- audioRef.current.pause();
607
- } else {
608
- audioRef.current.play().catch((err) => console.log("Playback error:", err));
609
- }
610
- }
611
- };
612
- const toggleMute = () => {
613
- setIsMuted(!isMuted);
614
- };
615
- const handleSeek = (value) => {
616
- if (audioRef.current) {
617
- audioRef.current.currentTime = value[0];
618
- setCurrentTime(value[0]);
619
- }
620
- };
621
- const handleVolumeChange = (value) => {
622
- const newVolume = value[0];
623
- setVolume(newVolume);
624
- setIsMuted(newVolume === 0);
625
- };
626
- const formatTime = (time) => {
627
- if (isNaN(time) || time === Infinity || !isFinite(time)) return "0:00";
628
- const minutes = Math.floor(time / 60);
629
- const seconds = Math.floor(time % 60);
630
- return `${minutes}:${seconds < 10 ? "0" : ""}${seconds}`;
631
- };
523
+ const {
524
+ audioRef,
525
+ containerRef,
526
+ isPlaying,
527
+ currentTime,
528
+ duration,
529
+ volume,
530
+ isMuted,
531
+ playbackSpeed,
532
+ isFloating,
533
+ isManualFloating,
534
+ isVisible,
535
+ isMobile,
536
+ enableAutoFloatLocal,
537
+ sidebarExpanded,
538
+ sidebarWidth,
539
+ assistenteExpanded,
540
+ togglePlay,
541
+ toggleMute,
542
+ handleSeek,
543
+ handleVolumeChange,
544
+ handleSetFloating,
545
+ handleEnableManualFloat,
546
+ setPlaybackSpeed,
547
+ resetAudio,
548
+ formatTime,
549
+ onPlay,
550
+ onPause,
551
+ onEnded,
552
+ onTimeUpdate,
553
+ onLoadedMetadata
554
+ } = useAudioPlayer({
555
+ src,
556
+ autoPlay,
557
+ initialTime,
558
+ initialDuration,
559
+ variant,
560
+ isOpen,
561
+ enableAutoFloat,
562
+ onCloseFloating
563
+ });
632
564
  const audioElement = /* @__PURE__ */ jsx(
633
565
  "audio",
634
566
  {
@@ -636,11 +568,11 @@ function AudioPlayer({
636
568
  src,
637
569
  autoPlay,
638
570
  className: "hidden",
639
- onTimeUpdate: (e) => setCurrentTime(e.currentTarget.currentTime),
640
- onLoadedMetadata: (e) => setDuration(e.currentTarget.duration),
641
- onPlay: () => setIsPlaying(true),
642
- onPause: () => setIsPlaying(false),
643
- onEnded: () => setIsPlaying(false)
571
+ onTimeUpdate,
572
+ onLoadedMetadata,
573
+ onPlay,
574
+ onPause,
575
+ onEnded
644
576
  }
645
577
  );
646
578
  const desktopLayout = /* @__PURE__ */ jsxs("div", { className: cn("px-6 flex items-center justify-between gap-4", colorVariant === "primary" ? "h-[80px] gap-6" : "h-[80px]"), children: [
@@ -702,9 +634,7 @@ function AudioPlayer({
702
634
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
703
635
  /* @__PURE__ */ jsxs("div", { className: "hidden md:flex", children: [
704
636
  /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
705
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", className: "rounded-full h-9 w-9", onClick: () => {
706
- if (audioRef.current) audioRef.current.currentTime = 0;
707
- }, "aria-label": "Recomecar audio", children: /* @__PURE__ */ jsx(RotateCcw, { className: "w-4 h-4" }) }) }),
637
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", className: "rounded-full h-9 w-9", onClick: resetAudio, "aria-label": "Recomecar audio", children: /* @__PURE__ */ jsx(RotateCcw, { className: "w-4 h-4" }) }) }),
708
638
  /* @__PURE__ */ jsx(TooltipContent, { className: "z-[1001]", children: "Recomeçar" })
709
639
  ] }) }),
710
640
  /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
@@ -747,9 +677,7 @@ function AudioPlayer({
747
677
  /* @__PURE__ */ jsx(DropdownMenuSeparator, { className: "my-1" })
748
678
  ] }),
749
679
  /* @__PURE__ */ jsxs("div", { className: "md:hidden", children: [
750
- /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => {
751
- if (audioRef.current) audioRef.current.currentTime = 0;
752
- }, className: "cursor-pointer py-2.5", children: [
680
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: resetAudio, className: "cursor-pointer py-2.5", children: [
753
681
  /* @__PURE__ */ jsx(RotateCcw, { className: "w-4 h-4 mr-3 text-muted-foreground" }),
754
682
  " Recomeçar"
755
683
  ] }),
@@ -820,10 +748,12 @@ function AudioPlayer({
820
748
  /* @__PURE__ */ jsxs(DropdownMenu, { children: [
821
749
  /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", className: "h-9 w-9 rounded-full", "aria-label": "Mais opcoes", children: /* @__PURE__ */ jsx(MoreVertical, { className: "w-5 h-5" }) }) }),
822
750
  /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", className: "w-56 p-2 z-[1001]", children: [
823
- /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: () => {
824
- if (audioRef.current) audioRef.current.currentTime = 0;
825
- }, children: "Recomeçar" }),
826
- /* @__PURE__ */ jsx(DropdownMenuItem, { children: "Velocidade (1.0x)" })
751
+ /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: resetAudio, children: "Recomeçar" }),
752
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { children: [
753
+ "Velocidade (",
754
+ playbackSpeed,
755
+ "x)"
756
+ ] })
827
757
  ] })
828
758
  ] })
829
759
  ] })
@@ -867,7 +797,20 @@ function AudioPlayer({
867
797
  ] }),
868
798
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 shrink-0", children: [
869
799
  /* @__PURE__ */ jsxs(DropdownMenu, { children: [
870
- /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", className: cn("rounded-full", colorVariant === "primary" ? "text-primary-foreground/80 hover:text-primary-foreground hover:bg-primary-foreground/10" : "text-muted-foreground hover:text-foreground", isFloating ? "h-7 w-7" : "h-8 w-8"), "aria-label": "Mais opções", children: /* @__PURE__ */ jsx(MoreVertical, { className: isFloating ? "w-4 h-4" : "w-5 h-5" }) }) }),
800
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
801
+ Button,
802
+ {
803
+ variant: "ghost",
804
+ size: "icon",
805
+ className: cn(
806
+ "rounded-full",
807
+ colorVariant === "primary" ? "text-primary-foreground/80 hover:text-primary-foreground hover:bg-primary-foreground/10" : "text-muted-foreground hover:text-foreground",
808
+ isFloating ? "h-7 w-7" : "h-8 w-8"
809
+ ),
810
+ "aria-label": "Mais opções",
811
+ children: /* @__PURE__ */ jsx(MoreVertical, { className: isFloating ? "w-4 h-4" : "w-5 h-5" })
812
+ }
813
+ ) }),
871
814
  /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", className: "w-56 p-2 z-[1001]", children: [
872
815
  /* @__PURE__ */ jsxs("div", { className: "px-2 py-3", children: [
873
816
  /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between mb-3 px-1", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
@@ -907,9 +850,7 @@ function AudioPlayer({
907
850
  )) })
908
851
  ] }),
909
852
  /* @__PURE__ */ jsx(DropdownMenuSeparator, { className: "my-2" }),
910
- /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => {
911
- if (audioRef.current) audioRef.current.currentTime = 0;
912
- }, className: "cursor-pointer py-2.5", children: [
853
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: resetAudio, className: "cursor-pointer py-2.5", children: [
913
854
  /* @__PURE__ */ jsx(RotateCcw, { className: "w-4 h-4 mr-3 text-muted-foreground" }),
914
855
  /* @__PURE__ */ jsx("span", { className: "text-sm", children: "Recomeçar áudio" })
915
856
  ] }),
@@ -924,12 +865,11 @@ function AudioPlayer({
924
865
  {
925
866
  variant: "ghost",
926
867
  size: "icon",
927
- className: cn("h-8 w-8", colorVariant === "primary" ? "text-primary-foreground/80 hover:text-primary-foreground hover:bg-primary-foreground/10" : "text-muted-foreground hover:text-foreground"),
928
- onClick: () => {
929
- setEnableAutoFloatLocal(true);
930
- setIsManualFloating(true);
931
- handleSetFloating(true);
932
- },
868
+ className: cn(
869
+ "h-8 w-8",
870
+ colorVariant === "primary" ? "text-primary-foreground/80 hover:text-primary-foreground hover:bg-primary-foreground/10" : "text-muted-foreground hover:text-foreground"
871
+ ),
872
+ onClick: handleEnableManualFloat,
933
873
  title: "Modo Flutuante",
934
874
  "aria-label": "Abrir modo flutuante",
935
875
  children: /* @__PURE__ */ jsx(Maximize2, { className: "w-4 h-4" })
@@ -971,8 +911,7 @@ function AudioPlayer({
971
911
  setIsFloating: handleSetFloating,
972
912
  onClose: () => handleSetFloating(false),
973
913
  onCloseMedia: () => {
974
- setIsFloating(false);
975
- setEnableAutoFloatLocal(false);
914
+ handleSetFloating(false);
976
915
  },
977
916
  title: "Reproduzindo Mídia",
978
917
  aspectRatio: 320 / 110,
@@ -0,0 +1,40 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
+ import { c as cn } from "./button-qkz7Icqf.js";
4
+ function CustomTooltipContent({
5
+ className,
6
+ sideOffset = 0,
7
+ children,
8
+ ...props
9
+ }) {
10
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
11
+ TooltipPrimitive.Content,
12
+ {
13
+ "data-slot": "tooltip-content",
14
+ sideOffset,
15
+ className: cn(
16
+ "bg-popover text-popover-foreground shadow-lg animate-in fade-in-0 zoom-in-95",
17
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
18
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
19
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
20
+ "z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
21
+ className
22
+ ),
23
+ ...props,
24
+ children: [
25
+ children,
26
+ /* @__PURE__ */ jsx(
27
+ TooltipPrimitive.Arrow,
28
+ {
29
+ className: "fill-popover z-50 drop-shadow-sm",
30
+ width: 8,
31
+ height: 4
32
+ }
33
+ )
34
+ ]
35
+ }
36
+ ) });
37
+ }
38
+ export {
39
+ CustomTooltipContent as C
40
+ };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const TooltipPrimitive = require("@radix-ui/react-tooltip");
4
+ const button = require("./button-0CXwCRTm.cjs");
5
+ function _interopNamespaceDefault(e) {
6
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
+ if (e) {
8
+ for (const k in e) {
9
+ if (k !== "default") {
10
+ const d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: () => e[k]
14
+ });
15
+ }
16
+ }
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+ const TooltipPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TooltipPrimitive);
22
+ function CustomTooltipContent({
23
+ className,
24
+ sideOffset = 0,
25
+ children,
26
+ ...props
27
+ }) {
28
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
29
+ TooltipPrimitive__namespace.Content,
30
+ {
31
+ "data-slot": "tooltip-content",
32
+ sideOffset,
33
+ className: button.cn(
34
+ "bg-popover text-popover-foreground shadow-lg animate-in fade-in-0 zoom-in-95",
35
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
36
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
37
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
38
+ "z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
39
+ className
40
+ ),
41
+ ...props,
42
+ children: [
43
+ children,
44
+ /* @__PURE__ */ jsxRuntime.jsx(
45
+ TooltipPrimitive__namespace.Arrow,
46
+ {
47
+ className: "fill-popover z-50 drop-shadow-sm",
48
+ width: 8,
49
+ height: 4
50
+ }
51
+ )
52
+ ]
53
+ }
54
+ ) });
55
+ }
56
+ exports.CustomTooltipContent = CustomTooltipContent;
@@ -86,7 +86,7 @@ function ApiKeyProvider({
86
86
  const reloadMaps = async () => {
87
87
  if (googleMapsApiKey.length < 10) return;
88
88
  try {
89
- const { reloadGoogleMaps } = await import("./index-DW5tYe26.js");
89
+ const { reloadGoogleMaps } = await import("./index-CkTUgOwX.js");
90
90
  await reloadGoogleMaps(googleMapsApiKey);
91
91
  console.log("[ApiKeyContext] Google Maps recarregado com sucesso");
92
92
  } catch (error) {
@@ -113,7 +113,7 @@ function ApiKeyProvider({
113
113
  return;
114
114
  }
115
115
  try {
116
- const { reloadGoogleMaps } = await import("./index-DW5tYe26.js");
116
+ const { reloadGoogleMaps } = await import("./index-CkTUgOwX.js");
117
117
  await reloadGoogleMaps(googleMapsApiKey);
118
118
  console.log("[ApiKeyContext] Google Maps recarregado manualmente");
119
119
  } catch (error) {
@@ -210,10 +210,10 @@ const colorThemes = [
210
210
  gradientStartDark: "#7B4A7A",
211
211
  gradientEndDark: "#3A5C7D",
212
212
  chart1: "#2C275B",
213
- chart2: "#FDB0F2",
214
- chart3: "#72CDFD",
215
- chart4: "#5B568F",
216
- chart5: "#4F46E5"
213
+ chart2: "#047857",
214
+ chart3: "#B45309",
215
+ chart4: "#1D4ED8",
216
+ chart5: "#B91C1C"
217
217
  },
218
218
  preview: {
219
219
  primary: "#2C275B",
@@ -458,6 +458,14 @@ const colorThemes = [
458
458
  }
459
459
  }
460
460
  ];
461
+ function hexToRgb(hex) {
462
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
463
+ return result ? {
464
+ r: parseInt(result[1], 16),
465
+ g: parseInt(result[2], 16),
466
+ b: parseInt(result[3], 16)
467
+ } : null;
468
+ }
461
469
  const BrandColorsContext = createContext(void 0);
462
470
  const BrandColorsProvider = ({
463
471
  children,
@@ -502,14 +510,6 @@ const BrandColorsProvider = ({
502
510
  setColors(theme.colors);
503
511
  }
504
512
  }, [currentTheme, primaryColor]);
505
- const hexToRgb = (hex) => {
506
- const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
507
- return result ? {
508
- r: parseInt(result[1], 16),
509
- g: parseInt(result[2], 16),
510
- b: parseInt(result[3], 16)
511
- } : null;
512
- };
513
513
  const applyColors = React__default.useCallback(() => {
514
514
  if (useCustomTokens) return;
515
515
  if (typeof document === "undefined") return;
@@ -520,26 +520,27 @@ const BrandColorsProvider = ({
520
520
  const gradientStart = isDark ? colors.gradientStartDark : colors.gradientStart;
521
521
  const gradientEnd = isDark ? colors.gradientEndDark : colors.gradientEnd;
522
522
  const semantic = {
523
- success: isDark ? "#4ade80" : "#22c55e",
524
- // Green 400 / 500
525
- warning: isDark ? "#fbbf24" : "#f59e0b",
526
- // Amber 400 / 500
527
- info: isDark ? "#60a5fa" : "#3b82f6",
528
- // Blue 400 / 500
529
- destructive: isDark ? "#f87171" : "#ef4444"
530
- // Red 400 / 500
523
+ success: isDark ? "#4ade80" : "#047857",
524
+ // Green 400 / 700
525
+ warning: isDark ? "#fbbf24" : "#b45309",
526
+ // Amber 400 / 700
527
+ info: isDark ? "#60a5fa" : "#1d4ed8",
528
+ // Blue 400 / 700
529
+ destructive: isDark ? "#f87171" : "#b91c1c",
530
+ // Red 400 / 700
531
+ foreground: isDark ? "#050505" : "#ffffff"
531
532
  };
532
533
  const cssVars = [];
533
534
  cssVars.push(`--primary: ${primary}`);
534
535
  cssVars.push(`--primary-foreground: ${primaryForeground}`);
535
536
  cssVars.push(`--success: ${semantic.success}`);
536
- cssVars.push(`--success-foreground: #ffffff`);
537
+ cssVars.push(`--success-foreground: ${semantic.foreground}`);
537
538
  cssVars.push(`--warning: ${semantic.warning}`);
538
- cssVars.push(`--warning-foreground: #ffffff`);
539
+ cssVars.push(`--warning-foreground: ${semantic.foreground}`);
539
540
  cssVars.push(`--info: ${semantic.info}`);
540
- cssVars.push(`--info-foreground: #ffffff`);
541
+ cssVars.push(`--info-foreground: ${semantic.foreground}`);
541
542
  cssVars.push(`--destructive: ${semantic.destructive}`);
542
- cssVars.push(`--destructive-foreground: #ffffff`);
543
+ cssVars.push(`--destructive-foreground: ${semantic.foreground}`);
543
544
  const primaryRGB = hexToRgb(primary);
544
545
  if (primaryRGB) {
545
546
  cssVars.push(`--ring: ${isDark ? colors.primaryDarkMode : `rgba(${primaryRGB.r}, ${primaryRGB.g}, ${primaryRGB.b}, 0.5)`}`);
@@ -644,91 +645,13 @@ function useLanguage() {
644
645
  }
645
646
  return context;
646
647
  }
647
- const ThemeContext = createContext(void 0);
648
- function ThemeProvider({ children, disableDarkMode = false, defaultTheme, storageKey = "xertica-theme" }) {
649
- const getInitialTheme = () => {
650
- var _a;
651
- if (disableDarkMode) return "light";
652
- if (defaultTheme) return defaultTheme;
653
- if (typeof window !== "undefined") {
654
- const savedTheme = (_a = window.localStorage) == null ? void 0 : _a.getItem(storageKey);
655
- if (savedTheme && (savedTheme === "light" || savedTheme === "dark")) {
656
- return savedTheme;
657
- }
658
- if (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches) {
659
- return "dark";
660
- }
661
- }
662
- return "light";
663
- };
664
- const [theme, setThemeState] = useState(getInitialTheme);
665
- useEffect(() => {
666
- if (disableDarkMode && theme === "dark") {
667
- setThemeState("light");
668
- }
669
- }, [disableDarkMode, theme]);
670
- useEffect(() => {
671
- var _a;
672
- if (typeof document === "undefined") return;
673
- const root = document.documentElement;
674
- root.classList.remove("light", "dark");
675
- if (theme === "dark") {
676
- root.classList.add("dark");
677
- } else {
678
- root.classList.add("light");
679
- }
680
- if (typeof window !== "undefined") {
681
- (_a = window.localStorage) == null ? void 0 : _a.setItem(storageKey, theme);
682
- }
683
- }, [theme, storageKey]);
684
- useEffect(() => {
685
- var _a;
686
- if (disableDarkMode) return;
687
- if (typeof window === "undefined" || !window.matchMedia) return;
688
- if (!((_a = window.localStorage) == null ? void 0 : _a.getItem(storageKey))) {
689
- const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
690
- const handleChange = (e) => {
691
- setThemeState(e.matches ? "dark" : "light");
692
- };
693
- mediaQuery.addEventListener("change", handleChange);
694
- return () => mediaQuery.removeEventListener("change", handleChange);
695
- }
696
- }, [disableDarkMode, storageKey]);
697
- const toggleTheme = () => {
698
- if (disableDarkMode) return;
699
- setThemeState((prevTheme) => prevTheme === "light" ? "dark" : "light");
700
- };
701
- const setTheme = (newTheme) => {
702
- if (disableDarkMode && newTheme === "dark") return;
703
- setThemeState(newTheme);
704
- };
705
- const setThemeMode = setTheme;
706
- const value = {
707
- theme,
708
- toggleTheme,
709
- setTheme,
710
- setThemeMode,
711
- isDark: theme === "dark",
712
- disableDarkMode
713
- };
714
- return /* @__PURE__ */ jsx(ThemeContext.Provider, { value, children });
715
- }
716
- function useTheme() {
717
- const context = useContext(ThemeContext);
718
- if (context === void 0) {
719
- throw new Error("useTheme must be used within a ThemeProvider");
720
- }
721
- return context;
722
- }
723
648
  export {
724
649
  ApiKeyProvider as A,
725
650
  BrandColorsProvider as B,
726
651
  LanguageProvider as L,
727
- ThemeProvider as T,
728
652
  AssistenteProvider as a,
729
653
  useAssistente as b,
730
654
  useBrandColors as c,
731
655
  useLanguage as d,
732
- useTheme as e,
733
656
  useApiKey as u
734
657
  };