xertica-ui 2.5.3 → 2.7.0

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 (635) hide show
  1. package/CHANGELOG.md +705 -664
  2. package/README.md +482 -482
  3. package/assets/xertica-logo.svg +37 -37
  4. package/assets/xertica-x-logo.svg +20 -20
  5. package/bin/cli.ts +1293 -1256
  6. package/bin/generate-tokens.ts +256 -262
  7. package/bin/language-config.test.ts +32 -0
  8. package/bin/language-config.ts +384 -359
  9. package/components/Introduction.mdx +121 -121
  10. package/components/assistant/code-block/CodeBlock.tsx +7 -6
  11. package/components/assistant/code-block/code-block.mdx +38 -38
  12. package/components/assistant/code-block/code-block.test.tsx +2 -1
  13. package/components/assistant/formatted-document/FormattedDocument.tsx +3 -0
  14. package/components/assistant/formatted-document/formatted-document.mdx +31 -31
  15. package/components/assistant/formatted-document/formatted-document.test.tsx +5 -4
  16. package/components/assistant/markdown-message/MarkdownMessage.tsx +1 -1
  17. package/components/assistant/markdown-message/markdown-message.mdx +44 -44
  18. package/components/assistant/modern-chat-input/modern-chat-input.mdx +71 -71
  19. package/components/assistant/modern-chat-input/modern-chat-input.test.tsx +3 -2
  20. package/components/assistant/xertica-assistant/parts/AssistantMessageBubble.tsx +1 -1
  21. package/components/assistant/xertica-assistant/types.ts +3 -2
  22. package/components/assistant/xertica-assistant/use-assistant.ts +10 -10
  23. package/components/assistant/xertica-assistant/xertica-assistant.mdx +66 -66
  24. package/components/assistant/xertica-assistant/xertica-assistant.test.tsx +2 -1
  25. package/{templates/src/features/auth/ui → components/blocks/auth}/AuthPageShell.tsx +37 -32
  26. package/components/blocks/auth/PasswordStrengthMeter.tsx +41 -0
  27. package/components/blocks/auth/SocialLoginButtons.tsx +95 -0
  28. package/components/blocks/auth/index.ts +11 -0
  29. package/components/blocks/auth/usePasswordStrength.ts +13 -0
  30. package/components/blocks/card-patterns/card-patterns.mdx +123 -123
  31. package/components/blocks/index.ts +1 -0
  32. package/components/brand/branding/branding.mdx +27 -27
  33. package/components/brand/language-selector/language-selector.mdx +126 -126
  34. package/components/brand/theme-toggle/theme-toggle.mdx +47 -47
  35. package/components/brand/theme-toggle/theme-toggle.test.tsx +6 -2
  36. package/components/brand/xertica-logo/xertica-logo.mdx +56 -56
  37. package/components/brand/xertica-orbe/xertica-orbe.mdx +38 -38
  38. package/components/brand/xertica-provider/XerticaProvider.tsx +112 -112
  39. package/components/brand/xertica-provider/xertica-provider.mdx +61 -61
  40. package/components/brand/xertica-provider/xertica-provider.test.tsx +25 -13
  41. package/components/brand/xertica-xlogo/xertica-xlogo.mdx +55 -55
  42. package/components/examples/DrawingMapExample.tsx +1 -4
  43. package/components/layout/header/header.mdx +117 -117
  44. package/components/layout/header/header.test.tsx +2 -1
  45. package/components/layout/sidebar/sidebar.mdx +99 -99
  46. package/components/layout/sidebar/sidebar.stories.tsx +1033 -1033
  47. package/components/layout/sidebar/sidebar.test.tsx +2 -1
  48. package/components/layout/sidebar/sidebar.tsx +1509 -1506
  49. package/components/media/audio-player/AudioPlayer.mdx +67 -67
  50. package/components/media/audio-player/AudioPlayer.test.tsx +2 -1
  51. package/components/media/floating-media-wrapper.mdx +74 -74
  52. package/components/media/video-player/VideoPlayer.mdx +102 -102
  53. package/components/media/video-player/VideoPlayer.test.tsx +3 -2
  54. package/components/pages/forgot-password-page/ForgotPasswordPage.tsx +94 -188
  55. package/components/pages/forgot-password-page/forgot-password-page.mdx +60 -60
  56. package/components/pages/forgot-password-page/forgot-password-page.test.tsx +2 -1
  57. package/components/pages/home-content/HomeContent.tsx +119 -119
  58. package/components/pages/home-content/home-content.mdx +62 -62
  59. package/components/pages/home-page/HomePage.stories.tsx +8 -15
  60. package/components/pages/home-page/home-page.mdx +53 -53
  61. package/components/pages/home-page/home-page.test.tsx +2 -1
  62. package/components/pages/login-page/LoginPage.mdx +31 -31
  63. package/components/pages/login-page/LoginPage.tsx +125 -218
  64. package/components/pages/login-page/login-page.test.tsx +2 -1
  65. package/components/pages/reset-password-page/ResetPasswordPage.tsx +153 -243
  66. package/components/pages/reset-password-page/reset-password-page.mdx +63 -63
  67. package/components/pages/template-content/TemplateContent.tsx +1353 -1353
  68. package/components/pages/template-content/template-content.mdx +61 -61
  69. package/components/pages/template-page/TemplatePage.stories.tsx +32 -32
  70. package/components/pages/template-page/template-page.mdx +53 -53
  71. package/components/pages/template-page/template-page.test.tsx +2 -1
  72. package/components/pages/verify-email-page/VerifyEmailPage.tsx +104 -206
  73. package/components/pages/verify-email-page/verify-email-page.mdx +55 -55
  74. package/components/public-api-smoke.test.tsx +10 -6
  75. package/components/shared/assistant-utils.ts +3 -2
  76. package/components/shared/navigation.ts +2 -2
  77. package/components/ui/accordion/accordion.mdx +29 -29
  78. package/components/ui/alert/alert.mdx +29 -29
  79. package/components/ui/alert-dialog/alert-dialog.mdx +26 -26
  80. package/components/ui/aspect-ratio/aspect-ratio.mdx +25 -25
  81. package/components/ui/assistant-chart/AssistantChart.tsx +8 -2
  82. package/components/ui/assistant-chart/assistant-chart.mdx +25 -25
  83. package/components/ui/avatar/avatar.mdx +26 -26
  84. package/components/ui/badge/badge.mdx +28 -28
  85. package/components/ui/breadcrumb/breadcrumb.mdx +26 -26
  86. package/components/ui/button/button.mdx +29 -29
  87. package/components/ui/calendar/calendar.mdx +26 -26
  88. package/components/ui/card/card.mdx +26 -26
  89. package/components/ui/carousel/carousel.mdx +26 -26
  90. package/components/ui/chart/chart.mdx +26 -26
  91. package/components/ui/chart/chart.test.tsx +178 -178
  92. package/components/ui/chart/chart.tsx +2252 -2245
  93. package/components/ui/checkbox/checkbox.mdx +26 -26
  94. package/components/ui/collapsible/collapsible.mdx +25 -25
  95. package/components/ui/command/command.mdx +26 -26
  96. package/components/ui/context-menu/context-menu.mdx +26 -26
  97. package/components/ui/dialog/dialog.mdx +26 -26
  98. package/components/ui/drawer/drawer.mdx +26 -26
  99. package/components/ui/dropdown-menu/dropdown-menu.mdx +26 -26
  100. package/components/ui/empty/empty.mdx +26 -26
  101. package/components/ui/file-upload/file-upload.mdx +26 -26
  102. package/components/ui/form/form.mdx +20 -20
  103. package/components/ui/google-maps-loader/google-maps-loader.mdx +68 -68
  104. package/components/ui/hover-card/hover-card.mdx +26 -26
  105. package/components/ui/input/input.mdx +29 -29
  106. package/components/ui/input-otp/input-otp.mdx +26 -26
  107. package/components/ui/label/label.mdx +25 -25
  108. package/components/ui/map/map.mdx +26 -26
  109. package/components/ui/map/map.tsx +6 -1
  110. package/components/ui/menubar/menubar.mdx +26 -26
  111. package/components/ui/navigation-menu/navigation-menu.mdx +26 -26
  112. package/components/ui/notification-badge/notification-badge.mdx +26 -26
  113. package/components/ui/page-header/page-header.mdx +44 -44
  114. package/components/ui/pagination/pagination.mdx +26 -26
  115. package/components/ui/popover/popover.mdx +26 -26
  116. package/components/ui/progress/progress.mdx +25 -25
  117. package/components/ui/radio-group/radio-group.mdx +26 -26
  118. package/components/ui/rating/rating.mdx +26 -26
  119. package/components/ui/resizable/resizable.mdx +26 -26
  120. package/components/ui/resizable/resizable.tsx +13 -8
  121. package/components/ui/rich-text-editor/rich-text-editor.mdx +47 -47
  122. package/components/ui/route-map/route-map.mdx +26 -26
  123. package/components/ui/scroll-area/scroll-area.mdx +25 -25
  124. package/components/ui/search/search.mdx +27 -27
  125. package/components/ui/select/select.mdx +26 -26
  126. package/components/ui/separator/separator.mdx +25 -25
  127. package/components/ui/sheet/sheet.mdx +26 -26
  128. package/components/ui/simple-map/simple-map.mdx +25 -25
  129. package/components/ui/skeleton/skeleton.mdx +25 -25
  130. package/components/ui/slider/slider.mdx +26 -26
  131. package/components/ui/sonner/sonner.mdx +26 -26
  132. package/components/ui/stats-card/stats-card.mdx +26 -26
  133. package/components/ui/stats-card/stats-card.stories.tsx +117 -117
  134. package/components/ui/stats-card/stats-card.tsx +109 -109
  135. package/components/ui/stepper/stepper.mdx +26 -26
  136. package/components/ui/switch/switch.mdx +25 -25
  137. package/components/ui/table/table.mdx +27 -27
  138. package/components/ui/tabs/tabs.mdx +26 -26
  139. package/components/ui/textarea/textarea.mdx +25 -25
  140. package/components/ui/timeline/timeline.mdx +26 -26
  141. package/components/ui/toggle/toggle.mdx +26 -26
  142. package/components/ui/toggle-group/toggle-group.mdx +26 -26
  143. package/components/ui/tooltip/tooltip.mdx +26 -26
  144. package/components/ui/tree-view/tree-view.mdx +26 -26
  145. package/components.json +511 -511
  146. package/contexts/BrandColorsContext.tsx +282 -282
  147. package/contexts/i18n-singleton.test.tsx +57 -0
  148. package/contexts/theme-data.ts +391 -391
  149. package/dist/{AssistantChart-DNdwuS-t.js → AssistantChart-BMNSA_Pk.js} +4 -4
  150. package/dist/{AssistantChart-COGiOV-g.cjs → AssistantChart-BzM7plyc.cjs} +31 -21
  151. package/dist/{AssistantChart-CWX1OWNM.js → AssistantChart-C842evTi.js} +31 -21
  152. package/dist/{AssistantChart-D0A1FPYt.cjs → AssistantChart-CImCNLfD.cjs} +150 -114
  153. package/dist/{AssistantChart-BW9JK6jw.cjs → AssistantChart-CVF2uh37.cjs} +4 -4
  154. package/dist/{AssistantChart-BXU1ACnh.js → AssistantChart-DfdIfmQr.js} +134 -240
  155. package/dist/{AssistantChart-BZTPJ5dP.cjs → AssistantChart-JooMdVQU.cjs} +5 -5
  156. package/dist/{AssistantChart-DMJJ_Amf.js → AssistantChart-KHS-tp-L.js} +5 -5
  157. package/dist/{BrandColorsContext-BwY-b6M4.cjs → BrandColorsContext-B4_81eas.cjs} +2 -2
  158. package/dist/{BrandColorsContext-BMRJ04Wf.js → BrandColorsContext-DbK5LnQ_.js} +2 -2
  159. package/dist/{CodeBlock-CjeFavqV.js → CodeBlock-DiKO8ocT.js} +11 -11
  160. package/dist/{CodeBlock-CV6dtsTM.cjs → CodeBlock-ZYThr7Kn.cjs} +12 -9
  161. package/dist/{FeatureCard-Cfs6Ishq.js → FeatureCard-BhpfmPPx.js} +20 -20
  162. package/dist/{FeatureCard-ie3L8Fpr.cjs → FeatureCard-D-5yS_OD.cjs} +31 -18
  163. package/dist/{progress-DDeuWPZw.cjs → ImageWithFallback-CfkAkctC.cjs} +34 -9
  164. package/dist/{progress-Cs9i4DPx.js → ImageWithFallback-bw-CxxDc.js} +27 -10
  165. package/dist/LanguageContext-CX_zdxre.js +1912 -0
  166. package/dist/LanguageContext-CjhSSqJT.cjs +1917 -0
  167. package/dist/LanguageSelector-BR3Ss0k_.js +46 -0
  168. package/dist/LanguageSelector-CHOLPmHr.cjs +48 -0
  169. package/dist/{XerticaXLogo-mqjoBiLI.js → LanguageSelector-CmTj3lWq.js} +85 -82
  170. package/dist/{XerticaXLogo-BX3ueACh.js → LanguageSelector-DxW6o7bt.js} +81 -81
  171. package/dist/{XerticaXLogo-uQgwns_E.cjs → LanguageSelector-Sw73qvWV.cjs} +84 -81
  172. package/dist/PasswordStrengthMeter-C8irs0G1.js +173 -0
  173. package/dist/PasswordStrengthMeter-MLzhax-d.cjs +179 -0
  174. package/dist/{ThemeContext-BgclCB35.js → ThemeContext-BGeh_Kdr.js} +290 -212
  175. package/dist/{ThemeContext-bSzuOit2.cjs → ThemeContext-CEY9pCn-.cjs} +15 -10
  176. package/dist/{ThemeContext-BblcjQup.cjs → ThemeContext-D50irx5T.cjs} +291 -205
  177. package/dist/{ThemeContext-RTy1m2Uq.js → ThemeContext-Dk3tH7Ym.js} +14 -13
  178. package/dist/{XerticaXLogo-CFuIlYFH.js → ThemeToggle-BpM_iHh8.js} +56 -93
  179. package/dist/{XerticaXLogo-CziKMQil.cjs → ThemeToggle-CZRlv0d4.cjs} +62 -85
  180. package/dist/{VerifyEmailPage-C_Zk6Gen.cjs → VerifyEmailPage-B6bOrybJ.cjs} +17 -17
  181. package/dist/VerifyEmailPage-BKiaw2YK.js +2954 -0
  182. package/dist/{VerifyEmailPage-B31mCrMc.js → VerifyEmailPage-BRE5Fz59.js} +8 -8
  183. package/dist/{VerifyEmailPage-Cyl55sJb.js → VerifyEmailPage-BcCluouh.js} +135 -65
  184. package/dist/VerifyEmailPage-Beaicc6V.cjs +2963 -0
  185. package/dist/VerifyEmailPage-BehPBp0F.cjs +2963 -0
  186. package/dist/VerifyEmailPage-Bx1sr0uQ.cjs +3298 -0
  187. package/dist/{VerifyEmailPage-Bci0bA-P.js → VerifyEmailPage-DUYyXCX9.js} +3 -3
  188. package/dist/VerifyEmailPage-DXXMHbzq.js +3289 -0
  189. package/dist/VerifyEmailPage-Djb6hthM.js +2954 -0
  190. package/dist/{VerifyEmailPage-u_Dn7t1U.cjs → VerifyEmailPage-DpYtFk35.cjs} +21 -21
  191. package/dist/{VerifyEmailPage-X14vhdyl.js → VerifyEmailPage-NXKWW3Dk.js} +12 -12
  192. package/dist/{VerifyEmailPage-C7KiYXrm.cjs → VerifyEmailPage-QrCz4Wqr.cjs} +11 -11
  193. package/dist/{VerifyEmailPage-Bv8Ah_TK.cjs → VerifyEmailPage-ZmQra0Wi.cjs} +144 -74
  194. package/dist/{XerticaProvider-BErr83Bg.js → XerticaProvider-BF3q_myt.js} +5 -4
  195. package/dist/{XerticaProvider-B8CaV7xu.cjs → XerticaProvider-BijpC_py.cjs} +18 -11
  196. package/dist/{XerticaProvider-DQtvJU7m.js → XerticaProvider-C2wDRQhT.js} +17 -13
  197. package/dist/{XerticaProvider-CeS5G_n5.cjs → XerticaProvider-C_JSOz1U.cjs} +2 -2
  198. package/dist/{XerticaProvider-CwOkHxiT.cjs → XerticaProvider-D5zjrqZq.cjs} +5 -4
  199. package/dist/{XerticaProvider-ra2NciRq.js → XerticaProvider-KTGl4Cn1.js} +2 -2
  200. package/dist/{alert-dialog-DqlRW_An.js → alert-dialog-BrpwXKwS.js} +3 -3
  201. package/dist/{alert-dialog-yckpaOpy.cjs → alert-dialog-BzIcTKn_.cjs} +173 -166
  202. package/dist/{alert-dialog-DhwPioBa.cjs → alert-dialog-CZU1Zase.cjs} +3 -3
  203. package/dist/{alert-dialog-KpoabzJb.js → alert-dialog-ClRoLH7l.js} +40 -56
  204. package/dist/{alert-dialog-B4M3vQKS.cjs → alert-dialog-DBBqvU-V.cjs} +53 -38
  205. package/dist/{alert-dialog-iDe5VE5o.js → alert-dialog-kty5pxQp.js} +160 -183
  206. package/dist/assistant.cjs.js +2 -2
  207. package/dist/assistant.es.js +2 -2
  208. package/dist/blocks.cjs.js +7 -3
  209. package/dist/blocks.es.js +2 -2
  210. package/dist/brand.cjs.js +7 -6
  211. package/dist/brand.es.js +3 -2
  212. package/dist/cli.js +63 -21
  213. package/dist/components/assistant/code-block/CodeBlock.d.ts +2 -1
  214. package/dist/components/assistant/formatted-document/FormattedDocument.d.ts +2 -1
  215. package/dist/components/assistant/markdown-message/MarkdownMessage.d.ts +2 -1
  216. package/dist/components/assistant/modern-chat-input/ModernChatInput.d.ts +2 -1
  217. package/dist/components/assistant/xertica-assistant/parts/AssistantCollapsedView.d.ts +2 -1
  218. package/dist/components/assistant/xertica-assistant/parts/AssistantConversationList.d.ts +2 -1
  219. package/dist/components/assistant/xertica-assistant/parts/AssistantDocumentEditor.d.ts +2 -1
  220. package/dist/components/assistant/xertica-assistant/parts/AssistantFeedbackDialog.d.ts +2 -1
  221. package/dist/components/assistant/xertica-assistant/parts/AssistantHeader.d.ts +2 -1
  222. package/dist/components/assistant/xertica-assistant/parts/AssistantMessageBubble.d.ts +2 -1
  223. package/dist/components/assistant/xertica-assistant/parts/AssistantTabBar.d.ts +2 -1
  224. package/dist/components/assistant/xertica-assistant/parts/AssistantTypingIndicator.d.ts +2 -1
  225. package/dist/components/assistant/xertica-assistant/parts/AssistantWelcomeScreen.d.ts +2 -1
  226. package/dist/components/assistant/xertica-assistant/types.d.ts +3 -2
  227. package/dist/components/assistant/xertica-assistant/use-assistant.d.ts +1 -1
  228. package/dist/components/assistant/xertica-assistant/xertica-assistant.d.ts +2 -1
  229. package/dist/components/blocks/auth/AuthPageShell.d.ts +12 -0
  230. package/dist/components/blocks/auth/PasswordStrengthMeter.d.ts +7 -0
  231. package/dist/components/blocks/auth/SocialLoginButtons.d.ts +8 -0
  232. package/dist/components/blocks/auth/index.d.ts +8 -0
  233. package/dist/components/blocks/auth/usePasswordStrength.d.ts +3 -0
  234. package/dist/components/blocks/card-patterns/ActivityCard.d.ts +1 -1
  235. package/dist/components/blocks/card-patterns/ActivityCardSkeleton.d.ts +1 -1
  236. package/dist/components/blocks/card-patterns/FeatureCard.d.ts +1 -1
  237. package/dist/components/blocks/card-patterns/FeatureCardSkeleton.d.ts +1 -1
  238. package/dist/components/blocks/card-patterns/NotificationCard.d.ts +1 -1
  239. package/dist/components/blocks/card-patterns/NotificationCardSkeleton.d.ts +1 -1
  240. package/dist/components/blocks/card-patterns/ProfileCard.d.ts +1 -1
  241. package/dist/components/blocks/card-patterns/ProfileCardSkeleton.d.ts +1 -1
  242. package/dist/components/blocks/card-patterns/ProjectCard.d.ts +1 -1
  243. package/dist/components/blocks/card-patterns/ProjectCardSkeleton.d.ts +1 -1
  244. package/dist/components/blocks/card-patterns/QuickActionCard.d.ts +1 -1
  245. package/dist/components/blocks/card-patterns/QuickActionCardSkeleton.d.ts +1 -1
  246. package/dist/components/blocks/index.d.ts +1 -0
  247. package/dist/components/brand/language-selector/LanguageSelector.d.ts +2 -1
  248. package/dist/components/brand/theme-toggle/ThemeToggle.d.ts +2 -1
  249. package/dist/components/brand/xertica-logo/XerticaLogo.d.ts +2 -1
  250. package/dist/components/brand/xertica-orbe/XerticaOrbe.d.ts +2 -1
  251. package/dist/components/brand/xertica-provider/XerticaProvider.d.ts +1 -1
  252. package/dist/components/brand/xertica-xlogo/XerticaXLogo.d.ts +2 -1
  253. package/dist/components/examples/DrawingMapExample.d.ts +2 -1
  254. package/dist/components/examples/FilterableMapExample.d.ts +1 -1
  255. package/dist/components/examples/MapShowcase.d.ts +2 -1
  256. package/dist/components/examples/SimpleFilterableMap.d.ts +2 -1
  257. package/dist/components/figma/ImageWithFallback.d.ts +1 -1
  258. package/dist/components/layout/header/header.d.ts +1 -1
  259. package/dist/components/layout/sidebar/sidebar.d.ts +25 -13
  260. package/dist/components/media/FloatingMediaWrapper.d.ts +1 -1
  261. package/dist/components/media/audio-player/AudioPlayer.d.ts +2 -1
  262. package/dist/components/media/video-player/VideoPlayer.d.ts +2 -1
  263. package/dist/components/pages/forgot-password-page/ForgotPasswordPage.d.ts +2 -1
  264. package/dist/components/pages/home-content/HomeContent.d.ts +2 -1
  265. package/dist/components/pages/home-page/HomePage.d.ts +2 -1
  266. package/dist/components/pages/login-page/LoginPage.d.ts +2 -1
  267. package/dist/components/pages/reset-password-page/ResetPasswordPage.d.ts +3 -2
  268. package/dist/components/pages/template-content/TemplateContent.d.ts +2 -1
  269. package/dist/components/pages/template-page/TemplatePage.d.ts +2 -1
  270. package/dist/components/pages/verify-email-page/VerifyEmailPage.d.ts +2 -1
  271. package/dist/components/shared/CustomTooltipContent.d.ts +1 -1
  272. package/dist/components/shared/assistant-utils.d.ts +3 -2
  273. package/dist/components/shared/error-boundary.d.ts +4 -4
  274. package/dist/components/shared/error-fallbacks.d.ts +4 -3
  275. package/dist/components/shared/navigation.d.ts +6 -2
  276. package/dist/components/ui/accordion/accordion.d.ts +4 -4
  277. package/dist/components/ui/alert/alert.d.ts +3 -3
  278. package/dist/components/ui/alert-dialog/alert-dialog.d.ts +10 -10
  279. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts +1 -1
  280. package/dist/components/ui/assistant-chart/AssistantChart.d.ts +4 -3
  281. package/dist/components/ui/avatar/avatar.d.ts +3 -3
  282. package/dist/components/ui/badge/badge.d.ts +1 -1
  283. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +7 -7
  284. package/dist/components/ui/calendar/calendar.d.ts +2 -2
  285. package/dist/components/ui/card/card.d.ts +7 -7
  286. package/dist/components/ui/carousel/carousel.d.ts +5 -5
  287. package/dist/components/ui/chart/chart.d.ts +16 -16
  288. package/dist/components/ui/collapsible/collapsible.d.ts +3 -3
  289. package/dist/components/ui/command/command.d.ts +9 -9
  290. package/dist/components/ui/context-menu/context-menu.d.ts +15 -15
  291. package/dist/components/ui/dialog/dialog.d.ts +9 -9
  292. package/dist/components/ui/drawer/drawer.d.ts +10 -10
  293. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +15 -15
  294. package/dist/components/ui/form/form.d.ts +7 -7
  295. package/dist/components/ui/google-maps-loader/google-maps-loader.d.ts +3 -3
  296. package/dist/components/ui/hover-card/hover-card.d.ts +3 -3
  297. package/dist/components/ui/input-otp/input-otp.d.ts +4 -4
  298. package/dist/components/ui/label/label.d.ts +1 -1
  299. package/dist/components/ui/menubar/menubar.d.ts +16 -16
  300. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +8 -8
  301. package/dist/components/ui/page-header/page-header.d.ts +3 -3
  302. package/dist/components/ui/pagination/pagination.d.ts +7 -7
  303. package/dist/components/ui/popover/popover.d.ts +4 -4
  304. package/dist/components/ui/progress/progress.d.ts +1 -1
  305. package/dist/components/ui/resizable/resizable.d.ts +11 -7
  306. package/dist/components/ui/rich-text-editor/rich-text-editor.d.ts +1 -1
  307. package/dist/components/ui/scroll-area/scroll-area.d.ts +2 -2
  308. package/dist/components/ui/separator/separator.d.ts +1 -1
  309. package/dist/components/ui/sheet/sheet.d.ts +10 -10
  310. package/dist/components/ui/skeleton/skeleton.d.ts +1 -1
  311. package/dist/components/ui/sonner/sonner.d.ts +2 -1
  312. package/dist/components/ui/stats-card/stats-card-skeleton.d.ts +1 -1
  313. package/dist/components/ui/table/table.d.ts +8 -8
  314. package/dist/components/ui/tabs/tabs.d.ts +4 -4
  315. package/dist/components/ui/tooltip/tooltip.d.ts +4 -4
  316. package/dist/contexts/ApiKeyContext.d.ts +2 -2
  317. package/dist/contexts/AssistenteContext.d.ts +1 -1
  318. package/dist/contexts/AuthContext.d.ts +1 -1
  319. package/dist/contexts/LanguageContext.d.ts +2 -2
  320. package/dist/contexts/LayoutContext.d.ts +2 -2
  321. package/dist/contexts/ThemeContext.d.ts +1 -1
  322. package/dist/features/assistant/hooks/useAssistantConfig.d.ts +1 -1
  323. package/dist/features/home/hooks/useDashboardStats.d.ts +1 -1
  324. package/dist/features/home/hooks/useFeatureCards.d.ts +1 -1
  325. package/dist/features/home/hooks/useTeamMembers.d.ts +1 -1
  326. package/dist/{google-maps-loader-BCe58h9D.js → google-maps-loader-BOug999f.js} +0 -4
  327. package/dist/{google-maps-loader-casMyxlo.cjs → google-maps-loader-DfeBRI8Q.cjs} +0 -5
  328. package/dist/hooks.cjs.js +6 -5
  329. package/dist/hooks.es.js +3 -2
  330. package/dist/{index-9GWd0qxq.cjs → index-BQjx1Mdf.cjs} +1 -1
  331. package/dist/index-Bei5DzAL.js +6 -0
  332. package/dist/index.cjs.js +32 -27
  333. package/dist/index.es.js +15 -14
  334. package/dist/layout.cjs.js +1 -1
  335. package/dist/layout.es.js +1 -1
  336. package/dist/pages.cjs.js +1 -1
  337. package/dist/pages.es.js +1 -1
  338. package/dist/{rich-text-editor-B2CKz7nx.cjs → rich-text-editor-BuqSu718.cjs} +68 -3
  339. package/dist/{rich-text-editor-DloeW0wc.js → rich-text-editor-CV8FtA_l.js} +66 -4
  340. package/dist/{sidebar-B4ZWaMrE.js → sidebar-B7YzwAp3.js} +365 -6
  341. package/dist/{sidebar-CLmIjgNd.cjs → sidebar-BGJ0j567.cjs} +84 -67
  342. package/dist/{sidebar-Duermn32.js → sidebar-BI6mZlC8.js} +81 -64
  343. package/dist/{sidebar-BS1p2V7t.cjs → sidebar-BtmotOg-.cjs} +367 -9
  344. package/dist/{sidebar-DyYvgyBj.cjs → sidebar-Cb0U7NsV.cjs} +368 -9
  345. package/dist/{sidebar-QwCoeoZ_.js → sidebar-D3EgGVxF.js} +1 -1
  346. package/dist/{sidebar-CQn_rwxP.cjs → sidebar-DDTqMGnR.cjs} +4 -4
  347. package/dist/{sidebar-3XyzjVBw.js → sidebar-I7EXyf5D.js} +364 -6
  348. package/dist/ui.cjs.js +9 -9
  349. package/dist/ui.es.js +5 -5
  350. package/dist/{xertica-assistant-BbgzsgsG.js → xertica-assistant-8fh8KA2K.js} +60 -51
  351. package/dist/{xertica-assistant-d2qs2Vd9.cjs → xertica-assistant-BjfG3zyL.cjs} +63 -46
  352. package/dist/{xertica-assistant-B687qEPU.js → xertica-assistant-CJVnvMqU.js} +17 -8
  353. package/dist/{xertica-assistant-sOHwTgIP.cjs → xertica-assistant-CKPtc1z5.cjs} +19 -10
  354. package/dist/{xertica-assistant-QFUnv5I2.cjs → xertica-assistant-DER0brPQ.cjs} +6 -5
  355. package/dist/{xertica-assistant-CyikE3N_.js → xertica-assistant-DQCjpk5M.js} +4 -3
  356. package/dist/{xertica-assistant-B1NaSFFj.js → xertica-assistant-Dk-9AJzw.js} +6 -5
  357. package/dist/{xertica-assistant-CIaUlbIt.cjs → xertica-assistant-DxhIKvuY.cjs} +8 -7
  358. package/dist/xertica-ui.css +2 -2
  359. package/docs/components/audio-player.md +1 -1
  360. package/docs/components/sidebar.md +331 -331
  361. package/docs/components/stats-card.md +138 -138
  362. package/docs/components/toggle.md +12 -0
  363. package/docs/doc-audit.md +35 -229
  364. package/docs/i18n.md +33 -10
  365. package/docs/llms.md +6 -4
  366. package/llms-compact.txt +444 -444
  367. package/llms-full.txt +12144 -12144
  368. package/llms.txt +187 -187
  369. package/package.json +223 -219
  370. package/scripts/a11y-audit.mjs +162 -162
  371. package/scripts/fix-stories.cjs +19 -19
  372. package/styles/globals.css +0 -1
  373. package/styles/xertica/base.css +8 -0
  374. package/styles/xertica/tokens.css +240 -240
  375. package/templates/.env.example +2 -2
  376. package/templates/.prettierignore +4 -4
  377. package/templates/.prettierrc +10 -10
  378. package/templates/guidelines/Guidelines.md +865 -865
  379. package/templates/index.html +13 -13
  380. package/templates/package.json +69 -69
  381. package/templates/src/app/components/AuthGuard.tsx +11 -0
  382. package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +1 -2
  383. package/templates/src/features/auth/ui/LoginContent.tsx +1 -2
  384. package/templates/src/features/auth/ui/ResetPasswordContent.tsx +3 -57
  385. package/templates/src/features/auth/ui/VerifyEmailContent.tsx +1 -2
  386. package/templates/src/features/home/index.ts +0 -10
  387. package/templates/src/features/home/ui/HomeContent.tsx +62 -116
  388. package/templates/src/features/settings/index.ts +2 -0
  389. package/templates/src/features/settings/ui/SettingsContent.tsx +134 -0
  390. package/templates/src/features/template/index.ts +0 -4
  391. package/templates/src/features/template/ui/TemplateContent.tsx +68 -1321
  392. package/templates/src/i18n.ts +36 -13
  393. package/templates/src/locales/en/pages/settings.json +15 -0
  394. package/templates/src/locales/en/pages/templates.json +5 -313
  395. package/templates/src/locales/es/pages/settings.json +15 -0
  396. package/templates/src/locales/es/pages/templates.json +5 -313
  397. package/templates/src/locales/pt-BR/pages/settings.json +15 -0
  398. package/templates/src/locales/pt-BR/pages/templates.json +5 -313
  399. package/templates/src/pages/SettingsPage.tsx +28 -0
  400. package/templates/src/shared/config/navigation.ts +2 -2
  401. package/templates/src/styles/xertica/tokens.css +240 -240
  402. package/utils/gemini.ts +2 -2
  403. package/dist/AssistantChart-9w31gdAb.cjs +0 -3363
  404. package/dist/AssistantChart-BAudAfne.cjs +0 -3591
  405. package/dist/AssistantChart-BAx9VQvb.cjs +0 -3374
  406. package/dist/AssistantChart-BP8upjMk.js +0 -3565
  407. package/dist/AssistantChart-CVko2A1W.js +0 -3348
  408. package/dist/AssistantChart-CVzmmhx4.js +0 -3337
  409. package/dist/AssistantChart-CeU2dIb6.js +0 -3469
  410. package/dist/AssistantChart-DO5UuX4J.cjs +0 -3495
  411. package/dist/AudioPlayer-1ypwE2Wh.cjs +0 -936
  412. package/dist/AudioPlayer-BJ2IuRQW.cjs +0 -1275
  413. package/dist/AudioPlayer-BWDW6TN9.cjs +0 -1279
  414. package/dist/AudioPlayer-CM962GEh.js +0 -1280
  415. package/dist/AudioPlayer-CbZId7cj.cjs +0 -998
  416. package/dist/AudioPlayer-DU8zt8-z.js +0 -999
  417. package/dist/AudioPlayer-DuKXrCfy.js +0 -937
  418. package/dist/AudioPlayer-Xxma6_-H.js +0 -1276
  419. package/dist/BrandColorsContext-DLVJgtmH.js +0 -666
  420. package/dist/BrandColorsContext-DZT7JjeD.js +0 -659
  421. package/dist/BrandColorsContext-GUyFmkX0.cjs +0 -665
  422. package/dist/BrandColorsContext-awnBCmC4.cjs +0 -666
  423. package/dist/CodeBlock-C2ZUXt8V.js +0 -219
  424. package/dist/CodeBlock-C5oYnLQp.cjs +0 -218
  425. package/dist/CodeBlock-DuxdtN-l.js +0 -219
  426. package/dist/CodeBlock-POVYONvC.cjs +0 -218
  427. package/dist/CustomTooltipContent-BT6brkVJ.cjs +0 -49
  428. package/dist/CustomTooltipContent-CfOfikhq.js +0 -33
  429. package/dist/CustomTooltipContent-DHjkY0ww.js +0 -40
  430. package/dist/CustomTooltipContent-c_K-DWRr.cjs +0 -56
  431. package/dist/FeatureCard-9GhnlgL3.js +0 -336
  432. package/dist/FeatureCard-Bcb3Zi54.js +0 -302
  433. package/dist/FeatureCard-CkPd2psQ.cjs +0 -301
  434. package/dist/FeatureCard-Dkp-xmzM.cjs +0 -335
  435. package/dist/FeatureCardSkeleton-CAgu8stE.js +0 -27
  436. package/dist/FeatureCardSkeleton-mO3Bdm_V.cjs +0 -26
  437. package/dist/LanguageContext-BwhwC3G2.js +0 -657
  438. package/dist/LanguageContext-DvUt5jBg.cjs +0 -656
  439. package/dist/LayoutContext-BDmcZfMH.cjs +0 -84
  440. package/dist/LayoutContext-C4kKN9RV.cjs +0 -93
  441. package/dist/LayoutContext-CGEe1oPq.js +0 -94
  442. package/dist/LayoutContext-CwT5KLiW.cjs +0 -104
  443. package/dist/LayoutContext-DVLCsoQn.js +0 -105
  444. package/dist/LayoutContext-dbQvdC4O.js +0 -85
  445. package/dist/ThemeContext-BbBNoFTG.js +0 -735
  446. package/dist/ThemeContext-Bo-W2WZH.js +0 -1856
  447. package/dist/ThemeContext-CP3a0jxy.cjs +0 -1855
  448. package/dist/ThemeContext-Cmr8Ex8H.cjs +0 -734
  449. package/dist/ThemeContext-CpqYShLq.cjs +0 -324
  450. package/dist/ThemeContext-D3LzacmG.js +0 -188
  451. package/dist/ThemeContext-DQUOeziy.cjs +0 -1855
  452. package/dist/ThemeContext-Du2nE1PL.js +0 -325
  453. package/dist/ThemeContext-GeEBTJ3q.cjs +0 -1621
  454. package/dist/ThemeContext-JyLK9B1o.js +0 -1622
  455. package/dist/ThemeContext-U4dEYc6C.cjs +0 -187
  456. package/dist/ThemeContext-ept8jhXI.js +0 -1856
  457. package/dist/VerifyEmailPage-BE-L9mB7.js +0 -2828
  458. package/dist/VerifyEmailPage-BIBOKV7Z.js +0 -3214
  459. package/dist/VerifyEmailPage-BJjAMUTW.js +0 -3223
  460. package/dist/VerifyEmailPage-BRSP-Pwt.cjs +0 -3196
  461. package/dist/VerifyEmailPage-Bae2cBXT.cjs +0 -2827
  462. package/dist/VerifyEmailPage-BiRm7Nh4.cjs +0 -3213
  463. package/dist/VerifyEmailPage-Bvfv8HVQ.js +0 -3214
  464. package/dist/VerifyEmailPage-CR7kb5df.cjs +0 -2827
  465. package/dist/VerifyEmailPage-C_ihbcth.js +0 -2828
  466. package/dist/VerifyEmailPage-CbgjOF0v.js +0 -2828
  467. package/dist/VerifyEmailPage-CdYPSJoO.js +0 -2828
  468. package/dist/VerifyEmailPage-CkBYfsNy.cjs +0 -3232
  469. package/dist/VerifyEmailPage-D-FRj5TU.cjs +0 -3213
  470. package/dist/VerifyEmailPage-DF2ilhum.cjs +0 -3210
  471. package/dist/VerifyEmailPage-DMBh4NM9.cjs +0 -2827
  472. package/dist/VerifyEmailPage-DTtFfC-J.js +0 -3197
  473. package/dist/VerifyEmailPage-Dt7zgA4w.cjs +0 -2827
  474. package/dist/VerifyEmailPage-EhudUdqF.js +0 -3211
  475. package/dist/VerifyEmailPage-RrUApqBN.js +0 -3214
  476. package/dist/VerifyEmailPage-VoMI7MYH.cjs +0 -3213
  477. package/dist/VerifyEmailPage-hdB8JQGv.cjs +0 -3213
  478. package/dist/VerifyEmailPage-vYHbYK3q.js +0 -3214
  479. package/dist/XerticaOrbe-BCUVSPPB.cjs +0 -1924
  480. package/dist/XerticaOrbe-BGIB1CTK.js +0 -1355
  481. package/dist/XerticaOrbe-By8eEvR-.js +0 -1925
  482. package/dist/XerticaOrbe-FWGjBj0U.cjs +0 -1354
  483. package/dist/XerticaProvider-AChwphCO.cjs +0 -48
  484. package/dist/XerticaProvider-AbWlr7Af.cjs +0 -48
  485. package/dist/XerticaProvider-BITjgC5p.js +0 -39
  486. package/dist/XerticaProvider-BSyFrmC0.js +0 -49
  487. package/dist/XerticaProvider-By8q3Roe.cjs +0 -38
  488. package/dist/XerticaProvider-CUYJZc32.js +0 -49
  489. package/dist/XerticaProvider-CW9hpCdF.cjs +0 -39
  490. package/dist/XerticaProvider-CWgby5mY.js +0 -49
  491. package/dist/XerticaProvider-CWs6EwNa.js +0 -49
  492. package/dist/XerticaProvider-CiNKjMx1.cjs +0 -48
  493. package/dist/XerticaProvider-CjQAQPcn.cjs +0 -48
  494. package/dist/XerticaProvider-D5lLumH-.js +0 -49
  495. package/dist/XerticaProvider-DUOJg9iX.js +0 -49
  496. package/dist/XerticaProvider-Dl_b72_l.cjs +0 -51
  497. package/dist/XerticaProvider-qQUDop71.cjs +0 -48
  498. package/dist/XerticaProvider-siSt9uG2.js +0 -40
  499. package/dist/XerticaXLogo-8TTzBjHw.cjs +0 -251
  500. package/dist/XerticaXLogo-B2svDGZh.cjs +0 -251
  501. package/dist/XerticaXLogo-BWaag64t.js +0 -252
  502. package/dist/XerticaXLogo-CU-U-GP4.cjs +0 -251
  503. package/dist/XerticaXLogo-ChryA6xj.js +0 -252
  504. package/dist/XerticaXLogo-CowGv7BC.js +0 -252
  505. package/dist/XerticaXLogo-D8jf0SNv.cjs +0 -214
  506. package/dist/XerticaXLogo-DHz5SugF.js +0 -252
  507. package/dist/XerticaXLogo-DTee_y8X.cjs +0 -251
  508. package/dist/XerticaXLogo-DfUvz-lD.js +0 -243
  509. package/dist/XerticaXLogo-DzXKZBtG.js +0 -231
  510. package/dist/XerticaXLogo-fAJMy3H4.js +0 -215
  511. package/dist/XerticaXLogo-kslQ8Tk_.cjs +0 -251
  512. package/dist/XerticaXLogo-xWbElCZj.cjs +0 -230
  513. package/dist/avatar-Cq5_E8r9.cjs +0 -78
  514. package/dist/avatar-CuYu2MKt.cjs +0 -72
  515. package/dist/avatar-Cxyofu1H.js +0 -56
  516. package/dist/avatar-DSBfJMRJ.js +0 -62
  517. package/dist/breadcrumb-CVzzzqfo.js +0 -103
  518. package/dist/breadcrumb-DIJ0X3Ot.js +0 -96
  519. package/dist/breadcrumb-DjSxkjlQ.cjs +0 -95
  520. package/dist/breadcrumb-DnDlQFg2.cjs +0 -102
  521. package/dist/button-0CXwCRTm.cjs +0 -85
  522. package/dist/button-Bnv9SvYK.cjs +0 -79
  523. package/dist/button-C6uvh0rV.js +0 -63
  524. package/dist/button-qkz7Icqf.js +0 -69
  525. package/dist/card-B8-Gl5DL.js +0 -73
  526. package/dist/card-Bv_c57KU.cjs +0 -72
  527. package/dist/card-DJTsYhLL.cjs +0 -89
  528. package/dist/card-fi8zAN-I.js +0 -90
  529. package/dist/dropdown-menu-B_uEXNc4.cjs +0 -220
  530. package/dist/dropdown-menu-CFuCssWA.js +0 -204
  531. package/dist/dropdown-menu-Ze1YZFyc.cjs +0 -247
  532. package/dist/dropdown-menu-nc_Lvg-u.js +0 -231
  533. package/dist/google-maps-loader-BVoVhUwA.js +0 -316
  534. package/dist/google-maps-loader-BqsYL48U.cjs +0 -285
  535. package/dist/google-maps-loader-DjJaYhV6.cjs +0 -316
  536. package/dist/google-maps-loader-t2IlYBzw.js +0 -286
  537. package/dist/index-B7A523O_.js +0 -8
  538. package/dist/index-BabBx2pa.js +0 -6
  539. package/dist/index-CkTUgOwX.js +0 -8
  540. package/dist/index-D3RLKRAs.cjs +0 -7
  541. package/dist/index-DmHhnb7a.cjs +0 -7
  542. package/dist/index.umd.js +0 -13712
  543. package/dist/input-CNFHVKvo.cjs +0 -145
  544. package/dist/input-CPl84zAx.cjs +0 -151
  545. package/dist/input-C_UiS2Py.cjs +0 -152
  546. package/dist/input-D-6IsAca.js +0 -133
  547. package/dist/input-cc-PTD4R.js +0 -123
  548. package/dist/input-wPYg0d0P.js +0 -127
  549. package/dist/progress-BLwqortq.cjs +0 -105
  550. package/dist/progress-D9mtsf6j.js +0 -89
  551. package/dist/rich-text-editor-1UW3Y2JK.js +0 -2891
  552. package/dist/rich-text-editor-BM-LPpTh.js +0 -2902
  553. package/dist/rich-text-editor-BmsjY03B.js +0 -2949
  554. package/dist/rich-text-editor-BrdC5evx.js +0 -2244
  555. package/dist/rich-text-editor-CyggTOLQ.cjs +0 -2908
  556. package/dist/rich-text-editor-DbV-S7Fi.cjs +0 -2261
  557. package/dist/rich-text-editor-DoCkKhzk.cjs +0 -2919
  558. package/dist/rich-text-editor-DqLICivI.js +0 -2832
  559. package/dist/rich-text-editor-DxO1Hz3a.cjs +0 -2903
  560. package/dist/rich-text-editor-GS2kpTAK.cjs +0 -2966
  561. package/dist/routes.d.ts +0 -10
  562. package/dist/select-Cmb8zF7w.cjs +0 -156
  563. package/dist/select-CprSNX0z.js +0 -139
  564. package/dist/select-DT7Zjn42.cjs +0 -162
  565. package/dist/select-En8DkoaQ.js +0 -145
  566. package/dist/sidebar-B3EYhli0.cjs +0 -800
  567. package/dist/sidebar-B9NR0lCe.cjs +0 -800
  568. package/dist/sidebar-BcJ6LxvX.cjs +0 -733
  569. package/dist/sidebar-BvF5I2Ue.cjs +0 -800
  570. package/dist/sidebar-C5B_LHek.cjs +0 -795
  571. package/dist/sidebar-CA6_ek3f.js +0 -801
  572. package/dist/sidebar-CRMiBtAi.js +0 -801
  573. package/dist/sidebar-CVUGHOS_.cjs +0 -756
  574. package/dist/sidebar-CZ2mWaMM.cjs +0 -800
  575. package/dist/sidebar-CmvwjnVb.js +0 -757
  576. package/dist/sidebar-CplprZpM.js +0 -801
  577. package/dist/sidebar-Dz7bd3zP.js +0 -796
  578. package/dist/sidebar-KIS0C2JH.js +0 -801
  579. package/dist/sidebar-OTO_up7Z.js +0 -801
  580. package/dist/sidebar-WoKvFWCN.js +0 -717
  581. package/dist/sidebar-zowjejT2.cjs +0 -800
  582. package/dist/skeleton-4zoHiFJ_.cjs +0 -83
  583. package/dist/skeleton-C4bHqUBf.js +0 -84
  584. package/dist/slider-C0JKA9k3.js +0 -56
  585. package/dist/slider-CPmwzm_3.cjs +0 -73
  586. package/dist/slider-DcJharR9.cjs +0 -73
  587. package/dist/slider-Pay3fka2.js +0 -56
  588. package/dist/sonner-DeUIj0Zg.cjs +0 -63
  589. package/dist/sonner-g9RIfi35.js +0 -47
  590. package/dist/tooltip-CNtsL5cB.cjs +0 -71
  591. package/dist/tooltip-CTyZCD8h.js +0 -55
  592. package/dist/tooltip-CwgSdy3h.cjs +0 -67
  593. package/dist/tooltip-D-OrYnKO.js +0 -51
  594. package/dist/use-audio-player-BJFV24XW.js +0 -188
  595. package/dist/use-audio-player-Bkh23vQ3.js +0 -177
  596. package/dist/use-audio-player-Dn1NR9xN.cjs +0 -176
  597. package/dist/use-audio-player-DyVYlOnR.cjs +0 -187
  598. package/dist/use-mobile-BB4M_4Ru.cjs +0 -47
  599. package/dist/use-mobile-CLu9nqGL.js +0 -31
  600. package/dist/use-mobile-CNwiBNxu.js +0 -33
  601. package/dist/use-mobile-Dlf74ufz.cjs +0 -49
  602. package/dist/xertica-assistant-B1IaHXnB.cjs +0 -1894
  603. package/dist/xertica-assistant-BMqdyRVi.js +0 -2082
  604. package/dist/xertica-assistant-Bj3vBCq_.cjs +0 -2081
  605. package/dist/xertica-assistant-CfBCo21g.js +0 -2148
  606. package/dist/xertica-assistant-DIM_Do1k.js +0 -1866
  607. package/dist/xertica-assistant-DPsESB6t.js +0 -1878
  608. package/dist/xertica-assistant-DrsRwla1.cjs +0 -2147
  609. package/dist/xertica-assistant-Qp3ydksa.cjs +0 -1882
  610. package/dist/xertica-assistant-gnCJdcZY.js +0 -1866
  611. package/dist/xertica-assistant-yyrR0JKl.cjs +0 -1882
  612. package/styles/xertica/app-overrides/scrollbar.css +0 -33
  613. package/templates/src/features/auth/ui/SocialLoginButtons.tsx +0 -78
  614. package/templates/src/features/home/data/mock.ts +0 -41
  615. package/templates/src/features/home/hooks/useFeatureCards.ts +0 -20
  616. package/templates/src/features/home/store/dashboardStore.ts +0 -25
  617. package/templates/src/features/template/ui/CrudTemplate.tsx +0 -112
  618. package/templates/src/features/template/ui/DashboardTemplate.tsx +0 -110
  619. package/templates/src/features/template/ui/FormTemplate.tsx +0 -117
  620. package/templates/src/features/template/ui/LoginTemplate.tsx +0 -59
  621. package/templates/src/locales/en/pages/crudTemplate.json +0 -25
  622. package/templates/src/locales/en/pages/dashboardTemplate.json +0 -20
  623. package/templates/src/locales/en/pages/formTemplate.json +0 -16
  624. package/templates/src/locales/en/pages/loginTemplate.json +0 -9
  625. package/templates/src/locales/es/pages/crudTemplate.json +0 -25
  626. package/templates/src/locales/es/pages/dashboardTemplate.json +0 -20
  627. package/templates/src/locales/es/pages/formTemplate.json +0 -16
  628. package/templates/src/locales/es/pages/loginTemplate.json +0 -9
  629. package/templates/src/locales/pt-BR/pages/crudTemplate.json +0 -25
  630. package/templates/src/locales/pt-BR/pages/dashboardTemplate.json +0 -20
  631. package/templates/src/locales/pt-BR/pages/formTemplate.json +0 -16
  632. package/templates/src/locales/pt-BR/pages/loginTemplate.json +0 -9
  633. package/templates/vite.config.d.ts +0 -2
  634. package/templates/vite.config.js +0 -20
  635. package/dist/{XerticaXLogo-qBPhwK3g.cjs → LanguageSelector-1cINLJ23.cjs} +80 -80
