@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.cjs CHANGED
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  var React2 = require('react');
4
- var nextThemes = require('next-themes');
5
4
  var lucideReact = require('lucide-react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var nextThemes = require('next-themes');
6
7
  var framerMotion = require('framer-motion');
7
8
  var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
8
- var jsxRuntime = require('react/jsx-runtime');
9
9
  var reactSlot = require('@radix-ui/react-slot');
10
- var TooltipPrimitive = require('@radix-ui/react-tooltip');
11
10
  var SliderPrimitive = require('@radix-ui/react-slider');
12
11
  var TogglePrimitive = require('@radix-ui/react-toggle');
13
12
  var DialogPrimitive = require('@radix-ui/react-dialog');
14
13
  var vaul = require('vaul');
15
14
  var PopoverPrimitive = require('@radix-ui/react-popover');
16
15
  var ScrollAreaPrimitive = require('@radix-ui/react-scroll-area');
16
+ var TooltipPrimitive = require('@radix-ui/react-tooltip');
17
17
  var dateFns = require('date-fns');
18
18
  var reactDayPicker = require('react-day-picker');
19
19
  var valid = require('card-validator');
@@ -40,12 +40,12 @@ function _interopNamespace(e) {
40
40
 
41
41
  var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
42
42
  var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
43
- var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
44
43
  var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
45
44
  var TogglePrimitive__namespace = /*#__PURE__*/_interopNamespace(TogglePrimitive);
46
45
  var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
47
46
  var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
48
47
  var ScrollAreaPrimitive__namespace = /*#__PURE__*/_interopNamespace(ScrollAreaPrimitive);
48
+ var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
49
49
  var valid__default = /*#__PURE__*/_interopDefault(valid);
50
50
 
51
51
  var CalendarContext = React2.createContext(null);
@@ -3115,6 +3115,93 @@ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
3115
3115
  function cn(...inputs) {
3116
3116
  return twMerge(clsx(inputs));
3117
3117
  }
3118
+ function LoadingState({
3119
+ label = "Cargando\u2026",
3120
+ className
3121
+ }) {
3122
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3123
+ "div",
3124
+ {
3125
+ role: "status",
3126
+ "aria-live": "polite",
3127
+ className: cn(
3128
+ "flex items-center justify-center gap-2 py-12 text-sm text-muted-foreground",
3129
+ className
3130
+ ),
3131
+ children: [
3132
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin", "aria-hidden": "true" }),
3133
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
3134
+ ]
3135
+ }
3136
+ );
3137
+ }
3138
+ function ErrorState({
3139
+ title = "Algo sali\xF3 mal",
3140
+ description,
3141
+ action,
3142
+ className
3143
+ }) {
3144
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3145
+ "div",
3146
+ {
3147
+ role: "alert",
3148
+ className: cn(
3149
+ "flex flex-col items-center gap-3 rounded-xl border border-dashed border-destructive/40 bg-destructive/5 py-12 text-center",
3150
+ className
3151
+ ),
3152
+ children: [
3153
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "size-6 text-destructive", "aria-hidden": "true" }),
3154
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3155
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: title }),
3156
+ description ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: description }) : null
3157
+ ] }),
3158
+ action
3159
+ ]
3160
+ }
3161
+ );
3162
+ }
3163
+ function EmptyState({
3164
+ title,
3165
+ description,
3166
+ action,
3167
+ icon: Icon = lucideReact.Inbox,
3168
+ variant = "default",
3169
+ className
3170
+ }) {
3171
+ const isCompact = variant === "compact";
3172
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3173
+ "div",
3174
+ {
3175
+ className: cn(
3176
+ "flex flex-col items-center gap-3 text-center",
3177
+ isCompact ? "px-4 py-6" : "rounded-xl border border-dashed py-12",
3178
+ className
3179
+ ),
3180
+ children: [
3181
+ /* @__PURE__ */ jsxRuntime.jsx(
3182
+ Icon,
3183
+ {
3184
+ className: cn(
3185
+ "text-muted-foreground",
3186
+ isCompact ? "size-8 opacity-50" : "size-6"
3187
+ ),
3188
+ "aria-hidden": "true"
3189
+ }
3190
+ ),
3191
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3192
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("font-medium", isCompact && "text-sm"), children: title }),
3193
+ description ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: description }) : null
3194
+ ] }),
3195
+ action
3196
+ ]
3197
+ }
3198
+ );
3199
+ }
3200
+ var miniMenuContentClassName = "max-h-none overflow-x-visible overflow-y-visible";
3201
+ var miniMenuContentDefaults = {
3202
+ sideOffset: 8,
3203
+ collisionPadding: 12
3204
+ };
3118
3205
  function DropdownMenu({
3119
3206
  ...props
3120
3207
  }) {
@@ -3413,52 +3500,6 @@ function Button({
3413
3500
  }
3414
3501
  );
3415
3502
  }
