@lincros-ui/components 0.2.12 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React37 from 'react';
2
2
  import React37__default, { memo, useMemo, useCallback, useState, useRef, useEffect } from 'react';
3
3
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
4
- import { ChevronDown, ArrowLeft, ArrowRight, Check, X, Search, ChevronRight, Circle, Minimize2, Maximize2, Dot, ChevronUp, PanelLeft, Clock, AlertCircle, CheckCircle, Shield, AlertTriangle, Users, RefreshCw, Home, ExternalLink, LogIn, Server, Key, MoreHorizontal, ChevronLeft, Phone, Video, Info, MoreVertical, Paperclip, Smile, Mic, Send, GripVertical, Loader2, Bot, User, Building2, UserCheck, ClipboardList, Filter, ChevronsLeft, ChevronsRight, Bold, Italic, List, ListOrdered, Quote, Code, Link2, Image, Plus, LayoutGrid, MessageSquare, FileJson, Activity, Database, Hash, Copy, Zap, Network, Timer, Eye, Workflow, GitBranch, Terminal, Pause, Play, Trash2, Download, FileText, History, MessageCircle, QrCode, TrendingUp, TrendingDown, BarChart3, XCircle, CheckCircle2, Wifi, WifiOff, Monitor, Navigation, Bell, Settings, UserCog, Car, LogOut, TestTube, Save, Bug, MapPin, CheckCheck } from 'lucide-react';
4
+ import { ChevronDown, ArrowLeft, ArrowRight, Check, X, Search, ChevronRight, Circle, Minimize2, Maximize2, Dot, ChevronUp, PanelLeft, Clock, AlertCircle, CheckCircle, Shield, AlertTriangle, Users, RefreshCw, Home, ExternalLink, LogIn, Server, Key, MoreHorizontal, ChevronLeft, Phone, Video, Info, MoreVertical, Paperclip, Smile, Mic, Send, GripVertical, Lock, Monitor, Navigation, Bell, BarChart3, Settings, UserCheck, UserCog, Car, Workflow, MessageCircle, Building2, Database, Bot, Settings2, LogOut, Loader2, User, ClipboardList, Filter, ChevronsLeft, ChevronsRight, Bold, Italic, List, ListOrdered, Quote, Code, Link2, Image, Plus, LayoutGrid, MessageSquare, FileJson, Activity, Hash, Copy, Zap, Network, Timer, Eye, GitBranch, Terminal, Pause, Play, Trash2, Download, FileText, History, QrCode, TrendingUp, TrendingDown, XCircle, CheckCircle2, Wifi, WifiOff, TestTube, Save, Bug, MapPin, CheckCheck } from 'lucide-react';
5
5
  import { clsx } from 'clsx';
6
6
  import { twMerge } from 'tailwind-merge';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -41,7 +41,7 @@ import * as SwitchPrimitives from '@radix-ui/react-switch';
41
41
  import * as TabsPrimitive from '@radix-ui/react-tabs';
42
42
  import * as TogglePrimitive from '@radix-ui/react-toggle';
43
43
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
44
- import { useLocation, Navigate, Link, useNavigate } from 'react-router-dom';
44
+ import { Link, useLocation, Navigate, useNavigate } from 'react-router-dom';
45
45
  import { MenuPermissionLevel, canAccessMenu } from '@/lib/menu-permissions';
46
46
  import { useEditor, EditorContent } from '@tiptap/react';
47
47
  import StarterKit from '@tiptap/starter-kit';
@@ -4868,6 +4868,139 @@ function useSidebarState(routePaths) {
4868
4868
  isExactMenuItemActive
4869
4869
  };
4870
4870
  }
