@algenium/blocks 1.7.0 → 1.9.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.
package/dist/index.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import * as React2 from 'react';
2
2
  import { createContext, useContext, useState, useCallback, useEffect, useRef, useMemo, useId } from 'react';
3
+ import { Loader2, AlertTriangle, Inbox, CheckIcon, CircleIcon, ChevronRightIcon, Monitor, Sun, Moon, Languages, FlaskConical, X, Upload, Move, ZoomOut, ZoomIn, RotateCcw, RotateCw, Grid3X3, RefreshCw, XIcon, User, Pencil, Check, Bell, CheckCheck, XCircle, CheckCircle, Info, Trash2, Clock, MapPin, Link, CalendarDays, ExternalLink, ChevronLeft, ChevronRight, Plus, HelpCircle, MessageSquare, Wifi, WifiOff, FileIcon, Download, Paperclip, Send, ArrowLeft, CreditCard, Search, CheckCircle2 } from 'lucide-react';
4
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
5
  import { useTheme } from 'next-themes';
4
- import { CheckIcon, CircleIcon, ChevronRightIcon, Monitor, Sun, Moon, Languages, FlaskConical, X, Upload, Move, ZoomOut, ZoomIn, RotateCcw, RotateCw, Grid3X3, RefreshCw, XIcon, User, Pencil, Check, Loader2, Bell, CheckCheck, XCircle, AlertTriangle, CheckCircle, Info, Trash2, Clock, MapPin, Link, CalendarDays, ExternalLink, ChevronLeft, ChevronRight, Plus, HelpCircle, MessageSquare, Wifi, WifiOff, FileIcon, Download, Paperclip, Send, ArrowLeft, CreditCard, Search, CheckCircle2 } from 'lucide-react';
5
6
  import { AnimatePresence, motion } from 'framer-motion';
6
7
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
7
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  import { Slot } from '@radix-ui/react-slot';
9
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
10
9
  import * as SliderPrimitive from '@radix-ui/react-slider';
11
10
  import * as TogglePrimitive from '@radix-ui/react-toggle';
12
11
  import * as DialogPrimitive from '@radix-ui/react-dialog';
13
12
  import { Drawer as Drawer$1 } from 'vaul';
14
13
  import * as PopoverPrimitive from '@radix-ui/react-popover';
15
14
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
15
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
16
16
  import { startOfMonth, endOfMonth, eachDayOfInterval, endOfWeek, startOfWeek, format, isSameDay, subMonths, addMonths } from 'date-fns';
17
17
  import { DayPicker } from 'react-day-picker';
18
18
  import valid from 'card-validator';
@@ -3084,6 +3084,93 @@ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
3084
3084
  function cn(...inputs) {
3085
3085
  return twMerge(clsx(inputs));
3086
3086
  }
3087
+ function LoadingState({
3088
+ label = "Cargando\u2026",
3089
+ className
3090
+ }) {
3091
+ return /* @__PURE__ */ jsxs(
3092
+ "div",
3093
+ {
3094
+ role: "status",
3095
+ "aria-live": "polite",
3096
+ className: cn(
3097
+ "flex items-center justify-center gap-2 py-12 text-sm text-muted-foreground",
3098
+ className
3099
+ ),
3100
+ children: [
3101
+ /* @__PURE__ */ jsx(Loader2, { className: "size-4 animate-spin", "aria-hidden": "true" }),
3102
+ /* @__PURE__ */ jsx("span", { children: label })
3103
+ ]
3104
+ }
3105
+ );
3106
+ }
3107
+ function ErrorState({
3108
+ title = "Algo sali\xF3 mal",
3109
+ description,
3110
+ action,
3111
+ className
3112
+ }) {
3113
+ return /* @__PURE__ */ jsxs(
3114
+ "div",
3115
+ {
3116
+ role: "alert",
3117
+ className: cn(
3118
+ "flex flex-col items-center gap-3 rounded-xl border border-dashed border-destructive/40 bg-destructive/5 py-12 text-center",
3119
+ className
3120
+ ),
3121
+ children: [
3122
+ /* @__PURE__ */ jsx(AlertTriangle, { className: "size-6 text-destructive", "aria-hidden": "true" }),
3123
+ /* @__PURE__ */ jsxs("div", { children: [
3124
+ /* @__PURE__ */ jsx("p", { className: "font-medium", children: title }),
3125
+ description ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: description }) : null
3126
+ ] }),
3127
+ action
3128
+ ]
3129
+ }
3130
+ );
3131
+ }
3132
+ function EmptyState({
3133
+ title,
3134
+ description,
3135
+ action,
3136
+ icon: Icon = Inbox,
3137
+ variant = "default",
3138
+ className
3139
+ }) {
3140
+ const isCompact = variant === "compact";
3141
+ return /* @__PURE__ */ jsxs(
3142
+ "div",
3143
+ {
3144
+ className: cn(
3145
+ "flex flex-col items-center gap-3 text-center",
3146
+ isCompact ? "px-4 py-6" : "rounded-xl border border-dashed py-12",
3147
+ className
3148
+ ),
3149
+ children: [
3150
+ /* @__PURE__ */ jsx(
3151
+ Icon,
3152
+ {
3153
+ className: cn(
3154
+ "text-muted-foreground",
3155
+ isCompact ? "size-8 opacity-50" : "size-6"
3156
+ ),
3157
+ "aria-hidden": "true"
3158
+ }
3159
+ ),
3160
+ /* @__PURE__ */ jsxs("div", { children: [
3161
+ /* @__PURE__ */ jsx("p", { className: cn("font-medium", isCompact && "text-sm"), children: title }),
3162
+ description ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: description }) : null
3163
+ ] }),
3164
+ action
3165
+ ]
3166
+ }
3167
+ );
3168
+ }
3169
+ var miniMenuContentClassName = "max-h-none overflow-x-visible overflow-y-visible";
3170
+ var miniMenuContentDefaults = {
3171
+ sideOffset: 8,
3172
+ collisionPadding: 12
3173
+ };
3087
3174
  function DropdownMenu({
3088
3175
  ...props
3089
3176
  }) {
@@ -3382,52 +3469,6 @@ function Button({
3382
3469
  }
3383
3470
  );
3384
3471
  }