3416
- function TooltipProvider({
3417
- delayDuration = 0,
3418
- ...props
3419
- }) {
3420
- return /* @__PURE__ */ jsxRuntime.jsx(
3421
- TooltipPrimitive__namespace.Provider,
3422
- {
3423
- "data-slot": "tooltip-provider",
3424
- delayDuration,
3425
- ...props
3426
- }
3427
- );
3428
- }
3429
- function Tooltip({
3430
- ...props
3431
- }) {
3432
- return /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Root, { "data-slot": "tooltip", ...props }) });
3433
- }
3434
- function TooltipTrigger({
3435
- ...props
3436
- }) {
3437
- return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { "data-slot": "tooltip-trigger", ...props });
3438
- }
3439
- function TooltipContent({
3440
- className,
3441
- sideOffset = 0,
3442
- children,
3443
- ...props
3444
- }) {
3445
- return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
3446
- TooltipPrimitive__namespace.Content,
3447
- {
3448
- "data-slot": "tooltip-content",
3449
- sideOffset,
3450
- className: cn(
3451
- "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",
3452
- className
3453
- ),
3454
- ...props,
3455
- children: [
3456
- children,
3457
- /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
3458
- ]
3459
- }
3460
- ) });
3461
- }
3462
3503
  var defaultLabels = {
3463
3504
  theme: "Theme",
3464
3505
  system: "System",
@@ -3502,11 +3543,8 @@ function ThemeSwitcher({
3502
3543
  size = "sm",
3503
3544
  shape = "rounded",
3504
3545
  variant = "default",
3505
- align = "center",
3506
- side = "top",
3507
- tooltipSide = "bottom",
3508
- tooltipAlign = "center",
3509
- tooltipSideOffset = 8,
3546
+ align = "end",
3547
+ side = "bottom",
3510
3548
  labels: userLabels
3511
3549
  }) {
3512
3550
  const { theme, setTheme } = nextThemes.useTheme();
@@ -3540,43 +3578,42 @@ function ThemeSwitcher({
3540
3578
  const CurrentIcon = themes.find((t) => t.key === currentTheme)?.icon || lucideReact.Monitor;
3541
3579
  if (variant === "mini") {
3542
3580
  return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { modal: false, children: [
3543
- /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
3544
- /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
3545
- Button,
3546
- {
3547
- "data-testid": "theme-switcher",
3548
- variant: "ghost",
3549
- size: "icon",
3550
- "aria-label": labels.theme,
3551
- className: cn(sizes.buttonMini, shapeClass, className),
3552
- children: /* @__PURE__ */ jsxRuntime.jsx(CurrentIcon, { className: sizes.iconMini })
3553
- }
3554
- ) }) }),
3555
- /* @__PURE__ */ jsxRuntime.jsx(
3556
- TooltipContent,
3557
- {
3558
- side: tooltipSide,
3559
- align: tooltipAlign,
3560
- sideOffset: tooltipSideOffset,
3561
- children: labels.theme
3562
- }
3563
- )
3564
- ] }),
3565
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuContent, { side, align, sideOffset: 8, children: themes.map(({ key, icon: Icon }) => /* @__PURE__ */ jsxRuntime.jsxs(
3566
- DropdownMenuItem,
3581
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
3582
+ Button,
3567
3583
  {
3568
- onClick: () => handleThemeClick(key),
3569
- className: cn(
3570
- "gap-2 cursor-pointer",
3571
- currentTheme === key && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
3572
- ),
3573
- children: [
3574
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-4 w-4" }),
3575
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: labels[key] })
3576
- ]
3577
- },
3578
- key
3579
- )) })
3584
+ "data-testid": "theme-switcher",
3585
+ variant: "ghost",
3586
+ size: "icon",
3587
+ "aria-label": labels.theme,
3588
+ className: cn(sizes.buttonMini, shapeClass, className),
3589
+ children: /* @__PURE__ */ jsxRuntime.jsx(CurrentIcon, { className: sizes.iconMini })
3590
+ }
3591
+ ) }),
3592
+ /* @__PURE__ */ jsxRuntime.jsx(
3593
+ DropdownMenuContent,
3594
+ {
3595
+ side,
3596
+ align,
3597
+ sideOffset: miniMenuContentDefaults.sideOffset,
3598
+ collisionPadding: miniMenuContentDefaults.collisionPadding,
3599
+ className: miniMenuContentClassName,
3600
+ children: themes.map(({ key, icon: Icon }) => /* @__PURE__ */ jsxRuntime.jsxs(
3601
+ DropdownMenuItem,
3602
+ {
3603
+ onClick: () => handleThemeClick(key),
3604
+ className: cn(
3605
+ "gap-2 cursor-pointer",
3606
+ currentTheme === key && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
3607
+ ),
3608
+ children: [
3609
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-4 w-4" }),
3610
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: labels[key] })
3611
+ ]
3612
+ },
3613
+ key
3614
+ ))
3615
+ }
3616
+ )
3580
3617
  ] });