4871
+ function PasswordResetModal({
4872
+ open,
4873
+ onOpenChange,
4874
+ onSubmit,
4875
+ loading = false,
4876
+ error = null
4877
+ }) {
4878
+ const [formData, setFormData] = React37__default.useState({
4879
+ oldPassword: "",
4880
+ newPassword: "",
4881
+ confirmPassword: ""
4882
+ });
4883
+ const [validationError, setValidationError] = React37__default.useState(
4884
+ null
4885
+ );
4886
+ const handleInputChange = (field, value) => {
4887
+ setFormData((prev) => ({ ...prev, [field]: value }));
4888
+ setValidationError(null);
4889
+ };
4890
+ const validateForm = () => {
4891
+ if (!formData.oldPassword) {
4892
+ setValidationError("Senha atual \xE9 obrigat\xF3ria");
4893
+ return false;
4894
+ }
4895
+ if (!formData.newPassword) {
4896
+ setValidationError("Nova senha \xE9 obrigat\xF3ria");
4897
+ return false;
4898
+ }
4899
+ if (formData.newPassword.length < 8) {
4900
+ setValidationError("Nova senha deve ter no m\xEDnimo 8 caracteres");
4901
+ return false;
4902
+ }
4903
+ if (formData.newPassword !== formData.confirmPassword) {
4904
+ setValidationError("As senhas n\xE3o coincidem");
4905
+ return false;
4906
+ }
4907
+ if (formData.oldPassword === formData.newPassword) {
4908
+ setValidationError("Nova senha deve ser diferente da senha atual");
4909
+ return false;
4910
+ }
4911
+ return true;
4912
+ };
4913
+ const handleSubmit = async (e) => {
4914
+ e.preventDefault();
4915
+ if (!validateForm()) return;
4916
+ await onSubmit(formData);
4917
+ };
4918
+ const handleClose = () => {
4919
+ if (!loading) {
4920
+ setFormData({
4921
+ oldPassword: "",
4922
+ newPassword: "",
4923
+ confirmPassword: ""
4924
+ });
4925
+ setValidationError(null);
4926
+ onOpenChange(false);
4927
+ }
4928
+ };
4929
+ const displayError = error || validationError;
4930
+ return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: handleClose, children: /* @__PURE__ */ jsxs(DialogContent, { className: "sm:max-w-[425px]", children: [
4931
+ /* @__PURE__ */ jsxs(DialogHeader, { children: [
4932
+ /* @__PURE__ */ jsx(DialogTitle, { children: "Redefinir Senha" }),
4933
+ /* @__PURE__ */ jsx(DialogDescription, { children: "Digite sua senha atual e escolha uma nova senha. A senha deve ter no m\xEDnimo 8 caracteres." })
4934
+ ] }),
4935
+ /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, className: "space-y-4", children: [
4936
+ displayError && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 p-3 text-sm text-red-600 bg-red-50 border border-red-200 rounded-md", children: [
4937
+ /* @__PURE__ */ jsx(AlertCircle, { className: "w-4 h-4 shrink-0" }),
4938
+ /* @__PURE__ */ jsx("span", { children: displayError })
4939
+ ] }),
4940
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
4941
+ /* @__PURE__ */ jsx(Label3, { htmlFor: "old-password", children: "Senha Atual" }),
4942
+ /* @__PURE__ */ jsx(
4943
+ Input,
4944
+ {
4945
+ id: "old-password",
4946
+ type: "password",
4947
+ value: formData.oldPassword,
4948
+ onChange: (e) => handleInputChange("oldPassword", e.target.value),
4949
+ disabled: loading,
4950
+ leftIcon: /* @__PURE__ */ jsx(Lock, { className: "w-4 h-4" }),
4951
+ placeholder: "Digite sua senha atual",
4952
+ required: true
4953
+ }
4954
+ )
4955
+ ] }),
4956
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
4957
+ /* @__PURE__ */ jsx(Label3, { htmlFor: "new-password", children: "Nova Senha" }),
4958
+ /* @__PURE__ */ jsx(
4959
+ Input,
4960
+ {
4961
+ id: "new-password",
4962
+ type: "password",
4963
+ value: formData.newPassword,
4964
+ onChange: (e) => handleInputChange("newPassword", e.target.value),
4965
+ disabled: loading,
4966
+ leftIcon: /* @__PURE__ */ jsx(Lock, { className: "w-4 h-4" }),
4967
+ placeholder: "Digite sua nova senha",
4968
+ required: true
4969
+ }
4970
+ )
4971
+ ] }),
4972
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
4973
+ /* @__PURE__ */ jsx(Label3, { htmlFor: "confirm-password", children: "Confirmar Nova Senha" }),
4974
+ /* @__PURE__ */ jsx(
4975
+ Input,
4976
+ {
4977
+ id: "confirm-password",
4978
+ type: "password",
4979
+ value: formData.confirmPassword,
4980
+ onChange: (e) => handleInputChange("confirmPassword", e.target.value),
4981
+ disabled: loading,
4982
+ leftIcon: /* @__PURE__ */ jsx(Lock, { className: "w-4 h-4" }),
4983
+ placeholder: "Confirme sua nova senha",
4984
+ required: true
4985
+ }
4986
+ )
4987
+ ] }),
4988
+ /* @__PURE__ */ jsxs(DialogFooter, { children: [
4989
+ /* @__PURE__ */ jsx(
4990
+ Button,
4991
+ {
4992
+ type: "button",
4993
+ variant: "outline",
4994
+ onClick: handleClose,
4995
+ disabled: loading,
4996
+ children: "Cancelar"
4997
+ }
4998
+ ),
4999
+ /* @__PURE__ */ jsx(Button, { type: "submit", disabled: loading, children: loading ? "Redefinindo..." : "Redefinir Senha" })
5000
+ ] })
5001
+ ] })
5002
+ ] }) });
5003
+ }
4871
5004
  function filterMenuItems(items, user) {
4872
5005
  return items.filter((item) => canAccessMenu(user, item.permission)).map((item) => {
4873
5006
  if (item.subItems) {
@@ -4955,6 +5088,9 @@ function ControlSidebar({
4955
5088
  routePaths,
4956
5089
  user,
4957
5090
  onLogout,
5091
+ onResetPassword,
5092
+ resetPasswordLoading = false,
5093
+ resetPasswordError = null,
4958
5094
  getCurrentTenantId,
4959
5095
  logoUrl = "/lovable-uploads/632ebc32-3ae3-4944-8e70-0e9c2539494a.png",
4960
5096
  faviconUrl,
@@ -4970,9 +5106,18 @@ function ControlSidebar({
4970
5106
  const { state } = useSidebar();
4971
5107
  const isCollapsed = state === "collapsed";
4972
5108
  const [internalTime, setInternalTime] = React37__default.useState(/* @__PURE__ */ new Date());
5109
+ const [isPasswordResetOpen, setIsPasswordResetOpen] = React37__default.useState(false);
4973
5110
  const currentTenantId = getCurrentTenantId();
4974
5111
  console.log(currentTenantId);
4975
5112
  const isMasterTenant = currentTenantId === "master";
5113
+ const handlePasswordReset = async (data) => {
5114
+ if (onResetPassword) {
5115
+ await onResetPassword(data);
5116
+ if (!resetPasswordError) {
5117
+ setIsPasswordResetOpen(false);
5118
+ }
5119
+ }
5120
+ };
4976
5121
  const menuItems = [
4977
5122
  {
4978
5123
  title: "Dashboard",
@@ -5071,12 +5216,14 @@ function ControlSidebar({
5071
5216
  }
5072
5217
  ]
5073
5218
  },
5074
- ...isMasterTenant ? [] : [{
5075
- title: "Unidades de Neg\xF3cio",
5076
- url: routePaths.UNIDADES_NEGOCIO,
5077
- icon: Building2,
5078
- permission: MenuPermissionLevel.MANAGER_OR_ADMIN
5079
- }],
5219
+ ...isMasterTenant ? [] : [
5220
+ {
5221
+ title: "Unidades de Neg\xF3cio",
5222
+ url: routePaths.UNIDADES_NEGOCIO,
5223
+ icon: Building2,
5224
+ permission: MenuPermissionLevel.MANAGER_OR_ADMIN
5225
+ }
5226
+ ],
5080
5227
  ...isMasterTenant ? [
5081
5228
  {
5082
5229
  title: "Tenants",
@@ -5139,7 +5286,7 @@ function ControlSidebar({
5139
5286
  {
5140
5287
  src: faviconUrl || logoUrl,
5141
5288
  alt: `${appName} Logo`,
5142
- className: "w-8 h-8 object-contain"
5289
+ className: "w-10 object-contain"
5143
5290
  }
5144
5291
  ) })
5145
5292
  ] }),
@@ -5199,32 +5346,60 @@ function ControlSidebar({
5199
5346
  /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-gray-700 truncate", children: user.login }),
5200
5347
  /* @__PURE__ */ jsx("span", { className: "text-xs text-gray-500 truncate", children: user.email })
5201
5348
  ] }),
5202
- /* @__PURE__ */ jsx(
5203
- Button,
5204
- {
5205
- variant: "ghost",
5206
- size: "sm",
5207
- onClick: () => onLogout(),
5208
- className: "h-8 w-8 p-0 shrink-0 ml-2",
5209
- title: "Logout",
5210
- children: /* @__PURE__ */ jsx(LogOut, { className: "icon-size" })
5211
- }
5212
- )
5213
- ] }) : /* @__PURE__ */ jsxs(Tooltip2, { children: [
5214
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
5215
- Button,
5216
- {
5217
- variant: "ghost",
5218
- size: "sm",
5219
- onClick: () => onLogout(),
5220
- className: "h-8 w-8 p-0",
5221
- children: /* @__PURE__ */ jsx(LogOut, { className: "icon-size" })
5222
- }
5223
- ) }),
5224
- /* @__PURE__ */ jsxs(TooltipContent, { side: "right", className: "font-medium", children: [
5225
- "Logout (",
5226
- user.login,
5227
- ")"
5349
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-1 shrink-0 ml-2", children: [
5350
+ onResetPassword && /* @__PURE__ */ jsx(
5351
+ Button,
5352
+ {
5353
+ variant: "ghost",
5354
+ size: "sm",
5355
+ onClick: () => setIsPasswordResetOpen(true),
5356
+ className: "h-8 w-8 p-0",
5357
+ title: "Redefinir Senha",
5358
+ children: /* @__PURE__ */ jsx(Settings2, { className: "icon-size" })
5359
+ }
5360
+ ),
5361
+ /* @__PURE__ */ jsx(
5362
+ Button,
5363
+ {
5364
+ variant: "ghost",
5365
+ size: "sm",
5366
+ onClick: () => onLogout(),
5367
+ className: "h-8 w-8 p-0",
5368
+ title: "Logout",
5369
+ children: /* @__PURE__ */ jsx(LogOut, { className: "icon-size" })
5370
+ }
5371
+ )
5372
+ ] })
5373
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
5374
+ onResetPassword ? /* @__PURE__ */ jsxs(Tooltip2, { children: [
5375
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
5376
+ Button,
5377
+ {
5378
+ variant: "ghost",
5379
+ size: "sm",
5380
+ onClick: () => setIsPasswordResetOpen(true),
5381
+ className: "h-8 w-8 p-0",
5382
+ children: /* @__PURE__ */ jsx(Settings2, { className: "icon-size" })
5383
+ }
5384
+ ) }),
5385
+ /* @__PURE__ */ jsx(TooltipContent, { side: "right", className: "font-medium", children: "Redefinir Senha" })
5386
+ ] }) : null,
5387
+ /* @__PURE__ */ jsxs(Tooltip2, { children: [
5388
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
5389
+ Button,
5390
+ {
5391
+ variant: "ghost",
5392
+ size: "sm",
5393
+ onClick: () => onLogout(),
5394
+ className: "h-8 w-8 p-0",
5395
+ children: /* @__PURE__ */ jsx(LogOut, { className: "icon-size" })
5396
+ }
5397
+ ) }),
5398
+ /* @__PURE__ */ jsxs(TooltipContent, { side: "right", className: "font-medium", children: [
5399
+ "Logout (",
5400
+ user.login,
5401
+ ")"
5402
+ ] })
5228
5403
  ] })