3385
- function TooltipProvider({
3386
- delayDuration = 0,
3387
- ...props
3388
- }) {
3389
- return /* @__PURE__ */ jsx(
3390
- TooltipPrimitive.Provider,
3391
- {
3392
- "data-slot": "tooltip-provider",
3393
- delayDuration,
3394
- ...props
3395
- }
3396
- );
3397
- }
3398
- function Tooltip({
3399
- ...props
3400
- }) {
3401
- return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
3402
- }
3403
- function TooltipTrigger({
3404
- ...props
3405
- }) {
3406
- return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
3407
- }
3408
- function TooltipContent({
3409
- className,
3410
- sideOffset = 0,
3411
- children,
3412
- ...props
3413
- }) {
3414
- return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
3415
- TooltipPrimitive.Content,
3416
- {
3417
- "data-slot": "tooltip-content",
3418
- sideOffset,
3419
- className: cn(
3420
- "bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
3421
- className
3422
- ),
3423
- ...props,
3424
- children: [
3425
- children,
3426
- /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
3427
- ]
3428
- }
3429
- ) });
3430
- }
3431
3472
  var defaultLabels = {
3432
3473
  theme: "Theme",
3433
3474
  system: "System",
@@ -3471,11 +3512,8 @@ function ThemeSwitcher({
3471
3512
  size = "sm",
3472
3513
  shape = "rounded",
3473
3514
  variant = "default",
3474
- align = "center",
3475
- side = "top",
3476
- tooltipSide = "bottom",
3477
- tooltipAlign = "center",
3478
- tooltipSideOffset = 8,
3515
+ align = "end",
3516
+ side = "bottom",
3479
3517
  labels: userLabels
3480
3518
  }) {
3481
3519
  const { theme, setTheme } = useTheme();
@@ -3509,43 +3547,42 @@ function ThemeSwitcher({
3509
3547
  const CurrentIcon = themes.find((t) => t.key === currentTheme)?.icon || Monitor;
3510
3548
  if (variant === "mini") {
3511
3549
  return /* @__PURE__ */ jsxs(DropdownMenu, { modal: false, children: [
3512
- /* @__PURE__ */ jsxs(Tooltip, { children: [
3513
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
3514
- Button,
3515
- {
3516
- "data-testid": "theme-switcher",
3517
- variant: "ghost",
3518
- size: "icon",
3519
- "aria-label": labels.theme,
3520
- className: cn(sizes.buttonMini, shapeClass, className),
3521
- children: /* @__PURE__ */ jsx(CurrentIcon, { className: sizes.iconMini })
3522
- }
3523
- ) }) }),
3524
- /* @__PURE__ */ jsx(
3525
- TooltipContent,
3526
- {
3527
- side: tooltipSide,
3528
- align: tooltipAlign,
3529
- sideOffset: tooltipSideOffset,
3530
- children: labels.theme
3531
- }
3532
- )
3533
- ] }),
3534
- /* @__PURE__ */ jsx(DropdownMenuContent, { side, align, sideOffset: 8, children: themes.map(({ key, icon: Icon }) => /* @__PURE__ */ jsxs(
3535
- DropdownMenuItem,
3550
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
3551
+ Button,
3536
3552
  {
3537
- onClick: () => handleThemeClick(key),
3538
- className: cn(
3539
- "gap-2 cursor-pointer",
3540
- currentTheme === key && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
3541
- ),
3542
- children: [
3543
- /* @__PURE__ */ jsx(Icon, { className: "h-4 w-4" }),
3544
- /* @__PURE__ */ jsx("span", { children: labels[key] })
3545
- ]
3546
- },
3547
- key
3548
- )) })
3553
+ "data-testid": "theme-switcher",
3554
+ variant: "ghost",
3555
+ size: "icon",
3556
+ "aria-label": labels.theme,
3557
+ className: cn(sizes.buttonMini, shapeClass, className),
3558
+ children: /* @__PURE__ */ jsx(CurrentIcon, { className: sizes.iconMini })
3559
+ }
3560
+ ) }),
3561
+ /* @__PURE__ */ jsx(
3562
+ DropdownMenuContent,
3563
+ {
3564
+ side,
3565
+ align,
3566
+ sideOffset: miniMenuContentDefaults.sideOffset,
3567
+ collisionPadding: miniMenuContentDefaults.collisionPadding,
3568
+ className: miniMenuContentClassName,
3569
+ children: themes.map(({ key, icon: Icon }) => /* @__PURE__ */ jsxs(
3570
+ DropdownMenuItem,
3571
+ {
3572
+ onClick: () => handleThemeClick(key),
3573
+ className: cn(
3574
+ "gap-2 cursor-pointer",
3575
+ currentTheme === key && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
3576
+ ),
3577
+ children: [
3578
+ /* @__PURE__ */ jsx(Icon, { className: "h-4 w-4" }),
3579
+ /* @__PURE__ */ jsx("span", { children: labels[key] })
3580
+ ]
3581
+ },
3582
+ key
3583
+ ))
3584
+ }
3585
+ )
3549
3586
  ] });