3581
3618
  }
3582
3619
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -3670,11 +3707,8 @@ function LanguageSwitcher({
3670
3707
  shape = "rounded",
3671
3708
  variant = "default",
3672
3709
  showIcon = true,
3673
- align = "center",
3674
- side = "top",
3675
- tooltipSide = "bottom",
3676
- tooltipAlign = "center",
3677
- tooltipSideOffset = 8
3710
+ align = "end",
3711
+ side = "bottom"
3678
3712
  }) {
3679
3713
  const context = useLanguageContext();
3680
3714
  const contextLanguages = context?.languages?.map((lang) => ({
@@ -3692,34 +3726,24 @@ function LanguageSwitcher({
3692
3726
  };
3693
3727
  if (variant === "mini") {
3694
3728
  return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { modal: false, children: [
3695
- /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
3696
- /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
3697
- Button,
3698
- {
3699
- variant: "ghost",
3700
- size: "icon",
3701
- "aria-label": defaultLabels4.language,
3702
- className: cn(sizes.buttonMini, shapeClass, className),
3703
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Languages, { className: sizes.iconMini })
3704
- }
3705
- ) }) }),
3706
- /* @__PURE__ */ jsxRuntime.jsx(
3707
- TooltipContent,
3708
- {
3709
- side: tooltipSide,
3710
- align: tooltipAlign,
3711
- sideOffset: tooltipSideOffset,
3712
- children: defaultLabels4.language
3713
- }
3714
- )
3715
- ] }),
3729
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
3730
+ Button,
3731
+ {
3732
+ variant: "ghost",
3733
+ size: "icon",
3734
+ "aria-label": defaultLabels4.language,
3735
+ className: cn(sizes.buttonMini, shapeClass, className),
3736
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Languages, { className: sizes.iconMini })
3737
+ }
3738
+ ) }),
3716
3739
  /* @__PURE__ */ jsxRuntime.jsx(
3717
3740
  DropdownMenuContent,
3718
3741
  {
3719
3742
  side,
3720
3743
  align,
3721
- sideOffset: 8,
3722
- className: "min-w-0 w-auto",
3744
+ sideOffset: miniMenuContentDefaults.sideOffset,
3745
+ collisionPadding: miniMenuContentDefaults.collisionPadding,
3746
+ className: cn(miniMenuContentClassName, "min-w-0 w-auto"),
3723
3747
  children: languages.map(({ key, nativeName }) => /* @__PURE__ */ jsxRuntime.jsx(
3724
3748
  DropdownMenuItem,
3725
3749
  {
@@ -3919,10 +3943,7 @@ function EnvironmentSwitcher({
3919
3943
  shape = "rounded",
3920
3944
  variant = "mini",
3921
3945
  align = "end",
3922
- side = "bottom",
3923
- tooltipSide = "bottom",
3924
- tooltipAlign = "center",
3925
- tooltipSideOffset = 8
3946
+ side = "bottom"
3926
3947
  }) {
3927
3948
  const ctx = useEnvironmentContext();
3928
3949
  const labels = { ...defaultLabels2, ...userLabels };
@@ -3938,53 +3959,18 @@ function EnvironmentSwitcher({
3938
3959
  };
3939
3960
  if (variant === "mini") {
3940
3961
  return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { modal: false, children: [
3941
- /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
3942
- /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
3943
- Button,
3944
- {
3945
- "data-testid": "environment-switcher",
3946
- variant: "outline",
3947
- size: "sm",
3948
- "aria-label": labels.environment,
3949
- className: cn(
3950
- sizes.buttonMini,
3951
- shapeClass,
3952
- "font-medium tabular-nums border-border bg-background",
3953
- className
3954
- ),
3955
- children: [
3956
- /* @__PURE__ */ jsxRuntime.jsx(
3957
- "span",
3958
- {
3959
- className: cn(
3960
- "rounded-full shrink-0 ring-1 ring-background",
3961
- sizes.dot,
3962
- getEnvironmentDotClass(environment)
3963
- ),
3964
- "aria-hidden": true
3965
- }
3966
- ),
3967
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-[5.5rem] truncate", children: getEnvironmentLabel(environment, labels) })
3968
- ]
3969
- }
3970
- ) }) }),
3971
- /* @__PURE__ */ jsxRuntime.jsx(
3972
- TooltipContent,
3973
- {
3974
- side: tooltipSide,
3975
- align: tooltipAlign,
3976
- sideOffset: tooltipSideOffset,
3977
- children: labels.environment
3978
- }
3979
- )
3980
- ] }),
3981
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuContent, { side, align, sideOffset: 8, children: environments.map((env) => /* @__PURE__ */ jsxRuntime.jsxs(
3982
- DropdownMenuItem,
3962
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
3963
+ Button,
3983
3964
  {
3984
- onClick: () => handleSelect(env),
3965
+ "data-testid": "environment-switcher",
3966
+ variant: "outline",
3967
+ size: "sm",
3968
+ "aria-label": labels.environment,
3985
3969
  className: cn(
3986
- "gap-2 cursor-pointer",
3987
- environment === env && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
3970
+ sizes.buttonMini,
3971
+ shapeClass,
3972
+ "font-medium tabular-nums border-border bg-background",
3973
+ className
3988
3974
  ),
3989
3975
  children: [
3990
3976
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3993,16 +3979,50 @@ function EnvironmentSwitcher({
3993
3979
  className: cn(
3994
3980
  "rounded-full shrink-0 ring-1 ring-background",
3995
3981
  sizes.dot,
3996
- getEnvironmentDotClass(env)
3982
+ getEnvironmentDotClass(environment)
3997
3983
  ),
3998
3984
  "aria-hidden": true
3999
3985
  }
4000
3986
  ),
4001
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: getEnvironmentLabel(env, labels) })
3987
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-[5.5rem] truncate", children: getEnvironmentLabel(environment, labels) })
4002
3988
  ]
4003
- },
4004
- env
4005
- )) })
3989
+ }
3990
+ ) }),
3991
+ /* @__PURE__ */ jsxRuntime.jsx(
3992
+ DropdownMenuContent,
3993
+ {
3994
+ side,
3995
+ align,
3996
+ sideOffset: miniMenuContentDefaults.sideOffset,
3997
+ collisionPadding: miniMenuContentDefaults.collisionPadding,
3998
+ className: miniMenuContentClassName,
3999
+ children: environments.map((env) => /* @__PURE__ */ jsxRuntime.jsxs(
4000
+ DropdownMenuItem,
4001
+ {
4002
+ onClick: () => handleSelect(env),
4003
+ className: cn(
4004
+ "gap-2 cursor-pointer",
4005
+ environment === env && "bg-accent text-accent-foreground [&_svg]:text-accent-foreground"
4006
+ ),
4007
+ children: [
4008
+ /* @__PURE__ */ jsxRuntime.jsx(
4009
+ "span",
4010
+ {
4011
+ className: cn(
4012
+ "rounded-full shrink-0 ring-1 ring-background",
4013
+ sizes.dot,
4014
+ getEnvironmentDotClass(env)
4015
+ ),
4016
+ "aria-hidden": true
4017
+ }
4018
+ ),
4019
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: getEnvironmentLabel(env, labels) })
4020
+ ]
4021
+ },
4022
+ env
4023
+ ))
4024
+ }
4025
+ )
4006
4026
  ] });