5229
5404
  ] }) }),
5230
5405
  !isCollapsed && /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -5247,7 +5422,17 @@ function ControlSidebar({
5247
5422
  /* @__PURE__ */ jsx(TooltipContent, { side: "right", className: "font-medium", children: displayTime.toLocaleString("pt-BR") })
5248
5423
  ] })
5249
5424
  ] })
5250
- ] }) })
5425
+ ] }) }),
5426
+ onResetPassword ? /* @__PURE__ */ jsx(
5427
+ PasswordResetModal,
5428
+ {
5429
+ open: isPasswordResetOpen,
5430
+ onOpenChange: setIsPasswordResetOpen,
5431
+ onSubmit: handlePasswordReset,
5432
+ loading: resetPasswordLoading,
5433
+ error: resetPasswordError
5434
+ }
5435
+ ) : null
5251
5436
  ] });
5252
5437
  }
5253
5438
  function MainLayout({
@@ -5255,6 +5440,9 @@ function MainLayout({
5255
5440
  routePaths,
5256
5441
  user,
5257
5442
  onLogout,
5443
+ onResetPassword,
5444
+ resetPasswordLoading,
5445
+ resetPasswordError,
5258
5446
  getCurrentTenantId,
5259
5447
  currentTime,
5260
5448
  appName,
@@ -5269,6 +5457,9 @@ function MainLayout({
5269
5457
  routePaths,
5270
5458
  user,
5271
5459
  onLogout,
5460
+ onResetPassword,
5461
+ resetPasswordLoading,
5462
+ resetPasswordError,
5272
5463
  getCurrentTenantId,
5273
5464
  currentTime,
5274
5465
  appName,
@@ -5280,7 +5471,7 @@ function MainLayout({
5280
5471
  /* @__PURE__ */ jsx("main", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "h-full overflow-y-auto", children }) })
5281
5472
  ] }) });