3550
3587
  }
3551
3588
  return /* @__PURE__ */ jsx(
@@ -3639,11 +3676,8 @@ function LanguageSwitcher({
3639
3676
  shape = "rounded",
3640
3677
  variant = "default",
3641
3678
  showIcon = true,
3642
- align = "center",
3643
- side = "top",
3644
- tooltipSide = "bottom",
3645
- tooltipAlign = "center",
3646
- tooltipSideOffset = 8
3679
+ align = "end",
3680
+ side = "bottom"
3647
3681
  }) {
3648
3682
  const context = useLanguageContext();
3649
3683
  const contextLanguages = context?.languages?.map((lang) => ({
@@ -3661,34 +3695,24 @@ function LanguageSwitcher({
3661
3695
  };
3662
3696
  if (variant === "mini") {
3663
3697
  return /* @__PURE__ */ jsxs(DropdownMenu, { modal: false, children: [
3664
- /* @__PURE__ */ jsxs(Tooltip, { children: [
3665
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
3666
- Button,
3667
- {
3668
- variant: "ghost",
3669
- size: "icon",
3670
- "aria-label": defaultLabels4.language,
3671
- className: cn(sizes.buttonMini, shapeClass, className),
3672
- children: /* @__PURE__ */ jsx(Languages, { className: sizes.iconMini })
3673
- }
3674
- ) }) }),
3675
- /* @__PURE__ */ jsx(
3676
- TooltipContent,
3677
- {
3678
- side: tooltipSide,
3679
- align: tooltipAlign,
3680
- sideOffset: tooltipSideOffset,
3681
- children: defaultLabels4.language
3682
- }
3683
- )
3684
- ] }),
3698
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
3699
+ Button,
3700
+ {
3701
+ variant: "ghost",
3702
+ size: "icon",
3703
+ "aria-label": defaultLabels4.language,
3704
+ className: cn(sizes.buttonMini, shapeClass, className),
3705
+ children: /* @__PURE__ */ jsx(Languages, { className: sizes.iconMini })
3706
+ }
3707
+ ) }),
3685
3708
  /* @__PURE__ */ jsx(
3686
3709
  DropdownMenuContent,
3687
3710
  {
3688
3711
  side,
3689
3712
  align,
3690
- sideOffset: 8,
3691
- className: "min-w-0 w-auto",
3713
+ sideOffset: miniMenuContentDefaults.sideOffset,
3714
+ collisionPadding: miniMenuContentDefaults.collisionPadding,
3715
+ className: cn(miniMenuContentClassName, "min-w-0 w-auto"),
3692
3716
  children: languages.map(({ key, nativeName }) => /* @__PURE__ */ jsx(
3693
3717
  DropdownMenuItem,
3694
3718
  {
@@ -3888,10 +3912,7 @@ function EnvironmentSwitcher({
3888
3912
  shape = "rounded",
3889
3913
  variant = "mini",
3890
3914
  align = "end",
3891
- side = "bottom",
3892
- tooltipSide = "bottom",
3893
- tooltipAlign = "center",
3894
- tooltipSideOffset = 8
3915
+ side = "bottom"
3895
3916
  }) {
3896
3917
  const ctx = useEnvironmentContext();
3897
3918
  const labels = { ...defaultLabels2, ...userLabels };
@@ -3907,53 +3928,18 @@ function EnvironmentSwitcher({
3907
3928
  };
3908
3929
  if (variant === "mini") {
3909
3930
  return /* @__PURE__ */ jsxs(DropdownMenu, { modal: false, children: [
3910
- /* @__PURE__ */ jsxs(Tooltip, { children: [
3911
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
3912
- Button,
3913
- {
3914
- "data-testid": "environment-switcher",
3915
- variant: "outline",
3916
- size: "sm",
3917
- "aria-label": labels.environment,
3918
- className: cn(
3919
- sizes.buttonMini,
3920
- shapeClass,
3921
- "font-medium tabular-nums border-border bg-background",
3922
- className
3923
- ),
3924
- children: [
3925
- /* @__PURE__ */ jsx(
3926
- "span",
3927
- {
3928
- className: cn(
3929
- "rounded-full shrink-0 ring-1 ring-background",
3930
- sizes.dot,
3931
- getEnvironmentDotClass(environment)
3932
- ),
3933
- "aria-hidden": true
3934
- }
3935
- ),
3936
- /* @__PURE__ */ jsx("span", { className: "max-w-[5.5rem] truncate", children: getEnvironmentLabel(environment, labels) })
3937
- ]
3938
- }
3939
- ) }) }),
3940
- /* @__PURE__ */ jsx(
3941
- TooltipContent,
3942
- {
3943
- side: tooltipSide,
3944
- align: tooltipAlign,
3945
- sideOffset: tooltipSideOffset,
3946
- children: labels.environment
3947
- }
3948
- )
3949
- ] }),
3950
- /* @__PURE__ */ jsx(DropdownMenuContent, { side, align, sideOffset: 8, children: environments.map((env) => /* @__PURE__ */ jsxs(
3951
- DropdownMenuItem,
3931
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
3932
+ Button,
3952
3933
  {
3953
- onClick: () => handleSelect(env),
3934
+ "data-testid": "environment-switcher",
3935
+ variant: "outline",
3936
+ size: "sm",
3937
+ "aria-label": labels.environment,
3954
3938
  className: cn(
3955
- "gap-2 cursor-pointer",
3956
- environment === env && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
3939
+ sizes.buttonMini,
3940
+ shapeClass,
3941
+ "font-medium tabular-nums border-border bg-background",
3942
+ className
3957
3943
  ),
3958
3944
  children: [
3959
3945
  /* @__PURE__ */ jsx(
@@ -3962,16 +3948,50 @@ function EnvironmentSwitcher({
3962
3948
  className: cn(
3963
3949
  "rounded-full shrink-0 ring-1 ring-background",
3964
3950
  sizes.dot,
3965
- getEnvironmentDotClass(env)
3951
+ getEnvironmentDotClass(environment)
3966
3952
  ),
3967
3953
  "aria-hidden": true
3968
3954
  }
3969
3955
  ),
3970
- /* @__PURE__ */ jsx("span", { children: getEnvironmentLabel(env, labels) })
3956
+ /* @__PURE__ */ jsx("span", { className: "max-w-[5.5rem] truncate", children: getEnvironmentLabel(environment, labels) })
3971
3957
  ]
3972
- },
3973
- env
3974
- )) })
3958
+ }
3959
+ ) }),
3960
+ /* @__PURE__ */ jsx(
3961
+ DropdownMenuContent,
3962
+ {
3963
+ side,
3964
+ align,
3965
+ sideOffset: miniMenuContentDefaults.sideOffset,
3966
+ collisionPadding: miniMenuContentDefaults.collisionPadding,
3967
+ className: miniMenuContentClassName,
3968
+ children: environments.map((env) => /* @__PURE__ */ jsxs(
3969
+ DropdownMenuItem,
3970
+ {
3971
+ onClick: () => handleSelect(env),
3972
+ className: cn(
3973
+ "gap-2 cursor-pointer",
3974
+ environment === env && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
3975
+ ),
3976
+ children: [
3977
+ /* @__PURE__ */ jsx(
3978
+ "span",
3979
+ {
3980
+ className: cn(
3981
+ "rounded-full shrink-0 ring-1 ring-background",
3982
+ sizes.dot,
3983
+ getEnvironmentDotClass(env)
3984
+ ),
3985
+ "aria-hidden": true
3986
+ }
3987
+ ),
3988
+ /* @__PURE__ */ jsx("span", { children: getEnvironmentLabel(env, labels) })
3989
+ ]
3990
+ },
3991
+ env
3992
+ ))
3993
+ }
3994
+ )
3975
3995
  ] });
3976
3996
  }
3977
3997
  return /* @__PURE__ */ jsxs(
@@ -5829,6 +5849,52 @@ function UpcomingEvents({
5829
5849
  );
5830
5850
  }) });