4007
4027
  }
4008
4028
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -5860,6 +5880,52 @@ function UpcomingEvents({
5860
5880
  );
5861
5881
  }) });
5862
5882
  }
5883
+ function TooltipProvider({
5884
+ delayDuration = 0,
5885
+ ...props
5886
+ }) {
5887
+ return /* @__PURE__ */ jsxRuntime.jsx(
5888
+ TooltipPrimitive__namespace.Provider,
5889
+ {
5890
+ "data-slot": "tooltip-provider",
5891
+ delayDuration,
5892
+ ...props
5893
+ }
5894
+ );
5895
+ }
5896
+ function Tooltip({
5897
+ ...props
5898
+ }) {
5899
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Root, { "data-slot": "tooltip", ...props }) });
5900
+ }
5901
+ function TooltipTrigger({
5902
+ ...props
5903
+ }) {
5904
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { "data-slot": "tooltip-trigger", ...props });
5905
+ }
5906
+ function TooltipContent({
5907
+ className,
5908
+ sideOffset = 0,
5909
+ children,
5910
+ ...props
5911
+ }) {
5912
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
5913
+ TooltipPrimitive__namespace.Content,
5914
+ {
5915
+ "data-slot": "tooltip-content",
5916
+ sideOffset,
5917
+ className: cn(
5918
+ "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",
5919
+ className
5920
+ ),
5921
+ ...props,
5922
+ children: [
5923
+ children,
5924
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
5925
+ ]
5926
+ }
5927
+ ) });
5928
+ }
5863
5929
  function CalendarSubscribeButton({
5864
5930
  feedUrl,
5865
5931
  label
@@ -8180,15 +8246,18 @@ exports.DropdownMenuSub = DropdownMenuSub;
8180
8246
  exports.DropdownMenuSubContent = DropdownMenuSubContent;
8181
8247
  exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
8182
8248
  exports.DropdownMenuTrigger = DropdownMenuTrigger;
8249
+ exports.EmptyState = EmptyState;
8183
8250
  exports.EnvironmentBanner = EnvironmentBanner;
8184
8251
  exports.EnvironmentContext = EnvironmentContext;
8185
8252
  exports.EnvironmentDot = EnvironmentDot;
8186
8253
  exports.EnvironmentMiniBadge = EnvironmentMiniBadge;
8187
8254
  exports.EnvironmentSwitcher = EnvironmentSwitcher;
8255
+ exports.ErrorState = ErrorState;
8188
8256
  exports.EventDialog = EventDialog;
8189
8257
  exports.EventRsvpBadge = EventRsvpBadge;
8190
8258
  exports.LanguageContext = LanguageContext;
8191
8259
  exports.LanguageSwitcher = LanguageSwitcher;
8260
+ exports.LoadingState = LoadingState;
8192
8261
  exports.MiniCalendar = MiniCalendar;
8193
8262
  exports.NotificationsContext = NotificationsContext;
8194
8263
  exports.NotificationsWidget = NotificationsWidget;