5282
5473
  }
5283
- function ProtectedRoute({ children, useAuthContext, tenantId, useSSO, routePaths, useTenant, tenantService, appName, appSubtitle, logoUrl, faviconUrl }) {
5474
+ function ProtectedRoute({ children, useAuthContext, tenantId, useSSO, routePaths, useTenant, tenantService, onResetPassword, resetPasswordLoading, resetPasswordError, appName, appSubtitle, logoUrl, faviconUrl }) {
5284
5475
  const { isAuthenticated, isLoading, logout, user, getCurrentTenantId } = useAuthContext();
5285
5476
  const location = useLocation();
5286
5477
  const sso = useSSO(tenantId || void 0);
@@ -5320,6 +5511,9 @@ function ProtectedRoute({ children, useAuthContext, tenantId, useSSO, routePaths
5320
5511
  routePaths,
5321
5512
  user,
5322
5513
  onLogout: logout,
5514
+ onResetPassword,
5515
+ resetPasswordLoading,
5516
+ resetPasswordError,
5323
5517
  getCurrentTenantId,
5324
5518
  appName,
5325
5519
  appSubtitle,
@@ -11596,6 +11790,6 @@ function Toaster() {
11596
11790
  ] });
11597
11791
  }
11598
11792
 
11599
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, BadgeGroup, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithIcon, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatContainer, ChatHeader, ChatInput, ChatLayout, ChatMessages, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CountBadge, CustomSidebarMenuSub, CustomSidebarMenuSubButton, CustomSidebarMenuSubItem, DEFAULT_WEBHOOK_CONFIG, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogMaximizableContent, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EventInspector, FilterBar_default as FilterBar, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GenericFilterBar, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputWithLabel, Label3 as Label, Loading, MCPCategoryToNodeType, MCPSubtypeToIcon, MainLayout, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageBubble, MessageHistory, MessageInput, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotificationBadge, PageHeader, Pagination, PaginationContent, PaginationControls, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, QRCodeModal, RadioGroup4 as RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichTextEditor, RichTextRenderer, SSOError_default as SSOError, SSOLoadingOverlay_default as SSOLoadingOverlay, SSOLoginButton_default as SSOLoginButton, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SendMessageModal, Separator5 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, StandardPageLayout, StatusBadge, StatusIndicator_default as StatusIndicator, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipButton, TooltipContent, TooltipProvider, TooltipTrigger, TypingIndicator, ViewToggle_default as ViewToggle, WEBHOOK_TEST_EVENTS, WebhookConfigModal, WebhookEventCard, WebhookEventMapper, WebhookFlowLink, WebhookLogsViewer, WebhookMetricsChart, WebhookMetricsMapper, WebhookSubscriptionMapper, WebhookTestModal, WebhookTimeline, WhatsAppHealthMonitor, badgeVariants, beautifyString, buttonVariants, calculateProcessingTime, capitalizeFirst, cn, formatDate, formatDateTime, formatEventType, formatLocalDate, formatLocalDateTime, formatLocalTime, formatStatus, formatTime, getEventTypeVariant, getMetricColor, getNodeBorderStyles, getNodeIconColor, getNodeIconTextColor, getStatusVariant, getTimelineColor, isValidWebhookPayload, sizeConfig as loadingSizes, navigationMenuTriggerStyle, sanitizeWebhookUrl, toCamelCase, toSnakeCase, toast, toggleVariants, useFormField, useIsMobile, useSidebar, useToast, validateUrl };
11793
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, BadgeGroup, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithIcon, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatContainer, ChatHeader, ChatInput, ChatLayout, ChatMessages, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ControlSidebar, CountBadge, CustomSidebarMenuSub, CustomSidebarMenuSubButton, CustomSidebarMenuSubItem, DEFAULT_WEBHOOK_CONFIG, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogMaximizableContent, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EventInspector, FilterBar_default as FilterBar, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GenericFilterBar, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputWithLabel, Label3 as Label, Loading, MCPCategoryToNodeType, MCPSubtypeToIcon, MainLayout, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageBubble, MessageHistory, MessageInput, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotificationBadge, PageHeader, Pagination, PaginationContent, PaginationControls, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PasswordResetModal, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, QRCodeModal, RadioGroup4 as RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichTextEditor, RichTextRenderer, SSOError_default as SSOError, SSOLoadingOverlay_default as SSOLoadingOverlay, SSOLoginButton_default as SSOLoginButton, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SendMessageModal, Separator5 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, StandardPageLayout, StatusBadge, StatusIndicator_default as StatusIndicator, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipButton, TooltipContent, TooltipProvider, TooltipTrigger, TypingIndicator, ViewToggle_default as ViewToggle, WEBHOOK_TEST_EVENTS, WebhookConfigModal, WebhookEventCard, WebhookEventMapper, WebhookFlowLink, WebhookLogsViewer, WebhookMetricsChart, WebhookMetricsMapper, WebhookSubscriptionMapper, WebhookTestModal, WebhookTimeline, WhatsAppHealthMonitor, badgeVariants, beautifyString, buttonVariants, calculateProcessingTime, capitalizeFirst, cn, formatDate, formatDateTime, formatEventType, formatLocalDate, formatLocalDateTime, formatLocalTime, formatStatus, formatTime, getEventTypeVariant, getMetricColor, getNodeBorderStyles, getNodeIconColor, getNodeIconTextColor, getStatusVariant, getTimelineColor, isValidWebhookPayload, sizeConfig as loadingSizes, navigationMenuTriggerStyle, sanitizeWebhookUrl, toCamelCase, toSnakeCase, toast, toggleVariants, useFormField, useIsMobile, useSidebar, useToast, validateUrl };
11600
11794
  //# sourceMappingURL=index.js.map
11601
11795
  //# sourceMappingURL=index.js.map