5831
5851
  }
5852
+ function TooltipProvider({
5853
+ delayDuration = 0,
5854
+ ...props
5855
+ }) {
5856
+ return /* @__PURE__ */ jsx(
5857
+ TooltipPrimitive.Provider,
5858
+ {
5859
+ "data-slot": "tooltip-provider",
5860
+ delayDuration,
5861
+ ...props
5862
+ }
5863
+ );
5864
+ }
5865
+ function Tooltip({
5866
+ ...props
5867
+ }) {
5868
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
5869
+ }
5870
+ function TooltipTrigger({
5871
+ ...props
5872
+ }) {
5873
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
5874
+ }
5875
+ function TooltipContent({
5876
+ className,
5877
+ sideOffset = 0,
5878
+ children,
5879
+ ...props
5880
+ }) {
5881
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
5882
+ TooltipPrimitive.Content,
5883
+ {
5884
+ "data-slot": "tooltip-content",
5885
+ sideOffset,
5886
+ className: cn(
5887
+ "bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
5888
+ className
5889
+ ),
5890
+ ...props,
5891
+ children: [
5892
+ children,
5893
+ /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
5894
+ ]
5895
+ }
5896
+ ) });
5897
+ }
5832
5898
  function CalendarSubscribeButton({
5833
5899
  feedUrl,
5834
5900
  label
@@ -8101,6 +8167,6 @@ function USAddressInput({
8101
8167
  ] });
8102
8168
  }
