@cupcodev/ui 5.1.3 → 6.1.1

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
@@ -1976,23 +1976,23 @@ var NavbarCupcode = ({
1976
1976
  {
1977
1977
  ref: navRef,
1978
1978
  className: cn(
1979
- "fixed left-2 right-2 top-[calc(max(env(safe-area-inset-top),0px)+var(--cc-navbar-top-offset,8px))] z-[200] overflow-hidden rounded-2xl",
1980
- "glass border-border/70 shadow-[var(--elevation-3)] md:left-4 md:right-4",
1979
+ "fixed left-[var(--cc-navbar-side-offset-mobile)] right-[var(--cc-navbar-side-offset-mobile)] top-[calc(max(env(safe-area-inset-top),0px)+var(--cc-navbar-top-offset,8px))] z-[200] overflow-hidden rounded-[var(--cc-navbar-radius)]",
1980
+ "border border-[hsl(var(--cc-navbar-border))] bg-[hsl(var(--cc-navbar-bg))] shadow-[var(--cc-navbar-shadow)] backdrop-blur-[var(--glass-blur-md)] md:left-[var(--cc-navbar-side-offset-desktop)] md:right-[var(--cc-navbar-side-offset-desktop)]",
1981
1981
  className
1982
1982
  ),
1983
1983
  children: /* @__PURE__ */ jsxs9("div", { className: "cc-container", children: [
1984
- /* @__PURE__ */ jsxs9("div", { className: "hidden h-16 items-center md:flex", children: [
1984
+ /* @__PURE__ */ jsxs9("div", { className: "hidden h-[var(--cc-navbar-height-desktop)] items-center md:flex", children: [
1985
1985
  /* @__PURE__ */ jsx11("div", { className: cn("flex-shrink-0", !hasItems && "mr-auto"), children: logo }),
1986
1986
  hasItems ? /* @__PURE__ */ jsx11("div", { className: "mx-auto flex items-center space-x-8", children: items.map((item, index) => {
1987
1987
  const key = `${item.label}-${index}`;
1988
1988
  const isActive = item.isActive;
1989
1989
  const baseClasses = cn(
1990
1990
  "flex items-center gap-2 text-sm font-semibold text-foreground",
1991
- "hover:text-primary transition-colors duration-200",
1991
+ "hover:text-[hsl(var(--cc-navbar-link-hover))] transition-colors duration-200",
1992
1992
  "relative after:absolute after:bottom-0 after:left-0 after:h-0.5 after:w-0",
1993
- "after:bg-primary after:transition-all after:duration-300",
1993
+ "after:bg-[hsl(var(--cc-navbar-link-hover))] after:transition-all after:duration-300",
1994
1994
  "hover:after:w-full",
1995
- isActive && "text-primary after:w-full"
1995
+ isActive && "text-[hsl(var(--cc-navbar-link-active))] after:w-full after:bg-[hsl(var(--cc-navbar-link-active))]"
1996
1996
  );
1997
1997
  const handleClick = (event) => {
1998
1998
  var _a78;
@@ -2031,7 +2031,7 @@ var NavbarCupcode = ({
2031
2031
  }) }) : null,
2032
2032
  actions && /* @__PURE__ */ jsx11("div", { className: cn("flex", !hasItems && "ml-auto"), children: actions })
2033
2033
  ] }),
2034
- hasItems ? /* @__PURE__ */ jsxs9("div", { className: "relative flex h-16 items-center md:hidden", children: [
2034
+ hasItems ? /* @__PURE__ */ jsxs9("div", { className: "relative flex h-[var(--cc-navbar-height-mobile)] items-center md:hidden", children: [
2035
2035
  /* @__PURE__ */ jsx11(
2036
2036
  "button",
2037
2037
  {
@@ -2046,7 +2046,7 @@ var NavbarCupcode = ({
2046
2046
  ),
2047
2047
  /* @__PURE__ */ jsx11("div", { className: "pointer-events-none absolute left-1/2 top-1/2 z-0 w-[min(62vw,18rem)] -translate-x-1/2 -translate-y-1/2 overflow-hidden", children: /* @__PURE__ */ jsx11("div", { className: "flex items-center justify-center", children: logo }) }),
2048
2048
  /* @__PURE__ */ jsx11("div", { className: "z-10 ml-auto flex items-center", children: actions != null ? actions : /* @__PURE__ */ jsx11("span", { className: "inline-flex h-10 w-10", "aria-hidden": "true" }) })
2049
- ] }) : /* @__PURE__ */ jsxs9("div", { className: "flex h-16 items-center justify-between gap-3 md:hidden", children: [
2049
+ ] }) : /* @__PURE__ */ jsxs9("div", { className: "flex h-[var(--cc-navbar-height-mobile)] items-center justify-between gap-3 md:hidden", children: [
2050
2050
  /* @__PURE__ */ jsx11("div", { className: "min-w-0 shrink", children: logo }),
2051
2051
  /* @__PURE__ */ jsx11("div", { className: "flex items-center", children: actions != null ? actions : /* @__PURE__ */ jsx11("span", { className: "inline-flex h-10 w-10", "aria-hidden": "true" }) })
2052
2052
  ] })
@@ -2069,7 +2069,7 @@ var NavbarCupcode = ({
2069
2069
  id: mobileMenuId,
2070
2070
  ref: mobileDrawerRef,
2071
2071
  className: cn(
2072
- "glass-strong absolute inset-y-0 left-0 z-10 w-[min(84vw,22rem)] border-r border-border/70 px-3 pb-[max(env(safe-area-inset-bottom),0.75rem)] pt-[max(env(safe-area-inset-top),0.9rem)] text-foreground shadow-[var(--elevation-5)]",
2072
+ "absolute inset-y-0 left-0 z-10 w-[min(84vw,22rem)] border-r border-r-[hsl(var(--cc-navbar-drawer-border))] bg-[hsl(var(--cc-navbar-drawer-bg))] px-3 pb-[max(env(safe-area-inset-bottom),0.75rem)] pt-[max(env(safe-area-inset-top),0.9rem)] text-foreground shadow-[var(--elevation-5)] backdrop-blur-[var(--glass-blur-lg)]",
2073
2073
  "data-[state=open]:animate-in data-[state=open]:slide-in-from-left data-[state=open]:duration-300"
2074
2074
  ),
2075
2075
  "data-state": "open",
@@ -2092,7 +2092,7 @@ var NavbarCupcode = ({
2092
2092
  const isActive = item.isActive;
2093
2093
  const classes = cn(
2094
2094
  "flex min-h-11 items-center gap-2 rounded-lg px-4 py-2.5 text-sm font-semibold text-foreground transition-colors hover:bg-primary/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",
2095
- isActive && "text-primary"
2095
+ isActive && "text-[hsl(var(--cc-navbar-link-active))]"
2096
2096
  );
2097
2097
  const handleClick = (event) => {
2098
2098
  var _a78;
@@ -2118,47 +2118,6 @@ var NavbarCupcode = ({
2118
2118
  };
2119
2119
  var NavbarCupcode_default = NavbarCupcode;
2120
2120
 
2121
- // src/components/cupcode/TelescupImage.tsx
2122
- import { jsx as jsx12 } from "react/jsx-runtime";
2123
- var TelescupImage = ({
2124
- apiId,
2125
- imageWidth,
2126
- imageHeight,
2127
- fit = "cover",
2128
- format = "avif",
2129
- quality = 60,
2130
- lang = "pt-BR",
2131
- alt,
2132
- title,
2133
- loading = "lazy",
2134
- className,
2135
- ...props
2136
- }) => {
2137
- const { url, meta } = useTelescupImage(
2138
- {
2139
- id: apiId,
2140
- width: imageWidth,
2141
- height: imageHeight,
2142
- fit,
2143
- format,
2144
- quality
2145
- },
2146
- lang
2147
- );
2148
- return /* @__PURE__ */ jsx12(
2149
- "img",
2150
- {
2151
- src: url,
2152
- "data-api-id": apiId,
2153
- alt: alt || meta.alt || "",
2154
- title: title || meta.title,
2155
- loading,
2156
- className,
2157
- ...props
2158
- }
2159
- );
2160
- };
2161
-
2162
2121
  // src/components/cupcode/UserMenuCupcode.tsx
2163
2122
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
2164
2123
  import {
@@ -2218,7 +2177,7 @@ import {
2218
2177
  import * as React6 from "react";
2219
2178
  import * as SelectPrimitive from "@radix-ui/react-select";
2220
2179
  import { Check, ChevronDown as ChevronDown2, ChevronUp } from "lucide-react";
2221
- import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
2180
+ import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
2222
2181
  var Select = SelectPrimitive.Root;
2223
2182
  var SelectGroup = SelectPrimitive.Group;
2224
2183
  var SelectValue = SelectPrimitive.Value;
@@ -2233,32 +2192,32 @@ var SelectTrigger = React6.forwardRef(({ className, children, ...props }, ref) =
2233
2192
  ...props,
2234
2193
  children: [
2235
2194
  children,
2236
- /* @__PURE__ */ jsx13(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx13(ChevronDown2, { className: "h-4 w-4 opacity-50" }) })
2195
+ /* @__PURE__ */ jsx12(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx12(ChevronDown2, { className: "h-4 w-4 opacity-50" }) })
2237
2196
  ]
2238
2197
  }
2239
2198
  ));
2240
2199
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
2241
- var SelectScrollUpButton = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
2200
+ var SelectScrollUpButton = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
2242
2201
  SelectPrimitive.ScrollUpButton,
2243
2202
  {
2244
2203
  ref,
2245
2204
  className: cn("flex cursor-default items-center justify-center py-1", className),
2246
2205
  ...props,
2247
- children: /* @__PURE__ */ jsx13(ChevronUp, { className: "h-4 w-4" })
2206
+ children: /* @__PURE__ */ jsx12(ChevronUp, { className: "h-4 w-4" })
2248
2207
  }
2249
2208
  ));
2250
2209
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
2251
- var SelectScrollDownButton = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
2210
+ var SelectScrollDownButton = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
2252
2211
  SelectPrimitive.ScrollDownButton,
2253
2212
  {
2254
2213
  ref,
2255
2214
  className: cn("flex cursor-default items-center justify-center py-1", className),
2256
2215
  ...props,
2257
- children: /* @__PURE__ */ jsx13(ChevronDown2, { className: "h-4 w-4" })
2216
+ children: /* @__PURE__ */ jsx12(ChevronDown2, { className: "h-4 w-4" })
2258
2217
  }
2259
2218
  ));
2260
2219
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
2261
- var SelectContent = React6.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx13(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs10(
2220
+ var SelectContent = React6.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx12(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs10(
2262
2221
  SelectPrimitive.Content,
2263
2222
  {
2264
2223
  ref,
@@ -2270,8 +2229,8 @@ var SelectContent = React6.forwardRef(({ className, children, position = "popper
2270
2229
  position,
2271
2230
  ...props,
2272
2231
  children: [
2273
- /* @__PURE__ */ jsx13(SelectScrollUpButton, {}),
2274
- /* @__PURE__ */ jsx13(
2232
+ /* @__PURE__ */ jsx12(SelectScrollUpButton, {}),
2233
+ /* @__PURE__ */ jsx12(
2275
2234
  SelectPrimitive.Viewport,
2276
2235
  {
2277
2236
  className: cn(
@@ -2281,12 +2240,12 @@ var SelectContent = React6.forwardRef(({ className, children, position = "popper
2281
2240
  children
2282
2241
  }
2283
2242
  ),
2284
- /* @__PURE__ */ jsx13(SelectScrollDownButton, {})
2243
+ /* @__PURE__ */ jsx12(SelectScrollDownButton, {})
2285
2244
  ]
2286
2245
  }
2287
2246
  ) }));
2288
2247
  SelectContent.displayName = SelectPrimitive.Content.displayName;
2289
- var SelectLabel = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(SelectPrimitive.Label, { ref, className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className), ...props }));
2248
+ var SelectLabel = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(SelectPrimitive.Label, { ref, className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className), ...props }));
2290
2249
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
2291
2250
  var SelectItem = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
2292
2251
  SelectPrimitive.Item,
@@ -2298,20 +2257,20 @@ var SelectItem = React6.forwardRef(({ className, children, ...props }, ref) => /
2298
2257
  ),
2299
2258
  ...props,
2300
2259
  children: [
2301
- /* @__PURE__ */ jsx13("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx13(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx13(Check, { className: "h-4 w-4" }) }) }),
2302
- /* @__PURE__ */ jsx13(SelectPrimitive.ItemText, { children })
2260
+ /* @__PURE__ */ jsx12("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx12(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx12(Check, { className: "h-4 w-4" }) }) }),
2261
+ /* @__PURE__ */ jsx12(SelectPrimitive.ItemText, { children })
2303
2262
  ]
2304
2263
  }
2305
2264
  ));
2306
2265
  SelectItem.displayName = SelectPrimitive.Item.displayName;
2307
- var SelectSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
2266
+ var SelectSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
2308
2267
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
2309
2268
 
2310
2269
  // src/components/ui/avatar.tsx
2311
2270
  import * as React7 from "react";
2312
2271
  import * as AvatarPrimitive2 from "@radix-ui/react-avatar";
2313
- import { jsx as jsx14 } from "react/jsx-runtime";
2314
- var Avatar2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
2272
+ import { jsx as jsx13 } from "react/jsx-runtime";
2273
+ var Avatar2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
2315
2274
  AvatarPrimitive2.Root,
2316
2275
  {
2317
2276
  ref,
@@ -2320,7 +2279,7 @@ var Avatar2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2320
2279
  }
2321
2280
  ));
2322
2281
  Avatar2.displayName = AvatarPrimitive2.Root.displayName;
2323
- var AvatarImage2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
2282
+ var AvatarImage2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
2324
2283
  AvatarPrimitive2.Image,
2325
2284
  {
2326
2285
  ref,
@@ -2329,7 +2288,7 @@ var AvatarImage2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PUR
2329
2288
  }
2330
2289
  ));
2331
2290
  AvatarImage2.displayName = AvatarPrimitive2.Image.displayName;
2332
- var AvatarFallback2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
2291
+ var AvatarFallback2 = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
2333
2292
  AvatarPrimitive2.Fallback,
2334
2293
  {
2335
2294
  ref,
@@ -2388,7 +2347,7 @@ function responsiveSizeClasses(s, currentBp) {
2388
2347
 
2389
2348
  // src/components/cupcode/JellyButton.tsx
2390
2349
  import { forwardRef as forwardRef8 } from "react";
2391
- import { jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
2350
+ import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
2392
2351
  var JellyButton = forwardRef8(
2393
2352
  ({ variant = "primary", size = "md", className, children, type = "button", ...props }, ref) => {
2394
2353
  const sizeClass = {
@@ -2396,7 +2355,7 @@ var JellyButton = forwardRef8(
2396
2355
  md: "cc-blob-cta--md",
2397
2356
  lg: "cc-blob-cta--lg"
2398
2357
  }[size];
2399
- const variantClass = variant === "secondary" || variant === "original-green" ? "cc-blob-cta--secondary" : variant === "half" ? "cc-blob-cta--half" : "cc-blob-cta--primary";
2358
+ const variantClass = variant === "primary" || variant === "original-green" ? "cc-blob-cta--primary" : variant === "secondary" || variant === "original-pink" ? "cc-blob-cta--secondary" : "cc-blob-cta--half";
2400
2359
  return /* @__PURE__ */ jsxs11(
2401
2360
  "button",
2402
2361
  {
@@ -2406,14 +2365,14 @@ var JellyButton = forwardRef8(
2406
2365
  ...props,
2407
2366
  children: [
2408
2367
  /* @__PURE__ */ jsxs11("span", { className: "cc-blob-cta__color-wrap", "aria-hidden": "true", children: [
2409
- /* @__PURE__ */ jsx15("span", { className: "cc-blob-cta__color cc-blob-cta__color--1" }),
2410
- /* @__PURE__ */ jsx15("span", { className: "cc-blob-cta__color cc-blob-cta__color--3" }),
2411
- /* @__PURE__ */ jsx15("span", { className: "cc-blob-cta__color cc-blob-cta__color--2" }),
2412
- /* @__PURE__ */ jsx15("span", { className: "cc-blob-cta__bg" })
2368
+ /* @__PURE__ */ jsx14("span", { className: "cc-blob-cta__color cc-blob-cta__color--1" }),
2369
+ /* @__PURE__ */ jsx14("span", { className: "cc-blob-cta__color cc-blob-cta__color--3" }),
2370
+ /* @__PURE__ */ jsx14("span", { className: "cc-blob-cta__color cc-blob-cta__color--2" }),
2371
+ /* @__PURE__ */ jsx14("span", { className: "cc-blob-cta__bg" })
2413
2372
  ] }),
2414
- /* @__PURE__ */ jsx15("span", { className: "cc-blob-cta__label", children }),
2415
- /* @__PURE__ */ jsx15("span", { className: "cc-blob-cta__glow cc-blob-cta__glow--1", "aria-hidden": "true" }),
2416
- /* @__PURE__ */ jsx15("span", { className: "cc-blob-cta__glow cc-blob-cta__glow--2", "aria-hidden": "true" })
2373
+ /* @__PURE__ */ jsx14("span", { className: "cc-blob-cta__label", children }),
2374
+ /* @__PURE__ */ jsx14("span", { className: "cc-blob-cta__glow cc-blob-cta__glow--1", "aria-hidden": "true" }),
2375
+ /* @__PURE__ */ jsx14("span", { className: "cc-blob-cta__glow cc-blob-cta__glow--2", "aria-hidden": "true" })
2417
2376
  ]
2418
2377
  }
2419
2378
  );
@@ -2422,7 +2381,7 @@ var JellyButton = forwardRef8(
2422
2381
  JellyButton.displayName = "JellyButton";
2423
2382
 
2424
2383
  // src/components/cupcode/JellyButtonOriginal.tsx
2425
- import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
2384
+ import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
2426
2385
  var resolveResponsiveSize = (value, currentBp) => {
2427
2386
  var _a78, _b7, _c, _d, _e;
2428
2387
  if (typeof value === "string") {
@@ -2472,7 +2431,7 @@ function JellyButtonOriginal({
2472
2431
  window.location.href = href;
2473
2432
  }
2474
2433
  };
2475
- return /* @__PURE__ */ jsx16(
2434
+ return /* @__PURE__ */ jsx15(
2476
2435
  JellyButton,
2477
2436
  {
2478
2437
  variant: color === "green" ? "original-green" : "original-pink",
@@ -2480,8 +2439,8 @@ function JellyButtonOriginal({
2480
2439
  className,
2481
2440
  onClick: handleClick,
2482
2441
  children: /* @__PURE__ */ jsxs12("span", { className: "inline-flex items-center gap-2", children: [
2483
- icon ? /* @__PURE__ */ jsx16("span", { className: "inline-flex items-center justify-center", children: icon }) : null,
2484
- /* @__PURE__ */ jsx16("span", { children: label })
2442
+ icon ? /* @__PURE__ */ jsx15("span", { className: "inline-flex items-center justify-center", children: icon }) : null,
2443
+ /* @__PURE__ */ jsx15("span", { children: label })
2485
2444
  ] })
2486
2445
  }
2487
2446
  );
@@ -2491,7 +2450,7 @@ function JellyButtonOriginal({
2491
2450
  import * as React8 from "react";
2492
2451
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2493
2452
  import { Check as Check2, ChevronRight, Circle } from "lucide-react";
2494
- import { jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
2453
+ import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
2495
2454
  var DropdownMenu = DropdownMenuPrimitive.Root;
2496
2455
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
2497
2456
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -2510,12 +2469,12 @@ var DropdownMenuSubTrigger = React8.forwardRef(({ className, inset, children, ..
2510
2469
  ...props,
2511
2470
  children: [
2512
2471
  children,
2513
- /* @__PURE__ */ jsx17(ChevronRight, { className: "ml-auto h-4 w-4" })
2472
+ /* @__PURE__ */ jsx16(ChevronRight, { className: "ml-auto h-4 w-4" })
2514
2473
  ]
2515
2474
  }
2516
2475
  ));
2517
2476
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
2518
- var DropdownMenuSubContent = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
2477
+ var DropdownMenuSubContent = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
2519
2478
  DropdownMenuPrimitive.SubContent,
2520
2479
  {
2521
2480
  ref,
@@ -2527,7 +2486,7 @@ var DropdownMenuSubContent = React8.forwardRef(({ className, ...props }, ref) =>
2527
2486
  }
2528
2487
  ));
2529
2488
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
2530
- var DropdownMenuContent = React8.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx17(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
2489
+ var DropdownMenuContent = React8.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
2531
2490
  DropdownMenuPrimitive.Content,
2532
2491
  {
2533
2492
  ref,
@@ -2540,7 +2499,7 @@ var DropdownMenuContent = React8.forwardRef(({ className, sideOffset = 4, ...pro
2540
2499
  }
2541
2500
  ) }));
2542
2501
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
2543
- var DropdownMenuItem = React8.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx17(
2502
+ var DropdownMenuItem = React8.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx16(
2544
2503
  DropdownMenuPrimitive.Item,
2545
2504
  {
2546
2505
  ref,
@@ -2564,7 +2523,7 @@ var DropdownMenuCheckboxItem = React8.forwardRef(({ className, children, checked
2564
2523
  checked,
2565
2524
  ...props,
2566
2525
  children: [
2567
- /* @__PURE__ */ jsx17("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx17(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(Check2, { className: "h-4 w-4" }) }) }),
2526
+ /* @__PURE__ */ jsx16("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx16(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(Check2, { className: "h-4 w-4" }) }) }),
2568
2527
  children
2569
2528
  ]
2570
2529
  }
@@ -2580,13 +2539,13 @@ var DropdownMenuRadioItem = React8.forwardRef(({ className, children, ...props }
2580
2539
  ),
2581
2540
  ...props,
2582
2541
  children: [
2583
- /* @__PURE__ */ jsx17("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx17(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(Circle, { className: "h-2 w-2 fill-current" }) }) }),
2542
+ /* @__PURE__ */ jsx16("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx16(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(Circle, { className: "h-2 w-2 fill-current" }) }) }),
2584
2543
  children
2585
2544
  ]
2586
2545
  }
2587
2546
  ));
2588
2547
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
2589
- var DropdownMenuLabel = React8.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx17(
2548
+ var DropdownMenuLabel = React8.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx16(
2590
2549
  DropdownMenuPrimitive.Label,
2591
2550
  {
2592
2551
  ref,
@@ -2595,10 +2554,10 @@ var DropdownMenuLabel = React8.forwardRef(({ className, inset, ...props }, ref)
2595
2554
  }
2596
2555
  ));
2597
2556
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
2598
- var DropdownMenuSeparator = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
2557
+ var DropdownMenuSeparator = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
2599
2558
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
2600
2559
  var DropdownMenuShortcut = ({ className, ...props }) => {
2601
- return /* @__PURE__ */ jsx17("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
2560
+ return /* @__PURE__ */ jsx16("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
2602
2561
  };
2603
2562
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
2604
2563
 
@@ -2610,13 +2569,14 @@ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
2610
2569
  import * as React9 from "react";
2611
2570
  import { Slot } from "@radix-ui/react-slot";
2612
2571
  import { cva } from "class-variance-authority";
2613
- import { jsx as jsx18 } from "react/jsx-runtime";
2572
+ import { jsx as jsx17 } from "react/jsx-runtime";
2614
2573
  var buttonVariants = cva(
2615
2574
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
2616
2575
  {
2617
2576
  variants: {
2618
2577
  variant: {
2619
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
2578
+ default: "bg-[#18b765] text-white hover:bg-[#149355]",
2579
+ primary: "bg-[#18b765] text-white hover:bg-[#149355]",
2620
2580
  destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
2621
2581
  outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
2622
2582
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
@@ -2639,17 +2599,17 @@ var buttonVariants = cva(
2639
2599
  var Button = React9.forwardRef(
2640
2600
  ({ className, variant, size, asChild = false, ...props }, ref) => {
2641
2601
  const Comp = asChild ? Slot : "button";
2642
- return /* @__PURE__ */ jsx18(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
2602
+ return /* @__PURE__ */ jsx17(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
2643
2603
  }
2644
2604
  );
2645
2605
  Button.displayName = "Button";
2646
2606
 
2647
2607
  // src/components/ui/alert-dialog.tsx
2648
- import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
2608
+ import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
2649
2609
  var AlertDialog = AlertDialogPrimitive.Root;
2650
2610
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
2651
2611
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
2652
- var AlertDialogOverlay = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
2612
+ var AlertDialogOverlay = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
2653
2613
  AlertDialogPrimitive.Overlay,
2654
2614
  {
2655
2615
  className: cn(
@@ -2662,8 +2622,8 @@ var AlertDialogOverlay = React10.forwardRef(({ className, ...props }, ref) => /*
2662
2622
  ));
2663
2623
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
2664
2624
  var AlertDialogContent = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs14(AlertDialogPortal, { children: [
2665
- /* @__PURE__ */ jsx19(AlertDialogOverlay, {}),
2666
- /* @__PURE__ */ jsx19(
2625
+ /* @__PURE__ */ jsx18(AlertDialogOverlay, {}),
2626
+ /* @__PURE__ */ jsx18(
2667
2627
  AlertDialogPrimitive.Content,
2668
2628
  {
2669
2629
  ref,
@@ -2676,17 +2636,17 @@ var AlertDialogContent = React10.forwardRef(({ className, ...props }, ref) => /*
2676
2636
  )
2677
2637
  ] }));
2678
2638
  AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
2679
- var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx19("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
2639
+ var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx18("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
2680
2640
  AlertDialogHeader.displayName = "AlertDialogHeader";
2681
- var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx19("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2641
+ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx18("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2682
2642
  AlertDialogFooter.displayName = "AlertDialogFooter";
2683
- var AlertDialogTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
2643
+ var AlertDialogTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
2684
2644
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
2685
- var AlertDialogDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2645
+ var AlertDialogDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2686
2646
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
2687
- var AlertDialogAction = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
2647
+ var AlertDialogAction = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
2688
2648
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
2689
- var AlertDialogCancel = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
2649
+ var AlertDialogCancel = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
2690
2650
  AlertDialogPrimitive.Cancel,
2691
2651
  {
2692
2652
  ref,
@@ -2700,12 +2660,12 @@ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
2700
2660
  import * as React11 from "react";
2701
2661
  import * as DialogPrimitive from "@radix-ui/react-dialog";
2702
2662
  import { X as X3 } from "lucide-react";
2703
- import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
2663
+ import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
2704
2664
  var Dialog = DialogPrimitive.Root;
2705
2665
  var DialogTrigger = DialogPrimitive.Trigger;
2706
2666
  var DialogPortal = DialogPrimitive.Portal;
2707
2667
  var DialogClose = DialogPrimitive.Close;
2708
- var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
2668
+ var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
2709
2669
  DialogPrimitive.Overlay,
2710
2670
  {
2711
2671
  ref,
@@ -2718,7 +2678,7 @@ var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__P
2718
2678
  ));
2719
2679
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
2720
2680
  var DialogContent = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs15(DialogPortal, { children: [
2721
- /* @__PURE__ */ jsx20(DialogOverlay, {}),
2681
+ /* @__PURE__ */ jsx19(DialogOverlay, {}),
2722
2682
  /* @__PURE__ */ jsxs15(
2723
2683
  DialogPrimitive.Content,
2724
2684
  {
@@ -2731,19 +2691,19 @@ var DialogContent = React11.forwardRef(({ className, children, ...props }, ref)
2731
2691
  children: [
2732
2692
  children,
2733
2693
  /* @__PURE__ */ jsxs15(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
2734
- /* @__PURE__ */ jsx20(X3, { className: "h-4 w-4" }),
2735
- /* @__PURE__ */ jsx20("span", { className: "sr-only", children: "Close" })
2694
+ /* @__PURE__ */ jsx19(X3, { className: "h-4 w-4" }),
2695
+ /* @__PURE__ */ jsx19("span", { className: "sr-only", children: "Close" })
2736
2696
  ] })
2737
2697
  ]
2738
2698
  }
2739
2699
  )
2740
2700
  ] }));
2741
2701
  DialogContent.displayName = DialogPrimitive.Content.displayName;
2742
- var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx20("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
2702
+ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx19("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
2743
2703
  DialogHeader.displayName = "DialogHeader";
2744
- var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx20("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2704
+ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx19("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2745
2705
  DialogFooter.displayName = "DialogFooter";
2746
- var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
2706
+ var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
2747
2707
  DialogPrimitive.Title,
2748
2708
  {
2749
2709
  ref,
@@ -2752,14 +2712,14 @@ var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
2752
2712
  }
2753
2713
  ));
2754
2714
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
2755
- var DialogDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2715
+ var DialogDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2756
2716
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
2757
2717
 
2758
2718
  // src/components/ui/switch.tsx
2759
2719
  import * as React12 from "react";
2760
2720
  import * as SwitchPrimitives from "@radix-ui/react-switch";
2761
- import { jsx as jsx21 } from "react/jsx-runtime";
2762
- var Switch = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
2721
+ import { jsx as jsx20 } from "react/jsx-runtime";
2722
+ var Switch = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
2763
2723
  SwitchPrimitives.Root,
2764
2724
  {
2765
2725
  className: cn(
@@ -2768,7 +2728,7 @@ var Switch = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2768
2728
  ),
2769
2729
  ...props,
2770
2730
  ref,
2771
- children: /* @__PURE__ */ jsx21(
2731
+ children: /* @__PURE__ */ jsx20(
2772
2732
  SwitchPrimitives.Thumb,
2773
2733
  {
2774
2734
  className: cn(
@@ -4442,6 +4402,47 @@ function useTelescupAssets(options) {
4442
4402
  };
4443
4403
  }
4444
4404
 
4405
+ // src/components/cupcode/TelescupImage.tsx
4406
+ import { jsx as jsx21 } from "react/jsx-runtime";
4407
+ var TelescupImage = ({
4408
+ apiId,
4409
+ imageWidth,
4410
+ imageHeight,
4411
+ fit = "cover",
4412
+ format = "avif",
4413
+ quality = 60,
4414
+ lang = "pt-BR",
4415
+ alt,
4416
+ title,
4417
+ loading = "lazy",
4418
+ className,
4419
+ ...props
4420
+ }) => {
4421
+ const { url, meta } = useTelescupImage(
4422
+ {
4423
+ id: apiId,
4424
+ width: imageWidth,
4425
+ height: imageHeight,
4426
+ fit,
4427
+ format,
4428
+ quality
4429
+ },
4430
+ lang
4431
+ );
4432
+ return /* @__PURE__ */ jsx21(
4433
+ "img",
4434
+ {
4435
+ src: url,
4436
+ "data-api-id": apiId,
4437
+ alt: alt || meta.alt || "",
4438
+ title: title || meta.title,
4439
+ loading,
4440
+ className,
4441
+ ...props
4442
+ }
4443
+ );
4444
+ };
4445
+
4445
4446
  // src/components/cupcode/TelescupVideo.tsx
4446
4447
  import { jsx as jsx22 } from "react/jsx-runtime";
4447
4448
  var TelescupVideo = ({
@@ -6425,7 +6426,9 @@ var applyThemePreference = (preference) => {
6425
6426
  const appliedMode = resolveAppliedThemeMode(preference);
6426
6427
  root.classList.toggle("dark", appliedMode === "dark");
6427
6428
  root.classList.toggle("light", appliedMode === "light");
6429
+ root.dataset.theme = appliedMode;
6428
6430
  root.dataset.cupcodeTheme = preference;
6431
+ root.style.colorScheme = appliedMode;
6429
6432
  if (typeof window === "undefined") return;
6430
6433
  try {
6431
6434
  window.localStorage.setItem(THEME_PREFERENCE_STORAGE_KEY, preference);
@@ -10039,7 +10042,7 @@ var UserMenuCupcode = ({
10039
10042
  return /* @__PURE__ */ jsx35("div", { className: cn("h-11 w-11 animate-pulse rounded-full bg-muted/70", className) });
10040
10043
  }
10041
10044
  if (!isAuthenticated) {
10042
- return /* @__PURE__ */ jsx35(JellyButtonOriginal, { label: loginLabel, size: "sm", className, onClick: onLogin });
10045
+ return /* @__PURE__ */ jsx35(JellyButtonOriginal, { label: loginLabel, color: "green", size: "sm", className, onClick: onLogin });
10043
10046
  }
10044
10047
  const customPanel = panels == null ? void 0 : panels[activeTab];
10045
10048
  const hasCustomPanel = typeof customPanel !== "undefined";
@@ -21886,10 +21889,490 @@ var Toaster = ({ theme, ...props }) => {
21886
21889
  );
21887
21890
  };
21888
21891
 
21892
+ // src/components/use-app-theme.ts
21893
+ import { useContext } from "react";
21894
+
21895
+ // src/components/theme-context.ts
21896
+ import { createContext } from "react";
21897
+ var ThemeContext = createContext(null);
21898
+
21899
+ // src/components/use-app-theme.ts
21900
+ function useAppTheme() {
21901
+ const context = useContext(ThemeContext);
21902
+ if (!context) {
21903
+ throw new Error("useAppTheme must be used inside ThemeProvider");
21904
+ }
21905
+ return context;
21906
+ }
21907
+
21908
+ // src/components/theme-toggle.tsx
21909
+ import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
21910
+ function ThemeToggle({ className }) {
21911
+ const { theme, toggleTheme } = useAppTheme();
21912
+ const isDark = theme === "dark";
21913
+ const handleClick = (event) => {
21914
+ toggleTheme({
21915
+ x: event.clientX,
21916
+ y: event.clientY
21917
+ });
21918
+ };
21919
+ return /* @__PURE__ */ jsxs23(
21920
+ "button",
21921
+ {
21922
+ type: "button",
21923
+ onClick: handleClick,
21924
+ "aria-label": isDark ? "Ativar modo claro" : "Ativar modo escuro",
21925
+ "aria-pressed": isDark,
21926
+ title: isDark ? "Ativar modo claro" : "Ativar modo escuro",
21927
+ className: ["cc-theme-toggle", isDark ? "is-dark" : "", className].filter(Boolean).join(" "),
21928
+ children: [
21929
+ /* @__PURE__ */ jsxs23("span", { className: "track", children: [
21930
+ /* @__PURE__ */ jsxs23("span", { className: "light-bg", children: [
21931
+ /* @__PURE__ */ jsx38("span", { className: "light-orb light-orb-1" }),
21932
+ /* @__PURE__ */ jsx38("span", { className: "light-orb light-orb-2" }),
21933
+ /* @__PURE__ */ jsx38("span", { className: "light-sweep" }),
21934
+ /* @__PURE__ */ jsx38("span", { className: "light-veil" })
21935
+ ] }),
21936
+ /* @__PURE__ */ jsx38("span", { className: "stars stars-1" }),
21937
+ /* @__PURE__ */ jsx38("span", { className: "stars stars-2" }),
21938
+ /* @__PURE__ */ jsx38("span", { className: "stars stars-3" }),
21939
+ /* @__PURE__ */ jsx38("span", { className: "cloud cloud-1" }),
21940
+ /* @__PURE__ */ jsx38("span", { className: "cloud cloud-2" }),
21941
+ /* @__PURE__ */ jsxs23("span", { className: "thumb", children: [
21942
+ /* @__PURE__ */ jsx38("span", { className: "sun-core" }),
21943
+ /* @__PURE__ */ jsx38("span", { className: "moon-cut" })
21944
+ ] })
21945
+ ] }),
21946
+ /* @__PURE__ */ jsx38("style", { children: `
21947
+ :root {
21948
+ --toggle-width: 76px;
21949
+ --toggle-height: 42px;
21950
+ --thumb-size: 30px;
21951
+ --toggle-thumb-offset: 34px;
21952
+ --duration: 560ms;
21953
+ --ease: cubic-bezier(0.22, 1, 0.36, 1);
21954
+ --dark-top: #7c5bbb;
21955
+ --dark-bottom: #3a2a58;
21956
+ }
21957
+
21958
+ .cc-theme-toggle {
21959
+ border: 0;
21960
+ background: transparent;
21961
+ padding: 0;
21962
+ cursor: pointer;
21963
+ display: inline-flex;
21964
+ align-items: center;
21965
+ justify-content: center;
21966
+ flex-shrink: 0;
21967
+ }
21968
+
21969
+ .cc-theme-toggle .track {
21970
+ position: relative;
21971
+ width: var(--toggle-width);
21972
+ height: var(--toggle-height);
21973
+ border-radius: 999px;
21974
+ overflow: hidden;
21975
+ background: linear-gradient(180deg, #f7f6fb 0%, #f1edf9 55%, #e6def5 100%);
21976
+ box-shadow:
21977
+ inset 0 1px 0 rgba(255, 255, 255, 0.92),
21978
+ inset 0 0 0 1px rgba(232, 219, 255, 0.85),
21979
+ 0 0 0 1px rgba(227, 182, 255, 0.45),
21980
+ 0 8px 24px rgba(134, 102, 182, 0.18);
21981
+ transition:
21982
+ background var(--duration) var(--ease),
21983
+ box-shadow var(--duration) var(--ease);
21984
+ }
21985
+
21986
+ .cc-theme-toggle .track::before {
21987
+ content: "";
21988
+ position: absolute;
21989
+ inset: 0;
21990
+ border-radius: inherit;
21991
+ padding: 1px;
21992
+ background: linear-gradient(
21993
+ 90deg,
21994
+ rgba(200, 106, 232, 0.95) 0%,
21995
+ rgba(199, 166, 255, 0.95) 38%,
21996
+ rgba(239, 233, 255, 0.95) 68%,
21997
+ rgba(243, 123, 175, 0.95) 100%
21998
+ );
21999
+ -webkit-mask:
22000
+ linear-gradient(#000 0 0) content-box,
22001
+ linear-gradient(#000 0 0);
22002
+ -webkit-mask-composite: xor;
22003
+ mask-composite: exclude;
22004
+ pointer-events: none;
22005
+ }
22006
+
22007
+ .cc-theme-toggle .track::after {
22008
+ content: "";
22009
+ position: absolute;
22010
+ inset: 4px;
22011
+ border-radius: inherit;
22012
+ border: 1px solid rgba(255, 255, 255, 0.72);
22013
+ box-shadow: inset 0 0 0 1px rgba(217, 204, 248, 0.38);
22014
+ pointer-events: none;
22015
+ }
22016
+
22017
+ .cc-theme-toggle .light-bg {
22018
+ position: absolute;
22019
+ inset: 0;
22020
+ border-radius: inherit;
22021
+ overflow: hidden;
22022
+ opacity: 1;
22023
+ transition: opacity 240ms ease;
22024
+ z-index: 0;
22025
+ }
22026
+
22027
+ .cc-theme-toggle .light-orb {
22028
+ position: absolute;
22029
+ border-radius: 999px;
22030
+ filter: blur(10px);
22031
+ will-change: transform, opacity;
22032
+ }
22033
+
22034
+ .cc-theme-toggle .light-orb-1 {
22035
+ width: 48px;
22036
+ height: 28px;
22037
+ left: -8px;
22038
+ bottom: -1px;
22039
+ background: radial-gradient(
22040
+ ellipse at center,
22041
+ rgba(241, 138, 195, 0.58) 0%,
22042
+ rgba(232, 167, 208, 0.24) 58%,
22043
+ rgba(255, 255, 255, 0) 100%
22044
+ );
22045
+ animation: cc-theme-light-flow-pink 6.4s ease-in-out infinite;
22046
+ }
22047
+
22048
+ .cc-theme-toggle .light-orb-2 {
22049
+ width: 52px;
22050
+ height: 30px;
22051
+ right: -10px;
22052
+ top: -3px;
22053
+ background: radial-gradient(
22054
+ ellipse at center,
22055
+ rgba(200, 141, 255, 0.34) 0%,
22056
+ rgba(217, 184, 255, 0.14) 60%,
22057
+ rgba(255, 255, 255, 0) 100%
22058
+ );
22059
+ animation: cc-theme-light-flow-purple 6.4s ease-in-out infinite;
22060
+ }
22061
+
22062
+ .cc-theme-toggle .light-sweep {
22063
+ position: absolute;
22064
+ left: -44px;
22065
+ bottom: 5px;
22066
+ width: 42px;
22067
+ height: 4px;
22068
+ border-radius: 999px;
22069
+ background: linear-gradient(
22070
+ 90deg,
22071
+ rgba(255, 122, 200, 0) 0%,
22072
+ rgba(217, 108, 255, 0.65) 35%,
22073
+ rgba(183, 124, 255, 0.8) 70%,
22074
+ rgba(255, 255, 255, 0) 100%
22075
+ );
22076
+ filter: blur(2px);
22077
+ opacity: 0.9;
22078
+ animation: cc-theme-light-sweep 4.3s linear infinite;
22079
+ }
22080
+
22081
+ .cc-theme-toggle .light-veil {
22082
+ position: absolute;
22083
+ inset: 0;
22084
+ background: rgba(255, 255, 255, 0.16);
22085
+ animation: cc-theme-light-veil 5.8s ease-in-out infinite;
22086
+ }
22087
+
22088
+ .cc-theme-toggle.is-dark .track {
22089
+ background: linear-gradient(180deg, var(--dark-top) 0%, var(--dark-bottom) 100%);
22090
+ box-shadow:
22091
+ inset 0 2px 8px rgba(255, 255, 255, 0.06),
22092
+ inset 0 -4px 12px rgba(0, 0, 0, 0.28),
22093
+ 0 8px 24px rgba(58, 42, 88, 0.3);
22094
+ }
22095
+
22096
+ .cc-theme-toggle.is-dark .track::before,
22097
+ .cc-theme-toggle.is-dark .track::after,
22098
+ .cc-theme-toggle.is-dark .light-bg {
22099
+ opacity: 0;
22100
+ }
22101
+
22102
+ .cc-theme-toggle .thumb {
22103
+ position: absolute;
22104
+ top: 6px;
22105
+ left: 6px;
22106
+ width: var(--thumb-size);
22107
+ height: var(--thumb-size);
22108
+ border-radius: 50%;
22109
+ background: linear-gradient(180deg, #ffd76a 0%, #ffb238 100%);
22110
+ box-shadow:
22111
+ 0 4px 10px rgba(255, 176, 56, 0.35),
22112
+ inset 0 2px 4px rgba(255, 255, 255, 0.5);
22113
+ transition:
22114
+ transform var(--duration) var(--ease),
22115
+ background var(--duration) var(--ease),
22116
+ box-shadow var(--duration) var(--ease);
22117
+ z-index: 3;
22118
+ overflow: hidden;
22119
+ }
22120
+
22121
+ .cc-theme-toggle.is-dark .thumb {
22122
+ transform: translateX(var(--toggle-thumb-offset));
22123
+ background: linear-gradient(180deg, #f5f7ff 0%, #cfd8ef 100%);
22124
+ box-shadow:
22125
+ 0 4px 12px rgba(194, 208, 255, 0.25),
22126
+ inset 0 2px 4px rgba(255, 255, 255, 0.8);
22127
+ }
22128
+
22129
+ .cc-theme-toggle .sun-core {
22130
+ position: absolute;
22131
+ inset: 0;
22132
+ border-radius: 50%;
22133
+ }
22134
+
22135
+ .cc-theme-toggle .moon-cut {
22136
+ position: absolute;
22137
+ width: 22px;
22138
+ height: 22px;
22139
+ border-radius: 50%;
22140
+ background: linear-gradient(180deg, var(--dark-top) 0%, var(--dark-bottom) 100%);
22141
+ top: 4px;
22142
+ left: 12px;
22143
+ transform: scale(0.2);
22144
+ opacity: 0;
22145
+ transition:
22146
+ transform var(--duration) var(--ease),
22147
+ opacity calc(var(--duration) * 0.8) var(--ease);
22148
+ }
22149
+
22150
+ .cc-theme-toggle.is-dark .moon-cut {
22151
+ transform: scale(1);
22152
+ opacity: 1;
22153
+ }
22154
+
22155
+ .cc-theme-toggle .stars {
22156
+ position: absolute;
22157
+ border-radius: 50%;
22158
+ background: white;
22159
+ opacity: 0;
22160
+ transform: scale(0.9);
22161
+ z-index: 1;
22162
+ }
22163
+
22164
+ .cc-theme-toggle .stars::after {
22165
+ content: "";
22166
+ position: absolute;
22167
+ inset: -3px;
22168
+ border-radius: 50%;
22169
+ background: rgba(255, 255, 255, 0.18);
22170
+ filter: blur(3px);
22171
+ }
22172
+
22173
+ .cc-theme-toggle .stars-1 {
22174
+ width: 4px;
22175
+ height: 4px;
22176
+ top: 9px;
22177
+ left: 14px;
22178
+ animation: cc-theme-star-blink-1 1.9s ease-in-out infinite;
22179
+ }
22180
+
22181
+ .cc-theme-toggle .stars-2 {
22182
+ width: 4px;
22183
+ height: 4px;
22184
+ top: 15px;
22185
+ left: 26px;
22186
+ animation: cc-theme-star-blink-2 2.3s ease-in-out infinite;
22187
+ }
22188
+
22189
+ .cc-theme-toggle .stars-3 {
22190
+ width: 3px;
22191
+ height: 3px;
22192
+ top: 26px;
22193
+ left: 20px;
22194
+ animation: cc-theme-star-blink-3 1.7s ease-in-out infinite;
22195
+ }
22196
+
22197
+ .cc-theme-toggle:not(.is-dark) .stars {
22198
+ opacity: 0;
22199
+ animation-play-state: paused;
22200
+ }
22201
+
22202
+ .cc-theme-toggle.is-dark .stars {
22203
+ animation-play-state: running;
22204
+ }
22205
+
22206
+ .cc-theme-toggle .cloud {
22207
+ position: absolute;
22208
+ background: #fff;
22209
+ border-radius: 999px;
22210
+ transition: opacity 320ms ease;
22211
+ will-change: transform;
22212
+ }
22213
+
22214
+ .cc-theme-toggle .cloud::before,
22215
+ .cc-theme-toggle .cloud::after {
22216
+ content: "";
22217
+ position: absolute;
22218
+ background: inherit;
22219
+ border-radius: 50%;
22220
+ }
22221
+
22222
+ .cc-theme-toggle .cloud-1 {
22223
+ width: 6px;
22224
+ height: 2.5px;
22225
+ left: 58px;
22226
+ top: 11px;
22227
+ box-shadow: 3.5px 0 0 0 #fff;
22228
+ z-index: 2;
22229
+ animation: cc-theme-cloud-float-small 4.8s ease-in-out infinite;
22230
+ }
22231
+
22232
+ .cc-theme-toggle .cloud-1::before {
22233
+ width: 3px;
22234
+ height: 3px;
22235
+ left: 0.5px;
22236
+ top: -1.5px;
22237
+ }
22238
+
22239
+ .cc-theme-toggle .cloud-1::after {
22240
+ width: 4px;
22241
+ height: 4px;
22242
+ left: 2.5px;
22243
+ top: -2.5px;
22244
+ }
22245
+
22246
+ .cc-theme-toggle .cloud-2 {
22247
+ width: 18px;
22248
+ height: 7px;
22249
+ left: 40px;
22250
+ top: 23px;
22251
+ box-shadow: 12px 0 0 0 #fff;
22252
+ z-index: 2;
22253
+ animation: cc-theme-cloud-float-large 9.6s ease-in-out infinite;
22254
+ }
22255
+
22256
+ .cc-theme-toggle .cloud-2::before {
22257
+ width: 10px;
22258
+ height: 10px;
22259
+ left: 2px;
22260
+ top: -5px;
22261
+ }
22262
+
22263
+ .cc-theme-toggle .cloud-2::after {
22264
+ width: 13px;
22265
+ height: 13px;
22266
+ left: 9px;
22267
+ top: -9px;
22268
+ }
22269
+
22270
+ .cc-theme-toggle.is-dark .cloud {
22271
+ opacity: 0;
22272
+ animation-play-state: paused;
22273
+ }
22274
+
22275
+ .cc-theme-toggle:focus-visible .track {
22276
+ outline: 3px solid rgba(99, 102, 241, 0.45);
22277
+ outline-offset: 4px;
22278
+ }
22279
+
22280
+ @keyframes cc-theme-light-flow-pink {
22281
+ 0% { transform: translateX(-8px) translateY(0px); opacity: 0.7; }
22282
+ 25% { transform: translateX(4px) translateY(-1px); opacity: 0.48; }
22283
+ 50% { transform: translateX(18px) translateY(-3px); opacity: 0.22; }
22284
+ 75% { transform: translateX(30px) translateY(-5px); opacity: 0.12; }
22285
+ 100% { transform: translateX(-8px) translateY(0px); opacity: 0.7; }
22286
+ }
22287
+
22288
+ @keyframes cc-theme-light-flow-purple {
22289
+ 0% { transform: translateX(0px) translateY(0px); opacity: 0.22; }
22290
+ 25% { transform: translateX(-12px) translateY(0px); opacity: 0.34; }
22291
+ 50% { transform: translateX(-24px) translateY(2px); opacity: 0.46; }
22292
+ 75% { transform: translateX(-34px) translateY(5px); opacity: 0.24; }
22293
+ 100% { transform: translateX(0px) translateY(0px); opacity: 0.22; }
22294
+ }
22295
+
22296
+ @keyframes cc-theme-light-sweep {
22297
+ 0% { transform: translateX(0); opacity: 0; }
22298
+ 25% { opacity: 0.95; }
22299
+ 60% { opacity: 0.72; }
22300
+ 100% { transform: translateX(124px); opacity: 0; }
22301
+ }
22302
+
22303
+ @keyframes cc-theme-light-veil {
22304
+ 0%, 100% { opacity: 0.18; }
22305
+ 30% { opacity: 0.1; }
22306
+ 60% { opacity: 0.16; }
22307
+ 80% { opacity: 0.22; }
22308
+ }
22309
+
22310
+ @keyframes cc-theme-cloud-float-small {
22311
+ 0% { transform: translateX(0); }
22312
+ 50% { transform: translateX(-12px); }
22313
+ 100% { transform: translateX(0); }
22314
+ }
22315
+
22316
+ @keyframes cc-theme-cloud-float-large {
22317
+ 0% { transform: translateX(0); }
22318
+ 50% { transform: translateX(-18px); }
22319
+ 100% { transform: translateX(0); }
22320
+ }
22321
+
22322
+ @keyframes cc-theme-star-blink-1 {
22323
+ 0%, 100% { opacity: 0.35; transform: scale(0.9); }
22324
+ 50% { opacity: 1; transform: scale(1.08); }
22325
+ }
22326
+
22327
+ @keyframes cc-theme-star-blink-2 {
22328
+ 0%, 100% { opacity: 0.25; transform: scale(0.85); }
22329
+ 45% { opacity: 0.95; transform: scale(1.05); }
22330
+ }
22331
+
22332
+ @keyframes cc-theme-star-blink-3 {
22333
+ 0%, 100% { opacity: 0.3; transform: scale(0.9); }
22334
+ 55% { opacity: 1; transform: scale(1.12); }
22335
+ }
22336
+ ` })
22337
+ ]
22338
+ }
22339
+ );
22340
+ }
22341
+
21889
22342
  // src/lib/accountsAuth.ts
21890
22343
  var normalizeBaseUrl2 = (value) => value.replace(/\/+$/, "");
22344
+ var AUTH_REQUEST_TIMEOUT_MS = 8e3;
22345
+ var LOCAL_BROWSER_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
22346
+ var isLocalBrowserOrigin = () => {
22347
+ if (typeof window === "undefined") return false;
22348
+ return LOCAL_BROWSER_HOSTNAMES.has(window.location.hostname);
22349
+ };
22350
+ var getLocalRedirectUri = () => {
22351
+ if (typeof window === "undefined") {
22352
+ return "http://localhost:8080/auth/callback";
22353
+ }
22354
+ const port = window.location.port || "8080";
22355
+ return `${window.location.protocol}//localhost:${port}/auth/callback`;
22356
+ };
22357
+ var fetchWithTimeout = async (input, init, timeoutMs = AUTH_REQUEST_TIMEOUT_MS) => {
22358
+ const controller = new AbortController();
22359
+ const timeoutId = window.setTimeout(() => controller.abort(), timeoutMs);
22360
+ try {
22361
+ return await fetch(input, {
22362
+ ...init,
22363
+ signal: controller.signal
22364
+ });
22365
+ } catch (error) {
22366
+ if (error.name === "AbortError") {
22367
+ throw new Error("Timeout ao consultar o Accounts.");
22368
+ }
22369
+ throw error;
22370
+ } finally {
22371
+ window.clearTimeout(timeoutId);
22372
+ }
22373
+ };
21891
22374
  var getAccountsConfig = () => {
21892
- var _a78, _b7, _c;
22375
+ var _a78, _b7;
21893
22376
  const baseUrl = normalizeBaseUrl2(
21894
22377
  (_a78 = getRuntimeEnv("VITE_ACCOUNTS_BASE_URL")) != null ? _a78 : "https://accounts.cupcode.com.br"
21895
22378
  );
@@ -21897,12 +22380,14 @@ var getAccountsConfig = () => {
21897
22380
  if (!clientId) {
21898
22381
  throw new Error("VITE_ACCOUNTS_CLIENT_ID \xE9 obrigat\xF3rio para login.");
21899
22382
  }
21900
- const redirectUri = (_b7 = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI")) != null ? _b7 : `${window.location.origin}/auth/callback`;
22383
+ const runtimeRedirectUri = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI");
22384
+ const fallbackRedirectUri = typeof window === "undefined" ? "http://localhost:8080/auth/callback" : `${window.location.origin}/auth/callback`;
22385
+ const redirectUri = runtimeRedirectUri != null ? runtimeRedirectUri : isLocalBrowserOrigin() ? getLocalRedirectUri() : fallbackRedirectUri;
21901
22386
  return {
21902
22387
  baseUrl,
21903
22388
  clientId,
21904
22389
  redirectUri,
21905
- scope: (_c = getRuntimeEnv("VITE_ACCOUNTS_SCOPE")) != null ? _c : "openid profile email",
22390
+ scope: (_b7 = getRuntimeEnv("VITE_ACCOUNTS_SCOPE")) != null ? _b7 : "openid profile email",
21906
22391
  audience: getRuntimeEnv("VITE_ACCOUNTS_AUDIENCE"),
21907
22392
  authUrl: getRuntimeEnv("VITE_ACCOUNTS_AUTH_URL"),
21908
22393
  tokenUrl: getRuntimeEnv("VITE_ACCOUNTS_TOKEN_URL"),
@@ -21928,7 +22413,7 @@ var resolveOidcEndpoints = async (config) => {
21928
22413
  };
21929
22414
  }
21930
22415
  const discoveryUrl = `${normalizeBaseUrl2(config.baseUrl)}/.well-known/openid-configuration`;
21931
- const response = await fetch(discoveryUrl);
22416
+ const response = await fetchWithTimeout(discoveryUrl);
21932
22417
  if (!response.ok) {
21933
22418
  throw new Error("Falha ao resolver configura\xE7\xE3o OIDC do accounts.");
21934
22419
  }
@@ -22019,7 +22504,7 @@ var exchangeCodeForToken = async (config, tokenUrl, code, verifier) => {
22019
22504
  redirect_uri: config.redirectUri,
22020
22505
  code_verifier: verifier
22021
22506
  });
22022
- const response = await fetch(tokenUrl, {
22507
+ const response = await fetchWithTimeout(tokenUrl, {
22023
22508
  method: "POST",
22024
22509
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
22025
22510
  body
@@ -22066,7 +22551,7 @@ var decodeJwt = (token) => {
22066
22551
  };
22067
22552
 
22068
22553
  // src/components/cupcode/MainNavbar.tsx
22069
- import { Fragment as Fragment5, jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
22554
+ import { Fragment as Fragment5, jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
22070
22555
  var parsePositiveInteger = (rawValue, fallback) => {
22071
22556
  const parsed = Number(rawValue);
22072
22557
  if (!Number.isFinite(parsed) || parsed <= 0) return fallback;
@@ -22226,6 +22711,7 @@ var DATE_WITH_YEAR_PT_BR_FORMATTER = new Intl.DateTimeFormat("pt-BR", {
22226
22711
  year: "numeric"
22227
22712
  });
22228
22713
  var CHAT_FEATURE_FLAGS_STORAGE_KEY = "cc_chat_feature_flags";
22714
+ var DEFAULT_LOGO_SLOT_CLASS_NAME = "h-10 w-[175px] shrink-0";
22229
22715
  var getDefaultChatFeatureFlags = () => ({
22230
22716
  hasReadAt: true,
22231
22717
  hasReplyToMessage: true,
@@ -24027,30 +24513,7 @@ var MainNavbar = ({
24027
24513
  }, [currentPathname, onNavigate, showNavItems]);
24028
24514
  const resolvedLogo = useMemo9(() => {
24029
24515
  if (logo !== void 0) return logo;
24030
- return /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-[15px]", children: [
24031
- /* @__PURE__ */ jsx38(
24032
- TelescupImage,
24033
- {
24034
- apiId: "be574751-cf1b-499a-8473-360b4115b447",
24035
- imageWidth: 40,
24036
- imageHeight: 40,
24037
- alt: "Design System Cupcode",
24038
- loading: "eager",
24039
- className: "h-10 w-auto"
24040
- }
24041
- ),
24042
- /* @__PURE__ */ jsx38(
24043
- TelescupImage,
24044
- {
24045
- apiId: "3b913721-2eda-48fd-8d76-1a53055a337f",
24046
- imageWidth: 120,
24047
- imageHeight: 32,
24048
- alt: "Cupcode",
24049
- loading: "eager",
24050
- className: "h-8 w-auto"
24051
- }
24052
- )
24053
- ] });
24516
+ return /* @__PURE__ */ jsx39("div", { className: DEFAULT_LOGO_SLOT_CLASS_NAME, "aria-hidden": "true" });
24054
24517
  }, [logo]);
24055
24518
  const handleCtaClick = () => {
24056
24519
  if (onNavigate) {
@@ -24274,61 +24737,64 @@ var MainNavbar = ({
24274
24737
  },
24275
24738
  [authEmail, currentUserId, resolvedSenderId]
24276
24739
  );
24277
- return /* @__PURE__ */ jsx38(Fragment5, { children: /* @__PURE__ */ jsx38(
24740
+ return /* @__PURE__ */ jsx39(Fragment5, { children: /* @__PURE__ */ jsx39(
24278
24741
  NavbarCupcode,
24279
24742
  {
24280
24743
  logo: resolvedLogo,
24281
24744
  items,
24282
24745
  className,
24283
- actions: /* @__PURE__ */ jsx38("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx38(
24284
- UserMenuCupcode,
24285
- {
24286
- isAuthenticated: resolvedAuthStatus === "authenticated",
24287
- isLoading: resolvedAuthStatus === "loading",
24288
- loginLabel: ctaLabel,
24289
- displayName: authUser == null ? void 0 : authUser.name,
24290
- username: (_c = authUser == null ? void 0 : authUser.preferredUsername) != null ? _c : authUser == null ? void 0 : authUser.nickname,
24291
- email: authUser == null ? void 0 : authUser.email,
24292
- avatarUrl: resolvedProfileAvatarUrl,
24293
- roleLabel: authUser == null ? void 0 : authUser.jobTitle,
24294
- status: presenceStatus,
24295
- onStatusChange: onPresenceStatusChange,
24296
- chatUsers,
24297
- chatMessages,
24298
- chatReactions,
24299
- chatMessageLogs,
24300
- currentChatUserId: effectiveCurrentUserId,
24301
- chatUnreadCount,
24302
- chatUnreadByUser,
24303
- isChatSuperAdmin,
24304
- isChatLoading,
24305
- isChatSending,
24306
- chatError,
24307
- onChatSendMessage: handleChatSendMessage,
24308
- onChatMarkConversationRead: handleChatMarkConversationRead,
24309
- onChatToggleReaction: handleChatToggleReaction,
24310
- onChatEditMessage: handleChatEditMessage,
24311
- onChatDeleteMessage: handleChatDeleteMessage,
24312
- onChatViewMessageData: handleChatViewMessageData,
24313
- onChatOpenUserProfile: handleChatOpenUserProfile,
24314
- onChatSendEmail: handleChatSendEmail,
24315
- onChatAddToAgenda: handleChatAddToAgenda,
24316
- onLogin: handleCtaClick,
24317
- onLogout: handleLogoutClick,
24318
- onOpenAccount: handleOpenAccounts,
24319
- onOpenProfile: handleOpenAccountsProfile,
24320
- onOpenBilling: handleOpenAccountsBilling,
24321
- onOpenTasks: handleOpenMcTasks,
24322
- onProfileAvatarChange: handleProfileAvatarChange,
24323
- language: accountsLanguage,
24324
- onLanguageChange: handleLanguageChange,
24325
- recentActivity: accountsRecentActivity,
24326
- isRecentActivityLoading: isAccountsActivityLoading,
24327
- telescupBaseUrl: resolvedTelescupBaseUrl,
24328
- getTelescupAccessToken,
24329
- appVersion
24330
- }
24331
- ) })
24746
+ actions: /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
24747
+ /* @__PURE__ */ jsx39(ThemeToggle, {}),
24748
+ /* @__PURE__ */ jsx39(
24749
+ UserMenuCupcode,
24750
+ {
24751
+ isAuthenticated: resolvedAuthStatus === "authenticated",
24752
+ isLoading: resolvedAuthStatus === "loading",
24753
+ loginLabel: ctaLabel,
24754
+ displayName: authUser == null ? void 0 : authUser.name,
24755
+ username: (_c = authUser == null ? void 0 : authUser.preferredUsername) != null ? _c : authUser == null ? void 0 : authUser.nickname,
24756
+ email: authUser == null ? void 0 : authUser.email,
24757
+ avatarUrl: resolvedProfileAvatarUrl,
24758
+ roleLabel: authUser == null ? void 0 : authUser.jobTitle,
24759
+ status: presenceStatus,
24760
+ onStatusChange: onPresenceStatusChange,
24761
+ chatUsers,
24762
+ chatMessages,
24763
+ chatReactions,
24764
+ chatMessageLogs,
24765
+ currentChatUserId: effectiveCurrentUserId,
24766
+ chatUnreadCount,
24767
+ chatUnreadByUser,
24768
+ isChatSuperAdmin,
24769
+ isChatLoading,
24770
+ isChatSending,
24771
+ chatError,
24772
+ onChatSendMessage: handleChatSendMessage,
24773
+ onChatMarkConversationRead: handleChatMarkConversationRead,
24774
+ onChatToggleReaction: handleChatToggleReaction,
24775
+ onChatEditMessage: handleChatEditMessage,
24776
+ onChatDeleteMessage: handleChatDeleteMessage,
24777
+ onChatViewMessageData: handleChatViewMessageData,
24778
+ onChatOpenUserProfile: handleChatOpenUserProfile,
24779
+ onChatSendEmail: handleChatSendEmail,
24780
+ onChatAddToAgenda: handleChatAddToAgenda,
24781
+ onLogin: handleCtaClick,
24782
+ onLogout: handleLogoutClick,
24783
+ onOpenAccount: handleOpenAccounts,
24784
+ onOpenProfile: handleOpenAccountsProfile,
24785
+ onOpenBilling: handleOpenAccountsBilling,
24786
+ onOpenTasks: handleOpenMcTasks,
24787
+ onProfileAvatarChange: handleProfileAvatarChange,
24788
+ language: accountsLanguage,
24789
+ onLanguageChange: handleLanguageChange,
24790
+ recentActivity: accountsRecentActivity,
24791
+ isRecentActivityLoading: isAccountsActivityLoading,
24792
+ telescupBaseUrl: resolvedTelescupBaseUrl,
24793
+ getTelescupAccessToken,
24794
+ appVersion
24795
+ }
24796
+ )
24797
+ ] })
24332
24798
  }
24333
24799
  ) });
24334
24800
  };
@@ -24339,48 +24805,6 @@ import { ChevronDown as ChevronDown4, Circle as Circle2, Search as Search2 } fro
24339
24805
  import { useEffect as useEffect15, useMemo as useMemo10, useRef as useRef11, useState as useState14 } from "react";
24340
24806
  import { NavLink, useLocation } from "react-router-dom";
24341
24807
 
24342
- // src/components/layout/DsNavbarLogo.tsx
24343
- import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
24344
- var DsNavbarLogo = () => {
24345
- return /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-[15px]", children: [
24346
- /* @__PURE__ */ jsx39(
24347
- TelescupImage,
24348
- {
24349
- apiId: "be574751-cf1b-499a-8473-360b4115b447",
24350
- imageWidth: 40,
24351
- imageHeight: 40,
24352
- alt: "Design System Cupcode",
24353
- loading: "eager",
24354
- className: "h-10 w-auto"
24355
- }
24356
- ),
24357
- /* @__PURE__ */ jsx39(
24358
- TelescupImage,
24359
- {
24360
- apiId: "3b913721-2eda-48fd-8d76-1a53055a337f",
24361
- imageWidth: 120,
24362
- imageHeight: 32,
24363
- alt: "Cupcode",
24364
- loading: "eager",
24365
- className: "h-8 w-auto"
24366
- }
24367
- )
24368
- ] });
24369
- };
24370
- var DsNavbarCompactLogo = () => {
24371
- return /* @__PURE__ */ jsx39(
24372
- TelescupImage,
24373
- {
24374
- apiId: "be574751-cf1b-499a-8473-360b4115b447",
24375
- imageWidth: 32,
24376
- imageHeight: 32,
24377
- alt: "Cupcode",
24378
- loading: "eager",
24379
- className: "h-8 w-8 rounded-lg object-contain"
24380
- }
24381
- );
24382
- };
24383
-
24384
24808
  // src/components/layout/sidebar-groups.tsx
24385
24809
  var toStableId = (value) => value.toLowerCase().normalize("NFD").replace(/\p{Diacritic}+/gu, "").replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)+/g, "");
24386
24810
  var getGroupMetadata = (item) => {
@@ -24431,6 +24855,8 @@ var findGroupByRoute = (groups, pathname) => {
24431
24855
  return (_b7 = (_a78 = groups.find((group) => group.items.some((item) => item.route === pathname))) == null ? void 0 : _a78.label) != null ? _b7 : null;
24432
24856
  };
24433
24857
  var IconFallback = () => /* @__PURE__ */ jsx40(Circle2, { className: "h-3 w-3 opacity-80", "aria-hidden": "true" });
24858
+ var DEFAULT_EXPANDED_LOGO_SLOT = /* @__PURE__ */ jsx40("div", { className: "h-10 w-[175px] shrink-0", "aria-hidden": "true" });
24859
+ var DEFAULT_COLLAPSED_LOGO_SLOT = /* @__PURE__ */ jsx40("div", { className: "h-8 w-8 shrink-0 rounded-lg", "aria-hidden": "true" });
24434
24860
  var IconSlot = ({ icon, className }) => /* @__PURE__ */ jsx40("span", { className: cn("inline-flex items-center justify-center [&>svg]:h-4 [&>svg]:w-4", className), children: icon != null ? icon : /* @__PURE__ */ jsx40(IconFallback, {}) });
24435
24861
  var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24436
24862
  const location = useLocation();
@@ -24452,8 +24878,8 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24452
24878
  })).filter((group) => group.items.length > 0);
24453
24879
  }, [normalizedQuery, resolvedGroups]);
24454
24880
  const visibleGroups = isCollapsed ? resolvedGroups : filteredGroups;
24455
- const resolvedExpandedLogo = logo != null ? logo : /* @__PURE__ */ jsx40(DsNavbarLogo, {});
24456
- const resolvedCollapsedLogo = collapsedLogo != null ? collapsedLogo : /* @__PURE__ */ jsx40(DsNavbarCompactLogo, {});
24881
+ const resolvedExpandedLogo = logo != null ? logo : DEFAULT_EXPANDED_LOGO_SLOT;
24882
+ const resolvedCollapsedLogo = collapsedLogo != null ? collapsedLogo : DEFAULT_COLLAPSED_LOGO_SLOT;
24457
24883
  useEffect15(() => {
24458
24884
  if (!openGroup && resolvedGroups.length > 0) {
24459
24885
  setOpenGroup(resolvedGroups[0].label);
@@ -25533,19 +25959,31 @@ function applyThemeClass(theme) {
25533
25959
  const root = document.documentElement;
25534
25960
  root.classList.toggle("dark", theme === "dark");
25535
25961
  root.classList.toggle("light", theme === "light");
25962
+ root.dataset.theme = theme;
25963
+ root.style.colorScheme = theme;
25964
+ }
25965
+ function readThemeFromRoot() {
25966
+ var _a78;
25967
+ if (typeof document === "undefined") return null;
25968
+ const root = document.documentElement;
25969
+ const datasetTheme = (_a78 = root.dataset.theme) != null ? _a78 : null;
25970
+ if (isThemeMode(datasetTheme)) return datasetTheme;
25971
+ if (root.classList.contains("dark")) return "dark";
25972
+ if (root.classList.contains("light")) return "light";
25973
+ return null;
25536
25974
  }
25537
25975
  function resolveTheme(defaultTheme) {
25976
+ const rootTheme = readThemeFromRoot();
25977
+ if (rootTheme) return rootTheme;
25538
25978
  const storedTheme = readStoredTheme();
25539
25979
  if (storedTheme) return storedTheme;
25540
25980
  if (typeof document === "undefined") return defaultTheme;
25541
- if (document.documentElement.classList.contains("dark")) return "dark";
25542
- if (document.documentElement.classList.contains("light")) return "light";
25543
25981
  if (typeof window !== "undefined" && window.matchMedia("(prefers-color-scheme: dark)").matches) {
25544
25982
  return "dark";
25545
25983
  }
25546
25984
  return defaultTheme;
25547
25985
  }
25548
- var ThemeToggle = ({
25986
+ var ThemeToggle2 = ({
25549
25987
  className,
25550
25988
  theme,
25551
25989
  defaultTheme = "light",
@@ -25573,7 +26011,7 @@ var ThemeToggle = ({
25573
26011
  const resolvedTheme = resolveTheme(defaultTheme);
25574
26012
  setInternalTheme((currentTheme) => currentTheme === resolvedTheme ? currentTheme : resolvedTheme);
25575
26013
  });
25576
- observer.observe(document.documentElement, { attributes: true, attributeFilter: ["class"] });
26014
+ observer.observe(document.documentElement, { attributes: true, attributeFilter: ["class", "data-theme"] });
25577
26015
  return () => observer.disconnect();
25578
26016
  }, [defaultTheme, isControlled]);
25579
26017
  if (!mounted) {
@@ -25589,6 +26027,7 @@ var ThemeToggle = ({
25589
26027
  return /* @__PURE__ */ jsxs37(
25590
26028
  "button",
25591
26029
  {
26030
+ type: "button",
25592
26031
  onClick: handleToggle,
25593
26032
  className: cn(
25594
26033
  "relative inline-flex items-center justify-center w-10 h-10",
@@ -25610,12 +26049,180 @@ var ThemeToggle = ({
25610
26049
  );
25611
26050
  };
25612
26051
 
26052
+ // src/components/theme-provider.tsx
26053
+ import {
26054
+ useCallback as useCallback8,
26055
+ useEffect as useEffect20,
26056
+ useMemo as useMemo12,
26057
+ useState as useState17
26058
+ } from "react";
26059
+ import { flushSync } from "react-dom";
26060
+ import { jsx as jsx58 } from "react/jsx-runtime";
26061
+ var STORAGE_KEY2 = "cupcode-theme";
26062
+ var LEGACY_STORAGE_KEY = "theme";
26063
+ function getPreferredTheme() {
26064
+ if (typeof window === "undefined") {
26065
+ return "light";
26066
+ }
26067
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
26068
+ }
26069
+ function getStoredTheme() {
26070
+ var _a78;
26071
+ if (typeof window === "undefined") {
26072
+ return null;
26073
+ }
26074
+ const storedTheme = (_a78 = window.localStorage.getItem(STORAGE_KEY2)) != null ? _a78 : window.localStorage.getItem(LEGACY_STORAGE_KEY);
26075
+ return storedTheme === "light" || storedTheme === "dark" ? storedTheme : null;
26076
+ }
26077
+ function getThemeFromRoot() {
26078
+ if (typeof document === "undefined") {
26079
+ return null;
26080
+ }
26081
+ const { documentElement: root } = document;
26082
+ const datasetTheme = root.dataset.theme;
26083
+ if (datasetTheme === "light" || datasetTheme === "dark") {
26084
+ return datasetTheme;
26085
+ }
26086
+ if (root.classList.contains("dark")) {
26087
+ return "dark";
26088
+ }
26089
+ if (root.classList.contains("light")) {
26090
+ return "light";
26091
+ }
26092
+ return null;
26093
+ }
26094
+ function resolveTheme2() {
26095
+ var _a78, _b7;
26096
+ return (_b7 = (_a78 = getThemeFromRoot()) != null ? _a78 : getStoredTheme()) != null ? _b7 : getPreferredTheme();
26097
+ }
26098
+ function applyThemeToRoot(theme) {
26099
+ const root = document.documentElement;
26100
+ root.classList.toggle("dark", theme === "dark");
26101
+ root.classList.toggle("light", theme === "light");
26102
+ root.dataset.theme = theme;
26103
+ root.style.colorScheme = theme;
26104
+ }
26105
+ function persistTheme(theme) {
26106
+ window.localStorage.setItem(STORAGE_KEY2, theme);
26107
+ window.localStorage.setItem(LEGACY_STORAGE_KEY, theme);
26108
+ }
26109
+ function ThemeProvider({ children }) {
26110
+ const [theme, setThemeState] = useState17(() => resolveTheme2());
26111
+ const [mounted, setMounted] = useState17(false);
26112
+ useEffect20(() => {
26113
+ const initialTheme = resolveTheme2();
26114
+ setThemeState((currentTheme) => currentTheme === initialTheme ? currentTheme : initialTheme);
26115
+ applyThemeToRoot(initialTheme);
26116
+ setMounted(true);
26117
+ }, []);
26118
+ useEffect20(() => {
26119
+ if (!mounted) {
26120
+ return;
26121
+ }
26122
+ persistTheme(theme);
26123
+ applyThemeToRoot(theme);
26124
+ }, [mounted, theme]);
26125
+ useEffect20(() => {
26126
+ if (typeof window === "undefined") {
26127
+ return;
26128
+ }
26129
+ const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
26130
+ const handleChange = () => {
26131
+ if (getStoredTheme()) {
26132
+ return;
26133
+ }
26134
+ const nextTheme = mediaQuery.matches ? "dark" : "light";
26135
+ setThemeState(nextTheme);
26136
+ applyThemeToRoot(nextTheme);
26137
+ };
26138
+ mediaQuery.addEventListener("change", handleChange);
26139
+ return () => mediaQuery.removeEventListener("change", handleChange);
26140
+ }, []);
26141
+ useEffect20(() => {
26142
+ if (typeof document === "undefined") {
26143
+ return;
26144
+ }
26145
+ const root = document.documentElement;
26146
+ const observer = new MutationObserver(() => {
26147
+ const rootTheme = getThemeFromRoot();
26148
+ if (!rootTheme) {
26149
+ return;
26150
+ }
26151
+ setThemeState((currentTheme) => currentTheme === rootTheme ? currentTheme : rootTheme);
26152
+ });
26153
+ observer.observe(root, {
26154
+ attributes: true,
26155
+ attributeFilter: ["class", "data-theme"]
26156
+ });
26157
+ return () => observer.disconnect();
26158
+ }, []);
26159
+ const setTheme = useCallback8((nextTheme) => {
26160
+ setThemeState(nextTheme);
26161
+ }, []);
26162
+ const toggleTheme = useCallback8((coords) => {
26163
+ var _a78;
26164
+ const documentWithTransition = document;
26165
+ const prefersReducedMotion = window.matchMedia(
26166
+ "(prefers-reduced-motion: reduce)"
26167
+ ).matches;
26168
+ const supportsTransition = typeof documentWithTransition.startViewTransition === "function";
26169
+ const flipTheme = () => {
26170
+ setThemeState(
26171
+ (currentTheme) => currentTheme === "light" ? "dark" : "light"
26172
+ );
26173
+ };
26174
+ if (coords) {
26175
+ document.documentElement.style.setProperty("--theme-x", `${coords.x}px`);
26176
+ document.documentElement.style.setProperty("--theme-y", `${coords.y}px`);
26177
+ }
26178
+ if (!supportsTransition || prefersReducedMotion) {
26179
+ flipTheme();
26180
+ return;
26181
+ }
26182
+ (_a78 = documentWithTransition.startViewTransition) == null ? void 0 : _a78.call(documentWithTransition, () => {
26183
+ flushSync(() => {
26184
+ flipTheme();
26185
+ });
26186
+ });
26187
+ }, []);
26188
+ const value = useMemo12(
26189
+ () => ({
26190
+ theme,
26191
+ setTheme,
26192
+ toggleTheme
26193
+ }),
26194
+ [theme, setTheme, toggleTheme]
26195
+ );
26196
+ return /* @__PURE__ */ jsx58(ThemeContext.Provider, { value, children });
26197
+ }
26198
+ function ThemeScript() {
26199
+ const script = `
26200
+ (() => {
26201
+ const storageKey = "${STORAGE_KEY2}";
26202
+ const legacyStorageKey = "${LEGACY_STORAGE_KEY}";
26203
+ const storedTheme = localStorage.getItem(storageKey) ?? localStorage.getItem(legacyStorageKey);
26204
+ const theme =
26205
+ storedTheme === "light" || storedTheme === "dark"
26206
+ ? storedTheme
26207
+ : window.matchMedia("(prefers-color-scheme: dark)").matches
26208
+ ? "dark"
26209
+ : "light";
26210
+ const root = document.documentElement;
26211
+ root.classList.toggle("dark", theme === "dark");
26212
+ root.classList.toggle("light", theme === "light");
26213
+ root.dataset.theme = theme;
26214
+ root.style.colorScheme = theme;
26215
+ })();
26216
+ `;
26217
+ return /* @__PURE__ */ jsx58("script", { dangerouslySetInnerHTML: { __html: script } });
26218
+ }
26219
+
25613
26220
  // src/components/cupcode/TimelineCupcode.tsx
25614
- import { jsx as jsx58, jsxs as jsxs38 } from "react/jsx-runtime";
26221
+ import { jsx as jsx59, jsxs as jsxs38 } from "react/jsx-runtime";
25615
26222
  function Timeline({ items, variant = "vertical", className }) {
25616
26223
  if (variant === "horizontal") {
25617
- return /* @__PURE__ */ jsx58("div", { className: cn("flex items-start gap-4 overflow-x-auto pb-4", className), children: items.map((item, index) => /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-center min-w-[200px]", children: [
25618
- /* @__PURE__ */ jsx58(
26224
+ return /* @__PURE__ */ jsx59("div", { className: cn("flex items-start gap-4 overflow-x-auto pb-4", className), children: items.map((item, index) => /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-center min-w-[200px]", children: [
26225
+ /* @__PURE__ */ jsx59(
25619
26226
  "div",
25620
26227
  {
25621
26228
  className: cn(
@@ -25623,27 +26230,27 @@ function Timeline({ items, variant = "vertical", className }) {
25623
26230
  "transition-all duration-300",
25624
26231
  item.active ? "cc-gradient-galaxy text-white elevation-3 scale-110" : "bg-muted text-muted-foreground"
25625
26232
  ),
25626
- children: item.icon || /* @__PURE__ */ jsx58("span", { className: "text-sm font-bold", children: index + 1 })
26233
+ children: item.icon || /* @__PURE__ */ jsx59("span", { className: "text-sm font-bold", children: index + 1 })
25627
26234
  }
25628
26235
  ),
25629
- index < items.length - 1 && /* @__PURE__ */ jsx58("div", { className: cn(
26236
+ index < items.length - 1 && /* @__PURE__ */ jsx59("div", { className: cn(
25630
26237
  "h-1 w-full mb-3",
25631
26238
  item.active ? "bg-cupcode-purple" : "bg-muted"
25632
26239
  ) }),
25633
26240
  /* @__PURE__ */ jsxs38("div", { className: "text-center", children: [
25634
- /* @__PURE__ */ jsx58("h4", { className: cn(
26241
+ /* @__PURE__ */ jsx59("h4", { className: cn(
25635
26242
  "font-display font-semibold mb-1",
25636
26243
  item.active ? "text-cupcode-purple" : "text-foreground"
25637
26244
  ), children: item.title }),
25638
- item.description && /* @__PURE__ */ jsx58("p", { className: "text-sm text-muted-foreground", children: item.description }),
25639
- item.date && /* @__PURE__ */ jsx58("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
26245
+ item.description && /* @__PURE__ */ jsx59("p", { className: "text-sm text-muted-foreground", children: item.description }),
26246
+ item.date && /* @__PURE__ */ jsx59("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
25640
26247
  ] })
25641
26248
  ] }, item.id)) });
25642
26249
  }
25643
26250
  return /* @__PURE__ */ jsxs38("div", { className: cn("relative space-6", className), children: [
25644
- /* @__PURE__ */ jsx58("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
26251
+ /* @__PURE__ */ jsx59("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
25645
26252
  items.map((item, index) => /* @__PURE__ */ jsxs38("div", { className: "relative flex gap-6 pb-8 last:pb-0", children: [
25646
- /* @__PURE__ */ jsx58(
26253
+ /* @__PURE__ */ jsx59(
25647
26254
  "div",
25648
26255
  {
25649
26256
  className: cn(
@@ -25651,16 +26258,16 @@ function Timeline({ items, variant = "vertical", className }) {
25651
26258
  "transition-all duration-300",
25652
26259
  item.active ? "cc-gradient-galaxy text-white elevation-3" : "bg-muted text-muted-foreground"
25653
26260
  ),
25654
- children: item.icon || /* @__PURE__ */ jsx58("span", { className: "text-sm font-bold", children: index + 1 })
26261
+ children: item.icon || /* @__PURE__ */ jsx59("span", { className: "text-sm font-bold", children: index + 1 })
25655
26262
  }
25656
26263
  ),
25657
26264
  /* @__PURE__ */ jsxs38("div", { className: "flex-1 pt-1", children: [
25658
- /* @__PURE__ */ jsx58("h4", { className: cn(
26265
+ /* @__PURE__ */ jsx59("h4", { className: cn(
25659
26266
  "font-display font-semibold mb-1",
25660
26267
  item.active ? "text-cupcode-purple" : "text-foreground"
25661
26268
  ), children: item.title }),
25662
- item.description && /* @__PURE__ */ jsx58("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
25663
- item.date && /* @__PURE__ */ jsx58("p", { className: "text-xs text-muted-foreground", children: item.date })
26269
+ item.description && /* @__PURE__ */ jsx59("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
26270
+ item.date && /* @__PURE__ */ jsx59("p", { className: "text-xs text-muted-foreground", children: item.date })
25664
26271
  ] })
25665
26272
  ] }, item.id))
25666
26273
  ] });
@@ -25668,7 +26275,7 @@ function Timeline({ items, variant = "vertical", className }) {
25668
26275
 
25669
26276
  // src/components/cupcode/ToastCupcode.tsx
25670
26277
  import { X as X6, CheckCircle, AlertCircle, Info as Info2, AlertTriangle as AlertTriangle2 } from "lucide-react";
25671
- import { jsx as jsx59, jsxs as jsxs39 } from "react/jsx-runtime";
26278
+ import { jsx as jsx60, jsxs as jsxs39 } from "react/jsx-runtime";
25672
26279
  var variantStyles2 = {
25673
26280
  success: {
25674
26281
  gradient: "from-success/20 to-success/5",
@@ -25703,7 +26310,7 @@ var ToastCupcode = ({
25703
26310
  }) => {
25704
26311
  const style = variantStyles2[variant];
25705
26312
  const Icon3 = style.icon;
25706
- return /* @__PURE__ */ jsx59(
26313
+ return /* @__PURE__ */ jsx60(
25707
26314
  "div",
25708
26315
  {
25709
26316
  className: cn(
@@ -25716,17 +26323,17 @@ var ToastCupcode = ({
25716
26323
  "animate-slide-up"
25717
26324
  ),
25718
26325
  children: /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-3", children: [
25719
- /* @__PURE__ */ jsx59(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
26326
+ /* @__PURE__ */ jsx60(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
25720
26327
  /* @__PURE__ */ jsxs39("div", { className: "flex-1 space-y-1", children: [
25721
- /* @__PURE__ */ jsx59("p", { className: "text-sm font-semibold text-cupcode-ink", children: title }),
25722
- description && /* @__PURE__ */ jsx59("p", { className: "text-xs text-cupcode-ink/70", children: description })
26328
+ /* @__PURE__ */ jsx60("p", { className: "text-sm font-semibold text-cupcode-ink", children: title }),
26329
+ description && /* @__PURE__ */ jsx60("p", { className: "text-xs text-cupcode-ink/70", children: description })
25723
26330
  ] }),
25724
- onClose && /* @__PURE__ */ jsx59(
26331
+ onClose && /* @__PURE__ */ jsx60(
25725
26332
  "button",
25726
26333
  {
25727
26334
  onClick: onClose,
25728
26335
  className: "shrink-0 rounded-md p-1 hover:bg-cupcode-ink/10 transition-colors",
25729
- children: /* @__PURE__ */ jsx59(X6, { className: "h-4 w-4 text-cupcode-ink/50" })
26336
+ children: /* @__PURE__ */ jsx60(X6, { className: "h-4 w-4 text-cupcode-ink/50" })
25730
26337
  }
25731
26338
  )
25732
26339
  ] })
@@ -25735,11 +26342,11 @@ var ToastCupcode = ({
25735
26342
  };
25736
26343
 
25737
26344
  // src/components/cupcode/VideoWatchButton.tsx
25738
- import React34 from "react";
25739
- import { jsx as jsx60, jsxs as jsxs40 } from "react/jsx-runtime";
25740
- var PlayGlyph = () => /* @__PURE__ */ jsx60("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", className: "h-[18px] w-[18px]", children: /* @__PURE__ */ jsx60("path", { d: "M6 4.5L13.5 9L6 13.5V4.5Z", fill: "currentColor" }) });
25741
- var VideoWatchButton = React34.forwardRef(
25742
- ({ className, label = "Watch now", type = "button", "aria-label": ariaLabel, ...props }, ref) => {
26345
+ import React35 from "react";
26346
+ import { jsx as jsx61, jsxs as jsxs40 } from "react/jsx-runtime";
26347
+ var PlayGlyph = () => /* @__PURE__ */ jsx61("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", className: "h-[18px] w-[18px]", children: /* @__PURE__ */ jsx61("path", { d: "M6 4.5L13.5 9L6 13.5V4.5Z", fill: "currentColor" }) });
26348
+ var VideoWatchButton = React35.forwardRef(
26349
+ ({ className, label = "Assistir", type = "button", "aria-label": ariaLabel, ...props }, ref) => {
25743
26350
  return /* @__PURE__ */ jsxs40(
25744
26351
  "button",
25745
26352
  {
@@ -25750,17 +26357,17 @@ var VideoWatchButton = React34.forwardRef(
25750
26357
  ...props,
25751
26358
  children: [
25752
26359
  /* @__PURE__ */ jsxs40("span", { className: "cc-video-watch-btn__bg", children: [
25753
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ jsx60(PlayGlyph, {}) }),
25754
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__label", children: label }),
26360
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ jsx61(PlayGlyph, {}) }),
26361
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__label", children: label }),
25755
26362
  /* @__PURE__ */ jsxs40("span", { className: "cc-video-watch-btn__mask", "aria-hidden": "true", children: [
25756
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
25757
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
25758
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
25759
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
25760
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
26363
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
26364
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
26365
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
26366
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
26367
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
25761
26368
  ] })
25762
26369
  ] }),
25763
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
26370
+ /* @__PURE__ */ jsx61("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
25764
26371
  ]
25765
26372
  }
25766
26373
  );
@@ -25769,13 +26376,13 @@ var VideoWatchButton = React34.forwardRef(
25769
26376
  VideoWatchButton.displayName = "VideoWatchButton";
25770
26377
 
25771
26378
  // src/components/cupcode/TooltipCupcode.tsx
25772
- import * as React35 from "react";
26379
+ import * as React36 from "react";
25773
26380
  import * as TooltipPrimitive2 from "@radix-ui/react-tooltip";
25774
- import { jsx as jsx61 } from "react/jsx-runtime";
26381
+ import { jsx as jsx62 } from "react/jsx-runtime";
25775
26382
  var TooltipProvider2 = TooltipPrimitive2.Provider;
25776
26383
  var TooltipCupcode = TooltipPrimitive2.Root;
25777
26384
  var TooltipTrigger2 = TooltipPrimitive2.Trigger;
25778
- var TooltipContent2 = React35.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx61(
26385
+ var TooltipContent2 = React36.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx62(
25779
26386
  TooltipPrimitive2.Content,
25780
26387
  {
25781
26388
  ref,
@@ -25796,14 +26403,14 @@ var TooltipContent2 = React35.forwardRef(({ className, sideOffset = 4, ...props
25796
26403
  TooltipContent2.displayName = TooltipPrimitive2.Content.displayName;
25797
26404
 
25798
26405
  // src/components/ui/accordion.tsx
25799
- import * as React36 from "react";
26406
+ import * as React37 from "react";
25800
26407
  import * as AccordionPrimitive2 from "@radix-ui/react-accordion";
25801
26408
  import { ChevronDown as ChevronDown6 } from "lucide-react";
25802
- import { jsx as jsx62, jsxs as jsxs41 } from "react/jsx-runtime";
26409
+ import { jsx as jsx63, jsxs as jsxs41 } from "react/jsx-runtime";
25803
26410
  var Accordion = AccordionPrimitive2.Root;
25804
- var AccordionItem2 = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx62(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
26411
+ var AccordionItem2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx63(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
25805
26412
  AccordionItem2.displayName = "AccordionItem";
25806
- var AccordionTrigger2 = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx62(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs41(
26413
+ var AccordionTrigger2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx63(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs41(
25807
26414
  AccordionPrimitive2.Trigger,
25808
26415
  {
25809
26416
  ref,
@@ -25814,26 +26421,26 @@ var AccordionTrigger2 = React36.forwardRef(({ className, children, ...props }, r
25814
26421
  ...props,
25815
26422
  children: [
25816
26423
  children,
25817
- /* @__PURE__ */ jsx62(ChevronDown6, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
26424
+ /* @__PURE__ */ jsx63(ChevronDown6, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
25818
26425
  ]
25819
26426
  }
25820
26427
  ) }));
25821
26428
  AccordionTrigger2.displayName = AccordionPrimitive2.Trigger.displayName;
25822
- var AccordionContent2 = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx62(
26429
+ var AccordionContent2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx63(
25823
26430
  AccordionPrimitive2.Content,
25824
26431
  {
25825
26432
  ref,
25826
26433
  className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
25827
26434
  ...props,
25828
- children: /* @__PURE__ */ jsx62("div", { className: cn("pb-4 pt-0", className), children })
26435
+ children: /* @__PURE__ */ jsx63("div", { className: cn("pb-4 pt-0", className), children })
25829
26436
  }
25830
26437
  ));
25831
26438
  AccordionContent2.displayName = AccordionPrimitive2.Content.displayName;
25832
26439
 
25833
26440
  // src/components/ui/alert.tsx
25834
- import * as React37 from "react";
26441
+ import * as React38 from "react";
25835
26442
  import { cva as cva3 } from "class-variance-authority";
25836
- import { jsx as jsx63 } from "react/jsx-runtime";
26443
+ import { jsx as jsx64 } from "react/jsx-runtime";
25837
26444
  var alertVariants = cva3(
25838
26445
  "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
25839
26446
  {
@@ -25848,14 +26455,14 @@ var alertVariants = cva3(
25848
26455
  }
25849
26456
  }
25850
26457
  );
25851
- var Alert = React37.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx63("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
26458
+ var Alert = React38.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx64("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
25852
26459
  Alert.displayName = "Alert";
25853
- var AlertTitle = React37.forwardRef(
25854
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx63("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
26460
+ var AlertTitle = React38.forwardRef(
26461
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx64("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
25855
26462
  );
25856
26463
  AlertTitle.displayName = "AlertTitle";
25857
- var AlertDescription = React37.forwardRef(
25858
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx63("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
26464
+ var AlertDescription = React38.forwardRef(
26465
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx64("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
25859
26466
  );
25860
26467
  AlertDescription.displayName = "AlertDescription";
25861
26468
 
@@ -25864,14 +26471,14 @@ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
25864
26471
  var AspectRatio = AspectRatioPrimitive.Root;
25865
26472
 
25866
26473
  // src/components/ui/breadcrumb.tsx
25867
- import * as React38 from "react";
26474
+ import * as React39 from "react";
25868
26475
  import { Slot as Slot2 } from "@radix-ui/react-slot";
25869
26476
  import { ChevronRight as ChevronRight3, MoreHorizontal } from "lucide-react";
25870
- import { jsx as jsx64, jsxs as jsxs42 } from "react/jsx-runtime";
25871
- var Breadcrumb = React38.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx64("nav", { ref, "aria-label": "breadcrumb", ...props }));
26477
+ import { jsx as jsx65, jsxs as jsxs42 } from "react/jsx-runtime";
26478
+ var Breadcrumb = React39.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx65("nav", { ref, "aria-label": "breadcrumb", ...props }));
25872
26479
  Breadcrumb.displayName = "Breadcrumb";
25873
- var BreadcrumbList = React38.forwardRef(
25874
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx64(
26480
+ var BreadcrumbList = React39.forwardRef(
26481
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx65(
25875
26482
  "ol",
25876
26483
  {
25877
26484
  ref,
@@ -25884,17 +26491,17 @@ var BreadcrumbList = React38.forwardRef(
25884
26491
  )
25885
26492
  );
25886
26493
  BreadcrumbList.displayName = "BreadcrumbList";
25887
- var BreadcrumbItem = React38.forwardRef(
25888
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx64("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
26494
+ var BreadcrumbItem = React39.forwardRef(
26495
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx65("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
25889
26496
  );
25890
26497
  BreadcrumbItem.displayName = "BreadcrumbItem";
25891
- var BreadcrumbLink = React38.forwardRef(({ asChild, className, ...props }, ref) => {
26498
+ var BreadcrumbLink = React39.forwardRef(({ asChild, className, ...props }, ref) => {
25892
26499
  const Comp = asChild ? Slot2 : "a";
25893
- return /* @__PURE__ */ jsx64(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
26500
+ return /* @__PURE__ */ jsx65(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
25894
26501
  });
25895
26502
  BreadcrumbLink.displayName = "BreadcrumbLink";
25896
- var BreadcrumbPage = React38.forwardRef(
25897
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx64(
26503
+ var BreadcrumbPage = React39.forwardRef(
26504
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx65(
25898
26505
  "span",
25899
26506
  {
25900
26507
  ref,
@@ -25907,7 +26514,7 @@ var BreadcrumbPage = React38.forwardRef(
25907
26514
  )
25908
26515
  );
25909
26516
  BreadcrumbPage.displayName = "BreadcrumbPage";
25910
- var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx64("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ jsx64(ChevronRight3, {}) });
26517
+ var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx65("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ jsx65(ChevronRight3, {}) });
25911
26518
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
25912
26519
  var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs42(
25913
26520
  "span",
@@ -25917,8 +26524,8 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs42(
25917
26524
  className: cn("flex h-9 w-9 items-center justify-center", className),
25918
26525
  ...props,
25919
26526
  children: [
25920
- /* @__PURE__ */ jsx64(MoreHorizontal, { className: "h-4 w-4" }),
25921
- /* @__PURE__ */ jsx64("span", { className: "sr-only", children: "More" })
26527
+ /* @__PURE__ */ jsx65(MoreHorizontal, { className: "h-4 w-4" }),
26528
+ /* @__PURE__ */ jsx65("span", { className: "sr-only", children: "More" })
25922
26529
  ]
25923
26530
  }
25924
26531
  );
@@ -25927,9 +26534,9 @@ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
25927
26534
  // src/components/ui/calendar.tsx
25928
26535
  import { ChevronLeft, ChevronRight as ChevronRight4 } from "lucide-react";
25929
26536
  import { DayPicker } from "react-day-picker";
25930
- import { jsx as jsx65 } from "react/jsx-runtime";
26537
+ import { jsx as jsx66 } from "react/jsx-runtime";
25931
26538
  function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
25932
- return /* @__PURE__ */ jsx65(
26539
+ return /* @__PURE__ */ jsx66(
25933
26540
  DayPicker,
25934
26541
  {
25935
26542
  showOutsideDays,
@@ -25964,9 +26571,9 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
25964
26571
  components: {
25965
26572
  Chevron: ({ orientation, className: className2, ...chevronProps }) => {
25966
26573
  if (orientation === "left") {
25967
- return /* @__PURE__ */ jsx65(ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
26574
+ return /* @__PURE__ */ jsx66(ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
25968
26575
  }
25969
- return /* @__PURE__ */ jsx65(ChevronRight4, { className: cn("h-4 w-4", className2), ...chevronProps });
26576
+ return /* @__PURE__ */ jsx66(ChevronRight4, { className: cn("h-4 w-4", className2), ...chevronProps });
25970
26577
  }
25971
26578
  },
25972
26579
  ...props
@@ -25976,45 +26583,45 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
25976
26583
  Calendar.displayName = "Calendar";
25977
26584
 
25978
26585
  // src/components/ui/card.tsx
25979
- import * as React39 from "react";
25980
- import { jsx as jsx66 } from "react/jsx-runtime";
25981
- var Card = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
26586
+ import * as React40 from "react";
26587
+ import { jsx as jsx67 } from "react/jsx-runtime";
26588
+ var Card = React40.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx67("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
25982
26589
  Card.displayName = "Card";
25983
- var CardHeader = React39.forwardRef(
25984
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
26590
+ var CardHeader = React40.forwardRef(
26591
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx67("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
25985
26592
  );
25986
26593
  CardHeader.displayName = "CardHeader";
25987
- var CardTitle = React39.forwardRef(
25988
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
26594
+ var CardTitle = React40.forwardRef(
26595
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx67("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
25989
26596
  );
25990
26597
  CardTitle.displayName = "CardTitle";
25991
- var CardDescription = React39.forwardRef(
25992
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
26598
+ var CardDescription = React40.forwardRef(
26599
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx67("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
25993
26600
  );
25994
26601
  CardDescription.displayName = "CardDescription";
25995
- var CardContent = React39.forwardRef(
25996
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("p-6 pt-0", className), ...props })
26602
+ var CardContent = React40.forwardRef(
26603
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx67("div", { ref, className: cn("p-6 pt-0", className), ...props })
25997
26604
  );
25998
26605
  CardContent.displayName = "CardContent";
25999
- var CardFooter = React39.forwardRef(
26000
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
26606
+ var CardFooter = React40.forwardRef(
26607
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx67("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
26001
26608
  );
26002
26609
  CardFooter.displayName = "CardFooter";
26003
26610
 
26004
26611
  // src/components/ui/carousel.tsx
26005
- import * as React40 from "react";
26612
+ import * as React41 from "react";
26006
26613
  import useEmblaCarousel from "embla-carousel-react";
26007
26614
  import { ArrowLeft, ArrowRight } from "lucide-react";
26008
- import { jsx as jsx67, jsxs as jsxs43 } from "react/jsx-runtime";
26009
- var CarouselContext = React40.createContext(null);
26615
+ import { jsx as jsx68, jsxs as jsxs43 } from "react/jsx-runtime";
26616
+ var CarouselContext = React41.createContext(null);
26010
26617
  function useCarousel() {
26011
- const context = React40.useContext(CarouselContext);
26618
+ const context = React41.useContext(CarouselContext);
26012
26619
  if (!context) {
26013
26620
  throw new Error("useCarousel must be used within a <Carousel />");
26014
26621
  }
26015
26622
  return context;
26016
26623
  }
26017
- var Carousel = React40.forwardRef(
26624
+ var Carousel = React41.forwardRef(
26018
26625
  ({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
26019
26626
  const [carouselRef, api] = useEmblaCarousel(
26020
26627
  {
@@ -26023,22 +26630,22 @@ var Carousel = React40.forwardRef(
26023
26630
  },
26024
26631
  plugins
26025
26632
  );
26026
- const [canScrollPrev, setCanScrollPrev] = React40.useState(false);
26027
- const [canScrollNext, setCanScrollNext] = React40.useState(false);
26028
- const onSelect = React40.useCallback((api2) => {
26633
+ const [canScrollPrev, setCanScrollPrev] = React41.useState(false);
26634
+ const [canScrollNext, setCanScrollNext] = React41.useState(false);
26635
+ const onSelect = React41.useCallback((api2) => {
26029
26636
  if (!api2) {
26030
26637
  return;
26031
26638
  }
26032
26639
  setCanScrollPrev(api2.canScrollPrev());
26033
26640
  setCanScrollNext(api2.canScrollNext());
26034
26641
  }, []);
26035
- const scrollPrev = React40.useCallback(() => {
26642
+ const scrollPrev = React41.useCallback(() => {
26036
26643
  api == null ? void 0 : api.scrollPrev();
26037
26644
  }, [api]);
26038
- const scrollNext = React40.useCallback(() => {
26645
+ const scrollNext = React41.useCallback(() => {
26039
26646
  api == null ? void 0 : api.scrollNext();
26040
26647
  }, [api]);
26041
- const handleKeyDown = React40.useCallback(
26648
+ const handleKeyDown = React41.useCallback(
26042
26649
  (event) => {
26043
26650
  if (event.key === "ArrowLeft") {
26044
26651
  event.preventDefault();
@@ -26050,13 +26657,13 @@ var Carousel = React40.forwardRef(
26050
26657
  },
26051
26658
  [scrollPrev, scrollNext]
26052
26659
  );
26053
- React40.useEffect(() => {
26660
+ React41.useEffect(() => {
26054
26661
  if (!api || !setApi) {
26055
26662
  return;
26056
26663
  }
26057
26664
  setApi(api);
26058
26665
  }, [api, setApi]);
26059
- React40.useEffect(() => {
26666
+ React41.useEffect(() => {
26060
26667
  if (!api) {
26061
26668
  return;
26062
26669
  }
@@ -26067,7 +26674,7 @@ var Carousel = React40.forwardRef(
26067
26674
  api == null ? void 0 : api.off("select", onSelect);
26068
26675
  };
26069
26676
  }, [api, onSelect]);
26070
- return /* @__PURE__ */ jsx67(
26677
+ return /* @__PURE__ */ jsx68(
26071
26678
  CarouselContext.Provider,
26072
26679
  {
26073
26680
  value: {
@@ -26080,7 +26687,7 @@ var Carousel = React40.forwardRef(
26080
26687
  canScrollPrev,
26081
26688
  canScrollNext
26082
26689
  },
26083
- children: /* @__PURE__ */ jsx67(
26690
+ children: /* @__PURE__ */ jsx68(
26084
26691
  "div",
26085
26692
  {
26086
26693
  ref,
@@ -26097,10 +26704,10 @@ var Carousel = React40.forwardRef(
26097
26704
  }
26098
26705
  );
26099
26706
  Carousel.displayName = "Carousel";
26100
- var CarouselContent = React40.forwardRef(
26707
+ var CarouselContent = React41.forwardRef(
26101
26708
  ({ className, ...props }, ref) => {
26102
26709
  const { carouselRef, orientation } = useCarousel();
26103
- return /* @__PURE__ */ jsx67("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx67(
26710
+ return /* @__PURE__ */ jsx68("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx68(
26104
26711
  "div",
26105
26712
  {
26106
26713
  ref,
@@ -26111,10 +26718,10 @@ var CarouselContent = React40.forwardRef(
26111
26718
  }
26112
26719
  );
26113
26720
  CarouselContent.displayName = "CarouselContent";
26114
- var CarouselItem = React40.forwardRef(
26721
+ var CarouselItem = React41.forwardRef(
26115
26722
  ({ className, ...props }, ref) => {
26116
26723
  const { orientation } = useCarousel();
26117
- return /* @__PURE__ */ jsx67(
26724
+ return /* @__PURE__ */ jsx68(
26118
26725
  "div",
26119
26726
  {
26120
26727
  ref,
@@ -26127,7 +26734,7 @@ var CarouselItem = React40.forwardRef(
26127
26734
  }
26128
26735
  );
26129
26736
  CarouselItem.displayName = "CarouselItem";
26130
- var CarouselPrevious = React40.forwardRef(
26737
+ var CarouselPrevious = React41.forwardRef(
26131
26738
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
26132
26739
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
26133
26740
  return /* @__PURE__ */ jsxs43(
@@ -26145,15 +26752,15 @@ var CarouselPrevious = React40.forwardRef(
26145
26752
  onClick: scrollPrev,
26146
26753
  ...props,
26147
26754
  children: [
26148
- /* @__PURE__ */ jsx67(ArrowLeft, { className: "h-4 w-4" }),
26149
- /* @__PURE__ */ jsx67("span", { className: "sr-only", children: "Previous slide" })
26755
+ /* @__PURE__ */ jsx68(ArrowLeft, { className: "h-4 w-4" }),
26756
+ /* @__PURE__ */ jsx68("span", { className: "sr-only", children: "Previous slide" })
26150
26757
  ]
26151
26758
  }
26152
26759
  );
26153
26760
  }
26154
26761
  );
26155
26762
  CarouselPrevious.displayName = "CarouselPrevious";
26156
- var CarouselNext = React40.forwardRef(
26763
+ var CarouselNext = React41.forwardRef(
26157
26764
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
26158
26765
  const { orientation, scrollNext, canScrollNext } = useCarousel();
26159
26766
  return /* @__PURE__ */ jsxs43(
@@ -26171,8 +26778,8 @@ var CarouselNext = React40.forwardRef(
26171
26778
  onClick: scrollNext,
26172
26779
  ...props,
26173
26780
  children: [
26174
- /* @__PURE__ */ jsx67(ArrowRight, { className: "h-4 w-4" }),
26175
- /* @__PURE__ */ jsx67("span", { className: "sr-only", children: "Next slide" })
26781
+ /* @__PURE__ */ jsx68(ArrowRight, { className: "h-4 w-4" }),
26782
+ /* @__PURE__ */ jsx68("span", { className: "sr-only", children: "Next slide" })
26176
26783
  ]
26177
26784
  }
26178
26785
  );
@@ -26181,22 +26788,22 @@ var CarouselNext = React40.forwardRef(
26181
26788
  CarouselNext.displayName = "CarouselNext";
26182
26789
 
26183
26790
  // src/components/ui/chart.tsx
26184
- import * as React41 from "react";
26791
+ import * as React42 from "react";
26185
26792
  import * as RechartsPrimitive from "recharts";
26186
- import { Fragment as Fragment6, jsx as jsx68, jsxs as jsxs44 } from "react/jsx-runtime";
26793
+ import { Fragment as Fragment6, jsx as jsx69, jsxs as jsxs44 } from "react/jsx-runtime";
26187
26794
  var THEMES = { light: "", dark: ".dark" };
26188
- var ChartContext = React41.createContext(null);
26795
+ var ChartContext = React42.createContext(null);
26189
26796
  function useChart() {
26190
- const context = React41.useContext(ChartContext);
26797
+ const context = React42.useContext(ChartContext);
26191
26798
  if (!context) {
26192
26799
  throw new Error("useChart must be used within a <ChartContainer />");
26193
26800
  }
26194
26801
  return context;
26195
26802
  }
26196
- var ChartContainer = React41.forwardRef(({ id, className, children, config, ...props }, ref) => {
26197
- const uniqueId = React41.useId();
26803
+ var ChartContainer = React42.forwardRef(({ id, className, children, config, ...props }, ref) => {
26804
+ const uniqueId = React42.useId();
26198
26805
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
26199
- return /* @__PURE__ */ jsx68(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs44(
26806
+ return /* @__PURE__ */ jsx69(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs44(
26200
26807
  "div",
26201
26808
  {
26202
26809
  "data-chart": chartId,
@@ -26207,8 +26814,8 @@ var ChartContainer = React41.forwardRef(({ id, className, children, config, ...p
26207
26814
  ),
26208
26815
  ...props,
26209
26816
  children: [
26210
- /* @__PURE__ */ jsx68(ChartStyle, { id: chartId, config }),
26211
- /* @__PURE__ */ jsx68(RechartsPrimitive.ResponsiveContainer, { children })
26817
+ /* @__PURE__ */ jsx69(ChartStyle, { id: chartId, config }),
26818
+ /* @__PURE__ */ jsx69(RechartsPrimitive.ResponsiveContainer, { children })
26212
26819
  ]
26213
26820
  }
26214
26821
  ) });
@@ -26219,7 +26826,7 @@ var ChartStyle = ({ id, config }) => {
26219
26826
  if (!colorConfig.length) {
26220
26827
  return null;
26221
26828
  }
26222
- return /* @__PURE__ */ jsx68(
26829
+ return /* @__PURE__ */ jsx69(
26223
26830
  "style",
26224
26831
  {
26225
26832
  dangerouslySetInnerHTML: {
@@ -26239,7 +26846,7 @@ ${colorConfig.map(([key, itemConfig]) => {
26239
26846
  );
26240
26847
  };
26241
26848
  var ChartTooltip = RechartsPrimitive.Tooltip;
26242
- var ChartTooltipContent = React41.forwardRef(
26849
+ var ChartTooltipContent = React42.forwardRef(
26243
26850
  ({
26244
26851
  active,
26245
26852
  payload,
@@ -26256,7 +26863,7 @@ var ChartTooltipContent = React41.forwardRef(
26256
26863
  labelKey
26257
26864
  }, ref) => {
26258
26865
  const { config } = useChart();
26259
- const tooltipLabel = React41.useMemo(() => {
26866
+ const tooltipLabel = React42.useMemo(() => {
26260
26867
  var _a78;
26261
26868
  if (hideLabel || !(payload == null ? void 0 : payload.length)) {
26262
26869
  return null;
@@ -26266,12 +26873,12 @@ var ChartTooltipContent = React41.forwardRef(
26266
26873
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26267
26874
  const value = !labelKey && typeof label === "string" ? ((_a78 = config[label]) == null ? void 0 : _a78.label) || label : itemConfig == null ? void 0 : itemConfig.label;
26268
26875
  if (labelFormatter) {
26269
- return /* @__PURE__ */ jsx68("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
26876
+ return /* @__PURE__ */ jsx69("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
26270
26877
  }
26271
26878
  if (!value) {
26272
26879
  return null;
26273
26880
  }
26274
- return /* @__PURE__ */ jsx68("div", { className: cn("font-medium", labelClassName), children: value });
26881
+ return /* @__PURE__ */ jsx69("div", { className: cn("font-medium", labelClassName), children: value });
26275
26882
  }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
26276
26883
  if (!active || !(payload == null ? void 0 : payload.length)) {
26277
26884
  return null;
@@ -26287,11 +26894,11 @@ var ChartTooltipContent = React41.forwardRef(
26287
26894
  ),
26288
26895
  children: [
26289
26896
  !nestLabel ? tooltipLabel : null,
26290
- /* @__PURE__ */ jsx68("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
26897
+ /* @__PURE__ */ jsx69("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
26291
26898
  const key = `${nameKey || item.name || item.dataKey || "value"}`;
26292
26899
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26293
26900
  const indicatorColor = color || item.payload.fill || item.color;
26294
- return /* @__PURE__ */ jsx68(
26901
+ return /* @__PURE__ */ jsx69(
26295
26902
  "div",
26296
26903
  {
26297
26904
  className: cn(
@@ -26299,7 +26906,7 @@ var ChartTooltipContent = React41.forwardRef(
26299
26906
  indicator === "dot" && "items-center"
26300
26907
  ),
26301
26908
  children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs44(Fragment6, { children: [
26302
- (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx68(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx68(
26909
+ (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx69(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx69(
26303
26910
  "div",
26304
26911
  {
26305
26912
  className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
@@ -26324,9 +26931,9 @@ var ChartTooltipContent = React41.forwardRef(
26324
26931
  children: [
26325
26932
  /* @__PURE__ */ jsxs44("div", { className: "grid gap-1.5", children: [
26326
26933
  nestLabel ? tooltipLabel : null,
26327
- /* @__PURE__ */ jsx68("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
26934
+ /* @__PURE__ */ jsx69("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
26328
26935
  ] }),
26329
- item.value && /* @__PURE__ */ jsx68("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
26936
+ item.value && /* @__PURE__ */ jsx69("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
26330
26937
  ]
26331
26938
  }
26332
26939
  )
@@ -26342,12 +26949,12 @@ var ChartTooltipContent = React41.forwardRef(
26342
26949
  );
26343
26950
  ChartTooltipContent.displayName = "ChartTooltip";
26344
26951
  var ChartLegend = RechartsPrimitive.Legend;
26345
- var ChartLegendContent = React41.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
26952
+ var ChartLegendContent = React42.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
26346
26953
  const { config } = useChart();
26347
26954
  if (!(payload == null ? void 0 : payload.length)) {
26348
26955
  return null;
26349
26956
  }
26350
- return /* @__PURE__ */ jsx68(
26957
+ return /* @__PURE__ */ jsx69(
26351
26958
  "div",
26352
26959
  {
26353
26960
  ref,
@@ -26360,7 +26967,7 @@ var ChartLegendContent = React41.forwardRef(({ className, hideIcon = false, payl
26360
26967
  {
26361
26968
  className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
26362
26969
  children: [
26363
- (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ jsx68(itemConfig.icon, {}) : /* @__PURE__ */ jsx68(
26970
+ (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ jsx69(itemConfig.icon, {}) : /* @__PURE__ */ jsx69(
26364
26971
  "div",
26365
26972
  {
26366
26973
  className: "h-2 w-2 shrink-0 rounded-[2px]",
@@ -26394,11 +27001,11 @@ function getPayloadConfigFromPayload(config, payload, key) {
26394
27001
  }
26395
27002
 
26396
27003
  // src/components/ui/checkbox.tsx
26397
- import * as React42 from "react";
27004
+ import * as React43 from "react";
26398
27005
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
26399
27006
  import { Check as Check6 } from "lucide-react";
26400
- import { jsx as jsx69 } from "react/jsx-runtime";
26401
- var Checkbox = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx69(
27007
+ import { jsx as jsx70 } from "react/jsx-runtime";
27008
+ var Checkbox = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
26402
27009
  CheckboxPrimitive.Root,
26403
27010
  {
26404
27011
  ref,
@@ -26407,7 +27014,7 @@ var Checkbox = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26407
27014
  className
26408
27015
  ),
26409
27016
  ...props,
26410
- children: /* @__PURE__ */ jsx69(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx69(Check6, { className: "h-4 w-4" }) })
27017
+ children: /* @__PURE__ */ jsx70(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx70(Check6, { className: "h-4 w-4" }) })
26411
27018
  }
26412
27019
  ));
26413
27020
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
@@ -26419,11 +27026,11 @@ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
26419
27026
  var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
26420
27027
 
26421
27028
  // src/components/ui/command.tsx
26422
- import * as React43 from "react";
27029
+ import * as React44 from "react";
26423
27030
  import { Command as CommandPrimitive } from "cmdk";
26424
27031
  import { Search as Search3 } from "lucide-react";
26425
- import { jsx as jsx70, jsxs as jsxs45 } from "react/jsx-runtime";
26426
- var Command = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27032
+ import { jsx as jsx71, jsxs as jsxs45 } from "react/jsx-runtime";
27033
+ var Command = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
26427
27034
  CommandPrimitive,
26428
27035
  {
26429
27036
  ref,
@@ -26436,11 +27043,11 @@ var Command = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26436
27043
  ));
26437
27044
  Command.displayName = CommandPrimitive.displayName;
26438
27045
  var CommandDialog = ({ children, ...props }) => {
26439
- return /* @__PURE__ */ jsx70(Dialog, { ...props, children: /* @__PURE__ */ jsx70(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx70(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
27046
+ return /* @__PURE__ */ jsx71(Dialog, { ...props, children: /* @__PURE__ */ jsx71(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx71(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
26440
27047
  };
26441
- var CommandInput = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs45("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
26442
- /* @__PURE__ */ jsx70(Search3, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
26443
- /* @__PURE__ */ jsx70(
27048
+ var CommandInput = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs45("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
27049
+ /* @__PURE__ */ jsx71(Search3, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
27050
+ /* @__PURE__ */ jsx71(
26444
27051
  CommandPrimitive.Input,
26445
27052
  {
26446
27053
  ref,
@@ -26453,7 +27060,7 @@ var CommandInput = React43.forwardRef(({ className, ...props }, ref) => /* @__PU
26453
27060
  )
26454
27061
  ] }));
26455
27062
  CommandInput.displayName = CommandPrimitive.Input.displayName;
26456
- var CommandList = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27063
+ var CommandList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
26457
27064
  CommandPrimitive.List,
26458
27065
  {
26459
27066
  ref,
@@ -26462,9 +27069,9 @@ var CommandList = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
26462
27069
  }
26463
27070
  ));
26464
27071
  CommandList.displayName = CommandPrimitive.List.displayName;
26465
- var CommandEmpty = React43.forwardRef((props, ref) => /* @__PURE__ */ jsx70(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
27072
+ var CommandEmpty = React44.forwardRef((props, ref) => /* @__PURE__ */ jsx71(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
26466
27073
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
26467
- var CommandGroup = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27074
+ var CommandGroup = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
26468
27075
  CommandPrimitive.Group,
26469
27076
  {
26470
27077
  ref,
@@ -26476,9 +27083,9 @@ var CommandGroup = React43.forwardRef(({ className, ...props }, ref) => /* @__PU
26476
27083
  }
26477
27084
  ));
26478
27085
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
26479
- var CommandSeparator = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
27086
+ var CommandSeparator = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
26480
27087
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
26481
- var CommandItem = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27088
+ var CommandItem = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
26482
27089
  CommandPrimitive.Item,
26483
27090
  {
26484
27091
  ref,
@@ -26491,22 +27098,22 @@ var CommandItem = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
26491
27098
  ));
26492
27099
  CommandItem.displayName = CommandPrimitive.Item.displayName;
26493
27100
  var CommandShortcut = ({ className, ...props }) => {
26494
- return /* @__PURE__ */ jsx70("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27101
+ return /* @__PURE__ */ jsx71("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26495
27102
  };
26496
27103
  CommandShortcut.displayName = "CommandShortcut";
26497
27104
 
26498
27105
  // src/components/ui/context-menu.tsx
26499
- import * as React44 from "react";
27106
+ import * as React45 from "react";
26500
27107
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
26501
27108
  import { Check as Check7, ChevronRight as ChevronRight5, Circle as Circle3 } from "lucide-react";
26502
- import { jsx as jsx71, jsxs as jsxs46 } from "react/jsx-runtime";
27109
+ import { jsx as jsx72, jsxs as jsxs46 } from "react/jsx-runtime";
26503
27110
  var ContextMenu = ContextMenuPrimitive.Root;
26504
27111
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
26505
27112
  var ContextMenuGroup = ContextMenuPrimitive.Group;
26506
27113
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
26507
27114
  var ContextMenuSub = ContextMenuPrimitive.Sub;
26508
27115
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
26509
- var ContextMenuSubTrigger = React44.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
27116
+ var ContextMenuSubTrigger = React45.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
26510
27117
  ContextMenuPrimitive.SubTrigger,
26511
27118
  {
26512
27119
  ref,
@@ -26518,12 +27125,12 @@ var ContextMenuSubTrigger = React44.forwardRef(({ className, inset, children, ..
26518
27125
  ...props,
26519
27126
  children: [
26520
27127
  children,
26521
- /* @__PURE__ */ jsx71(ChevronRight5, { className: "ml-auto h-4 w-4" })
27128
+ /* @__PURE__ */ jsx72(ChevronRight5, { className: "ml-auto h-4 w-4" })
26522
27129
  ]
26523
27130
  }
26524
27131
  ));
26525
27132
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
26526
- var ContextMenuSubContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
27133
+ var ContextMenuSubContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(
26527
27134
  ContextMenuPrimitive.SubContent,
26528
27135
  {
26529
27136
  ref,
@@ -26535,7 +27142,7 @@ var ContextMenuSubContent = React44.forwardRef(({ className, ...props }, ref) =>
26535
27142
  }
26536
27143
  ));
26537
27144
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
26538
- var ContextMenuContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx71(
27145
+ var ContextMenuContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx72(
26539
27146
  ContextMenuPrimitive.Content,
26540
27147
  {
26541
27148
  ref,
@@ -26547,7 +27154,7 @@ var ContextMenuContent = React44.forwardRef(({ className, ...props }, ref) => /*
26547
27154
  }
26548
27155
  ) }));
26549
27156
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
26550
- var ContextMenuItem = React44.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx71(
27157
+ var ContextMenuItem = React45.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx72(
26551
27158
  ContextMenuPrimitive.Item,
26552
27159
  {
26553
27160
  ref,
@@ -26560,7 +27167,7 @@ var ContextMenuItem = React44.forwardRef(({ className, inset, ...props }, ref) =
26560
27167
  }
26561
27168
  ));
26562
27169
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
26563
- var ContextMenuCheckboxItem = React44.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs46(
27170
+ var ContextMenuCheckboxItem = React45.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs46(
26564
27171
  ContextMenuPrimitive.CheckboxItem,
26565
27172
  {
26566
27173
  ref,
@@ -26571,13 +27178,13 @@ var ContextMenuCheckboxItem = React44.forwardRef(({ className, children, checked
26571
27178
  checked,
26572
27179
  ...props,
26573
27180
  children: [
26574
- /* @__PURE__ */ jsx71("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx71(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx71(Check7, { className: "h-4 w-4" }) }) }),
27181
+ /* @__PURE__ */ jsx72("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx72(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx72(Check7, { className: "h-4 w-4" }) }) }),
26575
27182
  children
26576
27183
  ]
26577
27184
  }
26578
27185
  ));
26579
27186
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
26580
- var ContextMenuRadioItem = React44.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
27187
+ var ContextMenuRadioItem = React45.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
26581
27188
  ContextMenuPrimitive.RadioItem,
26582
27189
  {
26583
27190
  ref,
@@ -26587,13 +27194,13 @@ var ContextMenuRadioItem = React44.forwardRef(({ className, children, ...props }
26587
27194
  ),
26588
27195
  ...props,
26589
27196
  children: [
26590
- /* @__PURE__ */ jsx71("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx71(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx71(Circle3, { className: "h-2 w-2 fill-current" }) }) }),
27197
+ /* @__PURE__ */ jsx72("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx72(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx72(Circle3, { className: "h-2 w-2 fill-current" }) }) }),
26591
27198
  children
26592
27199
  ]
26593
27200
  }
26594
27201
  ));
26595
27202
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
26596
- var ContextMenuLabel = React44.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx71(
27203
+ var ContextMenuLabel = React45.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx72(
26597
27204
  ContextMenuPrimitive.Label,
26598
27205
  {
26599
27206
  ref,
@@ -26602,39 +27209,39 @@ var ContextMenuLabel = React44.forwardRef(({ className, inset, ...props }, ref)
26602
27209
  }
26603
27210
  ));
26604
27211
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
26605
- var ContextMenuSeparator = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
27212
+ var ContextMenuSeparator = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
26606
27213
  ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
26607
27214
  var ContextMenuShortcut = ({ className, ...props }) => {
26608
- return /* @__PURE__ */ jsx71("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27215
+ return /* @__PURE__ */ jsx72("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26609
27216
  };
26610
27217
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
26611
27218
 
26612
27219
  // src/components/ui/form.tsx
26613
- import * as React46 from "react";
27220
+ import * as React47 from "react";
26614
27221
  import { Slot as Slot3 } from "@radix-ui/react-slot";
26615
27222
  import { Controller, FormProvider, useFormContext } from "react-hook-form";
26616
27223
 
26617
27224
  // src/components/ui/label.tsx
26618
- import * as React45 from "react";
27225
+ import * as React46 from "react";
26619
27226
  import * as LabelPrimitive from "@radix-ui/react-label";
26620
27227
  import { cva as cva4 } from "class-variance-authority";
26621
- import { jsx as jsx72 } from "react/jsx-runtime";
27228
+ import { jsx as jsx73 } from "react/jsx-runtime";
26622
27229
  var labelVariants = cva4("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
26623
- var Label4 = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
27230
+ var Label4 = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
26624
27231
  Label4.displayName = LabelPrimitive.Root.displayName;
26625
27232
 
26626
27233
  // src/components/ui/form.tsx
26627
- import { jsx as jsx73 } from "react/jsx-runtime";
27234
+ import { jsx as jsx74 } from "react/jsx-runtime";
26628
27235
  var Form = FormProvider;
26629
- var FormFieldContext = React46.createContext({});
27236
+ var FormFieldContext = React47.createContext({});
26630
27237
  var FormField = ({
26631
27238
  ...props
26632
27239
  }) => {
26633
- return /* @__PURE__ */ jsx73(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx73(Controller, { ...props }) });
27240
+ return /* @__PURE__ */ jsx74(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx74(Controller, { ...props }) });
26634
27241
  };
26635
27242
  var useFormField = () => {
26636
- const fieldContext = React46.useContext(FormFieldContext);
26637
- const itemContext = React46.useContext(FormItemContext);
27243
+ const fieldContext = React47.useContext(FormFieldContext);
27244
+ const itemContext = React47.useContext(FormItemContext);
26638
27245
  const { getFieldState, formState } = useFormContext();
26639
27246
  const fieldState = getFieldState(fieldContext.name, formState);
26640
27247
  if (!fieldContext) {
@@ -26650,23 +27257,23 @@ var useFormField = () => {
26650
27257
  ...fieldState
26651
27258
  };
26652
27259
  };
26653
- var FormItemContext = React46.createContext({});
26654
- var FormItem = React46.forwardRef(
27260
+ var FormItemContext = React47.createContext({});
27261
+ var FormItem = React47.forwardRef(
26655
27262
  ({ className, ...props }, ref) => {
26656
- const id = React46.useId();
26657
- return /* @__PURE__ */ jsx73(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx73("div", { ref, className: cn("space-y-2", className), ...props }) });
27263
+ const id = React47.useId();
27264
+ return /* @__PURE__ */ jsx74(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx74("div", { ref, className: cn("space-y-2", className), ...props }) });
26658
27265
  }
26659
27266
  );
26660
27267
  FormItem.displayName = "FormItem";
26661
- var FormLabel = React46.forwardRef(({ className, ...props }, ref) => {
27268
+ var FormLabel = React47.forwardRef(({ className, ...props }, ref) => {
26662
27269
  const { error, formItemId } = useFormField();
26663
- return /* @__PURE__ */ jsx73(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
27270
+ return /* @__PURE__ */ jsx74(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
26664
27271
  });
26665
27272
  FormLabel.displayName = "FormLabel";
26666
- var FormControl = React46.forwardRef(
27273
+ var FormControl = React47.forwardRef(
26667
27274
  ({ ...props }, ref) => {
26668
27275
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
26669
- return /* @__PURE__ */ jsx73(
27276
+ return /* @__PURE__ */ jsx74(
26670
27277
  Slot3,
26671
27278
  {
26672
27279
  ref,
@@ -26679,42 +27286,42 @@ var FormControl = React46.forwardRef(
26679
27286
  }
26680
27287
  );
26681
27288
  FormControl.displayName = "FormControl";
26682
- var FormDescription = React46.forwardRef(
27289
+ var FormDescription = React47.forwardRef(
26683
27290
  ({ className, ...props }, ref) => {
26684
27291
  const { formDescriptionId } = useFormField();
26685
- return /* @__PURE__ */ jsx73("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
27292
+ return /* @__PURE__ */ jsx74("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
26686
27293
  }
26687
27294
  );
26688
27295
  FormDescription.displayName = "FormDescription";
26689
- var FormMessage = React46.forwardRef(
27296
+ var FormMessage = React47.forwardRef(
26690
27297
  ({ className, children, ...props }, ref) => {
26691
27298
  const { error, formMessageId } = useFormField();
26692
27299
  const body = error ? String(error == null ? void 0 : error.message) : children;
26693
27300
  if (!body) {
26694
27301
  return null;
26695
27302
  }
26696
- return /* @__PURE__ */ jsx73("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
27303
+ return /* @__PURE__ */ jsx74("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
26697
27304
  }
26698
27305
  );
26699
27306
  FormMessage.displayName = "FormMessage";
26700
27307
 
26701
27308
  // src/components/ui/glass-card.tsx
26702
- import * as React47 from "react";
26703
- import { jsx as jsx74 } from "react/jsx-runtime";
26704
- var GlassCard = React47.forwardRef(
27309
+ import * as React48 from "react";
27310
+ import { jsx as jsx75 } from "react/jsx-runtime";
27311
+ var GlassCard = React48.forwardRef(
26705
27312
  ({ className, ...props }, ref) => {
26706
- return /* @__PURE__ */ jsx74("div", { ref, className: cn("glass-card", className), ...props });
27313
+ return /* @__PURE__ */ jsx75("div", { ref, className: cn("glass-card", className), ...props });
26707
27314
  }
26708
27315
  );
26709
27316
  GlassCard.displayName = "GlassCard";
26710
27317
 
26711
27318
  // src/components/ui/hover-card.tsx
26712
- import * as React48 from "react";
27319
+ import * as React49 from "react";
26713
27320
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
26714
- import { jsx as jsx75 } from "react/jsx-runtime";
27321
+ import { jsx as jsx76 } from "react/jsx-runtime";
26715
27322
  var HoverCard = HoverCardPrimitive.Root;
26716
27323
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
26717
- var HoverCardContent = React48.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx75(
27324
+ var HoverCardContent = React49.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx76(
26718
27325
  HoverCardPrimitive.Content,
26719
27326
  {
26720
27327
  ref,
@@ -26730,12 +27337,12 @@ var HoverCardContent = React48.forwardRef(({ className, align = "center", sideOf
26730
27337
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
26731
27338
 
26732
27339
  // src/components/ui/input-otp.tsx
26733
- import * as React49 from "react";
27340
+ import * as React50 from "react";
26734
27341
  import { OTPInput, OTPInputContext } from "input-otp";
26735
27342
  import { Dot } from "lucide-react";
26736
- import { jsx as jsx76, jsxs as jsxs47 } from "react/jsx-runtime";
26737
- var InputOTP = React49.forwardRef(
26738
- ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx76(
27343
+ import { jsx as jsx77, jsxs as jsxs47 } from "react/jsx-runtime";
27344
+ var InputOTP = React50.forwardRef(
27345
+ ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx77(
26739
27346
  OTPInput,
26740
27347
  {
26741
27348
  ref,
@@ -26746,12 +27353,12 @@ var InputOTP = React49.forwardRef(
26746
27353
  )
26747
27354
  );
26748
27355
  InputOTP.displayName = "InputOTP";
26749
- var InputOTPGroup = React49.forwardRef(
26750
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx76("div", { ref, className: cn("flex items-center", className), ...props })
27356
+ var InputOTPGroup = React50.forwardRef(
27357
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx77("div", { ref, className: cn("flex items-center", className), ...props })
26751
27358
  );
26752
27359
  InputOTPGroup.displayName = "InputOTPGroup";
26753
- var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
26754
- const inputOTPContext = React49.useContext(OTPInputContext);
27360
+ var InputOTPSlot = React50.forwardRef(({ index, className, ...props }, ref) => {
27361
+ const inputOTPContext = React50.useContext(OTPInputContext);
26755
27362
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
26756
27363
  return /* @__PURE__ */ jsxs47(
26757
27364
  "div",
@@ -26765,28 +27372,28 @@ var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
26765
27372
  ...props,
26766
27373
  children: [
26767
27374
  char,
26768
- hasFakeCaret && /* @__PURE__ */ jsx76("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx76("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
27375
+ hasFakeCaret && /* @__PURE__ */ jsx77("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx77("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
26769
27376
  ]
26770
27377
  }
26771
27378
  );
26772
27379
  });
26773
27380
  InputOTPSlot.displayName = "InputOTPSlot";
26774
- var InputOTPSeparator = React49.forwardRef(
26775
- ({ ...props }, ref) => /* @__PURE__ */ jsx76("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx76(Dot, {}) })
27381
+ var InputOTPSeparator = React50.forwardRef(
27382
+ ({ ...props }, ref) => /* @__PURE__ */ jsx77("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx77(Dot, {}) })
26776
27383
  );
26777
27384
  InputOTPSeparator.displayName = "InputOTPSeparator";
26778
27385
 
26779
27386
  // src/components/ui/menubar.tsx
26780
- import * as React50 from "react";
27387
+ import * as React51 from "react";
26781
27388
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
26782
27389
  import { Check as Check8, ChevronRight as ChevronRight6, Circle as Circle4 } from "lucide-react";
26783
- import { jsx as jsx77, jsxs as jsxs48 } from "react/jsx-runtime";
27390
+ import { jsx as jsx78, jsxs as jsxs48 } from "react/jsx-runtime";
26784
27391
  var MenubarMenu = MenubarPrimitive.Menu;
26785
27392
  var MenubarGroup = MenubarPrimitive.Group;
26786
27393
  var MenubarPortal = MenubarPrimitive.Portal;
26787
27394
  var MenubarSub = MenubarPrimitive.Sub;
26788
27395
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
26789
- var Menubar = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
27396
+ var Menubar = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
26790
27397
  MenubarPrimitive.Root,
26791
27398
  {
26792
27399
  ref,
@@ -26795,7 +27402,7 @@ var Menubar = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26795
27402
  }
26796
27403
  ));
26797
27404
  Menubar.displayName = MenubarPrimitive.Root.displayName;
26798
- var MenubarTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
27405
+ var MenubarTrigger = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
26799
27406
  MenubarPrimitive.Trigger,
26800
27407
  {
26801
27408
  ref,
@@ -26807,7 +27414,7 @@ var MenubarTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__
26807
27414
  }
26808
27415
  ));
26809
27416
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
26810
- var MenubarSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
27417
+ var MenubarSubTrigger = React51.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
26811
27418
  MenubarPrimitive.SubTrigger,
26812
27419
  {
26813
27420
  ref,
@@ -26819,12 +27426,12 @@ var MenubarSubTrigger = React50.forwardRef(({ className, inset, children, ...pro
26819
27426
  ...props,
26820
27427
  children: [
26821
27428
  children,
26822
- /* @__PURE__ */ jsx77(ChevronRight6, { className: "ml-auto h-4 w-4" })
27429
+ /* @__PURE__ */ jsx78(ChevronRight6, { className: "ml-auto h-4 w-4" })
26823
27430
  ]
26824
27431
  }
26825
27432
  ));
26826
27433
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
26827
- var MenubarSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
27434
+ var MenubarSubContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
26828
27435
  MenubarPrimitive.SubContent,
26829
27436
  {
26830
27437
  ref,
@@ -26836,7 +27443,7 @@ var MenubarSubContent = React50.forwardRef(({ className, ...props }, ref) => /*
26836
27443
  }
26837
27444
  ));
26838
27445
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
26839
- var MenubarContent = React50.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx77(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx77(
27446
+ var MenubarContent = React51.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx78(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx78(
26840
27447
  MenubarPrimitive.Content,
26841
27448
  {
26842
27449
  ref,
@@ -26851,7 +27458,7 @@ var MenubarContent = React50.forwardRef(({ className, align = "start", alignOffs
26851
27458
  }
26852
27459
  ) }));
26853
27460
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
26854
- var MenubarItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx77(
27461
+ var MenubarItem = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx78(
26855
27462
  MenubarPrimitive.Item,
26856
27463
  {
26857
27464
  ref,
@@ -26864,7 +27471,7 @@ var MenubarItem = React50.forwardRef(({ className, inset, ...props }, ref) => /*
26864
27471
  }
26865
27472
  ));
26866
27473
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
26867
- var MenubarCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs48(
27474
+ var MenubarCheckboxItem = React51.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs48(
26868
27475
  MenubarPrimitive.CheckboxItem,
26869
27476
  {
26870
27477
  ref,
@@ -26875,13 +27482,13 @@ var MenubarCheckboxItem = React50.forwardRef(({ className, children, checked, ..
26875
27482
  checked,
26876
27483
  ...props,
26877
27484
  children: [
26878
- /* @__PURE__ */ jsx77("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx77(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx77(Check8, { className: "h-4 w-4" }) }) }),
27485
+ /* @__PURE__ */ jsx78("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx78(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx78(Check8, { className: "h-4 w-4" }) }) }),
26879
27486
  children
26880
27487
  ]
26881
27488
  }
26882
27489
  ));
26883
27490
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
26884
- var MenubarRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
27491
+ var MenubarRadioItem = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
26885
27492
  MenubarPrimitive.RadioItem,
26886
27493
  {
26887
27494
  ref,
@@ -26891,13 +27498,13 @@ var MenubarRadioItem = React50.forwardRef(({ className, children, ...props }, re
26891
27498
  ),
26892
27499
  ...props,
26893
27500
  children: [
26894
- /* @__PURE__ */ jsx77("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx77(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx77(Circle4, { className: "h-2 w-2 fill-current" }) }) }),
27501
+ /* @__PURE__ */ jsx78("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx78(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx78(Circle4, { className: "h-2 w-2 fill-current" }) }) }),
26895
27502
  children
26896
27503
  ]
26897
27504
  }
26898
27505
  ));
26899
27506
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
26900
- var MenubarLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx77(
27507
+ var MenubarLabel = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx78(
26901
27508
  MenubarPrimitive.Label,
26902
27509
  {
26903
27510
  ref,
@@ -26906,20 +27513,20 @@ var MenubarLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /
26906
27513
  }
26907
27514
  ));
26908
27515
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
26909
- var MenubarSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
27516
+ var MenubarSeparator = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
26910
27517
  MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
26911
27518
  var MenubarShortcut = ({ className, ...props }) => {
26912
- return /* @__PURE__ */ jsx77("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27519
+ return /* @__PURE__ */ jsx78("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26913
27520
  };
26914
27521
  MenubarShortcut.displayname = "MenubarShortcut";
26915
27522
 
26916
27523
  // src/components/ui/navigation-menu.tsx
26917
- import * as React51 from "react";
27524
+ import * as React52 from "react";
26918
27525
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
26919
27526
  import { cva as cva5 } from "class-variance-authority";
26920
27527
  import { ChevronDown as ChevronDown7 } from "lucide-react";
26921
- import { jsx as jsx78, jsxs as jsxs49 } from "react/jsx-runtime";
26922
- var NavigationMenu = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
27528
+ import { jsx as jsx79, jsxs as jsxs49 } from "react/jsx-runtime";
27529
+ var NavigationMenu = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
26923
27530
  NavigationMenuPrimitive.Root,
26924
27531
  {
26925
27532
  ref,
@@ -26927,12 +27534,12 @@ var NavigationMenu = React51.forwardRef(({ className, children, ...props }, ref)
26927
27534
  ...props,
26928
27535
  children: [
26929
27536
  children,
26930
- /* @__PURE__ */ jsx78(NavigationMenuViewport, {})
27537
+ /* @__PURE__ */ jsx79(NavigationMenuViewport, {})
26931
27538
  ]
26932
27539
  }
26933
27540
  ));
26934
27541
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
26935
- var NavigationMenuList = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
27542
+ var NavigationMenuList = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79(
26936
27543
  NavigationMenuPrimitive.List,
26937
27544
  {
26938
27545
  ref,
@@ -26945,7 +27552,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
26945
27552
  var navigationMenuTriggerStyle = cva5(
26946
27553
  "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
26947
27554
  );
26948
- var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
27555
+ var NavigationMenuTrigger = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
26949
27556
  NavigationMenuPrimitive.Trigger,
26950
27557
  {
26951
27558
  ref,
@@ -26954,7 +27561,7 @@ var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props
26954
27561
  children: [
26955
27562
  children,
26956
27563
  " ",
26957
- /* @__PURE__ */ jsx78(
27564
+ /* @__PURE__ */ jsx79(
26958
27565
  ChevronDown7,
26959
27566
  {
26960
27567
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
@@ -26965,7 +27572,7 @@ var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props
26965
27572
  }
26966
27573
  ));
26967
27574
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
26968
- var NavigationMenuContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
27575
+ var NavigationMenuContent = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79(
26969
27576
  NavigationMenuPrimitive.Content,
26970
27577
  {
26971
27578
  ref,
@@ -26978,7 +27585,7 @@ var NavigationMenuContent = React51.forwardRef(({ className, ...props }, ref) =>
26978
27585
  ));
26979
27586
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
26980
27587
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
26981
- var NavigationMenuViewport = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx78(
27588
+ var NavigationMenuViewport = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx79(
26982
27589
  NavigationMenuPrimitive.Viewport,
26983
27590
  {
26984
27591
  className: cn(
@@ -26990,7 +27597,7 @@ var NavigationMenuViewport = React51.forwardRef(({ className, ...props }, ref) =
26990
27597
  }
26991
27598
  ) }));
26992
27599
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
26993
- var NavigationMenuIndicator = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
27600
+ var NavigationMenuIndicator = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79(
26994
27601
  NavigationMenuPrimitive.Indicator,
26995
27602
  {
26996
27603
  ref,
@@ -26999,16 +27606,16 @@ var NavigationMenuIndicator = React51.forwardRef(({ className, ...props }, ref)
26999
27606
  className
27000
27607
  ),
27001
27608
  ...props,
27002
- children: /* @__PURE__ */ jsx78("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
27609
+ children: /* @__PURE__ */ jsx79("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
27003
27610
  }
27004
27611
  ));
27005
27612
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
27006
27613
 
27007
27614
  // src/components/ui/pagination.tsx
27008
- import * as React52 from "react";
27615
+ import * as React53 from "react";
27009
27616
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight7, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
27010
- import { jsx as jsx79, jsxs as jsxs50 } from "react/jsx-runtime";
27011
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx79(
27617
+ import { jsx as jsx80, jsxs as jsxs50 } from "react/jsx-runtime";
27618
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx80(
27012
27619
  "nav",
27013
27620
  {
27014
27621
  role: "navigation",
@@ -27018,13 +27625,13 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx79(
27018
27625
  }
27019
27626
  );
27020
27627
  Pagination.displayName = "Pagination";
27021
- var PaginationContent = React52.forwardRef(
27022
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx79("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
27628
+ var PaginationContent = React53.forwardRef(
27629
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx80("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
27023
27630
  );
27024
27631
  PaginationContent.displayName = "PaginationContent";
27025
- var PaginationItem = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79("li", { ref, className: cn("", className), ...props }));
27632
+ var PaginationItem = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80("li", { ref, className: cn("", className), ...props }));
27026
27633
  PaginationItem.displayName = "PaginationItem";
27027
- var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx79(
27634
+ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx80(
27028
27635
  "a",
27029
27636
  {
27030
27637
  "aria-current": isActive ? "page" : void 0,
@@ -27040,28 +27647,28 @@ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @_
27040
27647
  );
27041
27648
  PaginationLink.displayName = "PaginationLink";
27042
27649
  var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs50(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 pl-2.5", className), ...props, children: [
27043
- /* @__PURE__ */ jsx79(ChevronLeft2, { className: "h-4 w-4" }),
27044
- /* @__PURE__ */ jsx79("span", { children: "Previous" })
27650
+ /* @__PURE__ */ jsx80(ChevronLeft2, { className: "h-4 w-4" }),
27651
+ /* @__PURE__ */ jsx80("span", { children: "Previous" })
27045
27652
  ] });
27046
27653
  PaginationPrevious.displayName = "PaginationPrevious";
27047
27654
  var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs50(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pr-2.5", className), ...props, children: [
27048
- /* @__PURE__ */ jsx79("span", { children: "Next" }),
27049
- /* @__PURE__ */ jsx79(ChevronRight7, { className: "h-4 w-4" })
27655
+ /* @__PURE__ */ jsx80("span", { children: "Next" }),
27656
+ /* @__PURE__ */ jsx80(ChevronRight7, { className: "h-4 w-4" })
27050
27657
  ] });
27051
27658
  PaginationNext.displayName = "PaginationNext";
27052
27659
  var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs50("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
27053
- /* @__PURE__ */ jsx79(MoreHorizontal2, { className: "h-4 w-4" }),
27054
- /* @__PURE__ */ jsx79("span", { className: "sr-only", children: "More pages" })
27660
+ /* @__PURE__ */ jsx80(MoreHorizontal2, { className: "h-4 w-4" }),
27661
+ /* @__PURE__ */ jsx80("span", { className: "sr-only", children: "More pages" })
27055
27662
  ] });
27056
27663
  PaginationEllipsis.displayName = "PaginationEllipsis";
27057
27664
 
27058
27665
  // src/components/ui/popover.tsx
27059
- import * as React53 from "react";
27666
+ import * as React54 from "react";
27060
27667
  import * as PopoverPrimitive from "@radix-ui/react-popover";
27061
- import { jsx as jsx80 } from "react/jsx-runtime";
27668
+ import { jsx as jsx81 } from "react/jsx-runtime";
27062
27669
  var Popover = PopoverPrimitive.Root;
27063
27670
  var PopoverTrigger = PopoverPrimitive.Trigger;
27064
- var PopoverContent = React53.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx80(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx80(
27671
+ var PopoverContent = React54.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx81(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx81(
27065
27672
  PopoverPrimitive.Content,
27066
27673
  {
27067
27674
  ref,
@@ -27077,16 +27684,16 @@ var PopoverContent = React53.forwardRef(({ className, align = "center", sideOffs
27077
27684
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
27078
27685
 
27079
27686
  // src/components/ui/radio-group.tsx
27080
- import * as React54 from "react";
27687
+ import * as React55 from "react";
27081
27688
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
27082
27689
  import { Circle as Circle5 } from "lucide-react";
27083
- import { jsx as jsx81 } from "react/jsx-runtime";
27084
- var RadioGroup4 = React54.forwardRef(({ className, ...props }, ref) => {
27085
- return /* @__PURE__ */ jsx81(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
27690
+ import { jsx as jsx82 } from "react/jsx-runtime";
27691
+ var RadioGroup4 = React55.forwardRef(({ className, ...props }, ref) => {
27692
+ return /* @__PURE__ */ jsx82(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
27086
27693
  });
27087
27694
  RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
27088
- var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
27089
- return /* @__PURE__ */ jsx81(
27695
+ var RadioGroupItem = React55.forwardRef(({ className, ...props }, ref) => {
27696
+ return /* @__PURE__ */ jsx82(
27090
27697
  RadioGroupPrimitive.Item,
27091
27698
  {
27092
27699
  ref,
@@ -27095,7 +27702,7 @@ var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
27095
27702
  className
27096
27703
  ),
27097
27704
  ...props,
27098
- children: /* @__PURE__ */ jsx81(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx81(Circle5, { className: "h-2.5 w-2.5 fill-current text-current" }) })
27705
+ children: /* @__PURE__ */ jsx82(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx82(Circle5, { className: "h-2.5 w-2.5 fill-current text-current" }) })
27099
27706
  }
27100
27707
  );
27101
27708
  });
@@ -27104,8 +27711,8 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
27104
27711
  // src/components/ui/resizable.tsx
27105
27712
  import { GripVertical } from "lucide-react";
27106
27713
  import * as ResizablePrimitive from "react-resizable-panels";
27107
- import { jsx as jsx82 } from "react/jsx-runtime";
27108
- var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx82(
27714
+ import { jsx as jsx83 } from "react/jsx-runtime";
27715
+ var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx83(
27109
27716
  ResizablePrimitive.PanelGroup,
27110
27717
  {
27111
27718
  className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
@@ -27117,7 +27724,7 @@ var ResizableHandle = ({
27117
27724
  withHandle,
27118
27725
  className,
27119
27726
  ...props
27120
- }) => /* @__PURE__ */ jsx82(
27727
+ }) => /* @__PURE__ */ jsx83(
27121
27728
  ResizablePrimitive.PanelResizeHandle,
27122
27729
  {
27123
27730
  className: cn(
@@ -27125,15 +27732,15 @@ var ResizableHandle = ({
27125
27732
  className
27126
27733
  ),
27127
27734
  ...props,
27128
- children: withHandle && /* @__PURE__ */ jsx82("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx82(GripVertical, { className: "h-2.5 w-2.5" }) })
27735
+ children: withHandle && /* @__PURE__ */ jsx83("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx83(GripVertical, { className: "h-2.5 w-2.5" }) })
27129
27736
  }
27130
27737
  );
27131
27738
 
27132
27739
  // src/components/ui/separator.tsx
27133
- import * as React55 from "react";
27740
+ import * as React56 from "react";
27134
27741
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
27135
- import { jsx as jsx83 } from "react/jsx-runtime";
27136
- var Separator5 = React55.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx83(
27742
+ import { jsx as jsx84 } from "react/jsx-runtime";
27743
+ var Separator5 = React56.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx84(
27137
27744
  SeparatorPrimitive.Root,
27138
27745
  {
27139
27746
  ref,
@@ -27149,13 +27756,13 @@ Separator5.displayName = SeparatorPrimitive.Root.displayName;
27149
27756
  import * as SheetPrimitive from "@radix-ui/react-dialog";
27150
27757
  import { cva as cva6 } from "class-variance-authority";
27151
27758
  import { X as X7 } from "lucide-react";
27152
- import * as React56 from "react";
27153
- import { jsx as jsx84, jsxs as jsxs51 } from "react/jsx-runtime";
27759
+ import * as React57 from "react";
27760
+ import { jsx as jsx85, jsxs as jsxs51 } from "react/jsx-runtime";
27154
27761
  var Sheet = SheetPrimitive.Root;
27155
27762
  var SheetTrigger = SheetPrimitive.Trigger;
27156
27763
  var SheetClose = SheetPrimitive.Close;
27157
27764
  var SheetPortal = SheetPrimitive.Portal;
27158
- var SheetOverlay = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx84(
27765
+ var SheetOverlay = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx85(
27159
27766
  SheetPrimitive.Overlay,
27160
27767
  {
27161
27768
  className: cn(
@@ -27183,7 +27790,7 @@ var sheetVariants = cva6(
27183
27790
  }
27184
27791
  }
27185
27792
  );
27186
- var SheetContent = React56.forwardRef(
27793
+ var SheetContent = React57.forwardRef(
27187
27794
  ({
27188
27795
  side = "right",
27189
27796
  className,
@@ -27193,7 +27800,7 @@ var SheetContent = React56.forwardRef(
27193
27800
  closeButtonLabel = "Close",
27194
27801
  ...props
27195
27802
  }, ref) => /* @__PURE__ */ jsxs51(SheetPortal, { children: [
27196
- /* @__PURE__ */ jsx84(SheetOverlay, {}),
27803
+ /* @__PURE__ */ jsx85(SheetOverlay, {}),
27197
27804
  /* @__PURE__ */ jsxs51(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
27198
27805
  children,
27199
27806
  showCloseButton ? /* @__PURE__ */ jsxs51(
@@ -27204,8 +27811,8 @@ var SheetContent = React56.forwardRef(
27204
27811
  closeButtonClassName
27205
27812
  ),
27206
27813
  children: [
27207
- /* @__PURE__ */ jsx84(X7, { className: "h-4 w-4" }),
27208
- /* @__PURE__ */ jsx84("span", { className: "sr-only", children: closeButtonLabel })
27814
+ /* @__PURE__ */ jsx85(X7, { className: "h-4 w-4" }),
27815
+ /* @__PURE__ */ jsx85("span", { className: "sr-only", children: closeButtonLabel })
27209
27816
  ]
27210
27817
  }
27211
27818
  ) : null
@@ -27213,27 +27820,27 @@ var SheetContent = React56.forwardRef(
27213
27820
  ] })
27214
27821
  );
27215
27822
  SheetContent.displayName = SheetPrimitive.Content.displayName;
27216
- var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx84("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
27823
+ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx85("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
27217
27824
  SheetHeader.displayName = "SheetHeader";
27218
- var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx84("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
27825
+ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx85("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
27219
27826
  SheetFooter.displayName = "SheetFooter";
27220
- var SheetTitle = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx84(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
27827
+ var SheetTitle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx85(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
27221
27828
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
27222
- var SheetDescription = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx84(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
27829
+ var SheetDescription = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx85(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
27223
27830
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
27224
27831
 
27225
27832
  // src/components/ui/sidebar.tsx
27226
- import * as React58 from "react";
27833
+ import * as React59 from "react";
27227
27834
  import { Slot as Slot4 } from "@radix-ui/react-slot";
27228
27835
  import { cva as cva7 } from "class-variance-authority";
27229
27836
  import { PanelLeft as PanelLeft2 } from "lucide-react";
27230
27837
 
27231
27838
  // src/hooks/use-mobile.tsx
27232
- import * as React57 from "react";
27839
+ import * as React58 from "react";
27233
27840
  var MOBILE_BREAKPOINT = 768;
27234
27841
  function useIsMobile() {
27235
- const [isMobile, setIsMobile] = React57.useState(void 0);
27236
- React57.useEffect(() => {
27842
+ const [isMobile, setIsMobile] = React58.useState(void 0);
27843
+ React58.useEffect(() => {
27237
27844
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
27238
27845
  const onChange = () => {
27239
27846
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -27246,27 +27853,27 @@ function useIsMobile() {
27246
27853
  }
27247
27854
 
27248
27855
  // src/components/ui/sidebar.tsx
27249
- import { jsx as jsx85, jsxs as jsxs52 } from "react/jsx-runtime";
27856
+ import { jsx as jsx86, jsxs as jsxs52 } from "react/jsx-runtime";
27250
27857
  var SIDEBAR_COOKIE_NAME = "sidebar:state";
27251
27858
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
27252
27859
  var SIDEBAR_WIDTH = "16rem";
27253
27860
  var SIDEBAR_WIDTH_MOBILE = "18rem";
27254
27861
  var SIDEBAR_WIDTH_ICON = "3rem";
27255
27862
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
27256
- var SidebarContext = React58.createContext(null);
27863
+ var SidebarContext = React59.createContext(null);
27257
27864
  function useSidebar() {
27258
- const context = React58.useContext(SidebarContext);
27865
+ const context = React59.useContext(SidebarContext);
27259
27866
  if (!context) {
27260
27867
  throw new Error("useSidebar must be used within a SidebarProvider.");
27261
27868
  }
27262
27869
  return context;
27263
27870
  }
27264
- var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
27871
+ var SidebarProvider = React59.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
27265
27872
  const isMobile = useIsMobile();
27266
- const [openMobile, setOpenMobile] = React58.useState(false);
27267
- const [_open, _setOpen] = React58.useState(defaultOpen);
27873
+ const [openMobile, setOpenMobile] = React59.useState(false);
27874
+ const [_open, _setOpen] = React59.useState(defaultOpen);
27268
27875
  const open = openProp != null ? openProp : _open;
27269
- const setOpen = React58.useCallback(
27876
+ const setOpen = React59.useCallback(
27270
27877
  (value) => {
27271
27878
  const openState = typeof value === "function" ? value(open) : value;
27272
27879
  if (setOpenProp) {
@@ -27278,10 +27885,10 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27278
27885
  },
27279
27886
  [setOpenProp, open]
27280
27887
  );
27281
- const toggleSidebar = React58.useCallback(() => {
27888
+ const toggleSidebar = React59.useCallback(() => {
27282
27889
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
27283
27890
  }, [isMobile, setOpen, setOpenMobile]);
27284
- React58.useEffect(() => {
27891
+ React59.useEffect(() => {
27285
27892
  const handleKeyDown = (event) => {
27286
27893
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
27287
27894
  event.preventDefault();
@@ -27292,7 +27899,7 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27292
27899
  return () => window.removeEventListener("keydown", handleKeyDown);
27293
27900
  }, [toggleSidebar]);
27294
27901
  const state = open ? "expanded" : "collapsed";
27295
- const contextValue = React58.useMemo(
27902
+ const contextValue = React59.useMemo(
27296
27903
  () => ({
27297
27904
  state,
27298
27905
  open,
@@ -27304,7 +27911,7 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27304
27911
  }),
27305
27912
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
27306
27913
  );
27307
- return /* @__PURE__ */ jsx85(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx85(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx85(
27914
+ return /* @__PURE__ */ jsx86(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx86(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx86(
27308
27915
  "div",
27309
27916
  {
27310
27917
  style: {
@@ -27320,10 +27927,10 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27320
27927
  ) }) });
27321
27928
  });
27322
27929
  SidebarProvider.displayName = "SidebarProvider";
27323
- var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
27930
+ var Sidebar = React59.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
27324
27931
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
27325
27932
  if (collapsible === "none") {
27326
- return /* @__PURE__ */ jsx85(
27933
+ return /* @__PURE__ */ jsx86(
27327
27934
  "div",
27328
27935
  {
27329
27936
  className: cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground", className),
@@ -27334,7 +27941,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27334
27941
  );
27335
27942
  }
27336
27943
  if (isMobile) {
27337
- return /* @__PURE__ */ jsx85(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx85(
27944
+ return /* @__PURE__ */ jsx86(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx86(
27338
27945
  SheetContent,
27339
27946
  {
27340
27947
  "data-sidebar": "sidebar",
@@ -27344,7 +27951,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27344
27951
  "--sidebar-width": SIDEBAR_WIDTH_MOBILE
27345
27952
  },
27346
27953
  side,
27347
- children: /* @__PURE__ */ jsx85("div", { className: "flex h-full w-full flex-col", children })
27954
+ children: /* @__PURE__ */ jsx86("div", { className: "flex h-full w-full flex-col", children })
27348
27955
  }
27349
27956
  ) });
27350
27957
  }
@@ -27358,7 +27965,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27358
27965
  "data-variant": variant,
27359
27966
  "data-side": side,
27360
27967
  children: [
27361
- /* @__PURE__ */ jsx85(
27968
+ /* @__PURE__ */ jsx86(
27362
27969
  "div",
27363
27970
  {
27364
27971
  className: cn(
@@ -27369,7 +27976,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27369
27976
  )
27370
27977
  }
27371
27978
  ),
27372
- /* @__PURE__ */ jsx85(
27979
+ /* @__PURE__ */ jsx86(
27373
27980
  "div",
27374
27981
  {
27375
27982
  className: cn(
@@ -27380,7 +27987,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27380
27987
  className
27381
27988
  ),
27382
27989
  ...props,
27383
- children: /* @__PURE__ */ jsx85(
27990
+ children: /* @__PURE__ */ jsx86(
27384
27991
  "div",
27385
27992
  {
27386
27993
  "data-sidebar": "sidebar",
@@ -27395,7 +28002,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27395
28002
  );
27396
28003
  });
27397
28004
  Sidebar.displayName = "Sidebar";
27398
- var SidebarTrigger = React58.forwardRef(
28005
+ var SidebarTrigger = React59.forwardRef(
27399
28006
  ({ className, onClick, ...props }, ref) => {
27400
28007
  const { toggleSidebar } = useSidebar();
27401
28008
  return /* @__PURE__ */ jsxs52(
@@ -27412,18 +28019,18 @@ var SidebarTrigger = React58.forwardRef(
27412
28019
  },
27413
28020
  ...props,
27414
28021
  children: [
27415
- /* @__PURE__ */ jsx85(PanelLeft2, {}),
27416
- /* @__PURE__ */ jsx85("span", { className: "sr-only", children: "Toggle Sidebar" })
28022
+ /* @__PURE__ */ jsx86(PanelLeft2, {}),
28023
+ /* @__PURE__ */ jsx86("span", { className: "sr-only", children: "Toggle Sidebar" })
27417
28024
  ]
27418
28025
  }
27419
28026
  );
27420
28027
  }
27421
28028
  );
27422
28029
  SidebarTrigger.displayName = "SidebarTrigger";
27423
- var SidebarRail = React58.forwardRef(
28030
+ var SidebarRail = React59.forwardRef(
27424
28031
  ({ className, ...props }, ref) => {
27425
28032
  const { toggleSidebar } = useSidebar();
27426
- return /* @__PURE__ */ jsx85(
28033
+ return /* @__PURE__ */ jsx86(
27427
28034
  "button",
27428
28035
  {
27429
28036
  ref,
@@ -27447,8 +28054,8 @@ var SidebarRail = React58.forwardRef(
27447
28054
  }
27448
28055
  );
27449
28056
  SidebarRail.displayName = "SidebarRail";
27450
- var SidebarInset = React58.forwardRef(({ className, ...props }, ref) => {
27451
- return /* @__PURE__ */ jsx85(
28057
+ var SidebarInset = React59.forwardRef(({ className, ...props }, ref) => {
28058
+ return /* @__PURE__ */ jsx86(
27452
28059
  "main",
27453
28060
  {
27454
28061
  ref,
@@ -27462,9 +28069,9 @@ var SidebarInset = React58.forwardRef(({ className, ...props }, ref) => {
27462
28069
  );
27463
28070
  });
27464
28071
  SidebarInset.displayName = "SidebarInset";
27465
- var SidebarInput = React58.forwardRef(
28072
+ var SidebarInput = React59.forwardRef(
27466
28073
  ({ className, ...props }, ref) => {
27467
- return /* @__PURE__ */ jsx85(
28074
+ return /* @__PURE__ */ jsx86(
27468
28075
  Input,
27469
28076
  {
27470
28077
  ref,
@@ -27479,17 +28086,17 @@ var SidebarInput = React58.forwardRef(
27479
28086
  }
27480
28087
  );
27481
28088
  SidebarInput.displayName = "SidebarInput";
27482
- var SidebarHeader = React58.forwardRef(({ className, ...props }, ref) => {
27483
- return /* @__PURE__ */ jsx85("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
28089
+ var SidebarHeader = React59.forwardRef(({ className, ...props }, ref) => {
28090
+ return /* @__PURE__ */ jsx86("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
27484
28091
  });
27485
28092
  SidebarHeader.displayName = "SidebarHeader";
27486
- var SidebarFooter = React58.forwardRef(({ className, ...props }, ref) => {
27487
- return /* @__PURE__ */ jsx85("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
28093
+ var SidebarFooter = React59.forwardRef(({ className, ...props }, ref) => {
28094
+ return /* @__PURE__ */ jsx86("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
27488
28095
  });
27489
28096
  SidebarFooter.displayName = "SidebarFooter";
27490
- var SidebarSeparator = React58.forwardRef(
28097
+ var SidebarSeparator = React59.forwardRef(
27491
28098
  ({ className, ...props }, ref) => {
27492
- return /* @__PURE__ */ jsx85(
28099
+ return /* @__PURE__ */ jsx86(
27493
28100
  Separator5,
27494
28101
  {
27495
28102
  ref,
@@ -27501,8 +28108,8 @@ var SidebarSeparator = React58.forwardRef(
27501
28108
  }
27502
28109
  );
27503
28110
  SidebarSeparator.displayName = "SidebarSeparator";
27504
- var SidebarContent = React58.forwardRef(({ className, ...props }, ref) => {
27505
- return /* @__PURE__ */ jsx85(
28111
+ var SidebarContent = React59.forwardRef(({ className, ...props }, ref) => {
28112
+ return /* @__PURE__ */ jsx86(
27506
28113
  "div",
27507
28114
  {
27508
28115
  ref,
@@ -27516,8 +28123,8 @@ var SidebarContent = React58.forwardRef(({ className, ...props }, ref) => {
27516
28123
  );
27517
28124
  });
27518
28125
  SidebarContent.displayName = "SidebarContent";
27519
- var SidebarGroup = React58.forwardRef(({ className, ...props }, ref) => {
27520
- return /* @__PURE__ */ jsx85(
28126
+ var SidebarGroup = React59.forwardRef(({ className, ...props }, ref) => {
28127
+ return /* @__PURE__ */ jsx86(
27521
28128
  "div",
27522
28129
  {
27523
28130
  ref,
@@ -27528,10 +28135,10 @@ var SidebarGroup = React58.forwardRef(({ className, ...props }, ref) => {
27528
28135
  );
27529
28136
  });
27530
28137
  SidebarGroup.displayName = "SidebarGroup";
27531
- var SidebarGroupLabel = React58.forwardRef(
28138
+ var SidebarGroupLabel = React59.forwardRef(
27532
28139
  ({ className, asChild = false, ...props }, ref) => {
27533
28140
  const Comp = asChild ? Slot4 : "div";
27534
- return /* @__PURE__ */ jsx85(
28141
+ return /* @__PURE__ */ jsx86(
27535
28142
  Comp,
27536
28143
  {
27537
28144
  ref,
@@ -27547,10 +28154,10 @@ var SidebarGroupLabel = React58.forwardRef(
27547
28154
  }
27548
28155
  );
27549
28156
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
27550
- var SidebarGroupAction = React58.forwardRef(
28157
+ var SidebarGroupAction = React59.forwardRef(
27551
28158
  ({ className, asChild = false, ...props }, ref) => {
27552
28159
  const Comp = asChild ? Slot4 : "button";
27553
- return /* @__PURE__ */ jsx85(
28160
+ return /* @__PURE__ */ jsx86(
27554
28161
  Comp,
27555
28162
  {
27556
28163
  ref,
@@ -27568,13 +28175,13 @@ var SidebarGroupAction = React58.forwardRef(
27568
28175
  }
27569
28176
  );
27570
28177
  SidebarGroupAction.displayName = "SidebarGroupAction";
27571
- var SidebarGroupContent = React58.forwardRef(
27572
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx85("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
28178
+ var SidebarGroupContent = React59.forwardRef(
28179
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx86("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
27573
28180
  );
27574
28181
  SidebarGroupContent.displayName = "SidebarGroupContent";
27575
- var SidebarMenu = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx85("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
28182
+ var SidebarMenu = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx86("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
27576
28183
  SidebarMenu.displayName = "SidebarMenu";
27577
- var SidebarMenuItem = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx85("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
28184
+ var SidebarMenuItem = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx86("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
27578
28185
  SidebarMenuItem.displayName = "SidebarMenuItem";
27579
28186
  var sidebarMenuButtonVariants = cva7(
27580
28187
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
@@ -27596,10 +28203,10 @@ var sidebarMenuButtonVariants = cva7(
27596
28203
  }
27597
28204
  }
27598
28205
  );
27599
- var SidebarMenuButton = React58.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
28206
+ var SidebarMenuButton = React59.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
27600
28207
  const Comp = asChild ? Slot4 : "button";
27601
28208
  const { isMobile, state } = useSidebar();
27602
- const button = /* @__PURE__ */ jsx85(
28209
+ const button = /* @__PURE__ */ jsx86(
27603
28210
  Comp,
27604
28211
  {
27605
28212
  ref,
@@ -27619,14 +28226,14 @@ var SidebarMenuButton = React58.forwardRef(({ asChild = false, isActive = false,
27619
28226
  };
27620
28227
  }
27621
28228
  return /* @__PURE__ */ jsxs52(Tooltip, { children: [
27622
- /* @__PURE__ */ jsx85(TooltipTrigger, { asChild: true, children: button }),
27623
- /* @__PURE__ */ jsx85(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
28229
+ /* @__PURE__ */ jsx86(TooltipTrigger, { asChild: true, children: button }),
28230
+ /* @__PURE__ */ jsx86(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
27624
28231
  ] });
27625
28232
  });
27626
28233
  SidebarMenuButton.displayName = "SidebarMenuButton";
27627
- var SidebarMenuAction = React58.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
28234
+ var SidebarMenuAction = React59.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
27628
28235
  const Comp = asChild ? Slot4 : "button";
27629
- return /* @__PURE__ */ jsx85(
28236
+ return /* @__PURE__ */ jsx86(
27630
28237
  Comp,
27631
28238
  {
27632
28239
  ref,
@@ -27647,8 +28254,8 @@ var SidebarMenuAction = React58.forwardRef(({ className, asChild = false, showOn
27647
28254
  );
27648
28255
  });
27649
28256
  SidebarMenuAction.displayName = "SidebarMenuAction";
27650
- var SidebarMenuBadge = React58.forwardRef(
27651
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx85(
28257
+ var SidebarMenuBadge = React59.forwardRef(
28258
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx86(
27652
28259
  "div",
27653
28260
  {
27654
28261
  ref,
@@ -27667,8 +28274,8 @@ var SidebarMenuBadge = React58.forwardRef(
27667
28274
  )
27668
28275
  );
27669
28276
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
27670
- var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...props }, ref) => {
27671
- const width = React58.useMemo(() => {
28277
+ var SidebarMenuSkeleton = React59.forwardRef(({ className, showIcon = false, ...props }, ref) => {
28278
+ const width = React59.useMemo(() => {
27672
28279
  return `${Math.floor(Math.random() * 40) + 50}%`;
27673
28280
  }, []);
27674
28281
  return /* @__PURE__ */ jsxs52(
@@ -27679,8 +28286,8 @@ var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...
27679
28286
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
27680
28287
  ...props,
27681
28288
  children: [
27682
- showIcon && /* @__PURE__ */ jsx85(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
27683
- /* @__PURE__ */ jsx85(
28289
+ showIcon && /* @__PURE__ */ jsx86(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
28290
+ /* @__PURE__ */ jsx86(
27684
28291
  Skeleton,
27685
28292
  {
27686
28293
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -27695,8 +28302,8 @@ var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...
27695
28302
  );
27696
28303
  });
27697
28304
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
27698
- var SidebarMenuSub = React58.forwardRef(
27699
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx85(
28305
+ var SidebarMenuSub = React59.forwardRef(
28306
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx86(
27700
28307
  "ul",
27701
28308
  {
27702
28309
  ref,
@@ -27711,11 +28318,11 @@ var SidebarMenuSub = React58.forwardRef(
27711
28318
  )
27712
28319
  );
27713
28320
  SidebarMenuSub.displayName = "SidebarMenuSub";
27714
- var SidebarMenuSubItem = React58.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx85("li", { ref, ...props }));
28321
+ var SidebarMenuSubItem = React59.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx86("li", { ref, ...props }));
27715
28322
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
27716
- var SidebarMenuSubButton = React58.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
28323
+ var SidebarMenuSubButton = React59.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
27717
28324
  const Comp = asChild ? Slot4 : "a";
27718
- return /* @__PURE__ */ jsx85(
28325
+ return /* @__PURE__ */ jsx86(
27719
28326
  Comp,
27720
28327
  {
27721
28328
  ref,
@@ -27737,44 +28344,44 @@ var SidebarMenuSubButton = React58.forwardRef(({ asChild = false, size = "md", i
27737
28344
  SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
27738
28345
 
27739
28346
  // src/components/ui/slider.tsx
27740
- import * as React59 from "react";
28347
+ import * as React60 from "react";
27741
28348
  import * as SliderPrimitive from "@radix-ui/react-slider";
27742
- import { jsx as jsx86, jsxs as jsxs53 } from "react/jsx-runtime";
27743
- var Slider = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs53(
28349
+ import { jsx as jsx87, jsxs as jsxs53 } from "react/jsx-runtime";
28350
+ var Slider = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs53(
27744
28351
  SliderPrimitive.Root,
27745
28352
  {
27746
28353
  ref,
27747
28354
  className: cn("relative flex w-full touch-none select-none items-center", className),
27748
28355
  ...props,
27749
28356
  children: [
27750
- /* @__PURE__ */ jsx86(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx86(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
27751
- /* @__PURE__ */ jsx86(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
28357
+ /* @__PURE__ */ jsx87(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx87(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
28358
+ /* @__PURE__ */ jsx87(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
27752
28359
  ]
27753
28360
  }
27754
28361
  ));
27755
28362
  Slider.displayName = SliderPrimitive.Root.displayName;
27756
28363
 
27757
28364
  // src/components/ui/table.tsx
27758
- import * as React60 from "react";
27759
- import { jsx as jsx87 } from "react/jsx-runtime";
27760
- var Table = React60.forwardRef(
27761
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx87("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
28365
+ import * as React61 from "react";
28366
+ import { jsx as jsx88 } from "react/jsx-runtime";
28367
+ var Table = React61.forwardRef(
28368
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx88("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
27762
28369
  );
27763
28370
  Table.displayName = "Table";
27764
- var TableHeader = React60.forwardRef(
27765
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
28371
+ var TableHeader = React61.forwardRef(
28372
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
27766
28373
  );
27767
28374
  TableHeader.displayName = "TableHeader";
27768
- var TableBody = React60.forwardRef(
27769
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
28375
+ var TableBody = React61.forwardRef(
28376
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
27770
28377
  );
27771
28378
  TableBody.displayName = "TableBody";
27772
- var TableFooter = React60.forwardRef(
27773
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
28379
+ var TableFooter = React61.forwardRef(
28380
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
27774
28381
  );
27775
28382
  TableFooter.displayName = "TableFooter";
27776
- var TableRow = React60.forwardRef(
27777
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87(
28383
+ var TableRow = React61.forwardRef(
28384
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
27778
28385
  "tr",
27779
28386
  {
27780
28387
  ref,
@@ -27784,8 +28391,8 @@ var TableRow = React60.forwardRef(
27784
28391
  )
27785
28392
  );
27786
28393
  TableRow.displayName = "TableRow";
27787
- var TableHead = React60.forwardRef(
27788
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87(
28394
+ var TableHead = React61.forwardRef(
28395
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
27789
28396
  "th",
27790
28397
  {
27791
28398
  ref,
@@ -27798,23 +28405,23 @@ var TableHead = React60.forwardRef(
27798
28405
  )
27799
28406
  );
27800
28407
  TableHead.displayName = "TableHead";
27801
- var TableCell = React60.forwardRef(
27802
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
28408
+ var TableCell = React61.forwardRef(
28409
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
27803
28410
  );
27804
28411
  TableCell.displayName = "TableCell";
27805
- var TableCaption = React60.forwardRef(
27806
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
28412
+ var TableCaption = React61.forwardRef(
28413
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx88("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
27807
28414
  );
27808
28415
  TableCaption.displayName = "TableCaption";
27809
28416
 
27810
28417
  // src/components/ui/toast.tsx
27811
- import * as React61 from "react";
28418
+ import * as React62 from "react";
27812
28419
  import * as ToastPrimitives from "@radix-ui/react-toast";
27813
28420
  import { cva as cva8 } from "class-variance-authority";
27814
28421
  import { X as X8 } from "lucide-react";
27815
- import { jsx as jsx88 } from "react/jsx-runtime";
28422
+ import { jsx as jsx89 } from "react/jsx-runtime";
27816
28423
  var ToastProvider = ToastPrimitives.Provider;
27817
- var ToastViewport = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
28424
+ var ToastViewport = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx89(
27818
28425
  ToastPrimitives.Viewport,
27819
28426
  {
27820
28427
  ref,
@@ -27840,11 +28447,11 @@ var toastVariants = cva8(
27840
28447
  }
27841
28448
  }
27842
28449
  );
27843
- var Toast = React61.forwardRef(({ className, variant, ...props }, ref) => {
27844
- return /* @__PURE__ */ jsx88(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
28450
+ var Toast = React62.forwardRef(({ className, variant, ...props }, ref) => {
28451
+ return /* @__PURE__ */ jsx89(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
27845
28452
  });
27846
28453
  Toast.displayName = ToastPrimitives.Root.displayName;
27847
- var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
28454
+ var ToastAction = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx89(
27848
28455
  ToastPrimitives.Action,
27849
28456
  {
27850
28457
  ref,
@@ -27856,7 +28463,7 @@ var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PUR
27856
28463
  }
27857
28464
  ));
27858
28465
  ToastAction.displayName = ToastPrimitives.Action.displayName;
27859
- var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ jsx88(
28466
+ var ToastClose = React62.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ jsx89(
27860
28467
  ToastPrimitives.Close,
27861
28468
  {
27862
28469
  ref,
@@ -27870,39 +28477,39 @@ var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /
27870
28477
  },
27871
28478
  "toast-close": "",
27872
28479
  ...props,
27873
- children: /* @__PURE__ */ jsx88(X8, { className: "h-4 w-4" })
28480
+ children: /* @__PURE__ */ jsx89(X8, { className: "h-4 w-4" })
27874
28481
  }
27875
28482
  ));
27876
28483
  ToastClose.displayName = ToastPrimitives.Close.displayName;
27877
- var ToastTitle = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
28484
+ var ToastTitle = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx89(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
27878
28485
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
27879
- var ToastDescription = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
28486
+ var ToastDescription = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx89(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
27880
28487
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
27881
28488
 
27882
28489
  // src/components/ui/toaster.tsx
27883
- import { jsx as jsx89, jsxs as jsxs54 } from "react/jsx-runtime";
28490
+ import { jsx as jsx90, jsxs as jsxs54 } from "react/jsx-runtime";
27884
28491
  function Toaster2() {
27885
28492
  const { toasts } = useToast();
27886
28493
  return /* @__PURE__ */ jsxs54(ToastProvider, { children: [
27887
28494
  toasts.map(function({ id, title, description, action, ...props }) {
27888
28495
  return /* @__PURE__ */ jsxs54(Toast, { ...props, children: [
27889
28496
  /* @__PURE__ */ jsxs54("div", { className: "grid gap-1", children: [
27890
- title && /* @__PURE__ */ jsx89(ToastTitle, { children: title }),
27891
- description && /* @__PURE__ */ jsx89(ToastDescription, { children: description })
28497
+ title && /* @__PURE__ */ jsx90(ToastTitle, { children: title }),
28498
+ description && /* @__PURE__ */ jsx90(ToastDescription, { children: description })
27892
28499
  ] }),
27893
28500
  action,
27894
- /* @__PURE__ */ jsx89(ToastClose, {})
28501
+ /* @__PURE__ */ jsx90(ToastClose, {})
27895
28502
  ] }, id);
27896
28503
  }),
27897
- /* @__PURE__ */ jsx89(ToastViewport, {})
28504
+ /* @__PURE__ */ jsx90(ToastViewport, {})
27898
28505
  ] });
27899
28506
  }
27900
28507
 
27901
28508
  // src/components/ui/toggle.tsx
27902
- import * as React62 from "react";
28509
+ import * as React63 from "react";
27903
28510
  import * as TogglePrimitive from "@radix-ui/react-toggle";
27904
28511
  import { cva as cva9 } from "class-variance-authority";
27905
- import { jsx as jsx90 } from "react/jsx-runtime";
28512
+ import { jsx as jsx91 } from "react/jsx-runtime";
27906
28513
  var toggleVariants = cva9(
27907
28514
  "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
27908
28515
  {
@@ -27923,22 +28530,22 @@ var toggleVariants = cva9(
27923
28530
  }
27924
28531
  }
27925
28532
  );
27926
- var Toggle = React62.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx90(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
28533
+ var Toggle = React63.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx91(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
27927
28534
  Toggle.displayName = TogglePrimitive.Root.displayName;
27928
28535
 
27929
28536
  // src/components/ui/toggle-group.tsx
27930
- import * as React63 from "react";
28537
+ import * as React64 from "react";
27931
28538
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
27932
- import { jsx as jsx91 } from "react/jsx-runtime";
27933
- var ToggleGroupContext = React63.createContext({
28539
+ import { jsx as jsx92 } from "react/jsx-runtime";
28540
+ var ToggleGroupContext = React64.createContext({
27934
28541
  size: "default",
27935
28542
  variant: "default"
27936
28543
  });
27937
- var ToggleGroup = React63.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx91(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ jsx91(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
28544
+ var ToggleGroup = React64.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx92(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ jsx92(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
27938
28545
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
27939
- var ToggleGroupItem = React63.forwardRef(({ className, children, variant, size, ...props }, ref) => {
27940
- const context = React63.useContext(ToggleGroupContext);
27941
- return /* @__PURE__ */ jsx91(
28546
+ var ToggleGroupItem = React64.forwardRef(({ className, children, variant, size, ...props }, ref) => {
28547
+ const context = React64.useContext(ToggleGroupContext);
28548
+ return /* @__PURE__ */ jsx92(
27942
28549
  ToggleGroupPrimitive.Item,
27943
28550
  {
27944
28551
  ref,
@@ -27957,11 +28564,11 @@ var ToggleGroupItem = React63.forwardRef(({ className, children, variant, size,
27957
28564
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
27958
28565
 
27959
28566
  // src/hooks/useActiveSection.ts
27960
- import { useEffect as useEffect23, useState as useState20 } from "react";
28567
+ import { useEffect as useEffect24, useState as useState21 } from "react";
27961
28568
  var useActiveSection = (sectionIds, offset = 180) => {
27962
28569
  var _a78;
27963
- const [activeId, setActiveId] = useState20((_a78 = sectionIds[0]) != null ? _a78 : "");
27964
- useEffect23(() => {
28570
+ const [activeId, setActiveId] = useState21((_a78 = sectionIds[0]) != null ? _a78 : "");
28571
+ useEffect24(() => {
27965
28572
  if (!sectionIds.length || typeof window === "undefined") return;
27966
28573
  const update = () => {
27967
28574
  let nextActive = sectionIds[0];
@@ -27993,7 +28600,7 @@ function slugify(value) {
27993
28600
  }
27994
28601
 
27995
28602
  // src/lib/layoutMode.ts
27996
- import { useCallback as useCallback10, useEffect as useEffect24, useState as useState21 } from "react";
28603
+ import { useCallback as useCallback11, useEffect as useEffect25, useState as useState22 } from "react";
27997
28604
  var LAYOUT_MODE_STORAGE_KEY = "cc-layout-preview-mode";
27998
28605
  var LAYOUT_MODE_CHANGE_EVENT = "cc-layout-mode-change";
27999
28606
  var normalizeLayoutMode = (value) => {
@@ -28016,8 +28623,8 @@ var writeStoredLayoutMode = (mode) => {
28016
28623
  window.dispatchEvent(new CustomEvent(LAYOUT_MODE_CHANGE_EVENT, { detail: mode }));
28017
28624
  };
28018
28625
  var useLayoutMode = () => {
28019
- const [mode, setMode] = useState21(readStoredLayoutMode);
28020
- useEffect24(() => {
28626
+ const [mode, setMode] = useState22(readStoredLayoutMode);
28627
+ useEffect25(() => {
28021
28628
  if (typeof window === "undefined") return void 0;
28022
28629
  const handleStorage = (event) => {
28023
28630
  if (event.key !== LAYOUT_MODE_STORAGE_KEY) return;
@@ -28039,15 +28646,15 @@ var useLayoutMode = () => {
28039
28646
  };
28040
28647
  var useLayoutModeControl = () => {
28041
28648
  const mode = useLayoutMode();
28042
- const setMode = useCallback10((nextMode) => {
28649
+ const setMode = useCallback11((nextMode) => {
28043
28650
  writeStoredLayoutMode(nextMode);
28044
28651
  }, []);
28045
28652
  return { mode, setMode };
28046
28653
  };
28047
28654
 
28048
28655
  // src/lib/auth.tsx
28049
- import { createContext as createContext6, useCallback as useCallback11, useContext as useContext7, useEffect as useEffect25, useMemo as useMemo14, useRef as useRef13, useState as useState22 } from "react";
28050
- import { jsx as jsx92 } from "react/jsx-runtime";
28656
+ import { createContext as createContext7, useCallback as useCallback12, useContext as useContext8, useEffect as useEffect26, useMemo as useMemo15, useRef as useRef13, useState as useState23 } from "react";
28657
+ import { jsx as jsx93 } from "react/jsx-runtime";
28051
28658
  var STORAGE_KEYS = {
28052
28659
  accessToken: "cc_access_token",
28053
28660
  idToken: "cc_id_token",
@@ -28127,6 +28734,39 @@ var PRESENCE_HEARTBEAT_INTERVAL_MS = parsePositiveInteger2(
28127
28734
  );
28128
28735
  var INACTIVITY_CHECK_INTERVAL_MS = 3e4;
28129
28736
  var SILENT_AUTH_ERRORS = /* @__PURE__ */ new Set(["login_required", "interaction_required", "consent_required", "account_selection_required"]);
28737
+ var PROTECTED_ROUTE_PREFIXES = ["/layout-preview", "/componentes", "/docs", "/animacoes"];
28738
+ var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
28739
+ var isTruthyEnvFlag = (value) => {
28740
+ if (!value) return false;
28741
+ const normalized = value.trim().toLowerCase();
28742
+ return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
28743
+ };
28744
+ var isProtectedRoute = (pathname) => {
28745
+ return PROTECTED_ROUTE_PREFIXES.some((prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`));
28746
+ };
28747
+ var shouldAttemptSilentLoginForPath = (pathname) => {
28748
+ const override = getRuntimeEnv("VITE_ACCOUNTS_SILENT_AUTH");
28749
+ if (typeof override === "string") {
28750
+ return isTruthyEnvFlag(override);
28751
+ }
28752
+ return isProtectedRoute(pathname);
28753
+ };
28754
+ var isSilentAuthRedirectCompatible = () => {
28755
+ if (typeof window === "undefined") return true;
28756
+ const configuredRedirectUri = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI");
28757
+ if (!configuredRedirectUri) return true;
28758
+ try {
28759
+ const currentUrl = new URL(window.location.href);
28760
+ const redirectUrl = new URL(configuredRedirectUri, window.location.origin);
28761
+ if (redirectUrl.origin === currentUrl.origin) {
28762
+ return true;
28763
+ }
28764
+ const usesLoopbackHosts = LOOPBACK_HOSTNAMES.has(redirectUrl.hostname) && LOOPBACK_HOSTNAMES.has(currentUrl.hostname);
28765
+ return usesLoopbackHosts && redirectUrl.protocol === currentUrl.protocol && redirectUrl.port === currentUrl.port;
28766
+ } catch (e) {
28767
+ return true;
28768
+ }
28769
+ };
28130
28770
  var DEFAULT_PRESENCE_STATUS = "online";
28131
28771
  var PRESENCE_STATUS_VALUES2 = [
28132
28772
  "online",
@@ -28206,7 +28846,7 @@ var readStoredPresenceSource = () => {
28206
28846
  if (isPresenceSource(stored)) return stored;
28207
28847
  return "auto";
28208
28848
  };
28209
- var AuthContext = createContext6(void 0);
28849
+ var AuthContext = createContext7(void 0);
28210
28850
  var readStoredToken = () => {
28211
28851
  const accessToken = sessionStorage.getItem(STORAGE_KEYS.accessToken);
28212
28852
  const idToken = sessionStorage.getItem(STORAGE_KEYS.idToken);
@@ -28325,17 +28965,17 @@ var buildUserFromTokens = ({
28325
28965
  };
28326
28966
  };
28327
28967
  var AuthProvider = ({ children }) => {
28328
- const [status, setStatus] = useState22("loading");
28329
- const [accessToken, setAccessToken] = useState22(null);
28330
- const [user, setUser] = useState22(null);
28331
- const [presenceStatus, setPresenceStatusState] = useState22(() => readStoredPresence());
28968
+ const [status, setStatus] = useState23("loading");
28969
+ const [accessToken, setAccessToken] = useState23(null);
28970
+ const [user, setUser] = useState23(null);
28971
+ const [presenceStatus, setPresenceStatusState] = useState23(() => readStoredPresence());
28332
28972
  const presenceStatusRef = useRef13(readStoredPresence());
28333
28973
  const presenceSourceRef = useRef13(readStoredPresenceSource());
28334
28974
  const lastActivityAtRef = useRef13(Date.now());
28335
28975
  const lastActivityBroadcastAtRef = useRef13(0);
28336
28976
  const resolvedPresenceIdentityKeyRef = useRef13(null);
28337
28977
  const resolvedPresenceUserIdRef = useRef13(null);
28338
- const storePresenceStatus = useCallback11((nextStatus, source) => {
28978
+ const storePresenceStatus = useCallback12((nextStatus, source) => {
28339
28979
  setPresenceStatusState(nextStatus);
28340
28980
  presenceStatusRef.current = nextStatus;
28341
28981
  sessionStorage.setItem(STORAGE_KEYS.presence, nextStatus);
@@ -28345,7 +28985,7 @@ var AuthProvider = ({ children }) => {
28345
28985
  localStorage.setItem(LOCAL_STORAGE_KEYS.presenceSource, source);
28346
28986
  }
28347
28987
  }, []);
28348
- const resolvePresenceUserId = useCallback11(async (targetUser) => {
28988
+ const resolvePresenceUserId = useCallback12(async (targetUser) => {
28349
28989
  var _a78, _b7, _c, _d;
28350
28990
  const sub = toNonEmptyString(targetUser == null ? void 0 : targetUser.sub);
28351
28991
  const id = toNonEmptyString(targetUser == null ? void 0 : targetUser.id);
@@ -28383,7 +29023,7 @@ var AuthProvider = ({ children }) => {
28383
29023
  resolvedPresenceUserIdRef.current = fallbackUserId;
28384
29024
  return fallbackUserId;
28385
29025
  }, []);
28386
- const syncPresenceFromRecord = useCallback11(
29026
+ const syncPresenceFromRecord = useCallback12(
28387
29027
  (rawRow) => {
28388
29028
  var _a78, _b7, _c;
28389
29029
  if (!rawRow) return;
@@ -28398,7 +29038,7 @@ var AuthProvider = ({ children }) => {
28398
29038
  },
28399
29039
  [storePresenceStatus]
28400
29040
  );
28401
- const persistPresenceLegacy = useCallback11(
29041
+ const persistPresenceLegacy = useCallback12(
28402
29042
  async (nextStatus, source, targetUser, options) => {
28403
29043
  const userId = await resolvePresenceUserId(targetUser != null ? targetUser : user);
28404
29044
  if (!userId) return false;
@@ -28433,7 +29073,7 @@ var AuthProvider = ({ children }) => {
28433
29073
  },
28434
29074
  [resolvePresenceUserId, syncPresenceFromRecord, user]
28435
29075
  );
28436
- const executePresenceRpc = useCallback11(
29076
+ const executePresenceRpc = useCallback12(
28437
29077
  async (fnName, payload, options) => {
28438
29078
  const supabase = getSupabase();
28439
29079
  if (!supabase) {
@@ -28461,7 +29101,7 @@ var AuthProvider = ({ children }) => {
28461
29101
  },
28462
29102
  [persistPresenceLegacy, syncPresenceFromRecord]
28463
29103
  );
28464
- const touchPresence = useCallback11(
29104
+ const touchPresence = useCallback12(
28465
29105
  async (options) => {
28466
29106
  var _a78;
28467
29107
  const targetUser = (_a78 = options == null ? void 0 : options.targetUser) != null ? _a78 : user;
@@ -28492,7 +29132,7 @@ var AuthProvider = ({ children }) => {
28492
29132
  },
28493
29133
  [executePresenceRpc, resolvePresenceUserId, user]
28494
29134
  );
28495
- const markPresenceIdle = useCallback11(
29135
+ const markPresenceIdle = useCallback12(
28496
29136
  async (targetUser) => {
28497
29137
  const resolvedTargetUser = targetUser != null ? targetUser : user;
28498
29138
  const userId = await resolvePresenceUserId(resolvedTargetUser);
@@ -28517,7 +29157,7 @@ var AuthProvider = ({ children }) => {
28517
29157
  },
28518
29158
  [executePresenceRpc, resolvePresenceUserId, user]
28519
29159
  );
28520
- const setPresenceNetworkStatus = useCallback11(
29160
+ const setPresenceNetworkStatus = useCallback12(
28521
29161
  async (nextStatus, source, targetUser) => {
28522
29162
  const resolvedTargetUser = targetUser != null ? targetUser : user;
28523
29163
  const userId = await resolvePresenceUserId(resolvedTargetUser);
@@ -28543,7 +29183,7 @@ var AuthProvider = ({ children }) => {
28543
29183
  },
28544
29184
  [executePresenceRpc, resolvePresenceUserId, user]
28545
29185
  );
28546
- const loadPresenceFromDatabase = useCallback11(
29186
+ const loadPresenceFromDatabase = useCallback12(
28547
29187
  async (targetUser) => {
28548
29188
  const userId = await resolvePresenceUserId(targetUser);
28549
29189
  if (!userId) return;
@@ -28577,7 +29217,7 @@ var AuthProvider = ({ children }) => {
28577
29217
  },
28578
29218
  [resolvePresenceUserId, syncPresenceFromRecord, touchPresence]
28579
29219
  );
28580
- const clearAuthFlowState = useCallback11((options) => {
29220
+ const clearAuthFlowState = useCallback12((options) => {
28581
29221
  sessionStorage.removeItem(STORAGE_KEYS.state);
28582
29222
  sessionStorage.removeItem(STORAGE_KEYS.verifier);
28583
29223
  sessionStorage.removeItem(STORAGE_KEYS.nonce);
@@ -28587,7 +29227,7 @@ var AuthProvider = ({ children }) => {
28587
29227
  sessionStorage.removeItem(STORAGE_KEYS.silentCheckDone);
28588
29228
  }
28589
29229
  }, []);
28590
- const startAuthorization = useCallback11(
29230
+ const startAuthorization = useCallback12(
28591
29231
  async (options) => {
28592
29232
  var _a78, _b7;
28593
29233
  const config = getAccountsConfig();
@@ -28613,7 +29253,7 @@ var AuthProvider = ({ children }) => {
28613
29253
  },
28614
29254
  []
28615
29255
  );
28616
- const attemptSilentLogin = useCallback11(async () => {
29256
+ const attemptSilentLogin = useCallback12(async () => {
28617
29257
  if (typeof window === "undefined") return false;
28618
29258
  if (window.location.pathname.startsWith("/auth/callback")) return false;
28619
29259
  if (sessionStorage.getItem(STORAGE_KEYS.silentCheckDone) === "1") return false;
@@ -28624,7 +29264,7 @@ var AuthProvider = ({ children }) => {
28624
29264
  });
28625
29265
  return true;
28626
29266
  }, [startAuthorization]);
28627
- useEffect25(() => {
29267
+ useEffect26(() => {
28628
29268
  let cancelled = false;
28629
29269
  const initializeAuth = async () => {
28630
29270
  var _a78;
@@ -28648,9 +29288,13 @@ var AuthProvider = ({ children }) => {
28648
29288
  sessionStorage.removeItem(STORAGE_KEYS.presence);
28649
29289
  sessionStorage.removeItem(STORAGE_KEYS.presenceSource);
28650
29290
  localStorage.removeItem(LOCAL_STORAGE_KEYS.presenceSource);
29291
+ const pathname = typeof window === "undefined" ? "/" : window.location.pathname;
29292
+ const shouldAttemptSilentLogin = shouldAttemptSilentLoginForPath(pathname) && isSilentAuthRedirectCompatible();
28651
29293
  try {
28652
- const redirected = await attemptSilentLogin();
28653
- if (redirected || cancelled) return;
29294
+ if (shouldAttemptSilentLogin) {
29295
+ const redirected = await attemptSilentLogin();
29296
+ if (redirected || cancelled) return;
29297
+ }
28654
29298
  } catch (error) {
28655
29299
  if (isRuntimeDev()) {
28656
29300
  console.warn("[auth] Falha na verifica\xE7\xE3o silenciosa de sess\xE3o:", error.message);
@@ -28665,7 +29309,7 @@ var AuthProvider = ({ children }) => {
28665
29309
  cancelled = true;
28666
29310
  };
28667
29311
  }, [attemptSilentLogin]);
28668
- useEffect25(() => {
29312
+ useEffect26(() => {
28669
29313
  var _a78;
28670
29314
  if (status !== "authenticated") return;
28671
29315
  if (user) return;
@@ -28678,15 +29322,15 @@ var AuthProvider = ({ children }) => {
28678
29322
  if (!hydratedUser) return;
28679
29323
  setUser(hydratedUser);
28680
29324
  }, [status, user]);
28681
- useEffect25(() => {
29325
+ useEffect26(() => {
28682
29326
  resolvedPresenceIdentityKeyRef.current = null;
28683
29327
  resolvedPresenceUserIdRef.current = null;
28684
29328
  }, [user == null ? void 0 : user.email, user == null ? void 0 : user.id, user == null ? void 0 : user.sub, user == null ? void 0 : user.userId]);
28685
- useEffect25(() => {
29329
+ useEffect26(() => {
28686
29330
  if (status !== "authenticated") return;
28687
29331
  void loadPresenceFromDatabase(user);
28688
29332
  }, [loadPresenceFromDatabase, status, user]);
28689
- useEffect25(() => {
29333
+ useEffect26(() => {
28690
29334
  if (status !== "authenticated") return;
28691
29335
  const supabase = getSupabase();
28692
29336
  if (!supabase) return;
@@ -28723,7 +29367,7 @@ var AuthProvider = ({ children }) => {
28723
29367
  }
28724
29368
  };
28725
29369
  }, [resolvePresenceUserId, status, storePresenceStatus, syncPresenceFromRecord, user]);
28726
- useEffect25(() => {
29370
+ useEffect26(() => {
28727
29371
  if (status !== "authenticated") return;
28728
29372
  const registerActivity = () => {
28729
29373
  lastActivityAtRef.current = Date.now();
@@ -28772,13 +29416,13 @@ var AuthProvider = ({ children }) => {
28772
29416
  document.removeEventListener("visibilitychange", onVisibility);
28773
29417
  };
28774
29418
  }, [markPresenceIdle, status, touchPresence]);
28775
- const login = useCallback11(async (redirectTo) => {
29419
+ const login = useCallback12(async (redirectTo) => {
28776
29420
  await startAuthorization({
28777
29421
  mode: "interactive",
28778
29422
  redirectTo: redirectTo != null ? redirectTo : window.location.pathname + window.location.search + window.location.hash
28779
29423
  });
28780
29424
  }, [startAuthorization]);
28781
- const completeLogin = useCallback11(async () => {
29425
+ const completeLogin = useCallback12(async () => {
28782
29426
  var _a78;
28783
29427
  const params = new URLSearchParams(window.location.search);
28784
29428
  const redirectTo = (_a78 = sessionStorage.getItem(STORAGE_KEYS.redirect)) != null ? _a78 : "/";
@@ -28848,7 +29492,7 @@ var AuthProvider = ({ children }) => {
28848
29492
  return { ok: false, error: err.message };
28849
29493
  }
28850
29494
  }, [clearAuthFlowState]);
28851
- const logout = useCallback11(async () => {
29495
+ const logout = useCallback12(async () => {
28852
29496
  var _a78;
28853
29497
  const config = getAccountsConfig();
28854
29498
  const { logoutUrl } = await resolveOidcEndpoints(config);
@@ -28867,13 +29511,13 @@ var AuthProvider = ({ children }) => {
28867
29511
  window.location.assign(url);
28868
29512
  }
28869
29513
  }, [setPresenceNetworkStatus, storePresenceStatus, user]);
28870
- const getAccessToken = useCallback11(async () => {
29514
+ const getAccessToken = useCallback12(async () => {
28871
29515
  const stored = readStoredToken();
28872
29516
  if (stored == null ? void 0 : stored.accessToken) return stored.accessToken;
28873
29517
  if (accessToken) return accessToken;
28874
29518
  throw new Error("Usu\xE1rio n\xE3o autenticado.");
28875
29519
  }, [accessToken]);
28876
- const setPresenceStatus = useCallback11(
29520
+ const setPresenceStatus = useCallback12(
28877
29521
  async (nextStatus) => {
28878
29522
  if (!isUserPresenceStatus(nextStatus) || nextStatus === "offline") return;
28879
29523
  const now = Date.now();
@@ -28884,7 +29528,7 @@ var AuthProvider = ({ children }) => {
28884
29528
  },
28885
29529
  [setPresenceNetworkStatus]
28886
29530
  );
28887
- const value = useMemo14(
29531
+ const value = useMemo15(
28888
29532
  () => ({
28889
29533
  status,
28890
29534
  user,
@@ -28898,10 +29542,10 @@ var AuthProvider = ({ children }) => {
28898
29542
  }),
28899
29543
  [status, user, accessToken, login, logout, completeLogin, getAccessToken, presenceStatus, setPresenceStatus]
28900
29544
  );
28901
- return /* @__PURE__ */ jsx92(AuthContext.Provider, { value, children });
29545
+ return /* @__PURE__ */ jsx93(AuthContext.Provider, { value, children });
28902
29546
  };
28903
29547
  var useAuth = () => {
28904
- const ctx = useContext7(AuthContext);
29548
+ const ctx = useContext8(AuthContext);
28905
29549
  if (!ctx) {
28906
29550
  throw new Error("useAuth deve ser usado dentro de AuthProvider.");
28907
29551
  }
@@ -28927,6 +29571,7 @@ export {
28927
29571
  AlertDialogTitle,
28928
29572
  AlertDialogTrigger,
28929
29573
  AlertTitle,
29574
+ ThemeToggle as AnimatedThemeToggle,
28930
29575
  AppSidebar,
28931
29576
  AspectRatio,
28932
29577
  AuthProvider,
@@ -29215,7 +29860,9 @@ export {
29215
29860
  TelescupVideo,
29216
29861
  Textarea,
29217
29862
  TextareaField,
29218
- ThemeToggle,
29863
+ ThemeProvider,
29864
+ ThemeScript,
29865
+ ThemeToggle2 as ThemeToggle,
29219
29866
  Timeline,
29220
29867
  Toast,
29221
29868
  ToastAction,
@@ -29275,6 +29922,7 @@ export {
29275
29922
  toast,
29276
29923
  toggleVariants,
29277
29924
  useActiveSection,
29925
+ useAppTheme,
29278
29926
  useAuth,
29279
29927
  useBreakpoint,
29280
29928
  useFormField,