@@ -1,37 +1,39 @@
1
- "use strict";
2
- const jsxRuntime = require("react/jsx-runtime");
3
- const AspectRatioPrimitive = require("@radix-ui/react-aspect-ratio");
4
- const lucideReact = require("lucide-react");
5
- const React = require("react");
6
- const button = require("./button-Bnv9SvYK.cjs");
7
- const NavigationMenuPrimitive = require("@radix-ui/react-navigation-menu");
8
- const classVarianceAuthority = require("class-variance-authority");
9
- const ToggleGroupPrimitive = require("@radix-ui/react-toggle-group");
10
- const TogglePrimitive = require("@radix-ui/react-toggle");
11
- const inputOtp = require("input-otp");
12
- const reactSlot = require("@radix-ui/react-slot");
13
- const reactHookForm = require("react-hook-form");
14
- const alertDialog = require("./alert-dialog-B4M3vQKS.cjs");
15
- const reactDayPicker = require("react-day-picker");
16
- const DialogPrimitive = require("@radix-ui/react-dialog");
17
- const vaul = require("vaul");
18
- const HoverCardPrimitive = require("@radix-ui/react-hover-card");
19
- const ContextMenuPrimitive = require("@radix-ui/react-context-menu");
20
- const MenubarPrimitive = require("@radix-ui/react-menubar");
21
- const cmdk = require("cmdk");
22
- const richTextEditor = require("./rich-text-editor-CyggTOLQ.cjs");
23
- const skeleton = require("./skeleton-4zoHiFJ_.cjs");
24
- const CollapsiblePrimitive = require("@radix-ui/react-collapsible");
25
- const AccordionPrimitive = require("@radix-ui/react-accordion");
26
- const useEmblaCarousel = require("embla-carousel-react");
27
- const googleMapsLoader = require("./google-maps-loader-DjJaYhV6.cjs");
28
- const RechartsPrimitive = require("recharts");
29
- var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
5
+ const lucideReact = require('lucide-react');
6
+ const React = require('react');
7
+ const button = require('./button-0BlA47It.cjs');
8
+ const NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
9
+ const classVarianceAuthority = require('class-variance-authority');
10
+ const ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
11
+ const TogglePrimitive = require('@radix-ui/react-toggle');
12
+ const inputOtp = require('input-otp');
13
+ const reactSlot = require('@radix-ui/react-slot');
14
+ const reactHookForm = require('react-hook-form');
15
+ const alertDialog = require('./alert-dialog-BzIcTKn_.cjs');
16
+ const reactDayPicker = require('react-day-picker');
17
+ const DialogPrimitive = require('@radix-ui/react-dialog');
18
+ const vaul = require('vaul');
19
+ const HoverCardPrimitive = require('@radix-ui/react-hover-card');
20
+ const ContextMenuPrimitive = require('@radix-ui/react-context-menu');
21
+ const MenubarPrimitive = require('@radix-ui/react-menubar');
22
+ const cmdk = require('cmdk');
23
+ const richTextEditor = require('./rich-text-editor-BuqSu718.cjs');
24
+ const skeleton = require('./skeleton-DjiHerJn.cjs');
25
+ const CollapsiblePrimitive = require('@radix-ui/react-collapsible');
26
+ const AccordionPrimitive = require('@radix-ui/react-accordion');
27
+ const useEmblaCarousel = require('embla-carousel-react');
28
+ const googleMapsLoader = require('./google-maps-loader-DfeBRI8Q.cjs');
29
+ const RechartsPrimitive = require('recharts');
30
+
31
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
30
32
  function _interopNamespaceDefault(e) {
31
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
33
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
32
34
  if (e) {
33
35
  for (const k in e) {
34
- if (k !== "default") {
36
+ if (k !== 'default') {
35
37
  const d = Object.getOwnPropertyDescriptor(e, k);
36
38
  Object.defineProperty(n, k, d.get ? d : {
37
39
  enumerable: true,
@@ -43,28 +45,31 @@ function _interopNamespaceDefault(e) {
43
45
  n.default = e;
44
46
  return Object.freeze(n);
45
47
  }
46
- const AspectRatioPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(AspectRatioPrimitive);
47
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
48
- const NavigationMenuPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(NavigationMenuPrimitive);
49
- const ToggleGroupPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ToggleGroupPrimitive);
50
- const TogglePrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TogglePrimitive);
51
- const DialogPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(DialogPrimitive);
52
- const HoverCardPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(HoverCardPrimitive);
53
- const ContextMenuPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ContextMenuPrimitive);
54
- const MenubarPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(MenubarPrimitive);
55
- const CollapsiblePrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(CollapsiblePrimitive);
56
- const AccordionPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(AccordionPrimitive);
48
+
49
+ const AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(AspectRatioPrimitive);
50
+ const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
51
+ const NavigationMenuPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(NavigationMenuPrimitive);
52
+ const ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(ToggleGroupPrimitive);
53
+ const TogglePrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(TogglePrimitive);
54
+ const DialogPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(DialogPrimitive);
55
+ const HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(HoverCardPrimitive);
56
+ const ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(ContextMenuPrimitive);
57
+ const MenubarPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(MenubarPrimitive);
58
+ const CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(CollapsiblePrimitive);
59
+ const AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(AccordionPrimitive);
60
+
57
61
  function AspectRatio({ ...props }) {
58
62
  return /* @__PURE__ */ jsxRuntime.jsx(AspectRatioPrimitive__namespace.Root, { "data-slot": "aspect-ratio", ...props });
59
63
  }
64
+
60
65
  const ResizableContext = React__namespace.createContext(null);
61
66
  const ResizablePanelGroup = ({
62
67
  children,
63
68
  className,
64
69
  direction = "horizontal",
65
- id,
66
- autoSaveId,
67
- storage,
70
+ id: _id,
71
+ autoSaveId: _autoSaveId,
72
+ storage: _storage,
68
73
  onLayout,
69
74
  ...props
70
75
  }) => {
@@ -116,15 +121,15 @@ const ResizablePanelGroup = ({
116
121
  return next;
117
122
  });
118
123
  }, []);
119
- const unregisterPanel = React__namespace.useCallback((id2) => {
124
+ const unregisterPanel = React__namespace.useCallback((id) => {
120
125
  setPanels((prev) => {
121
126
  const next = new Map(prev);
122
- next.delete(id2);
127
+ next.delete(id);
123
128
  return next;
124
129
  });
125
130
  setSizes((prev) => {
126
131
  const next = new Map(prev);
127
- next.delete(id2);
132
+ next.delete(id);
128
133
  return next;
129
134
  });
130
135
  }, []);
@@ -135,16 +140,15 @@ const ResizablePanelGroup = ({
135
140
  return next;
136
141
  });
137
142
  }, []);
138
- const unregisterHandle = React__namespace.useCallback((id2) => {
143
+ const unregisterHandle = React__namespace.useCallback((id) => {
139
144
  setHandles((prev) => {
140
145
  const next = new Map(prev);
141
- next.delete(id2);
146
+ next.delete(id);
142
147
  return next;
143
148
  });
144
149
  }, []);
145
150
  const startDragging = React__namespace.useCallback(
146
151
  (handleId, event) => {
147
- var _a, _b;
148
152
  event.preventDefault();
149
153
  setIsDragging(true);
150
154
  const sortedPanels = getSortedItems(panels);
@@ -158,9 +162,8 @@ const ResizablePanelGroup = ({
158
162
  const startY = "touches" in event ? event.touches[0].clientY : event.clientY;
159
163
  const startSizeLeft = sizes.get(leftPanel.id) || 0;
160
164
  const startSizeRight = sizes.get(rightPanel.id) || 0;
161
- const containerSize = direction === "horizontal" ? ((_a = containerRef.current) == null ? void 0 : _a.offsetWidth) || 1 : ((_b = containerRef.current) == null ? void 0 : _b.offsetHeight) || 1;
165
+ const containerSize = direction === "horizontal" ? containerRef.current?.offsetWidth || 1 : containerRef.current?.offsetHeight || 1;
162
166
  const onMove = (e) => {
163
- var _a2, _b2;
164
167
  const currentX = "touches" in e ? e.touches[0].clientX : e.clientX;
165
168
  const currentY = "touches" in e ? e.touches[0].clientY : e.clientY;
166
169
  const deltaPixels = direction === "horizontal" ? currentX - startX : currentY - startY;
@@ -195,8 +198,8 @@ const ResizablePanelGroup = ({
195
198
  next.set(rightPanel.id, finalRight);
196
199
  return next;
197
200
  });
198
- (_a2 = leftPanel.onResize) == null ? void 0 : _a2.call(leftPanel, finalLeft);
199
- (_b2 = rightPanel.onResize) == null ? void 0 : _b2.call(rightPanel, finalRight);
201
+ leftPanel.onResize?.(finalLeft);
202
+ rightPanel.onResize?.(finalRight);
200
203
  };
201
204
  const onUp = () => {
202
205
  setIsDragging(false);
@@ -216,8 +219,8 @@ const ResizablePanelGroup = ({
216
219
  [panels, handles, sizes, direction, getSortedItems, onLayout]
217
220
  );
218
221
  const getPanelStyle = React__namespace.useCallback(
219
- (id2) => {
220
- const size = sizes.get(id2);
222
+ (id) => {
223
+ const size = sizes.get(id);
221
224
  if (size === void 0) return { flex: "1 1 0%", overflow: "hidden" };
222
225
  return { flex: `${size} 1 0%`, overflow: "hidden" };
223
226
  },
@@ -266,12 +269,12 @@ const ResizablePanel = ({
266
269
  minSize = 0,
267
270
  maxSize = 100,
268
271
  collapsible,
269
- collapsedSize,
272
+ collapsedSize: _collapsedSize,
270
273
  onCollapse,
271
274
  onExpand,
272
275
  onResize,
273
- order,
274
- tagName,
276
+ order: _order,
277
+ tagName: _tagName,
275
278
  id: propId,
276
279
  children,
277
280
  ...props
@@ -280,8 +283,8 @@ const ResizablePanel = ({
280
283
  const ref = React__namespace.useRef(null);
281
284
  const [generatedId] = React__namespace.useState(() => Math.random().toString(36).substr(2, 9));
282
285
  const id = propId || generatedId;
283
- const registerPanel = context == null ? void 0 : context.registerPanel;
284
- const unregisterPanel = context == null ? void 0 : context.unregisterPanel;
286
+ const registerPanel = context?.registerPanel;
287
+ const unregisterPanel = context?.unregisterPanel;
285
288
  React__namespace.useLayoutEffect(() => {
286
289
  if (!registerPanel || !unregisterPanel) return;
287
290
  registerPanel({
@@ -327,15 +330,15 @@ const ResizableHandle = ({
327
330
  withHandle,
328
331
  className,
329
332
  id: propId,
330
- tagName,
333
+ tagName: _tagName,
331
334
  ...props
332
335
  }) => {
333
336
  const context = React__namespace.useContext(ResizableContext);
334
337
  const ref = React__namespace.useRef(null);
335
338
  const [generatedId] = React__namespace.useState(() => Math.random().toString(36).substr(2, 9));
336
339
  const id = propId || generatedId;
337
- const registerHandle = context == null ? void 0 : context.registerHandle;
338
- const unregisterHandle = context == null ? void 0 : context.unregisterHandle;
340
+ const registerHandle = context?.registerHandle;
341
+ const unregisterHandle = context?.unregisterHandle;
339
342
  React__namespace.useLayoutEffect(() => {
340
343
  if (!registerHandle || !unregisterHandle) return;
341
344
  registerHandle({ id, ref });
@@ -366,6 +369,7 @@ const ResizableHandle = ({
366
369
  }
367
370
  );
368
371
  };
372
+
369
373
  function NavigationMenu({
370
374
  className,
371
375
  children,
@@ -501,6 +505,7 @@ function NavigationMenuIndicator({
501
505
  }
502
506
  );
503
507
  }
508
+
504
509
  function Pagination({ className, ...props }) {
505
510
  return /* @__PURE__ */ jsxRuntime.jsx(
506
511
  "nav",
@@ -610,6 +615,7 @@ function PaginationEllipsis({ className, ...props }) {
610
615
  }
611
616
  );
612
617
  }
618
+
613
619
  function usePagination({
614
620
  totalItems,
615
621
  pageSize = 10,
@@ -626,7 +632,7 @@ function usePagination({
626
632
  (p) => {
627
633
  const clamped = Math.min(Math.max(1, p), totalPages);
628
634
  if (!isControlled) setInternalPage(clamped);
629
- onPageChange == null ? void 0 : onPageChange(clamped);
635
+ onPageChange?.(clamped);
630
636
  },
631
637
  [isControlled, onPageChange, totalPages]
632
638
  );
@@ -675,6 +681,7 @@ function usePagination({
675
681
  last
676
682
  };
677
683
  }
684
+
678
685
  const toggleVariants = classVarianceAuthority.cva(
679
686
  "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
680
687
  {
@@ -705,6 +712,7 @@ const Toggle = React__namespace.forwardRef(({ className, variant, size, ...props
705
712
  }
706
713
  ));
707
714
  Toggle.displayName = TogglePrimitive__namespace.Root.displayName;
715
+
708
716
  const ToggleGroupContext = React__namespace.createContext({
709
717
  size: "default",
710
718
  variant: "default"
@@ -748,6 +756,7 @@ const ToggleGroupItem = React__namespace.forwardRef(({ className, children, vari
748
756
  );
749
757
  });
750
758
  ToggleGroupItem.displayName = ToggleGroupPrimitive__namespace.Item.displayName;
759
+
751
760
  function InputOTP({
752
761
  className,
753
762
  containerClassName,
@@ -780,7 +789,7 @@ function InputOTPSlot({
780
789
  ...props
781
790
  }) {
782
791
  const inputOTPContext = React__namespace.useContext(inputOtp.OTPInputContext);
783
- const { char, hasFakeCaret, isActive } = (inputOTPContext == null ? void 0 : inputOTPContext.slots[index]) ?? {};
792
+ const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
784
793
  const sizeClasses = {
785
794
  sm: "h-8 w-8 text-sm",
786
795
  md: "h-10 w-10 text-base",
@@ -807,6 +816,7 @@ function InputOTPSlot({
807
816
  function InputOTPSeparator({ ...props }) {
808
817
  return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MinusIcon, {}) });
809
818
  }
819
+
810
820
  const Form = reactHookForm.FormProvider;
811
821
  const FormFieldContext = React__namespace.createContext({});
812
822
  const FormField = ({
@@ -878,7 +888,7 @@ function FormDescription({ className, ...props }) {
878
888
  }
879
889
  function FormMessage({ className, ...props }) {
880
890
  const { error, formMessageId } = useFormField();
881
- const body = error ? String((error == null ? void 0 : error.message) ?? "") : props.children;
891
+ const body = error ? String(error?.message ?? "") : props.children;
882
892
  if (!body) {
883
893
  return null;
884
894
  }
@@ -893,6 +903,7 @@ function FormMessage({ className, ...props }) {
893
903
  }
894
904
  );
895
905
  }
906
+
896
907
  function Calendar({
897
908
  className,
898
909
  classNames,
@@ -1040,8 +1051,7 @@ function CalendarDayButton({
1040
1051
  const defaultClassNames = reactDayPicker.getDefaultClassNames();
1041
1052
  const ref = React__namespace.useRef(null);
1042
1053
  React__namespace.useEffect(() => {
1043
- var _a;
1044
- if (modifiers.focused) (_a = ref.current) == null ? void 0 : _a.focus();
1054
+ if (modifiers.focused) ref.current?.focus();
1045
1055
  }, [modifiers.focused]);
1046
1056
  return /* @__PURE__ */ jsxRuntime.jsx(
1047
1057
  button.Button,
@@ -1075,6 +1085,7 @@ function CalendarDayButton({
1075
1085
  }
1076
1086
  );
1077
1087
  }
1088
+
1078
1089
  function Sheet({ ...props }) {
1079
1090
  return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { "data-slot": "sheet", ...props });
1080
1091
  }
@@ -1177,6 +1188,7 @@ function SheetDescription({
1177
1188
  }
1178
1189
  );
1179
1190
  }
1191
+
1180
1192
  function Drawer({ ...props }) {
1181
1193
  return /* @__PURE__ */ jsxRuntime.jsx(vaul.Drawer.Root, { "data-slot": "drawer", ...props });
1182
1194
  }
@@ -1285,6 +1297,7 @@ function DrawerHandle({ className, ...props }) {
1285
1297
  }
1286
1298
  );
1287
1299
  }
1300
+
1288
1301
  function HoverCard({ ...props }) {
1289
1302
  return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Root, { "data-slot": "hover-card", ...props });
1290
1303
  }
@@ -1311,6 +1324,7 @@ function HoverCardContent({
1311
1324
  }
1312
1325
  ) });
1313
1326
  }
1327
+
1314
1328
  function ContextMenu({ ...props }) {
1315
1329
  return /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Root, { "data-slot": "context-menu", ...props });
1316
1330
  }
@@ -1490,6 +1504,7 @@ function ContextMenuShortcut({ className, ...props }) {
1490
1504
  }
1491
1505
  );
1492
1506
  }
1507
+
1493
1508
  function Menubar({ className, ...props }) {
1494
1509
  return /* @__PURE__ */ jsxRuntime.jsx(
1495
1510
  MenubarPrimitive__namespace.Root,
@@ -1697,6 +1712,7 @@ function MenubarSubContent({
1697
1712
  }
1698
1713
  );
1699
1714
  }
1715
+
1700
1716
  function Command({ className, ...props }) {
1701
1717
  return /* @__PURE__ */ jsxRuntime.jsx(
1702
1718
  cmdk.Command,
@@ -1817,6 +1833,7 @@ function CommandShortcut({ className, ...props }) {
1817
1833
  }
1818
1834
  );
1819
1835
  }
1836
+
1820
1837
  const variantStyles = {
1821
1838
  default: "bg-primary text-primary-foreground",
1822
1839
  secondary: "bg-secondary text-secondary-foreground",
@@ -1859,8 +1876,9 @@ const NotificationBadge = React__namespace.forwardRef(
1859
1876
  }
1860
1877
  );
1861
1878
  NotificationBadge.displayName = "NotificationBadge";
1879
+
1862
1880
  const StatsCard = React__namespace.forwardRef(
1863
- ({ className, title, value, description, trend, icon, ...props }, ref) => {
1881
+ ({ className, title, value, description, trend, icon, iconColor, iconBg, ...props }, ref) => {
1864
1882
  const getTrendIcon = () => {
1865
1883
  if (!trend) return null;
1866
1884
  if (trend.value > 0) {
@@ -1894,13 +1912,24 @@ const StatsCard = React__namespace.forwardRef(
1894
1912
  ] })
1895
1913
  ] })
1896
1914
  ] }),
1897
- (description || (trend == null ? void 0 : trend.label)) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground mt-1 text-xs sm:text-sm", children: (trend == null ? void 0 : trend.label) || description })
1915
+ (description || trend?.label) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground mt-1 text-xs sm:text-sm", children: trend?.label || description })
1898
1916
  ] }),
1899
- icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-[var(--radius)] bg-muted p-2 sm:p-3 text-muted-foreground flex-shrink-0", children: icon })
1917
+ icon && /* @__PURE__ */ jsxRuntime.jsx(
1918
+ "div",
1919
+ {
1920
+ className: button.cn(
1921
+ "rounded-[var(--radius)] p-2 sm:p-3 flex-shrink-0",
1922
+ iconBg || "bg-muted",
1923
+ iconColor || "text-muted-foreground"
1924
+ ),
1925
+ children: icon
1926
+ }
1927
+ )
1900
1928
  ] }) }) });
1901
1929
  }
1902
1930
  );
1903
1931
  StatsCard.displayName = "StatsCard";
1932
+
1904
1933
  function StatsCardSkeleton({
1905
1934
  showIcon = true,
1906
1935
  showTrend = true,
@@ -1920,6 +1949,7 @@ function StatsCardSkeleton({
1920
1949
  ] }) }) });
1921
1950
  }
1922
1951
  StatsCardSkeleton.displayName = "StatsCardSkeleton";
1952
+
1923
1953
  const Timeline = React__namespace.forwardRef(
1924
1954
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ol", { ref, className: button.cn("relative border-l border-border", className), ...props })
1925
1955
  );
@@ -1929,7 +1959,7 @@ const TimelineItem = React__namespace.forwardRef(
1929
1959
  );
1930
1960
  TimelineItem.displayName = "TimelineItem";
1931
1961
  const TimelineDot = React__namespace.forwardRef(({ className, variant = "default", icon, children, ...props }, ref) => {
1932
- const variantStyles2 = {
1962
+ const variantStyles = {
1933
1963
  default: "bg-muted border-border",
1934
1964
  primary: "bg-primary border-primary",
1935
1965
  success: "bg-success border-success",
@@ -1954,7 +1984,7 @@ const TimelineDot = React__namespace.forwardRef(({ className, variant = "default
1954
1984
  ref,
1955
1985
  className: button.cn(
1956
1986
  "absolute -left-[17px] mt-0.5 h-8 w-8 rounded-full border-2 flex items-center justify-center",
1957
- variantStyles2[variant],
1987
+ variantStyles[variant],
1958
1988
  className
1959
1989
  ),
1960
1990
  ...props,
@@ -1968,7 +1998,7 @@ const TimelineDot = React__namespace.forwardRef(({ className, variant = "default
1968
1998
  ref,
1969
1999
  className: button.cn(
1970
2000
  "absolute -left-[9px] mt-1.5 h-4 w-4 rounded-full border-2",
1971
- variantStyles2[variant],
2001
+ variantStyles[variant],
1972
2002
  className
1973
2003
  ),
1974
2004
  ...props
@@ -1988,6 +2018,7 @@ const TimelineTime = React__namespace.forwardRef(
1988
2018
  TimelineTime.displayName = "TimelineTime";
1989
2019
  const TimelineDescription = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("p", { ref, className: button.cn("text-muted-foreground", className), ...props }));
1990
2020
  TimelineDescription.displayName = "TimelineDescription";
2021
+
1991
2022
  function useTreeView({
1992
2023
  data,
1993
2024
  defaultExpanded = [],
@@ -2010,10 +2041,9 @@ function useTreeView({
2010
2041
  const getVisibleNodes = React.useCallback(() => {
2011
2042
  const result = [];
2012
2043
  const traverse = (nodes) => {
2013
- var _a;
2014
2044
  for (const node of nodes) {
2015
2045
  result.push(node);
2016
- if (((_a = node.children) == null ? void 0 : _a.length) && expanded.has(node.id)) traverse(node.children);
2046
+ if (node.children?.length && expanded.has(node.id)) traverse(node.children);
2017
2047
  }
2018
2048
  };
2019
2049
  traverse(data);
@@ -2021,9 +2051,8 @@ function useTreeView({
2021
2051
  }, [data, expanded]);
2022
2052
  const findParent = React.useCallback(
2023
2053
  (nodes, targetId) => {
2024
- var _a;
2025
2054
  for (const n of nodes) {
2026
- if ((_a = n.children) == null ? void 0 : _a.some((c) => c.id === targetId)) return n;
2055
+ if (n.children?.some((c) => c.id === targetId)) return n;
2027
2056
  if (n.children) {
2028
2057
  const found = findParent(n.children, targetId);
2029
2058
  if (found) return found;
@@ -2045,21 +2074,19 @@ function useTreeView({
2045
2074
  const handleSelect = React.useCallback(
2046
2075
  (node) => {
2047
2076
  if (!isControlled) setInternalSelectedId(node.id);
2048
- onNodeSelect == null ? void 0 : onNodeSelect(node);
2049
- onNodeClick == null ? void 0 : onNodeClick(node);
2077
+ onNodeSelect?.(node);
2078
+ onNodeClick?.(node);
2050
2079
  },
2051
2080
  [isControlled, onNodeClick, onNodeSelect]
2052
2081
  );
2053
2082
  const handleKeyDown = React.useCallback(
2054
2083
  (e, node) => {
2055
- var _a, _b;
2056
2084
  const visibleNodes = getVisibleNodes();
2057
2085
  const idx = visibleNodes.findIndex((n) => n.id === node.id);
2058
- const hasChildren = !!((_a = node.children) == null ? void 0 : _a.length);
2086
+ const hasChildren = !!node.children?.length;
2059
2087
  const isExpanded = expanded.has(node.id);
2060
2088
  const focusNode = (id) => {
2061
- var _a2;
2062
- (_a2 = nodeRefs.current.get(id)) == null ? void 0 : _a2.focus();
2089
+ nodeRefs.current.get(id)?.focus();
2063
2090
  };
2064
2091
  switch (e.key) {
2065
2092
  case "ArrowDown": {
@@ -2078,7 +2105,7 @@ function useTreeView({
2078
2105
  e.preventDefault();
2079
2106
  if (hasChildren && !isExpanded) {
2080
2107
  toggleExpand(node.id);
2081
- } else if (hasChildren && isExpanded && ((_b = node.children) == null ? void 0 : _b.length)) {
2108
+ } else if (hasChildren && isExpanded && node.children?.length) {
2082
2109
  focusNode(node.children[0].id);
2083
2110
  }
2084
2111
  break;
@@ -2134,6 +2161,7 @@ function useTreeView({
2134
2161
  getVisibleNodes
2135
2162
  };
2136
2163
  }
2164
+
2137
2165
  const TreeView = React__namespace.forwardRef(
2138
2166
  ({
2139
2167
  className,
@@ -2145,9 +2173,8 @@ const TreeView = React__namespace.forwardRef(
2145
2173
  ariaLabel,
2146
2174
  ...props
2147
2175
  }, ref) => {
2148
- var _a;
2149
2176
  const { expanded, effectiveSelectedId, getNodeRef, toggleExpand, handleSelect, handleKeyDown } = useTreeView({ data, defaultExpanded, selectedNodeId, onNodeClick, onNodeSelect });
2150
- const focusableId = effectiveSelectedId ?? ((_a = data[0]) == null ? void 0 : _a.id);
2177
+ const focusableId = effectiveSelectedId ?? data[0]?.id;
2151
2178
  return /* @__PURE__ */ jsxRuntime.jsx(
2152
2179
  "div",
2153
2180
  {
@@ -2187,8 +2214,7 @@ const TreeNodeComponent = ({
2187
2214
  onKeyDown,
2188
2215
  getNodeRef
2189
2216
  }) => {
2190
- var _a;
2191
- const hasChildren = !!((_a = node.children) == null ? void 0 : _a.length);
2217
+ const hasChildren = !!node.children?.length;
2192
2218
  const isExpanded = expanded.has(node.id);
2193
2219
  const isSelected = node.id === selectedId;
2194
2220
  const handleClick = () => {
@@ -2236,6 +2262,7 @@ const TreeNodeComponent = ({
2236
2262
  )) })
2237
2263
  ] });
2238
2264
  };
2265
+
2239
2266
  function Collapsible({ ...props }) {
2240
2267
  return /* @__PURE__ */ jsxRuntime.jsx(CollapsiblePrimitive__namespace.Root, { "data-slot": "collapsible", ...props });
2241
2268
  }
@@ -2249,6 +2276,7 @@ function CollapsibleContent({
2249
2276
  }) {
2250
2277
  return /* @__PURE__ */ jsxRuntime.jsx(CollapsiblePrimitive__namespace.CollapsibleContent, { "data-slot": "collapsible-content", ...props });
2251
2278
  }
2279
+
2252
2280
  function Accordion({ ...props }) {
2253
2281
  return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Root, { "data-slot": "accordion", ...props });
2254
2282
  }
@@ -2301,6 +2329,7 @@ function AccordionContent({
2301
2329
  }
2302
2330
  );
2303
2331
  }
2332
+
2304
2333
  const CarouselContext = React__namespace.createContext(null);
2305
2334
  function useCarousel() {
2306
2335
  const context = React__namespace.useContext(CarouselContext);
@@ -2333,10 +2362,10 @@ function Carousel({
2333
2362
  setCanScrollNext(api2.canScrollNext());
2334
2363
  }, []);
2335
2364
  const scrollPrev = React__namespace.useCallback(() => {
2336
- api == null ? void 0 : api.scrollPrev();
2365
+ api?.scrollPrev();
2337
2366
  }, [api]);
2338
2367
  const scrollNext = React__namespace.useCallback(() => {
2339
- api == null ? void 0 : api.scrollNext();
2368
+ api?.scrollNext();
2340
2369
  }, [api]);
2341
2370
  const handleKeyDown = React__namespace.useCallback(
2342
2371
  (event) => {
@@ -2360,7 +2389,7 @@ function Carousel({
2360
2389
  api.on("reInit", onSelect);
2361
2390
  api.on("select", onSelect);
2362
2391
  return () => {
2363
- api == null ? void 0 : api.off("select", onSelect);
2392
+ api?.off("select", onSelect);
2364
2393
  };
2365
2394
  }, [api, onSelect]);
2366
2395
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -2370,7 +2399,7 @@ function Carousel({
2370
2399
  carouselRef,
2371
2400
  api,
2372
2401
  opts,
2373
- orientation: orientation || ((opts == null ? void 0 : opts.axis) === "y" ? "vertical" : "horizontal"),
2402
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
2374
2403
  scrollPrev,
2375
2404
  scrollNext,
2376
2405
  canScrollPrev,
@@ -2474,6 +2503,7 @@ function CarouselNext({
2474
2503
  }
2475
2504
  );
2476
2505
  }
2506
+
2477
2507
  const StepperContext = React__namespace.createContext(void 0);
2478
2508
  const useStepperContext = () => {
2479
2509
  const context = React__namespace.useContext(StepperContext);
@@ -2597,6 +2627,7 @@ const Step = React__namespace.forwardRef(
2597
2627
  }
2598
2628
  );
2599
2629
  Step.displayName = "Step";
2630
+
2600
2631
  function useStepper({
2601
2632
  totalSteps,
2602
2633
  initialStep = 1,
@@ -2613,7 +2644,7 @@ function useStepper({
2613
2644
  (s) => {
2614
2645
  const clamped = Math.min(Math.max(1, s), totalSteps);
2615
2646
  if (!isControlled) setInternalStep(clamped);
2616
- onStepChange == null ? void 0 : onStepChange(clamped);
2647
+ onStepChange?.(clamped);
2617
2648
  },
2618
2649
  [isControlled, onStepChange, totalSteps]
2619
2650
  );
@@ -2648,6 +2679,7 @@ function useStepper({
2648
2679
  reset
2649
2680
  };
2650
2681
  }
2682
+
2651
2683
  function useFileUpload({
2652
2684
  maxFiles = 1,
2653
2685
  maxSize = 5 * 1024 * 1024,
@@ -2671,7 +2703,7 @@ function useFileUpload({
2671
2703
  setErrorMessage(
2672
2704
  `${oversized.length} file(s) exceed the ${limitMB}MB limit and were not added.`
2673
2705
  );
2674
- onError == null ? void 0 : onError(oversized, "size");
2706
+ onError?.(oversized, "size");
2675
2707
  }
2676
2708
  const merged = maxFiles === 1 ? validFiles.slice(0, 1) : [...files, ...validFiles].slice(0, maxFiles);
2677
2709
  const countRejected = maxFiles === 1 ? validFiles.slice(1) : [...files, ...validFiles].slice(maxFiles);
@@ -2679,10 +2711,10 @@ function useFileUpload({
2679
2711
  setErrorMessage(
2680
2712
  `Only ${maxFiles} file(s) allowed. ${countRejected.length} file(s) were not added.`
2681
2713
  );
2682
- onError == null ? void 0 : onError(countRejected, "count");
2714
+ onError?.(countRejected, "count");
2683
2715
  }
2684
2716
  setFiles(merged);
2685
- onFilesChange == null ? void 0 : onFilesChange(merged);
2717
+ onFilesChange?.(merged);
2686
2718
  },
2687
2719
  // eslint-disable-next-line react-hooks/exhaustive-deps
2688
2720
  [files, maxFiles, maxSize, onError, onFilesChange]
@@ -2718,7 +2750,7 @@ function useFileUpload({
2718
2750
  (index) => {
2719
2751
  setFiles((prev) => {
2720
2752
  const updated = prev.filter((_, i) => i !== index);
2721
- onFilesChange == null ? void 0 : onFilesChange(updated);
2753
+ onFilesChange?.(updated);
2722
2754
  if (updated.length === 0) setErrorMessage(null);
2723
2755
  return updated;
2724
2756
  });
@@ -2726,10 +2758,9 @@ function useFileUpload({
2726
2758
  [onFilesChange]
2727
2759
  );
2728
2760
  const openFileDialog = React.useCallback(() => {
2729
- var _a;
2730
2761
  if (!disabled) {
2731
2762
  setErrorMessage(null);
2732
- (_a = inputRef.current) == null ? void 0 : _a.click();
2763
+ inputRef.current?.click();
2733
2764
  }
2734
2765
  }, [disabled]);
2735
2766
  return {
@@ -2745,6 +2776,7 @@ function useFileUpload({
2745
2776
  openFileDialog
2746
2777
  };
2747
2778
  }
2779
+
2748
2780
  const FileUpload = React__namespace.forwardRef(
2749
2781
  ({
2750
2782
  className,
@@ -2854,6 +2886,7 @@ const FileUpload = React__namespace.forwardRef(
2854
2886
  }
2855
2887
  );
2856
2888
  FileUpload.displayName = "FileUpload";
2889
+
2857
2890
  const Rating = React__namespace.forwardRef(
2858
2891
  ({
2859
2892
  className,
@@ -2876,7 +2909,7 @@ const Rating = React__namespace.forwardRef(
2876
2909
  lg: "h-6 w-6"
2877
2910
  };
2878
2911
  const handleClick = (rating) => {
2879
- if (isInteractive) onChange == null ? void 0 : onChange(rating);
2912
+ if (isInteractive) onChange?.(rating);
2880
2913
  };
2881
2914
  const handleMouseMove = (e, rating) => {
2882
2915
  if (!isInteractive) return;
@@ -2895,7 +2928,7 @@ const Rating = React__namespace.forwardRef(
2895
2928
  if (allowHalf) {
2896
2929
  const rect = e.currentTarget.getBoundingClientRect();
2897
2930
  const half = e.clientX - rect.left < rect.width / 2 ? rating - 0.5 : rating;
2898
- onChange == null ? void 0 : onChange(half);
2931
+ onChange?.(half);
2899
2932
  } else {
2900
2933
  handleClick(rating);
2901
2934
  }
@@ -2947,6 +2980,7 @@ const Rating = React__namespace.forwardRef(
2947
2980
  }
2948
2981
  );
2949
2982
  Rating.displayName = "Rating";
2983
+
2950
2984
  const Search = React__namespace.forwardRef(
2951
2985
  ({
2952
2986
  className,
@@ -2984,20 +3018,19 @@ const Search = React__namespace.forwardRef(
2984
3018
  const handleChange = (e) => {
2985
3019
  const newValue = e.target.value;
2986
3020
  if (!isControlled) setInternalValue(newValue);
2987
- onChange == null ? void 0 : onChange(e);
2988
- onSearch == null ? void 0 : onSearch(newValue);
3021
+ onChange?.(e);
3022
+ onSearch?.(newValue);
2989
3023
  };
2990
3024
  const handleClear = () => {
2991
3025
  if (!isControlled) setInternalValue("");
2992
- onClear == null ? void 0 : onClear();
2993
- onSearch == null ? void 0 : onSearch("");
3026
+ onClear?.();
3027
+ onSearch?.("");
2994
3028
  };
2995
3029
  const handleKeyDown = (e) => {
2996
- var _a;
2997
3030
  if (e.key === "Escape") {
2998
3031
  handleClear();
2999
3032
  }
3000
- (_a = props.onKeyDown) == null ? void 0 : _a.call(props, e);
3033
+ props.onKeyDown?.(e);
3001
3034
  };
3002
3035
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: button.cn("relative w-full", containerClassName), children: [
3003
3036
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3047,7 +3080,8 @@ const Search = React__namespace.forwardRef(
3047
3080
  }
3048
3081
  );
3049
3082
  Search.displayName = "Search";
3050
- const __vite_import_meta_env__ = { "BASE_URL": "/", "DEV": false, "MODE": "production", "PROD": true, "SSR": false, "VITE_GEMINI_API_KEY": "AIzaSyBnoWKe4LjQzlIklON_dVXMXNUl2gvfH6U", "VITE_GOOGLE_MAPS_API_KEY": "AIzaSyCj19NndSgZOb8057q24UbJtSsfVJiyVdo" };
3083
+
3084
+ const __vite_import_meta_env__ = {"BASE_URL": "/", "DEV": false, "MODE": "production", "PROD": true, "SSR": false};
3051
3085
  const RouteMapContent = React.forwardRef(
3052
3086
  ({ apiKey, ...props }, ref) => {
3053
3087
  const { isLoaded, loadError, load } = googleMapsLoader.useGoogleMapsLoader();
@@ -3143,12 +3177,11 @@ const RouteMapContent = React.forwardRef(
3143
3177
  travelMode: google.maps.TravelMode[travelMode]
3144
3178
  };
3145
3179
  directionsService.route(request, (result, status) => {
3146
- var _a;
3147
3180
  isCalculatingRef.current = false;
3148
3181
  if (status === "OK" && result) {
3149
3182
  renderer.setDirections(result);
3150
3183
  const route = result.routes[0];
3151
- if (((_a = route == null ? void 0 : route.legs) == null ? void 0 : _a.length) > 0 && onRouteCalculated) {
3184
+ if (route?.legs?.length > 0 && onRouteCalculated) {
3152
3185
  let totalDistance = 0;
3153
3186
  let totalDuration = 0;
3154
3187
  route.legs.forEach((leg) => {
@@ -3248,7 +3281,7 @@ const RouteMapContent = React.forwardRef(
3248
3281
  RouteMapContent.displayName = "RouteMapContent";
3249
3282
  const RouteMap = React.forwardRef((props, ref) => {
3250
3283
  const { isLoaded, loadError } = googleMapsLoader.useGoogleMapsLoader();
3251
- const effectiveApiKey = props.apiKey || typeof { url: typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("AssistantChart-D0A1FPYt.cjs", document.baseURI).href } !== "undefined" && __vite_import_meta_env__ && "AIzaSyCj19NndSgZOb8057q24UbJtSsfVJiyVdo" || "";
3284
+ const effectiveApiKey = props.apiKey || typeof ({ url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('AssistantChart-CImCNLfD.cjs', document.baseURI).href)) }) !== "undefined" && __vite_import_meta_env__ && undefined || "";
3252
3285
  const isValidKey = effectiveApiKey && effectiveApiKey !== "YOUR_GOOGLE_MAPS_API_KEY_HERE" && effectiveApiKey.startsWith("AIza");
3253
3286
  if (isLoaded || isValidKey || loadError) {
3254
3287
  return /* @__PURE__ */ jsxRuntime.jsx(RouteMapContent, { ref, ...props, apiKey: effectiveApiKey });
@@ -3319,6 +3352,7 @@ const RouteMap = React.forwardRef((props, ref) => {
3319
3352
  );
3320
3353
  });
3321
3354
  RouteMap.displayName = "RouteMap";
3355
+
3322
3356
  const SimpleMap = React.forwardRef(
3323
3357
  ({
3324
3358
  center,
@@ -3341,6 +3375,7 @@ const SimpleMap = React.forwardRef(
3341
3375
  }
3342
3376
  );
3343
3377
  SimpleMap.displayName = "SimpleMap";
3378
+
3344
3379
  function AssistantChart({
3345
3380
  data,
3346
3381
  config,
@@ -3375,6 +3410,7 @@ function AssistantChart({
3375
3410
  ))
3376
3411
  ] }) });
3377
3412
  }
3413
+
3378
3414
  exports.Accordion = Accordion;
3379
3415
  exports.AccordionContent = AccordionContent;
3380
3416
  exports.AccordionItem = AccordionItem;