8103
8169
 
8104
- export { AvatarEditor, AvatarEditorDialog, BLOCKS_DATA_ENVIRONMENTS, Button, CalendarContext, CalendarSubscribeButton, CalendarView, CalendarWidget, CardInput, ChatRoomView, ChatSidebar, ChatSidebarContext, ChatSidebarProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, 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, EnvironmentBanner, EnvironmentContext, EnvironmentDot, EnvironmentMiniBadge, EnvironmentSwitcher, EventDialog, EventRsvpBadge, LanguageContext, LanguageSwitcher, MiniCalendar, NotificationsContext, NotificationsWidget, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ScrollArea, ScrollBar, Slider, ThemeSwitcher, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, USAddressInput, UpcomingEvents, buttonVariants, cn, defaultLanguages, getEnvironmentDotClass, getEnvironmentLabel, isBlocksDataEnvironment, toggleVariants, useCalendarContext, useChatRoom, useChatSidebar, useDebouncedValue, useDebouncedValueStrict, useEnvironmentContext, useLanguageContext, useNotificationsContext };
8170
+ export { AvatarEditor, AvatarEditorDialog, BLOCKS_DATA_ENVIRONMENTS, Button, CalendarContext, CalendarSubscribeButton, CalendarView, CalendarWidget, CardInput, ChatRoomView, ChatSidebar, ChatSidebarContext, ChatSidebarProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, 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, EmptyState, EnvironmentBanner, EnvironmentContext, EnvironmentDot, EnvironmentMiniBadge, EnvironmentSwitcher, ErrorState, EventDialog, EventRsvpBadge, LanguageContext, LanguageSwitcher, LoadingState, MiniCalendar, NotificationsContext, NotificationsWidget, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ScrollArea, ScrollBar, Slider, ThemeSwitcher, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, USAddressInput, UpcomingEvents, buttonVariants, cn, defaultLanguages, getEnvironmentDotClass, getEnvironmentLabel, isBlocksDataEnvironment, toggleVariants, useCalendarContext, useChatRoom, useChatSidebar, useDebouncedValue, useDebouncedValueStrict, useEnvironmentContext, useLanguageContext, useNotificationsContext };
8105
8171
  //# sourceMappingURL=index.js.map
8106
8172
  //# sourceMappingURL=index.js.map