@cupcodev/ui 5.1.2 → 6.0.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.cjs CHANGED
@@ -51,6 +51,7 @@ __export(src_exports, {
51
51
  AlertDialogTitle: () => AlertDialogTitle,
52
52
  AlertDialogTrigger: () => AlertDialogTrigger,
53
53
  AlertTitle: () => AlertTitle,
54
+ AnimatedThemeToggle: () => ThemeToggle,
54
55
  AppSidebar: () => AppSidebar,
55
56
  AspectRatio: () => AspectRatio,
56
57
  AuthProvider: () => AuthProvider,
@@ -339,7 +340,9 @@ __export(src_exports, {
339
340
  TelescupVideo: () => TelescupVideo,
340
341
  Textarea: () => Textarea,
341
342
  TextareaField: () => TextareaField,
342
- ThemeToggle: () => ThemeToggle,
343
+ ThemeProvider: () => ThemeProvider,
344
+ ThemeScript: () => ThemeScript,
345
+ ThemeToggle: () => ThemeToggle2,
343
346
  Timeline: () => Timeline,
344
347
  Toast: () => Toast,
345
348
  ToastAction: () => ToastAction,
@@ -399,6 +402,7 @@ __export(src_exports, {
399
402
  toast: () => toast,
400
403
  toggleVariants: () => toggleVariants,
401
404
  useActiveSection: () => useActiveSection,
405
+ useAppTheme: () => useAppTheme,
402
406
  useAuth: () => useAuth,
403
407
  useBreakpoint: () => useBreakpoint,
404
408
  useFormField: () => useFormField,
@@ -2315,10 +2319,10 @@ var DockWrapper_default = DockWrapper;
2315
2319
 
2316
2320
  // src/components/layout/main-layout.tsx
2317
2321
  var import_lucide_react11 = require("lucide-react");
2318
- var import_react18 = require("react");
2322
+ var import_react20 = require("react");
2319
2323
 
2320
2324
  // src/components/cupcode/MainNavbar.tsx
2321
- var import_react16 = require("react");
2325
+ var import_react18 = require("react");
2322
2326
 
2323
2327
  // src/components/cupcode/NavbarCupcode.tsx
2324
2328
  var React5 = __toESM(require("react"), 1);
@@ -2389,23 +2393,23 @@ var NavbarCupcode = ({
2389
2393
  {
2390
2394
  ref: navRef,
2391
2395
  className: cn(
2392
- "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",
2393
- "glass border-border/70 shadow-[var(--elevation-3)] md:left-4 md:right-4",
2396
+ "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)]",
2397
+ "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)]",
2394
2398
  className
2395
2399
  ),
2396
2400
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "cc-container", children: [
2397
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "hidden h-16 items-center md:flex", children: [
2401
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "hidden h-[var(--cc-navbar-height-desktop)] items-center md:flex", children: [
2398
2402
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: cn("flex-shrink-0", !hasItems && "mr-auto"), children: logo }),
2399
2403
  hasItems ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "mx-auto flex items-center space-x-8", children: items.map((item, index) => {
2400
2404
  const key = `${item.label}-${index}`;
2401
2405
  const isActive = item.isActive;
2402
2406
  const baseClasses = cn(
2403
2407
  "flex items-center gap-2 text-sm font-semibold text-foreground",
2404
- "hover:text-primary transition-colors duration-200",
2408
+ "hover:text-[hsl(var(--cc-navbar-link-hover))] transition-colors duration-200",
2405
2409
  "relative after:absolute after:bottom-0 after:left-0 after:h-0.5 after:w-0",
2406
- "after:bg-primary after:transition-all after:duration-300",
2410
+ "after:bg-[hsl(var(--cc-navbar-link-hover))] after:transition-all after:duration-300",
2407
2411
  "hover:after:w-full",
2408
- isActive && "text-primary after:w-full"
2412
+ isActive && "text-[hsl(var(--cc-navbar-link-active))] after:w-full after:bg-[hsl(var(--cc-navbar-link-active))]"
2409
2413
  );
2410
2414
  const handleClick = (event) => {
2411
2415
  var _a78;
@@ -2444,7 +2448,7 @@ var NavbarCupcode = ({
2444
2448
  }) }) : null,
2445
2449
  actions && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: cn("flex", !hasItems && "ml-auto"), children: actions })
2446
2450
  ] }),
2447
- hasItems ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "relative flex h-16 items-center md:hidden", children: [
2451
+ hasItems ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "relative flex h-[var(--cc-navbar-height-mobile)] items-center md:hidden", children: [
2448
2452
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2449
2453
  "button",
2450
2454
  {
@@ -2459,7 +2463,7 @@ var NavbarCupcode = ({
2459
2463
  ),
2460
2464
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("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__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex items-center justify-center", children: logo }) }),
2461
2465
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "z-10 ml-auto flex items-center", children: actions != null ? actions : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "inline-flex h-10 w-10", "aria-hidden": "true" }) })
2462
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex h-16 items-center justify-between gap-3 md:hidden", children: [
2466
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex h-[var(--cc-navbar-height-mobile)] items-center justify-between gap-3 md:hidden", children: [
2463
2467
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "min-w-0 shrink", children: logo }),
2464
2468
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex items-center", children: actions != null ? actions : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "inline-flex h-10 w-10", "aria-hidden": "true" }) })
2465
2469
  ] })
@@ -2482,7 +2486,7 @@ var NavbarCupcode = ({
2482
2486
  id: mobileMenuId,
2483
2487
  ref: mobileDrawerRef,
2484
2488
  className: cn(
2485
- "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)]",
2489
+ "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)]",
2486
2490
  "data-[state=open]:animate-in data-[state=open]:slide-in-from-left data-[state=open]:duration-300"
2487
2491
  ),
2488
2492
  "data-state": "open",
@@ -2505,7 +2509,7 @@ var NavbarCupcode = ({
2505
2509
  const isActive = item.isActive;
2506
2510
  const classes = cn(
2507
2511
  "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",
2508
- isActive && "text-primary"
2512
+ isActive && "text-[hsl(var(--cc-navbar-link-active))]"
2509
2513
  );
2510
2514
  const handleClick = (event) => {
2511
2515
  var _a78;
@@ -2759,7 +2763,7 @@ var JellyButton = (0, import_react9.forwardRef)(
2759
2763
  md: "cc-blob-cta--md",
2760
2764
  lg: "cc-blob-cta--lg"
2761
2765
  }[size];
2762
- const variantClass = variant === "secondary" || variant === "original-green" ? "cc-blob-cta--secondary" : variant === "half" ? "cc-blob-cta--half" : "cc-blob-cta--primary";
2766
+ const variantClass = variant === "primary" || variant === "original-green" ? "cc-blob-cta--primary" : variant === "secondary" || variant === "original-pink" ? "cc-blob-cta--secondary" : "cc-blob-cta--half";
2763
2767
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
2764
2768
  "button",
2765
2769
  {
@@ -2979,7 +2983,8 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
2979
2983
  {
2980
2984
  variants: {
2981
2985
  variant: {
2982
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
2986
+ default: "bg-[#18b765] text-white hover:bg-[#149355]",
2987
+ primary: "bg-[#18b765] text-white hover:bg-[#149355]",
2983
2988
  destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
2984
2989
  outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
2985
2990
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
@@ -10402,7 +10407,7 @@ var UserMenuCupcode = ({
10402
10407
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: cn("h-11 w-11 animate-pulse rounded-full bg-muted/70", className) });
10403
10408
  }
10404
10409
  if (!isAuthenticated) {
10405
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(JellyButtonOriginal, { label: loginLabel, size: "sm", className, onClick: onLogin });
10410
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(JellyButtonOriginal, { label: loginLabel, color: "green", size: "sm", className, onClick: onLogin });
10406
10411
  }
10407
10412
  const customPanel = panels == null ? void 0 : panels[activeTab];
10408
10413
  const hasCustomPanel = typeof customPanel !== "undefined";
@@ -22249,10 +22254,490 @@ var Toaster = ({ theme, ...props }) => {
22249
22254
  );
22250
22255
  };
22251
22256
 
22257
+ // src/components/use-app-theme.ts
22258
+ var import_react17 = require("react");
22259
+
22260
+ // src/components/theme-context.ts
22261
+ var import_react16 = require("react");
22262
+ var ThemeContext = (0, import_react16.createContext)(null);
22263
+
22264
+ // src/components/use-app-theme.ts
22265
+ function useAppTheme() {
22266
+ const context = (0, import_react17.useContext)(ThemeContext);
22267
+ if (!context) {
22268
+ throw new Error("useAppTheme must be used inside ThemeProvider");
22269
+ }
22270
+ return context;
22271
+ }
22272
+
22273
+ // src/components/theme-toggle.tsx
22274
+ var import_jsx_runtime38 = require("react/jsx-runtime");
22275
+ function ThemeToggle({ className }) {
22276
+ const { theme, toggleTheme } = useAppTheme();
22277
+ const isDark = theme === "dark";
22278
+ const handleClick = (event) => {
22279
+ toggleTheme({
22280
+ x: event.clientX,
22281
+ y: event.clientY
22282
+ });
22283
+ };
22284
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
22285
+ "button",
22286
+ {
22287
+ type: "button",
22288
+ onClick: handleClick,
22289
+ "aria-label": isDark ? "Ativar modo claro" : "Ativar modo escuro",
22290
+ "aria-pressed": isDark,
22291
+ title: isDark ? "Ativar modo claro" : "Ativar modo escuro",
22292
+ className: ["cc-theme-toggle", isDark ? "is-dark" : "", className].filter(Boolean).join(" "),
22293
+ children: [
22294
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "track", children: [
22295
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "light-bg", children: [
22296
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "light-orb light-orb-1" }),
22297
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "light-orb light-orb-2" }),
22298
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "light-sweep" }),
22299
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "light-veil" })
22300
+ ] }),
22301
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "stars stars-1" }),
22302
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "stars stars-2" }),
22303
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "stars stars-3" }),
22304
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "cloud cloud-1" }),
22305
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "cloud cloud-2" }),
22306
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "thumb", children: [
22307
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "sun-core" }),
22308
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "moon-cut" })
22309
+ ] })
22310
+ ] }),
22311
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("style", { children: `
22312
+ :root {
22313
+ --toggle-width: 76px;
22314
+ --toggle-height: 42px;
22315
+ --thumb-size: 30px;
22316
+ --toggle-thumb-offset: 34px;
22317
+ --duration: 560ms;
22318
+ --ease: cubic-bezier(0.22, 1, 0.36, 1);
22319
+ --dark-top: #7c5bbb;
22320
+ --dark-bottom: #3a2a58;
22321
+ }
22322
+
22323
+ .cc-theme-toggle {
22324
+ border: 0;
22325
+ background: transparent;
22326
+ padding: 0;
22327
+ cursor: pointer;
22328
+ display: inline-flex;
22329
+ align-items: center;
22330
+ justify-content: center;
22331
+ flex-shrink: 0;
22332
+ }
22333
+
22334
+ .cc-theme-toggle .track {
22335
+ position: relative;
22336
+ width: var(--toggle-width);
22337
+ height: var(--toggle-height);
22338
+ border-radius: 999px;
22339
+ overflow: hidden;
22340
+ background: linear-gradient(180deg, #f7f6fb 0%, #f1edf9 55%, #e6def5 100%);
22341
+ box-shadow:
22342
+ inset 0 1px 0 rgba(255, 255, 255, 0.92),
22343
+ inset 0 0 0 1px rgba(232, 219, 255, 0.85),
22344
+ 0 0 0 1px rgba(227, 182, 255, 0.45),
22345
+ 0 8px 24px rgba(134, 102, 182, 0.18);
22346
+ transition:
22347
+ background var(--duration) var(--ease),
22348
+ box-shadow var(--duration) var(--ease);
22349
+ }
22350
+
22351
+ .cc-theme-toggle .track::before {
22352
+ content: "";
22353
+ position: absolute;
22354
+ inset: 0;
22355
+ border-radius: inherit;
22356
+ padding: 1px;
22357
+ background: linear-gradient(
22358
+ 90deg,
22359
+ rgba(200, 106, 232, 0.95) 0%,
22360
+ rgba(199, 166, 255, 0.95) 38%,
22361
+ rgba(239, 233, 255, 0.95) 68%,
22362
+ rgba(243, 123, 175, 0.95) 100%
22363
+ );
22364
+ -webkit-mask:
22365
+ linear-gradient(#000 0 0) content-box,
22366
+ linear-gradient(#000 0 0);
22367
+ -webkit-mask-composite: xor;
22368
+ mask-composite: exclude;
22369
+ pointer-events: none;
22370
+ }
22371
+
22372
+ .cc-theme-toggle .track::after {
22373
+ content: "";
22374
+ position: absolute;
22375
+ inset: 4px;
22376
+ border-radius: inherit;
22377
+ border: 1px solid rgba(255, 255, 255, 0.72);
22378
+ box-shadow: inset 0 0 0 1px rgba(217, 204, 248, 0.38);
22379
+ pointer-events: none;
22380
+ }
22381
+
22382
+ .cc-theme-toggle .light-bg {
22383
+ position: absolute;
22384
+ inset: 0;
22385
+ border-radius: inherit;
22386
+ overflow: hidden;
22387
+ opacity: 1;
22388
+ transition: opacity 240ms ease;
22389
+ z-index: 0;
22390
+ }
22391
+
22392
+ .cc-theme-toggle .light-orb {
22393
+ position: absolute;
22394
+ border-radius: 999px;
22395
+ filter: blur(10px);
22396
+ will-change: transform, opacity;
22397
+ }
22398
+
22399
+ .cc-theme-toggle .light-orb-1 {
22400
+ width: 48px;
22401
+ height: 28px;
22402
+ left: -8px;
22403
+ bottom: -1px;
22404
+ background: radial-gradient(
22405
+ ellipse at center,
22406
+ rgba(241, 138, 195, 0.58) 0%,
22407
+ rgba(232, 167, 208, 0.24) 58%,
22408
+ rgba(255, 255, 255, 0) 100%
22409
+ );
22410
+ animation: cc-theme-light-flow-pink 6.4s ease-in-out infinite;
22411
+ }
22412
+
22413
+ .cc-theme-toggle .light-orb-2 {
22414
+ width: 52px;
22415
+ height: 30px;
22416
+ right: -10px;
22417
+ top: -3px;
22418
+ background: radial-gradient(
22419
+ ellipse at center,
22420
+ rgba(200, 141, 255, 0.34) 0%,
22421
+ rgba(217, 184, 255, 0.14) 60%,
22422
+ rgba(255, 255, 255, 0) 100%
22423
+ );
22424
+ animation: cc-theme-light-flow-purple 6.4s ease-in-out infinite;
22425
+ }
22426
+
22427
+ .cc-theme-toggle .light-sweep {
22428
+ position: absolute;
22429
+ left: -44px;
22430
+ bottom: 5px;
22431
+ width: 42px;
22432
+ height: 4px;
22433
+ border-radius: 999px;
22434
+ background: linear-gradient(
22435
+ 90deg,
22436
+ rgba(255, 122, 200, 0) 0%,
22437
+ rgba(217, 108, 255, 0.65) 35%,
22438
+ rgba(183, 124, 255, 0.8) 70%,
22439
+ rgba(255, 255, 255, 0) 100%
22440
+ );
22441
+ filter: blur(2px);
22442
+ opacity: 0.9;
22443
+ animation: cc-theme-light-sweep 4.3s linear infinite;
22444
+ }
22445
+
22446
+ .cc-theme-toggle .light-veil {
22447
+ position: absolute;
22448
+ inset: 0;
22449
+ background: rgba(255, 255, 255, 0.16);
22450
+ animation: cc-theme-light-veil 5.8s ease-in-out infinite;
22451
+ }
22452
+
22453
+ .cc-theme-toggle.is-dark .track {
22454
+ background: linear-gradient(180deg, var(--dark-top) 0%, var(--dark-bottom) 100%);
22455
+ box-shadow:
22456
+ inset 0 2px 8px rgba(255, 255, 255, 0.06),
22457
+ inset 0 -4px 12px rgba(0, 0, 0, 0.28),
22458
+ 0 8px 24px rgba(58, 42, 88, 0.3);
22459
+ }
22460
+
22461
+ .cc-theme-toggle.is-dark .track::before,
22462
+ .cc-theme-toggle.is-dark .track::after,
22463
+ .cc-theme-toggle.is-dark .light-bg {
22464
+ opacity: 0;
22465
+ }
22466
+
22467
+ .cc-theme-toggle .thumb {
22468
+ position: absolute;
22469
+ top: 6px;
22470
+ left: 6px;
22471
+ width: var(--thumb-size);
22472
+ height: var(--thumb-size);
22473
+ border-radius: 50%;
22474
+ background: linear-gradient(180deg, #ffd76a 0%, #ffb238 100%);
22475
+ box-shadow:
22476
+ 0 4px 10px rgba(255, 176, 56, 0.35),
22477
+ inset 0 2px 4px rgba(255, 255, 255, 0.5);
22478
+ transition:
22479
+ transform var(--duration) var(--ease),
22480
+ background var(--duration) var(--ease),
22481
+ box-shadow var(--duration) var(--ease);
22482
+ z-index: 3;
22483
+ overflow: hidden;
22484
+ }
22485
+
22486
+ .cc-theme-toggle.is-dark .thumb {
22487
+ transform: translateX(var(--toggle-thumb-offset));
22488
+ background: linear-gradient(180deg, #f5f7ff 0%, #cfd8ef 100%);
22489
+ box-shadow:
22490
+ 0 4px 12px rgba(194, 208, 255, 0.25),
22491
+ inset 0 2px 4px rgba(255, 255, 255, 0.8);
22492
+ }
22493
+
22494
+ .cc-theme-toggle .sun-core {
22495
+ position: absolute;
22496
+ inset: 0;
22497
+ border-radius: 50%;
22498
+ }
22499
+
22500
+ .cc-theme-toggle .moon-cut {
22501
+ position: absolute;
22502
+ width: 22px;
22503
+ height: 22px;
22504
+ border-radius: 50%;
22505
+ background: linear-gradient(180deg, var(--dark-top) 0%, var(--dark-bottom) 100%);
22506
+ top: 4px;
22507
+ left: 12px;
22508
+ transform: scale(0.2);
22509
+ opacity: 0;
22510
+ transition:
22511
+ transform var(--duration) var(--ease),
22512
+ opacity calc(var(--duration) * 0.8) var(--ease);
22513
+ }
22514
+
22515
+ .cc-theme-toggle.is-dark .moon-cut {
22516
+ transform: scale(1);
22517
+ opacity: 1;
22518
+ }
22519
+
22520
+ .cc-theme-toggle .stars {
22521
+ position: absolute;
22522
+ border-radius: 50%;
22523
+ background: white;
22524
+ opacity: 0;
22525
+ transform: scale(0.9);
22526
+ z-index: 1;
22527
+ }
22528
+
22529
+ .cc-theme-toggle .stars::after {
22530
+ content: "";
22531
+ position: absolute;
22532
+ inset: -3px;
22533
+ border-radius: 50%;
22534
+ background: rgba(255, 255, 255, 0.18);
22535
+ filter: blur(3px);
22536
+ }
22537
+
22538
+ .cc-theme-toggle .stars-1 {
22539
+ width: 4px;
22540
+ height: 4px;
22541
+ top: 9px;
22542
+ left: 14px;
22543
+ animation: cc-theme-star-blink-1 1.9s ease-in-out infinite;
22544
+ }
22545
+
22546
+ .cc-theme-toggle .stars-2 {
22547
+ width: 4px;
22548
+ height: 4px;
22549
+ top: 15px;
22550
+ left: 26px;
22551
+ animation: cc-theme-star-blink-2 2.3s ease-in-out infinite;
22552
+ }
22553
+
22554
+ .cc-theme-toggle .stars-3 {
22555
+ width: 3px;
22556
+ height: 3px;
22557
+ top: 26px;
22558
+ left: 20px;
22559
+ animation: cc-theme-star-blink-3 1.7s ease-in-out infinite;
22560
+ }
22561
+
22562
+ .cc-theme-toggle:not(.is-dark) .stars {
22563
+ opacity: 0;
22564
+ animation-play-state: paused;
22565
+ }
22566
+
22567
+ .cc-theme-toggle.is-dark .stars {
22568
+ animation-play-state: running;
22569
+ }
22570
+
22571
+ .cc-theme-toggle .cloud {
22572
+ position: absolute;
22573
+ background: #fff;
22574
+ border-radius: 999px;
22575
+ transition: opacity 320ms ease;
22576
+ will-change: transform;
22577
+ }
22578
+
22579
+ .cc-theme-toggle .cloud::before,
22580
+ .cc-theme-toggle .cloud::after {
22581
+ content: "";
22582
+ position: absolute;
22583
+ background: inherit;
22584
+ border-radius: 50%;
22585
+ }
22586
+
22587
+ .cc-theme-toggle .cloud-1 {
22588
+ width: 6px;
22589
+ height: 2.5px;
22590
+ left: 58px;
22591
+ top: 11px;
22592
+ box-shadow: 3.5px 0 0 0 #fff;
22593
+ z-index: 2;
22594
+ animation: cc-theme-cloud-float-small 4.8s ease-in-out infinite;
22595
+ }
22596
+
22597
+ .cc-theme-toggle .cloud-1::before {
22598
+ width: 3px;
22599
+ height: 3px;
22600
+ left: 0.5px;
22601
+ top: -1.5px;
22602
+ }
22603
+
22604
+ .cc-theme-toggle .cloud-1::after {
22605
+ width: 4px;
22606
+ height: 4px;
22607
+ left: 2.5px;
22608
+ top: -2.5px;
22609
+ }
22610
+
22611
+ .cc-theme-toggle .cloud-2 {
22612
+ width: 18px;
22613
+ height: 7px;
22614
+ left: 40px;
22615
+ top: 23px;
22616
+ box-shadow: 12px 0 0 0 #fff;
22617
+ z-index: 2;
22618
+ animation: cc-theme-cloud-float-large 9.6s ease-in-out infinite;
22619
+ }
22620
+
22621
+ .cc-theme-toggle .cloud-2::before {
22622
+ width: 10px;
22623
+ height: 10px;
22624
+ left: 2px;
22625
+ top: -5px;
22626
+ }
22627
+
22628
+ .cc-theme-toggle .cloud-2::after {
22629
+ width: 13px;
22630
+ height: 13px;
22631
+ left: 9px;
22632
+ top: -9px;
22633
+ }
22634
+
22635
+ .cc-theme-toggle.is-dark .cloud {
22636
+ opacity: 0;
22637
+ animation-play-state: paused;
22638
+ }
22639
+
22640
+ .cc-theme-toggle:focus-visible .track {
22641
+ outline: 3px solid rgba(99, 102, 241, 0.45);
22642
+ outline-offset: 4px;
22643
+ }
22644
+
22645
+ @keyframes cc-theme-light-flow-pink {
22646
+ 0% { transform: translateX(-8px) translateY(0px); opacity: 0.7; }
22647
+ 25% { transform: translateX(4px) translateY(-1px); opacity: 0.48; }
22648
+ 50% { transform: translateX(18px) translateY(-3px); opacity: 0.22; }
22649
+ 75% { transform: translateX(30px) translateY(-5px); opacity: 0.12; }
22650
+ 100% { transform: translateX(-8px) translateY(0px); opacity: 0.7; }
22651
+ }
22652
+
22653
+ @keyframes cc-theme-light-flow-purple {
22654
+ 0% { transform: translateX(0px) translateY(0px); opacity: 0.22; }
22655
+ 25% { transform: translateX(-12px) translateY(0px); opacity: 0.34; }
22656
+ 50% { transform: translateX(-24px) translateY(2px); opacity: 0.46; }
22657
+ 75% { transform: translateX(-34px) translateY(5px); opacity: 0.24; }
22658
+ 100% { transform: translateX(0px) translateY(0px); opacity: 0.22; }
22659
+ }
22660
+
22661
+ @keyframes cc-theme-light-sweep {
22662
+ 0% { transform: translateX(0); opacity: 0; }
22663
+ 25% { opacity: 0.95; }
22664
+ 60% { opacity: 0.72; }
22665
+ 100% { transform: translateX(124px); opacity: 0; }
22666
+ }
22667
+
22668
+ @keyframes cc-theme-light-veil {
22669
+ 0%, 100% { opacity: 0.18; }
22670
+ 30% { opacity: 0.1; }
22671
+ 60% { opacity: 0.16; }
22672
+ 80% { opacity: 0.22; }
22673
+ }
22674
+
22675
+ @keyframes cc-theme-cloud-float-small {
22676
+ 0% { transform: translateX(0); }
22677
+ 50% { transform: translateX(-12px); }
22678
+ 100% { transform: translateX(0); }
22679
+ }
22680
+
22681
+ @keyframes cc-theme-cloud-float-large {
22682
+ 0% { transform: translateX(0); }
22683
+ 50% { transform: translateX(-18px); }
22684
+ 100% { transform: translateX(0); }
22685
+ }
22686
+
22687
+ @keyframes cc-theme-star-blink-1 {
22688
+ 0%, 100% { opacity: 0.35; transform: scale(0.9); }
22689
+ 50% { opacity: 1; transform: scale(1.08); }
22690
+ }
22691
+
22692
+ @keyframes cc-theme-star-blink-2 {
22693
+ 0%, 100% { opacity: 0.25; transform: scale(0.85); }
22694
+ 45% { opacity: 0.95; transform: scale(1.05); }
22695
+ }
22696
+
22697
+ @keyframes cc-theme-star-blink-3 {
22698
+ 0%, 100% { opacity: 0.3; transform: scale(0.9); }
22699
+ 55% { opacity: 1; transform: scale(1.12); }
22700
+ }
22701
+ ` })
22702
+ ]
22703
+ }
22704
+ );
22705
+ }
22706
+
22252
22707
  // src/lib/accountsAuth.ts
22253
22708
  var normalizeBaseUrl2 = (value) => value.replace(/\/+$/, "");
22709
+ var AUTH_REQUEST_TIMEOUT_MS = 8e3;
22710
+ var LOCAL_BROWSER_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
22711
+ var isLocalBrowserOrigin = () => {
22712
+ if (typeof window === "undefined") return false;
22713
+ return LOCAL_BROWSER_HOSTNAMES.has(window.location.hostname);
22714
+ };
22715
+ var getLocalRedirectUri = () => {
22716
+ if (typeof window === "undefined") {
22717
+ return "http://localhost:8080/auth/callback";
22718
+ }
22719
+ const port = window.location.port || "8080";
22720
+ return `${window.location.protocol}//localhost:${port}/auth/callback`;
22721
+ };
22722
+ var fetchWithTimeout = async (input, init, timeoutMs = AUTH_REQUEST_TIMEOUT_MS) => {
22723
+ const controller = new AbortController();
22724
+ const timeoutId = window.setTimeout(() => controller.abort(), timeoutMs);
22725
+ try {
22726
+ return await fetch(input, {
22727
+ ...init,
22728
+ signal: controller.signal
22729
+ });
22730
+ } catch (error) {
22731
+ if (error.name === "AbortError") {
22732
+ throw new Error("Timeout ao consultar o Accounts.");
22733
+ }
22734
+ throw error;
22735
+ } finally {
22736
+ window.clearTimeout(timeoutId);
22737
+ }
22738
+ };
22254
22739
  var getAccountsConfig = () => {
22255
- var _a78, _b7, _c;
22740
+ var _a78, _b7;
22256
22741
  const baseUrl = normalizeBaseUrl2(
22257
22742
  (_a78 = getRuntimeEnv("VITE_ACCOUNTS_BASE_URL")) != null ? _a78 : "https://accounts.cupcode.com.br"
22258
22743
  );
@@ -22260,12 +22745,14 @@ var getAccountsConfig = () => {
22260
22745
  if (!clientId) {
22261
22746
  throw new Error("VITE_ACCOUNTS_CLIENT_ID \xE9 obrigat\xF3rio para login.");
22262
22747
  }
22263
- const redirectUri = (_b7 = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI")) != null ? _b7 : `${window.location.origin}/auth/callback`;
22748
+ const runtimeRedirectUri = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI");
22749
+ const fallbackRedirectUri = typeof window === "undefined" ? "http://localhost:8080/auth/callback" : `${window.location.origin}/auth/callback`;
22750
+ const redirectUri = runtimeRedirectUri != null ? runtimeRedirectUri : isLocalBrowserOrigin() ? getLocalRedirectUri() : fallbackRedirectUri;
22264
22751
  return {
22265
22752
  baseUrl,
22266
22753
  clientId,
22267
22754
  redirectUri,
22268
- scope: (_c = getRuntimeEnv("VITE_ACCOUNTS_SCOPE")) != null ? _c : "openid profile email",
22755
+ scope: (_b7 = getRuntimeEnv("VITE_ACCOUNTS_SCOPE")) != null ? _b7 : "openid profile email",
22269
22756
  audience: getRuntimeEnv("VITE_ACCOUNTS_AUDIENCE"),
22270
22757
  authUrl: getRuntimeEnv("VITE_ACCOUNTS_AUTH_URL"),
22271
22758
  tokenUrl: getRuntimeEnv("VITE_ACCOUNTS_TOKEN_URL"),
@@ -22291,7 +22778,7 @@ var resolveOidcEndpoints = async (config) => {
22291
22778
  };
22292
22779
  }
22293
22780
  const discoveryUrl = `${normalizeBaseUrl2(config.baseUrl)}/.well-known/openid-configuration`;
22294
- const response = await fetch(discoveryUrl);
22781
+ const response = await fetchWithTimeout(discoveryUrl);
22295
22782
  if (!response.ok) {
22296
22783
  throw new Error("Falha ao resolver configura\xE7\xE3o OIDC do accounts.");
22297
22784
  }
@@ -22382,7 +22869,7 @@ var exchangeCodeForToken = async (config, tokenUrl, code, verifier) => {
22382
22869
  redirect_uri: config.redirectUri,
22383
22870
  code_verifier: verifier
22384
22871
  });
22385
- const response = await fetch(tokenUrl, {
22872
+ const response = await fetchWithTimeout(tokenUrl, {
22386
22873
  method: "POST",
22387
22874
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
22388
22875
  body
@@ -22429,7 +22916,7 @@ var decodeJwt = (token) => {
22429
22916
  };
22430
22917
 
22431
22918
  // src/components/cupcode/MainNavbar.tsx
22432
- var import_jsx_runtime38 = require("react/jsx-runtime");
22919
+ var import_jsx_runtime39 = require("react/jsx-runtime");
22433
22920
  var parsePositiveInteger = (rawValue, fallback) => {
22434
22921
  const parsed = Number(rawValue);
22435
22922
  if (!Number.isFinite(parsed) || parsed <= 0) return fallback;
@@ -23080,24 +23567,24 @@ var MainNavbar = ({
23080
23567
  appVersion
23081
23568
  }) => {
23082
23569
  var _a78, _b7, _c;
23083
- const [chatUsers, setChatUsers] = (0, import_react16.useState)([]);
23084
- const [chatMessages, setChatMessages] = (0, import_react16.useState)([]);
23085
- const [chatMessageLogs, setChatMessageLogs] = (0, import_react16.useState)([]);
23086
- const [chatReactions, setChatReactions] = (0, import_react16.useState)([]);
23087
- const [isChatLoading, setIsChatLoading] = (0, import_react16.useState)(false);
23088
- const [isChatSending, setIsChatSending] = (0, import_react16.useState)(false);
23089
- const [chatError, setChatError] = (0, import_react16.useState)(null);
23090
- const [resolvedSenderId, setResolvedSenderId] = (0, import_react16.useState)(null);
23091
- const [tokenDerivedUserId, setTokenDerivedUserId] = (0, import_react16.useState)(null);
23092
- const [tokenDerivedEmail, setTokenDerivedEmail] = (0, import_react16.useState)(void 0);
23093
- const [persistedProfileAvatarValue, setPersistedProfileAvatarValue] = (0, import_react16.useState)(void 0);
23094
- const [accountsLanguage, setAccountsLanguage] = (0, import_react16.useState)("pt-BR");
23095
- const [accountsRecentActivity, setAccountsRecentActivity] = (0, import_react16.useState)([]);
23096
- const [isAccountsActivityLoading, setIsAccountsActivityLoading] = (0, import_react16.useState)(false);
23097
- const chatMessagesRef = (0, import_react16.useRef)([]);
23098
- const chatFeatureFlagsRef = (0, import_react16.useRef)(readStoredChatFeatureFlags());
23099
- const presenceSnapshotsRef = (0, import_react16.useRef)(/* @__PURE__ */ new Map());
23100
- const updateChatFeatureFlags = (0, import_react16.useCallback)((partial) => {
23570
+ const [chatUsers, setChatUsers] = (0, import_react18.useState)([]);
23571
+ const [chatMessages, setChatMessages] = (0, import_react18.useState)([]);
23572
+ const [chatMessageLogs, setChatMessageLogs] = (0, import_react18.useState)([]);
23573
+ const [chatReactions, setChatReactions] = (0, import_react18.useState)([]);
23574
+ const [isChatLoading, setIsChatLoading] = (0, import_react18.useState)(false);
23575
+ const [isChatSending, setIsChatSending] = (0, import_react18.useState)(false);
23576
+ const [chatError, setChatError] = (0, import_react18.useState)(null);
23577
+ const [resolvedSenderId, setResolvedSenderId] = (0, import_react18.useState)(null);
23578
+ const [tokenDerivedUserId, setTokenDerivedUserId] = (0, import_react18.useState)(null);
23579
+ const [tokenDerivedEmail, setTokenDerivedEmail] = (0, import_react18.useState)(void 0);
23580
+ const [persistedProfileAvatarValue, setPersistedProfileAvatarValue] = (0, import_react18.useState)(void 0);
23581
+ const [accountsLanguage, setAccountsLanguage] = (0, import_react18.useState)("pt-BR");
23582
+ const [accountsRecentActivity, setAccountsRecentActivity] = (0, import_react18.useState)([]);
23583
+ const [isAccountsActivityLoading, setIsAccountsActivityLoading] = (0, import_react18.useState)(false);
23584
+ const chatMessagesRef = (0, import_react18.useRef)([]);
23585
+ const chatFeatureFlagsRef = (0, import_react18.useRef)(readStoredChatFeatureFlags());
23586
+ const presenceSnapshotsRef = (0, import_react18.useRef)(/* @__PURE__ */ new Map());
23587
+ const updateChatFeatureFlags = (0, import_react18.useCallback)((partial) => {
23101
23588
  const nextFlags = {
23102
23589
  ...chatFeatureFlagsRef.current,
23103
23590
  ...partial
@@ -23105,28 +23592,28 @@ var MainNavbar = ({
23105
23592
  chatFeatureFlagsRef.current = nextFlags;
23106
23593
  persistChatFeatureFlags(nextFlags);
23107
23594
  }, []);
23108
- const currentPathname = (0, import_react16.useMemo)(() => {
23595
+ const currentPathname = (0, import_react18.useMemo)(() => {
23109
23596
  if (pathname && pathname.trim() !== "") return pathname;
23110
23597
  if (typeof window !== "undefined") return window.location.pathname || "/";
23111
23598
  return "/";
23112
23599
  }, [pathname]);
23113
- const currentUserId = (0, import_react16.useMemo)(() => {
23600
+ const currentUserId = (0, import_react18.useMemo)(() => {
23114
23601
  var _a79;
23115
23602
  return (_a79 = resolveCurrentUserId(authUser)) != null ? _a79 : tokenDerivedUserId;
23116
23603
  }, [authUser, tokenDerivedUserId]);
23117
- const authEmail = (0, import_react16.useMemo)(
23604
+ const authEmail = (0, import_react18.useMemo)(
23118
23605
  () => {
23119
23606
  var _a79, _b8;
23120
23607
  return (_b8 = (_a79 = toStringOrUndefined(authUser == null ? void 0 : authUser.email)) == null ? void 0 : _a79.toLowerCase()) != null ? _b8 : tokenDerivedEmail;
23121
23608
  },
23122
23609
  [authUser == null ? void 0 : authUser.email, tokenDerivedEmail]
23123
23610
  );
23124
- const isChatSuperAdmin = (0, import_react16.useMemo)(() => {
23611
+ const isChatSuperAdmin = (0, import_react18.useMemo)(() => {
23125
23612
  var _a79, _b8;
23126
23613
  const roleTokens = `${(_a79 = authUser == null ? void 0 : authUser.role) != null ? _a79 : ""} ${(_b8 = authUser == null ? void 0 : authUser.jobTitle) != null ? _b8 : ""}`.toLowerCase();
23127
23614
  return roleTokens.includes("superadmin") || roleTokens.includes("super admin");
23128
23615
  }, [authUser == null ? void 0 : authUser.jobTitle, authUser == null ? void 0 : authUser.role]);
23129
- const resolvedTelescupBaseUrl = (0, import_react16.useMemo)(() => {
23616
+ const resolvedTelescupBaseUrl = (0, import_react18.useMemo)(() => {
23130
23617
  if (TELESCUP_BASE_URL) {
23131
23618
  return TELESCUP_BASE_URL;
23132
23619
  }
@@ -23142,7 +23629,7 @@ var MainNavbar = ({
23142
23629
  return false;
23143
23630
  }
23144
23631
  })();
23145
- const resolvedAuthStatus = (0, import_react16.useMemo)(() => {
23632
+ const resolvedAuthStatus = (0, import_react18.useMemo)(() => {
23146
23633
  if (authStatus) return authStatus;
23147
23634
  if ((authUser == null ? void 0 : authUser.sub) || (authUser == null ? void 0 : authUser.id) || (authUser == null ? void 0 : authUser.userId) || (authUser == null ? void 0 : authUser.email)) {
23148
23635
  return "authenticated";
@@ -23162,7 +23649,7 @@ var MainNavbar = ({
23162
23649
  tokenDerivedUserId
23163
23650
  ]);
23164
23651
  const isAuthenticated = resolvedAuthStatus === "authenticated";
23165
- (0, import_react16.useEffect)(() => {
23652
+ (0, import_react18.useEffect)(() => {
23166
23653
  if (authStatus === "unauthenticated") {
23167
23654
  setTokenDerivedUserId(null);
23168
23655
  setTokenDerivedEmail(void 0);
@@ -23205,7 +23692,7 @@ var MainNavbar = ({
23205
23692
  canceled = true;
23206
23693
  };
23207
23694
  }, [authStatus, getAccessToken]);
23208
- (0, import_react16.useEffect)(() => {
23695
+ (0, import_react18.useEffect)(() => {
23209
23696
  if (!isAuthenticated) {
23210
23697
  setResolvedSenderId(null);
23211
23698
  setPersistedProfileAvatarValue(void 0);
@@ -23284,7 +23771,7 @@ var MainNavbar = ({
23284
23771
  canceled = true;
23285
23772
  };
23286
23773
  }, [authEmail, currentUserId, isAuthenticated]);
23287
- (0, import_react16.useEffect)(() => {
23774
+ (0, import_react18.useEffect)(() => {
23288
23775
  if (!isAuthenticated) return;
23289
23776
  if (typeof window === "undefined") return;
23290
23777
  const controller = new AbortController();
@@ -23360,10 +23847,10 @@ var MainNavbar = ({
23360
23847
  controller.abort();
23361
23848
  };
23362
23849
  }, [getAccessToken, isAuthenticated, currentUserId]);
23363
- (0, import_react16.useEffect)(() => {
23850
+ (0, import_react18.useEffect)(() => {
23364
23851
  chatMessagesRef.current = chatMessages;
23365
23852
  }, [chatMessages]);
23366
- (0, import_react16.useEffect)(() => {
23853
+ (0, import_react18.useEffect)(() => {
23367
23854
  if (!isAuthenticated) {
23368
23855
  presenceSnapshotsRef.current.clear();
23369
23856
  setChatUsers([]);
@@ -23764,7 +24251,7 @@ var MainNavbar = ({
23764
24251
  canceled = true;
23765
24252
  };
23766
24253
  }, [effectiveCurrentUserId, isAuthenticated, isChatSuperAdmin, updateChatFeatureFlags]);
23767
- (0, import_react16.useEffect)(() => {
24254
+ (0, import_react18.useEffect)(() => {
23768
24255
  if (!isAuthenticated || !effectiveCurrentUserId) return;
23769
24256
  const supabase = getSupabase();
23770
24257
  if (!supabase) return;
@@ -23896,7 +24383,7 @@ var MainNavbar = ({
23896
24383
  void supabase.removeChannel(presenceChannel);
23897
24384
  };
23898
24385
  }, [effectiveCurrentUserId, isAuthenticated, isChatSuperAdmin]);
23899
- (0, import_react16.useEffect)(() => {
24386
+ (0, import_react18.useEffect)(() => {
23900
24387
  if (!isAuthenticated) return;
23901
24388
  const intervalId = window.setInterval(() => {
23902
24389
  const now = Date.now();
@@ -23922,7 +24409,7 @@ var MainNavbar = ({
23922
24409
  window.clearInterval(intervalId);
23923
24410
  };
23924
24411
  }, [isAuthenticated]);
23925
- const chatUnreadByUser = (0, import_react16.useMemo)(() => {
24412
+ const chatUnreadByUser = (0, import_react18.useMemo)(() => {
23926
24413
  const counters = {};
23927
24414
  chatMessages.forEach((message) => {
23928
24415
  var _a79;
@@ -23932,10 +24419,10 @@ var MainNavbar = ({
23932
24419
  });
23933
24420
  return counters;
23934
24421
  }, [chatMessages]);
23935
- const chatUnreadCount = (0, import_react16.useMemo)(() => {
24422
+ const chatUnreadCount = (0, import_react18.useMemo)(() => {
23936
24423
  return Object.values(chatUnreadByUser).reduce((total, count2) => total + count2, 0);
23937
24424
  }, [chatUnreadByUser]);
23938
- const handleChatMarkConversationRead = (0, import_react16.useCallback)(
24425
+ const handleChatMarkConversationRead = (0, import_react18.useCallback)(
23939
24426
  async ({ contactId }) => {
23940
24427
  if (!effectiveCurrentUserId || !contactId) return;
23941
24428
  const readAt = (/* @__PURE__ */ new Date()).toISOString();
@@ -23986,7 +24473,7 @@ var MainNavbar = ({
23986
24473
  },
23987
24474
  [effectiveCurrentUserId, updateChatFeatureFlags]
23988
24475
  );
23989
- const handleChatToggleReaction = (0, import_react16.useCallback)(
24476
+ const handleChatToggleReaction = (0, import_react18.useCallback)(
23990
24477
  async ({ messageId, emoji }) => {
23991
24478
  if (!effectiveCurrentUserId || !messageId || !emoji) return;
23992
24479
  const localToggleReaction = () => {
@@ -24064,7 +24551,7 @@ var MainNavbar = ({
24064
24551
  },
24065
24552
  [chatReactions, effectiveCurrentUserId, updateChatFeatureFlags]
24066
24553
  );
24067
- const insertChatLog = (0, import_react16.useCallback)(
24554
+ const insertChatLog = (0, import_react18.useCallback)(
24068
24555
  async ({
24069
24556
  messageId,
24070
24557
  action,
@@ -24095,7 +24582,7 @@ var MainNavbar = ({
24095
24582
  },
24096
24583
  [effectiveCurrentUserId, updateChatFeatureFlags]
24097
24584
  );
24098
- const handleChatEditMessage = (0, import_react16.useCallback)(
24585
+ const handleChatEditMessage = (0, import_react18.useCallback)(
24099
24586
  async ({ messageId, text }) => {
24100
24587
  if (!effectiveCurrentUserId || !messageId) return;
24101
24588
  const nextText = text.trim();
@@ -24165,7 +24652,7 @@ var MainNavbar = ({
24165
24652
  },
24166
24653
  [chatMessages, effectiveCurrentUserId, insertChatLog, updateChatFeatureFlags]
24167
24654
  );
24168
- const handleChatDeleteMessage = (0, import_react16.useCallback)(
24655
+ const handleChatDeleteMessage = (0, import_react18.useCallback)(
24169
24656
  async ({ messageId }) => {
24170
24657
  if (!effectiveCurrentUserId || !messageId) return;
24171
24658
  const targetMessage = chatMessages.find((message) => message.id === messageId);
@@ -24252,7 +24739,7 @@ var MainNavbar = ({
24252
24739
  },
24253
24740
  [chatMessages, chatReactions, effectiveCurrentUserId, insertChatLog, updateChatFeatureFlags]
24254
24741
  );
24255
- const handleChatViewMessageData = (0, import_react16.useCallback)(
24742
+ const handleChatViewMessageData = (0, import_react18.useCallback)(
24256
24743
  ({ messageId }) => {
24257
24744
  const message = chatMessages.find((entry) => entry.id === messageId);
24258
24745
  if (!message) return;
@@ -24271,7 +24758,7 @@ var MainNavbar = ({
24271
24758
  },
24272
24759
  [chatMessages]
24273
24760
  );
24274
- const handleChatSendMessage = (0, import_react16.useCallback)(
24761
+ const handleChatSendMessage = (0, import_react18.useCallback)(
24275
24762
  async ({
24276
24763
  recipientId,
24277
24764
  text,
@@ -24360,7 +24847,7 @@ var MainNavbar = ({
24360
24847
  },
24361
24848
  [effectiveCurrentUserId, updateChatFeatureFlags]
24362
24849
  );
24363
- const items = (0, import_react16.useMemo)(() => {
24850
+ const items = (0, import_react18.useMemo)(() => {
24364
24851
  var _a79;
24365
24852
  if (!showNavItems) return [];
24366
24853
  const normalizedPathname = currentPathname === "" ? "/" : currentPathname;
@@ -24388,10 +24875,10 @@ var MainNavbar = ({
24388
24875
  };
24389
24876
  });
24390
24877
  }, [currentPathname, onNavigate, showNavItems]);
24391
- const resolvedLogo = (0, import_react16.useMemo)(() => {
24878
+ const resolvedLogo = (0, import_react18.useMemo)(() => {
24392
24879
  if (logo !== void 0) return logo;
24393
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-center gap-[15px]", children: [
24394
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
24880
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-center gap-[15px]", children: [
24881
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
24395
24882
  TelescupImage,
24396
24883
  {
24397
24884
  apiId: "be574751-cf1b-499a-8473-360b4115b447",
@@ -24402,7 +24889,7 @@ var MainNavbar = ({
24402
24889
  className: "h-10 w-auto"
24403
24890
  }
24404
24891
  ),
24405
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
24892
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
24406
24893
  TelescupImage,
24407
24894
  {
24408
24895
  apiId: "3b913721-2eda-48fd-8d76-1a53055a337f",
@@ -24448,7 +24935,7 @@ var MainNavbar = ({
24448
24935
  if (typeof window === "undefined") return;
24449
24936
  window.open(`${MC_BASE_URL2}/tasks`, "_blank", "noopener,noreferrer");
24450
24937
  };
24451
- const handleChatOpenUserProfile = (0, import_react16.useCallback)(({ userId }) => {
24938
+ const handleChatOpenUserProfile = (0, import_react18.useCallback)(({ userId }) => {
24452
24939
  var _a79;
24453
24940
  if (!userId || typeof window === "undefined") return;
24454
24941
  const baseUrl = ((_a79 = getRuntimeEnv("VITE_ACCOUNTS_BASE_URL")) != null ? _a79 : "https://accounts.cupcode.com.br").replace(
@@ -24457,7 +24944,7 @@ var MainNavbar = ({
24457
24944
  );
24458
24945
  window.open(`${baseUrl}/users/${encodeURIComponent(userId)}`, "_blank", "noopener,noreferrer");
24459
24946
  }, []);
24460
- const handleChatSendEmail = (0, import_react16.useCallback)(({ email }) => {
24947
+ const handleChatSendEmail = (0, import_react18.useCallback)(({ email }) => {
24461
24948
  if (!email) {
24462
24949
  import_sonner.toast.message("E-mail indispon\xEDvel", {
24463
24950
  description: "Esse usu\xE1rio n\xE3o possui e-mail dispon\xEDvel para contato."
@@ -24467,7 +24954,7 @@ var MainNavbar = ({
24467
24954
  if (typeof window === "undefined") return;
24468
24955
  window.open(`mailto:${email}`, "_blank", "noopener,noreferrer");
24469
24956
  }, []);
24470
- const handleChatAddToAgenda = (0, import_react16.useCallback)(
24957
+ const handleChatAddToAgenda = (0, import_react18.useCallback)(
24471
24958
  ({ email, name }) => {
24472
24959
  if (typeof window === "undefined") return;
24473
24960
  const attendee = email ? `&add=${encodeURIComponent(email)}` : "";
@@ -24480,7 +24967,7 @@ var MainNavbar = ({
24480
24967
  },
24481
24968
  []
24482
24969
  );
24483
- const getTelescupAccessToken = (0, import_react16.useCallback)(async () => {
24970
+ const getTelescupAccessToken = (0, import_react18.useCallback)(async () => {
24484
24971
  if (getAccessToken) {
24485
24972
  return getAccessToken();
24486
24973
  }
@@ -24493,7 +24980,7 @@ var MainNavbar = ({
24493
24980
  }
24494
24981
  return token;
24495
24982
  }, [getAccessToken]);
24496
- const handleLanguageChange = (0, import_react16.useCallback)(
24983
+ const handleLanguageChange = (0, import_react18.useCallback)(
24497
24984
  async (nextLanguage) => {
24498
24985
  setAccountsLanguage(nextLanguage);
24499
24986
  if (!ACCOUNTS_LANGUAGE_ENDPOINT || typeof window === "undefined") return;
@@ -24519,7 +25006,7 @@ var MainNavbar = ({
24519
25006
  },
24520
25007
  [getAccessToken]
24521
25008
  );
24522
- const handleProfileAvatarChange = (0, import_react16.useCallback)(
25009
+ const handleProfileAvatarChange = (0, import_react18.useCallback)(
24523
25010
  async ({ avatarId, avatarUrl }) => {
24524
25011
  var _a79;
24525
25012
  const normalizedAvatarId = (_a79 = parseAssetId(avatarId)) != null ? _a79 : parseAssetId(avatarUrl);
@@ -24637,61 +25124,64 @@ var MainNavbar = ({
24637
25124
  },
24638
25125
  [authEmail, currentUserId, resolvedSenderId]
24639
25126
  );
24640
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
25127
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
24641
25128
  NavbarCupcode,
24642
25129
  {
24643
25130
  logo: resolvedLogo,
24644
25131
  items,
24645
25132
  className,
24646
- actions: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
24647
- UserMenuCupcode,
24648
- {
24649
- isAuthenticated: resolvedAuthStatus === "authenticated",
24650
- isLoading: resolvedAuthStatus === "loading",
24651
- loginLabel: ctaLabel,
24652
- displayName: authUser == null ? void 0 : authUser.name,
24653
- username: (_c = authUser == null ? void 0 : authUser.preferredUsername) != null ? _c : authUser == null ? void 0 : authUser.nickname,
24654
- email: authUser == null ? void 0 : authUser.email,
24655
- avatarUrl: resolvedProfileAvatarUrl,
24656
- roleLabel: authUser == null ? void 0 : authUser.jobTitle,
24657
- status: presenceStatus,
24658
- onStatusChange: onPresenceStatusChange,
24659
- chatUsers,
24660
- chatMessages,
24661
- chatReactions,
24662
- chatMessageLogs,
24663
- currentChatUserId: effectiveCurrentUserId,
24664
- chatUnreadCount,
24665
- chatUnreadByUser,
24666
- isChatSuperAdmin,
24667
- isChatLoading,
24668
- isChatSending,
24669
- chatError,
24670
- onChatSendMessage: handleChatSendMessage,
24671
- onChatMarkConversationRead: handleChatMarkConversationRead,
24672
- onChatToggleReaction: handleChatToggleReaction,
24673
- onChatEditMessage: handleChatEditMessage,
24674
- onChatDeleteMessage: handleChatDeleteMessage,
24675
- onChatViewMessageData: handleChatViewMessageData,
24676
- onChatOpenUserProfile: handleChatOpenUserProfile,
24677
- onChatSendEmail: handleChatSendEmail,
24678
- onChatAddToAgenda: handleChatAddToAgenda,
24679
- onLogin: handleCtaClick,
24680
- onLogout: handleLogoutClick,
24681
- onOpenAccount: handleOpenAccounts,
24682
- onOpenProfile: handleOpenAccountsProfile,
24683
- onOpenBilling: handleOpenAccountsBilling,
24684
- onOpenTasks: handleOpenMcTasks,
24685
- onProfileAvatarChange: handleProfileAvatarChange,
24686
- language: accountsLanguage,
24687
- onLanguageChange: handleLanguageChange,
24688
- recentActivity: accountsRecentActivity,
24689
- isRecentActivityLoading: isAccountsActivityLoading,
24690
- telescupBaseUrl: resolvedTelescupBaseUrl,
24691
- getTelescupAccessToken,
24692
- appVersion
24693
- }
24694
- ) })
25133
+ actions: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-center gap-3", children: [
25134
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ThemeToggle, {}),
25135
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
25136
+ UserMenuCupcode,
25137
+ {
25138
+ isAuthenticated: resolvedAuthStatus === "authenticated",
25139
+ isLoading: resolvedAuthStatus === "loading",
25140
+ loginLabel: ctaLabel,
25141
+ displayName: authUser == null ? void 0 : authUser.name,
25142
+ username: (_c = authUser == null ? void 0 : authUser.preferredUsername) != null ? _c : authUser == null ? void 0 : authUser.nickname,
25143
+ email: authUser == null ? void 0 : authUser.email,
25144
+ avatarUrl: resolvedProfileAvatarUrl,
25145
+ roleLabel: authUser == null ? void 0 : authUser.jobTitle,
25146
+ status: presenceStatus,
25147
+ onStatusChange: onPresenceStatusChange,
25148
+ chatUsers,
25149
+ chatMessages,
25150
+ chatReactions,
25151
+ chatMessageLogs,
25152
+ currentChatUserId: effectiveCurrentUserId,
25153
+ chatUnreadCount,
25154
+ chatUnreadByUser,
25155
+ isChatSuperAdmin,
25156
+ isChatLoading,
25157
+ isChatSending,
25158
+ chatError,
25159
+ onChatSendMessage: handleChatSendMessage,
25160
+ onChatMarkConversationRead: handleChatMarkConversationRead,
25161
+ onChatToggleReaction: handleChatToggleReaction,
25162
+ onChatEditMessage: handleChatEditMessage,
25163
+ onChatDeleteMessage: handleChatDeleteMessage,
25164
+ onChatViewMessageData: handleChatViewMessageData,
25165
+ onChatOpenUserProfile: handleChatOpenUserProfile,
25166
+ onChatSendEmail: handleChatSendEmail,
25167
+ onChatAddToAgenda: handleChatAddToAgenda,
25168
+ onLogin: handleCtaClick,
25169
+ onLogout: handleLogoutClick,
25170
+ onOpenAccount: handleOpenAccounts,
25171
+ onOpenProfile: handleOpenAccountsProfile,
25172
+ onOpenBilling: handleOpenAccountsBilling,
25173
+ onOpenTasks: handleOpenMcTasks,
25174
+ onProfileAvatarChange: handleProfileAvatarChange,
25175
+ language: accountsLanguage,
25176
+ onLanguageChange: handleLanguageChange,
25177
+ recentActivity: accountsRecentActivity,
25178
+ isRecentActivityLoading: isAccountsActivityLoading,
25179
+ telescupBaseUrl: resolvedTelescupBaseUrl,
25180
+ getTelescupAccessToken,
25181
+ appVersion
25182
+ }
25183
+ )
25184
+ ] })
24695
25185
  }
24696
25186
  ) });
24697
25187
  };
@@ -24699,14 +25189,14 @@ var MainNavbar = ({
24699
25189
  // src/components/layout/sidebar.tsx
24700
25190
  var import_framer_motion = require("framer-motion");
24701
25191
  var import_lucide_react10 = require("lucide-react");
24702
- var import_react17 = require("react");
25192
+ var import_react19 = require("react");
24703
25193
  var import_react_router_dom = require("react-router-dom");
24704
25194
 
24705
25195
  // src/components/layout/DsNavbarLogo.tsx
24706
- var import_jsx_runtime39 = require("react/jsx-runtime");
25196
+ var import_jsx_runtime40 = require("react/jsx-runtime");
24707
25197
  var DsNavbarLogo = () => {
24708
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-center gap-[15px]", children: [
24709
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
25198
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex items-center gap-[15px]", children: [
25199
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
24710
25200
  TelescupImage,
24711
25201
  {
24712
25202
  apiId: "be574751-cf1b-499a-8473-360b4115b447",
@@ -24717,7 +25207,7 @@ var DsNavbarLogo = () => {
24717
25207
  className: "h-10 w-auto"
24718
25208
  }
24719
25209
  ),
24720
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
25210
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
24721
25211
  TelescupImage,
24722
25212
  {
24723
25213
  apiId: "3b913721-2eda-48fd-8d76-1a53055a337f",
@@ -24731,7 +25221,7 @@ var DsNavbarLogo = () => {
24731
25221
  ] });
24732
25222
  };
24733
25223
  var DsNavbarCompactLogo = () => {
24734
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
25224
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
24735
25225
  TelescupImage,
24736
25226
  {
24737
25227
  apiId: "be574751-cf1b-499a-8473-360b4115b447",
@@ -24788,26 +25278,26 @@ var buildSidebarGroupsFromNavItems = (items, defaultGroupLabel = "Principal") =>
24788
25278
  var defaultSidebarGroups = buildSidebarGroupsFromNavItems(getMainNavItems());
24789
25279
 
24790
25280
  // src/components/layout/sidebar.tsx
24791
- var import_jsx_runtime40 = require("react/jsx-runtime");
25281
+ var import_jsx_runtime41 = require("react/jsx-runtime");
24792
25282
  var findGroupByRoute = (groups, pathname) => {
24793
25283
  var _a78, _b7;
24794
25284
  return (_b7 = (_a78 = groups.find((group) => group.items.some((item) => item.route === pathname))) == null ? void 0 : _a78.label) != null ? _b7 : null;
24795
25285
  };
24796
- var IconFallback = () => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react10.Circle, { className: "h-3 w-3 opacity-80", "aria-hidden": "true" });
24797
- var IconSlot = ({ icon, className }) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: cn("inline-flex items-center justify-center [&>svg]:h-4 [&>svg]:w-4", className), children: icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(IconFallback, {}) });
25286
+ var IconFallback = () => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react10.Circle, { className: "h-3 w-3 opacity-80", "aria-hidden": "true" });
25287
+ var IconSlot = ({ icon, className }) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: cn("inline-flex items-center justify-center [&>svg]:h-4 [&>svg]:w-4", className), children: icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(IconFallback, {}) });
24798
25288
  var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24799
25289
  const location = (0, import_react_router_dom.useLocation)();
24800
- const navScrollRef = (0, import_react17.useRef)(null);
24801
- const scrollTopRef = (0, import_react17.useRef)(0);
24802
- const [searchQuery, setSearchQuery] = (0, import_react17.useState)("");
24803
- const [openGroup, setOpenGroup] = (0, import_react17.useState)(null);
25290
+ const navScrollRef = (0, import_react19.useRef)(null);
25291
+ const scrollTopRef = (0, import_react19.useRef)(0);
25292
+ const [searchQuery, setSearchQuery] = (0, import_react19.useState)("");
25293
+ const [openGroup, setOpenGroup] = (0, import_react19.useState)(null);
24804
25294
  const normalizedQuery = searchQuery.trim().toLowerCase();
24805
- const resolvedGroups = (0, import_react17.useMemo)(() => {
25295
+ const resolvedGroups = (0, import_react19.useMemo)(() => {
24806
25296
  if (groups && groups.length > 0) return groups;
24807
25297
  return defaultSidebarGroups;
24808
25298
  }, [groups]);
24809
- const activeGroup = (0, import_react17.useMemo)(() => findGroupByRoute(resolvedGroups, location.pathname), [location.pathname, resolvedGroups]);
24810
- const filteredGroups = (0, import_react17.useMemo)(() => {
25299
+ const activeGroup = (0, import_react19.useMemo)(() => findGroupByRoute(resolvedGroups, location.pathname), [location.pathname, resolvedGroups]);
25300
+ const filteredGroups = (0, import_react19.useMemo)(() => {
24811
25301
  if (!normalizedQuery) return resolvedGroups;
24812
25302
  return resolvedGroups.map((group) => ({
24813
25303
  ...group,
@@ -24815,27 +25305,27 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24815
25305
  })).filter((group) => group.items.length > 0);
24816
25306
  }, [normalizedQuery, resolvedGroups]);
24817
25307
  const visibleGroups = isCollapsed ? resolvedGroups : filteredGroups;
24818
- const resolvedExpandedLogo = logo != null ? logo : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DsNavbarLogo, {});
24819
- const resolvedCollapsedLogo = collapsedLogo != null ? collapsedLogo : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DsNavbarCompactLogo, {});
24820
- (0, import_react17.useEffect)(() => {
25308
+ const resolvedExpandedLogo = logo != null ? logo : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DsNavbarLogo, {});
25309
+ const resolvedCollapsedLogo = collapsedLogo != null ? collapsedLogo : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DsNavbarCompactLogo, {});
25310
+ (0, import_react19.useEffect)(() => {
24821
25311
  if (!openGroup && resolvedGroups.length > 0) {
24822
25312
  setOpenGroup(resolvedGroups[0].label);
24823
25313
  }
24824
25314
  }, [openGroup, resolvedGroups]);
24825
- (0, import_react17.useEffect)(() => {
25315
+ (0, import_react19.useEffect)(() => {
24826
25316
  const groupForRoute = findGroupByRoute(resolvedGroups, location.pathname);
24827
25317
  if (groupForRoute) {
24828
25318
  setOpenGroup(groupForRoute);
24829
25319
  }
24830
25320
  }, [location.pathname, resolvedGroups]);
24831
- (0, import_react17.useEffect)(() => {
25321
+ (0, import_react19.useEffect)(() => {
24832
25322
  if (isCollapsed || visibleGroups.length === 0) return;
24833
25323
  const hasOpenGroup = openGroup ? visibleGroups.some((group) => group.label === openGroup) : false;
24834
25324
  if (!hasOpenGroup) {
24835
25325
  setOpenGroup(visibleGroups[0].label);
24836
25326
  }
24837
25327
  }, [isCollapsed, openGroup, visibleGroups]);
24838
- (0, import_react17.useEffect)(() => {
25328
+ (0, import_react19.useEffect)(() => {
24839
25329
  const element = navScrollRef.current;
24840
25330
  if (!element) return void 0;
24841
25331
  const handleScroll = () => {
@@ -24846,7 +25336,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24846
25336
  element.removeEventListener("scroll", handleScroll);
24847
25337
  };
24848
25338
  }, []);
24849
- (0, import_react17.useEffect)(() => {
25339
+ (0, import_react19.useEffect)(() => {
24850
25340
  const element = navScrollRef.current;
24851
25341
  if (!element) return void 0;
24852
25342
  const frame = window.requestAnimationFrame(() => {
@@ -24856,17 +25346,17 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24856
25346
  window.cancelAnimationFrame(frame);
24857
25347
  };
24858
25348
  }, [location.pathname]);
24859
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
25349
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
24860
25350
  import_framer_motion.motion.aside,
24861
25351
  {
24862
25352
  className: "fixed left-0 top-0 h-full z-30 p-2 overflow-hidden",
24863
25353
  animate: { width: isCollapsed ? 76 : 320 },
24864
25354
  transition: { duration: 0.25, ease: "easeInOut" },
24865
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "h-full rounded-r-2xl border border-l-0 border-white/15 bg-background/40 p-3 shadow-[0_24px_44px_-30px_rgba(58,42,88,0.7)] backdrop-blur-xl [transform:translateZ(0)] flex flex-col overflow-hidden", children: [
24866
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn("mb-3 flex min-h-11 items-center", isCollapsed ? "justify-center" : "justify-start px-1"), children: isCollapsed ? resolvedCollapsedLogo : resolvedExpandedLogo }),
24867
- !isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "relative mb-3", children: [
24868
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react10.Search, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-ink/65" }),
24869
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
25355
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "h-full rounded-r-2xl border border-l-0 border-white/15 bg-background/40 p-3 shadow-[0_24px_44px_-30px_rgba(58,42,88,0.7)] backdrop-blur-xl [transform:translateZ(0)] flex flex-col overflow-hidden", children: [
25356
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cn("mb-3 flex min-h-11 items-center", isCollapsed ? "justify-center" : "justify-start px-1"), children: isCollapsed ? resolvedCollapsedLogo : resolvedExpandedLogo }),
25357
+ !isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "relative mb-3", children: [
25358
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react10.Search, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-ink/65" }),
25359
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
24870
25360
  "input",
24871
25361
  {
24872
25362
  type: "search",
@@ -24877,9 +25367,9 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24877
25367
  }
24878
25368
  )
24879
25369
  ] }) : null,
24880
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { ref: navScrollRef, className: "cc-scrollbar cc-scrollbar-purple flex-1 overflow-y-auto overflow-x-hidden pr-1", children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex flex-col items-center gap-2", children: resolvedGroups.map((group) => {
25370
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { ref: navScrollRef, className: "cc-scrollbar cc-scrollbar-purple flex-1 overflow-y-auto overflow-x-hidden pr-1", children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "flex flex-col items-center gap-2", children: resolvedGroups.map((group) => {
24881
25371
  const isActiveGroup = (activeGroup != null ? activeGroup : openGroup) === group.label;
24882
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
25372
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
24883
25373
  "button",
24884
25374
  {
24885
25375
  type: "button",
@@ -24892,14 +25382,14 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24892
25382
  isActiveGroup ? "bg-cupcode-purple shadow-md text-white" : "bg-white/10 hover:bg-[rgba(151,90,182,0.30)] text-ink"
24893
25383
  ),
24894
25384
  "aria-label": `Abrir grupo ${group.label}`,
24895
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(IconSlot, { icon: group.icon, className: cn("[&>svg]:h-5 [&>svg]:w-5", isActiveGroup && "text-white") })
25385
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(IconSlot, { icon: group.icon, className: cn("[&>svg]:h-5 [&>svg]:w-5", isActiveGroup && "text-white") })
24896
25386
  },
24897
25387
  group.id
24898
25388
  );
24899
- }) }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "space-y-2", children: visibleGroups.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "rounded-xl bg-white/20 px-3 py-3 text-xs text-ink-muted", children: "Nenhum item encontrado." }) : visibleGroups.map((group) => {
25389
+ }) }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "space-y-2", children: visibleGroups.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "rounded-xl bg-white/20 px-3 py-3 text-xs text-ink-muted", children: "Nenhum item encontrado." }) : visibleGroups.map((group) => {
24900
25390
  const isOpen = openGroup === group.label;
24901
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("section", { className: "rounded-xl bg-white/14", children: [
24902
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
25391
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("section", { className: "rounded-xl bg-white/14", children: [
25392
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
24903
25393
  "button",
24904
25394
  {
24905
25395
  type: "button",
@@ -24907,13 +25397,13 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24907
25397
  className: "flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left transition-colors duration-200 hover:bg-[rgba(151,90,182,0.30)]",
24908
25398
  "aria-expanded": isOpen,
24909
25399
  children: [
24910
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(IconSlot, { icon: group.icon, className: "h-8 w-8 rounded-xl bg-white/55 text-ink" }),
24911
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-ink/80", children: group.label }),
24912
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react10.ChevronDown, { className: cn("ml-auto h-4 w-4 text-ink/65 transition-transform", isOpen && "rotate-90") })
25400
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(IconSlot, { icon: group.icon, className: "h-8 w-8 rounded-xl bg-white/55 text-ink" }),
25401
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-ink/80", children: group.label }),
25402
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react10.ChevronDown, { className: cn("ml-auto h-4 w-4 text-ink/65 transition-transform", isOpen && "rotate-90") })
24913
25403
  ]
24914
25404
  }
24915
25405
  ),
24916
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_framer_motion.AnimatePresence, { initial: false, children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
25406
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_framer_motion.AnimatePresence, { initial: false, children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
24917
25407
  import_framer_motion.motion.div,
24918
25408
  {
24919
25409
  initial: { height: 0 },
@@ -24921,9 +25411,9 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24921
25411
  exit: { height: 0 },
24922
25412
  transition: { duration: 0.2, ease: "easeInOut" },
24923
25413
  className: "overflow-hidden",
24924
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("nav", { className: "space-y-1 pb-2", children: group.items.map((item) => {
25414
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("nav", { className: "space-y-1 pb-2", children: group.items.map((item) => {
24925
25415
  const isActive = location.pathname === item.route;
24926
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
25416
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
24927
25417
  import_react_router_dom.NavLink,
24928
25418
  {
24929
25419
  to: item.route,
@@ -24932,7 +25422,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24932
25422
  isActive && "bg-white/40 font-medium text-ink"
24933
25423
  ),
24934
25424
  children: [
24935
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
25425
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
24936
25426
  IconSlot,
24937
25427
  {
24938
25428
  icon: item.icon,
@@ -24942,7 +25432,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24942
25432
  )
24943
25433
  }
24944
25434
  ),
24945
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: cn("truncate", isActive && "font-medium"), children: item.label })
25435
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: cn("truncate", isActive && "font-medium"), children: item.label })
24946
25436
  ]
24947
25437
  },
24948
25438
  item.id
@@ -24958,7 +25448,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24958
25448
  };
24959
25449
 
24960
25450
  // src/components/layout/main-layout.tsx
24961
- var import_jsx_runtime41 = require("react/jsx-runtime");
25451
+ var import_jsx_runtime42 = require("react/jsx-runtime");
24962
25452
  var SIDEBAR_COLLAPSED_WIDTH = 76;
24963
25453
  var SIDEBAR_EXPANDED_WIDTH = 320;
24964
25454
  var SIDEBAR_COLLAPSED_STORAGE_KEY = "cc-layout-sidebar-collapsed";
@@ -24980,11 +25470,11 @@ var MainLayout = ({
24980
25470
  sidebarLogo,
24981
25471
  sidebarCollapsedLogo
24982
25472
  }) => {
24983
- const [sidebarCollapsed, setSidebarCollapsed] = (0, import_react18.useState)(getInitialSidebarCollapsed);
24984
- const toggleSidebar = (0, import_react18.useCallback)(() => {
25473
+ const [sidebarCollapsed, setSidebarCollapsed] = (0, import_react20.useState)(getInitialSidebarCollapsed);
25474
+ const toggleSidebar = (0, import_react20.useCallback)(() => {
24985
25475
  setSidebarCollapsed((current) => !current);
24986
25476
  }, []);
24987
- (0, import_react18.useEffect)(() => {
25477
+ (0, import_react20.useEffect)(() => {
24988
25478
  if (typeof window === "undefined") return;
24989
25479
  try {
24990
25480
  window.localStorage.setItem(SIDEBAR_COLLAPSED_STORAGE_KEY, String(sidebarCollapsed));
@@ -24993,12 +25483,12 @@ var MainLayout = ({
24993
25483
  }, [sidebarCollapsed]);
24994
25484
  const contentMarginLeft = sidebarCollapsed ? SIDEBAR_COLLAPSED_WIDTH : SIDEBAR_EXPANDED_WIDTH;
24995
25485
  const navbarOffsetClassName = sidebarCollapsed ? "left-[84px] md:left-[88px] right-3 md:right-4" : "left-[328px] md:left-[332px] right-3 md:right-4";
24996
- const mergedNavbarClassName = (0, import_react18.useMemo)(
25486
+ const mergedNavbarClassName = (0, import_react20.useMemo)(
24997
25487
  () => cn(navbarOffsetClassName, navbarProps == null ? void 0 : navbarProps.className),
24998
25488
  [navbarOffsetClassName, navbarProps == null ? void 0 : navbarProps.className]
24999
25489
  );
25000
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: cn("relative min-h-screen", className), children: [
25001
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
25490
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: cn("relative min-h-screen", className), children: [
25491
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25002
25492
  AppSidebar,
25003
25493
  {
25004
25494
  isCollapsed: sidebarCollapsed,
@@ -25007,7 +25497,7 @@ var MainLayout = ({
25007
25497
  collapsedLogo: sidebarCollapsedLogo
25008
25498
  }
25009
25499
  ),
25010
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
25500
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25011
25501
  MainNavbar,
25012
25502
  {
25013
25503
  ...navbarProps,
@@ -25015,7 +25505,7 @@ var MainLayout = ({
25015
25505
  className: mergedNavbarClassName
25016
25506
  }
25017
25507
  ),
25018
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
25508
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25019
25509
  "div",
25020
25510
  {
25021
25511
  className: "fixed z-[210]",
@@ -25023,14 +25513,14 @@ var MainLayout = ({
25023
25513
  left: contentMarginLeft - 22,
25024
25514
  top: "calc(max(env(safe-area-inset-top), 0px) + 18px)"
25025
25515
  },
25026
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
25516
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25027
25517
  "button",
25028
25518
  {
25029
25519
  type: "button",
25030
25520
  onClick: toggleSidebar,
25031
25521
  "aria-label": sidebarCollapsed ? "Expandir sidebar" : "Recolher sidebar",
25032
25522
  className: "inline-flex h-20 w-11 items-center justify-center rounded-[22px] border border-white/20 bg-[hsla(258,34%,34%,0.4)] text-white/90 shadow-[0_12px_28px_-16px_rgba(0,0,0,0.75)] backdrop-blur-xl transition-colors duration-200 hover:bg-[hsla(258,38%,38%,0.52)]",
25033
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
25523
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25034
25524
  import_lucide_react11.ChevronRight,
25035
25525
  {
25036
25526
  className: cn(
@@ -25043,7 +25533,7 @@ var MainLayout = ({
25043
25533
  )
25044
25534
  }
25045
25535
  ),
25046
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
25536
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25047
25537
  "main",
25048
25538
  {
25049
25539
  className: cn("relative min-h-screen pt-24", contentClassName),
@@ -25058,10 +25548,10 @@ var MainLayout = ({
25058
25548
  };
25059
25549
 
25060
25550
  // src/components/cupcode/ErrorBoundary.tsx
25061
- var import_react19 = __toESM(require("react"), 1);
25551
+ var import_react21 = __toESM(require("react"), 1);
25062
25552
  var import_lucide_react12 = require("lucide-react");
25063
- var import_jsx_runtime42 = require("react/jsx-runtime");
25064
- var ErrorBoundary = class extends import_react19.default.Component {
25553
+ var import_jsx_runtime43 = require("react/jsx-runtime");
25554
+ var ErrorBoundary = class extends import_react21.default.Component {
25065
25555
  constructor(props) {
25066
25556
  super(props);
25067
25557
  __publicField(this, "handleReset", () => {
@@ -25080,17 +25570,17 @@ var ErrorBoundary = class extends import_react19.default.Component {
25080
25570
  if (this.props.fallback) {
25081
25571
  return this.props.fallback;
25082
25572
  }
25083
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "min-h-screen flex items-center justify-center p-6 bg-gradient-to-br from-cupcode-surface to-muted", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "max-w-md w-full glass rounded-xl p-8 text-center animate-scale-in", children: [
25084
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "mb-6 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "p-4 rounded-full bg-destructive/10", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react12.AlertTriangle, { className: "w-12 h-12 text-destructive" }) }) }),
25085
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("h2", { className: "text-2xl font-display font-bold text-foreground mb-3", children: "Algo deu errado" }),
25086
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-muted-foreground mb-6", children: "Desculpe, encontramos um erro inesperado. Por favor, tente novamente." }),
25087
- this.state.error && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("details", { className: "mb-6 text-left", children: [
25088
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("summary", { className: "cursor-pointer text-sm text-muted-foreground hover:text-foreground", children: "Detalhes t\xE9cnicos" }),
25089
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("pre", { className: "mt-2 p-3 bg-muted rounded-md text-xs overflow-x-auto", children: this.state.error.message })
25573
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "min-h-screen flex items-center justify-center p-6 bg-gradient-to-br from-cupcode-surface to-muted", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "max-w-md w-full glass rounded-xl p-8 text-center animate-scale-in", children: [
25574
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mb-6 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "p-4 rounded-full bg-destructive/10", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react12.AlertTriangle, { className: "w-12 h-12 text-destructive" }) }) }),
25575
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h2", { className: "text-2xl font-display font-bold text-foreground mb-3", children: "Algo deu errado" }),
25576
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-muted-foreground mb-6", children: "Desculpe, encontramos um erro inesperado. Por favor, tente novamente." }),
25577
+ this.state.error && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("details", { className: "mb-6 text-left", children: [
25578
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("summary", { className: "cursor-pointer text-sm text-muted-foreground hover:text-foreground", children: "Detalhes t\xE9cnicos" }),
25579
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("pre", { className: "mt-2 p-3 bg-muted rounded-md text-xs overflow-x-auto", children: this.state.error.message })
25090
25580
  ] }),
25091
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex gap-3 justify-center", children: [
25092
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(JellyButton, { onClick: this.handleReset, variant: "primary", children: "Tentar novamente" }),
25093
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(JellyButton, { onClick: () => window.location.href = "/", variant: "secondary", children: "Ir para in\xEDcio" })
25581
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex gap-3 justify-center", children: [
25582
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(JellyButton, { onClick: this.handleReset, variant: "primary", children: "Tentar novamente" }),
25583
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(JellyButton, { onClick: () => window.location.href = "/", variant: "secondary", children: "Ir para in\xEDcio" })
25094
25584
  ] })
25095
25585
  ] }) });
25096
25586
  }
@@ -25099,9 +25589,9 @@ var ErrorBoundary = class extends import_react19.default.Component {
25099
25589
  };
25100
25590
 
25101
25591
  // src/components/cupcode/EyebrowCupcode.tsx
25102
- var import_react20 = require("react");
25103
- var import_jsx_runtime43 = require("react/jsx-runtime");
25104
- var Eyebrow = (0, import_react20.forwardRef)(
25592
+ var import_react22 = require("react");
25593
+ var import_jsx_runtime44 = require("react/jsx-runtime");
25594
+ var Eyebrow = (0, import_react22.forwardRef)(
25105
25595
  ({ variant = "galaxy", glow = false, className, children, ...props }, ref) => {
25106
25596
  const baseClasses = cn(
25107
25597
  "inline-flex items-center gap-2",
@@ -25116,7 +25606,7 @@ var Eyebrow = (0, import_react20.forwardRef)(
25116
25606
  purple: "bg-cupcode-purple text-white shadow-[0_0_20px_rgba(124,91,187,0.4)]",
25117
25607
  outline: "border-2 border-cupcode-purple text-cupcode-purple bg-transparent"
25118
25608
  };
25119
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
25609
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
25120
25610
  "div",
25121
25611
  {
25122
25612
  ref,
@@ -25130,7 +25620,7 @@ var Eyebrow = (0, import_react20.forwardRef)(
25130
25620
  Eyebrow.displayName = "Eyebrow";
25131
25621
 
25132
25622
  // src/components/cupcode/HeroTitle.tsx
25133
- var import_jsx_runtime44 = require("react/jsx-runtime");
25623
+ var import_jsx_runtime45 = require("react/jsx-runtime");
25134
25624
  var HeroTitle = ({
25135
25625
  eyebrow,
25136
25626
  smallPrefix,
@@ -25144,25 +25634,25 @@ var HeroTitle = ({
25144
25634
  3: "h3"
25145
25635
  };
25146
25636
  const Tag = headingTagMap[level];
25147
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: cn("space-y-3", className), children: [
25148
- eyebrow && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "span-destaque animate-fade-in", children: eyebrow }),
25149
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Tag, { className: "font-display font-bold leading-tight animate-slide-up", children: [
25150
- smallPrefix && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("small", { className: "block text-base font-normal opacity-70 mb-1", children: smallPrefix }),
25151
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("b", { className: "block bg-gradient-to-r from-cupcode-hover to-cupcode-purple bg-clip-text text-transparent", children: strong })
25637
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: cn("space-y-3", className), children: [
25638
+ eyebrow && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "span-destaque animate-fade-in", children: eyebrow }),
25639
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Tag, { className: "font-display font-bold leading-tight animate-slide-up", children: [
25640
+ smallPrefix && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("small", { className: "block text-base font-normal opacity-70 mb-1", children: smallPrefix }),
25641
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("b", { className: "block bg-gradient-to-r from-cupcode-hover to-cupcode-purple bg-clip-text text-transparent", children: strong })
25152
25642
  ] })
25153
25643
  ] });
25154
25644
  };
25155
25645
 
25156
25646
  // src/components/cupcode/InputField.tsx
25157
25647
  var React25 = __toESM(require("react"), 1);
25158
- var import_jsx_runtime45 = require("react/jsx-runtime");
25648
+ var import_jsx_runtime46 = require("react/jsx-runtime");
25159
25649
  var InputField = React25.forwardRef(
25160
25650
  ({ className, type, label, error, leftIcon, rightIcon, ...props }, ref) => {
25161
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "cc-stack space-2 w-full", children: [
25162
- label && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25163
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "relative", children: [
25164
- leftIcon && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: leftIcon }),
25165
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
25651
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "cc-stack space-2 w-full", children: [
25652
+ label && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25653
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "relative", children: [
25654
+ leftIcon && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: leftIcon }),
25655
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
25166
25656
  "input",
25167
25657
  {
25168
25658
  type,
@@ -25184,16 +25674,16 @@ var InputField = React25.forwardRef(
25184
25674
  ...props
25185
25675
  }
25186
25676
  ),
25187
- rightIcon && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: rightIcon })
25677
+ rightIcon && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: rightIcon })
25188
25678
  ] }),
25189
- error && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25679
+ error && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25190
25680
  ] });
25191
25681
  }
25192
25682
  );
25193
25683
  InputField.displayName = "InputField";
25194
25684
 
25195
25685
  // src/components/cupcode/LoadingSpinner.tsx
25196
- var import_jsx_runtime46 = require("react/jsx-runtime");
25686
+ var import_jsx_runtime47 = require("react/jsx-runtime");
25197
25687
  var sizes = {
25198
25688
  sm: "h-4 w-4 border-2",
25199
25689
  md: "h-8 w-8 border-3",
@@ -25203,7 +25693,7 @@ var LoadingSpinner = ({
25203
25693
  size = "md",
25204
25694
  className
25205
25695
  }) => {
25206
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
25696
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
25207
25697
  "div",
25208
25698
  {
25209
25699
  className: cn(
@@ -25213,12 +25703,12 @@ var LoadingSpinner = ({
25213
25703
  ),
25214
25704
  role: "status",
25215
25705
  "aria-label": "Loading",
25216
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "sr-only", children: "Loading..." })
25706
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "sr-only", children: "Loading..." })
25217
25707
  }
25218
25708
  );
25219
25709
  };
25220
25710
  var Skeleton2 = ({ className }) => {
25221
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
25711
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
25222
25712
  "div",
25223
25713
  {
25224
25714
  className: cn(
@@ -25229,7 +25719,7 @@ var Skeleton2 = ({ className }) => {
25229
25719
  );
25230
25720
  };
25231
25721
  var SkeletonText = ({ lines = 3 }) => {
25232
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "space-y-2", children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
25722
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "space-y-2", children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
25233
25723
  Skeleton2,
25234
25724
  {
25235
25725
  className: cn(
@@ -25242,7 +25732,7 @@ var SkeletonText = ({ lines = 3 }) => {
25242
25732
  };
25243
25733
 
25244
25734
  // src/components/cupcode/LoadingScreen.tsx
25245
- var import_jsx_runtime47 = require("react/jsx-runtime");
25735
+ var import_jsx_runtime48 = require("react/jsx-runtime");
25246
25736
  var LoadingScreen = ({
25247
25737
  message = "Carregando...",
25248
25738
  fullScreen = true,
@@ -25250,28 +25740,28 @@ var LoadingScreen = ({
25250
25740
  }) => {
25251
25741
  const containerClasses = fullScreen ? "fixed inset-0 z-50 flex items-center justify-center bg-background" : "flex items-center justify-center p-12";
25252
25742
  if (variant === "minimal") {
25253
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: containerClasses, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(LoadingSpinner, { size: "lg" }) });
25743
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: containerClasses, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(LoadingSpinner, { size: "lg" }) });
25254
25744
  }
25255
25745
  if (variant === "galaxy") {
25256
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: cn(containerClasses, "cc-gradient-galaxy"), children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-4 animate-scale-in", children: [
25257
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "relative", children: [
25258
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(LoadingSpinner, { size: "lg" }),
25259
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "absolute inset-0 blur-2xl bg-cupcode-hover/30 animate-pulse-scale" })
25746
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: cn(containerClasses, "cc-gradient-galaxy"), children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-4 animate-scale-in", children: [
25747
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "relative", children: [
25748
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(LoadingSpinner, { size: "lg" }),
25749
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "absolute inset-0 blur-2xl bg-cupcode-hover/30 animate-pulse-scale" })
25260
25750
  ] }),
25261
- message && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-white font-semibold text-lg animate-pulse", children: message })
25751
+ message && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-white font-semibold text-lg animate-pulse", children: message })
25262
25752
  ] }) });
25263
25753
  }
25264
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: containerClasses, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-6 animate-scale-in max-w-sm", children: [
25265
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "relative", children: [
25266
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-20 h-20 rounded-full cc-gradient-animated flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-16 h-16 rounded-full bg-background flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(LoadingSpinner, { size: "md" }) }) }),
25267
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "absolute inset-0 blur-xl bg-cupcode-purple/20 animate-pulse-scale -z-10" })
25754
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: containerClasses, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-6 animate-scale-in max-w-sm", children: [
25755
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "relative", children: [
25756
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "w-20 h-20 rounded-full cc-gradient-animated flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "w-16 h-16 rounded-full bg-background flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(LoadingSpinner, { size: "md" }) }) }),
25757
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "absolute inset-0 blur-xl bg-cupcode-purple/20 animate-pulse-scale -z-10" })
25268
25758
  ] }),
25269
- message && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "text-center space-y-2", children: [
25270
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "font-bold text-lg cc-text-gradient-galaxy", children: message }),
25271
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex gap-1 justify-center", children: [
25272
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "0ms" } }),
25273
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-2 h-2 rounded-full bg-cupcode-purple animate-bounce", style: { animationDelay: "150ms" } }),
25274
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "300ms" } })
25759
+ message && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "text-center space-y-2", children: [
25760
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "font-bold text-lg cc-text-gradient-galaxy", children: message }),
25761
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex gap-1 justify-center", children: [
25762
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "0ms" } }),
25763
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "w-2 h-2 rounded-full bg-cupcode-purple animate-bounce", style: { animationDelay: "150ms" } }),
25764
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "300ms" } })
25275
25765
  ] })
25276
25766
  ] })
25277
25767
  ] }) });
@@ -25281,12 +25771,12 @@ var LoadingScreen = ({
25281
25771
  var React26 = __toESM(require("react"), 1);
25282
25772
  var DialogPrimitive3 = __toESM(require("@radix-ui/react-dialog"), 1);
25283
25773
  var import_lucide_react13 = require("lucide-react");
25284
- var import_jsx_runtime48 = require("react/jsx-runtime");
25774
+ var import_jsx_runtime49 = require("react/jsx-runtime");
25285
25775
  var Modal = DialogPrimitive3.Root;
25286
25776
  var ModalTrigger = DialogPrimitive3.Trigger;
25287
25777
  var ModalPortal = DialogPrimitive3.Portal;
25288
25778
  var ModalClose = DialogPrimitive3.Close;
25289
- var ModalOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25779
+ var ModalOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25290
25780
  DialogPrimitive3.Overlay,
25291
25781
  {
25292
25782
  ref,
@@ -25306,9 +25796,9 @@ var ModalContent = React26.forwardRef(({ className, children, size = "md", ...pr
25306
25796
  lg: "max-w-lg",
25307
25797
  xl: "max-w-xl"
25308
25798
  };
25309
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(ModalPortal, { children: [
25310
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ModalOverlay, {}),
25311
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
25799
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(ModalPortal, { children: [
25800
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ModalOverlay, {}),
25801
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
25312
25802
  DialogPrimitive3.Content,
25313
25803
  {
25314
25804
  ref,
@@ -25323,9 +25813,9 @@ var ModalContent = React26.forwardRef(({ className, children, size = "md", ...pr
25323
25813
  ...props,
25324
25814
  children: [
25325
25815
  children,
25326
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DialogPrimitive3.Close, { className: "absolute right-4 top-4 rounded-md p-1 opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-cupcode-ink/10 focus:outline-none focus:ring-2 focus:ring-cupcode-purple focus:ring-offset-2 disabled:pointer-events-none", children: [
25327
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react13.X, { className: "h-4 w-4" }),
25328
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "sr-only", children: "Close" })
25816
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogPrimitive3.Close, { className: "absolute right-4 top-4 rounded-md p-1 opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-cupcode-ink/10 focus:outline-none focus:ring-2 focus:ring-cupcode-purple focus:ring-offset-2 disabled:pointer-events-none", children: [
25817
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react13.X, { className: "h-4 w-4" }),
25818
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "sr-only", children: "Close" })
25329
25819
  ] })
25330
25820
  ]
25331
25821
  }
@@ -25336,7 +25826,7 @@ ModalContent.displayName = DialogPrimitive3.Content.displayName;
25336
25826
  var ModalHeader = ({
25337
25827
  className,
25338
25828
  ...props
25339
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25829
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25340
25830
  "div",
25341
25831
  {
25342
25832
  className: cn("flex flex-col space-y-2 text-center sm:text-left mb-4", className),
@@ -25347,7 +25837,7 @@ ModalHeader.displayName = "ModalHeader";
25347
25837
  var ModalFooter = ({
25348
25838
  className,
25349
25839
  ...props
25350
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25840
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25351
25841
  "div",
25352
25842
  {
25353
25843
  className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 mt-6", className),
@@ -25355,7 +25845,7 @@ var ModalFooter = ({
25355
25845
  }
25356
25846
  );
25357
25847
  ModalFooter.displayName = "ModalFooter";
25358
- var ModalTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25848
+ var ModalTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25359
25849
  DialogPrimitive3.Title,
25360
25850
  {
25361
25851
  ref,
@@ -25364,7 +25854,7 @@ var ModalTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE
25364
25854
  }
25365
25855
  ));
25366
25856
  ModalTitle.displayName = DialogPrimitive3.Title.displayName;
25367
- var ModalDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25857
+ var ModalDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25368
25858
  DialogPrimitive3.Description,
25369
25859
  {
25370
25860
  ref,
@@ -25375,15 +25865,15 @@ var ModalDescription = React26.forwardRef(({ className, ...props }, ref) => /* @
25375
25865
  ModalDescription.displayName = DialogPrimitive3.Description.displayName;
25376
25866
 
25377
25867
  // src/components/cupcode/ParticleSystem.tsx
25378
- var import_react21 = require("react");
25379
- var import_jsx_runtime49 = require("react/jsx-runtime");
25868
+ var import_react23 = require("react");
25869
+ var import_jsx_runtime50 = require("react/jsx-runtime");
25380
25870
  function ParticleSystem({
25381
25871
  count: count2 = 50,
25382
25872
  variant = "stars",
25383
25873
  className
25384
25874
  }) {
25385
- const canvasRef = (0, import_react21.useRef)(null);
25386
- (0, import_react21.useEffect)(() => {
25875
+ const canvasRef = (0, import_react23.useRef)(null);
25876
+ (0, import_react23.useEffect)(() => {
25387
25877
  const canvas = canvasRef.current;
25388
25878
  if (!canvas) return;
25389
25879
  const ctx = canvas.getContext("2d");
@@ -25448,7 +25938,7 @@ function ParticleSystem({
25448
25938
  cancelAnimationFrame(animationId);
25449
25939
  };
25450
25940
  }, [count2, variant]);
25451
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25941
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25452
25942
  "canvas",
25453
25943
  {
25454
25944
  ref: canvasRef,
@@ -25459,7 +25949,7 @@ function ParticleSystem({
25459
25949
 
25460
25950
  // src/components/cupcode/PricingCard.tsx
25461
25951
  var import_lucide_react14 = require("lucide-react");
25462
- var import_jsx_runtime50 = require("react/jsx-runtime");
25952
+ var import_jsx_runtime51 = require("react/jsx-runtime");
25463
25953
  function PricingCard({
25464
25954
  title,
25465
25955
  price,
@@ -25471,7 +25961,7 @@ function PricingCard({
25471
25961
  buttonText = "Escolher plano",
25472
25962
  className
25473
25963
  }) {
25474
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
25964
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
25475
25965
  CardGlass,
25476
25966
  {
25477
25967
  className: cn(
@@ -25481,17 +25971,17 @@ function PricingCard({
25481
25971
  className
25482
25972
  ),
25483
25973
  children: [
25484
- highlighted && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "bg-cupcode-purple text-white text-xs font-bold px-4 py-1 rounded-pill", children: "POPULAR" }) }),
25485
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "text-center mb-6", children: [
25486
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h3", { className: "text-2xl font-display font-bold text-foreground mb-2", children: title }),
25487
- description && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: "text-sm text-muted-foreground", children: description })
25974
+ highlighted && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "bg-cupcode-purple text-white text-xs font-bold px-4 py-1 rounded-pill", children: "POPULAR" }) }),
25975
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "text-center mb-6", children: [
25976
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("h3", { className: "text-2xl font-display font-bold text-foreground mb-2", children: title }),
25977
+ description && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "text-sm text-muted-foreground", children: description })
25488
25978
  ] }),
25489
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "text-center mb-8", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-baseline justify-center gap-2", children: [
25490
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-5xl font-display font-bold cc-text-gradient-galaxy", children: price }),
25491
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-muted-foreground", children: period })
25979
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "text-center mb-8", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-baseline justify-center gap-2", children: [
25980
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-5xl font-display font-bold cc-text-gradient-galaxy", children: price }),
25981
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-muted-foreground", children: period })
25492
25982
  ] }) }),
25493
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("ul", { className: "space-3 mb-8", children: features.map((feature, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("li", { className: "flex items-start gap-3", children: [
25494
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25983
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("ul", { className: "space-3 mb-8", children: features.map((feature, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("li", { className: "flex items-start gap-3", children: [
25984
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25495
25985
  import_lucide_react14.Check,
25496
25986
  {
25497
25987
  className: cn(
@@ -25500,7 +25990,7 @@ function PricingCard({
25500
25990
  )
25501
25991
  }
25502
25992
  ),
25503
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25993
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25504
25994
  "span",
25505
25995
  {
25506
25996
  className: cn(
@@ -25511,7 +26001,7 @@ function PricingCard({
25511
26001
  }
25512
26002
  )
25513
26003
  ] }, index)) }),
25514
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
26004
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25515
26005
  JellyButton,
25516
26006
  {
25517
26007
  onClick: onSelect,
@@ -25528,7 +26018,7 @@ function PricingCard({
25528
26018
  // src/components/cupcode/ProgressCupcode.tsx
25529
26019
  var React27 = __toESM(require("react"), 1);
25530
26020
  var ProgressPrimitive2 = __toESM(require("@radix-ui/react-progress"), 1);
25531
- var import_jsx_runtime51 = require("react/jsx-runtime");
26021
+ var import_jsx_runtime52 = require("react/jsx-runtime");
25532
26022
  var ProgressCupcode = React27.forwardRef(({ className, value, variant = "default", showLabel = false, size = "md", ...props }, ref) => {
25533
26023
  const sizeClasses2 = {
25534
26024
  sm: "h-2",
@@ -25542,15 +26032,15 @@ var ProgressCupcode = React27.forwardRef(({ className, value, variant = "default
25542
26032
  warning: "bg-warning",
25543
26033
  error: "bg-destructive"
25544
26034
  };
25545
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "w-full space-y-2", children: [
25546
- showLabel && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
25547
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-semibold text-foreground", children: "Progresso" }),
25548
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: "text-muted-foreground", children: [
26035
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full space-y-2", children: [
26036
+ showLabel && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
26037
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "font-semibold text-foreground", children: "Progresso" }),
26038
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { className: "text-muted-foreground", children: [
25549
26039
  value,
25550
26040
  "%"
25551
26041
  ] })
25552
26042
  ] }),
25553
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
26043
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25554
26044
  ProgressPrimitive2.Root,
25555
26045
  {
25556
26046
  ref,
@@ -25560,7 +26050,7 @@ var ProgressCupcode = React27.forwardRef(({ className, value, variant = "default
25560
26050
  className
25561
26051
  ),
25562
26052
  ...props,
25563
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
26053
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25564
26054
  ProgressPrimitive2.Indicator,
25565
26055
  {
25566
26056
  className: cn(
@@ -25578,7 +26068,7 @@ ProgressCupcode.displayName = "ProgressCupcode";
25578
26068
 
25579
26069
  // src/components/cupcode/ScrollbarTheme.tsx
25580
26070
  var React28 = __toESM(require("react"), 1);
25581
- var import_jsx_runtime52 = require("react/jsx-runtime");
26071
+ var import_jsx_runtime53 = require("react/jsx-runtime");
25582
26072
  var SCROLLBAR_COLOR_ATTR = "data-cc-scrollbar-color";
25583
26073
  var SCROLLBAR_THEME_ATTR = "data-cc-scrollbar-theme";
25584
26074
  var ScrollbarThemeProvider = ({
@@ -25617,7 +26107,7 @@ var ScrollbarThemeProvider = ({
25617
26107
  return null;
25618
26108
  };
25619
26109
  var ScrollbarArea = React28.forwardRef(
25620
- ({ color = "purple", theme = "auto", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
26110
+ ({ color = "purple", theme = "auto", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25621
26111
  "div",
25622
26112
  {
25623
26113
  ref,
@@ -25638,11 +26128,11 @@ ScrollbarArea.displayName = "ScrollbarArea";
25638
26128
  var React29 = __toESM(require("react"), 1);
25639
26129
  var SelectPrimitive2 = __toESM(require("@radix-ui/react-select"), 1);
25640
26130
  var import_lucide_react15 = require("lucide-react");
25641
- var import_jsx_runtime53 = require("react/jsx-runtime");
26131
+ var import_jsx_runtime54 = require("react/jsx-runtime");
25642
26132
  var Select2 = SelectPrimitive2.Root;
25643
26133
  var SelectGroup2 = SelectPrimitive2.Group;
25644
26134
  var SelectValue2 = SelectPrimitive2.Value;
25645
- var SelectTrigger2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
26135
+ var SelectTrigger2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
25646
26136
  SelectPrimitive2.Trigger,
25647
26137
  {
25648
26138
  ref,
@@ -25660,12 +26150,12 @@ var SelectTrigger2 = React29.forwardRef(({ className, children, ...props }, ref)
25660
26150
  ...props,
25661
26151
  children: [
25662
26152
  children,
25663
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectPrimitive2.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
26153
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectPrimitive2.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react15.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
25664
26154
  ]
25665
26155
  }
25666
26156
  ));
25667
26157
  SelectTrigger2.displayName = SelectPrimitive2.Trigger.displayName;
25668
- var SelectContent2 = React29.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
26158
+ var SelectContent2 = React29.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
25669
26159
  SelectPrimitive2.Content,
25670
26160
  {
25671
26161
  ref,
@@ -25682,7 +26172,7 @@ var SelectContent2 = React29.forwardRef(({ className, children, position = "popp
25682
26172
  ),
25683
26173
  position,
25684
26174
  ...props,
25685
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
26175
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
25686
26176
  SelectPrimitive2.Viewport,
25687
26177
  {
25688
26178
  className: cn(
@@ -25695,7 +26185,7 @@ var SelectContent2 = React29.forwardRef(({ className, children, position = "popp
25695
26185
  }
25696
26186
  ) }));
25697
26187
  SelectContent2.displayName = SelectPrimitive2.Content.displayName;
25698
- var SelectItem2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
26188
+ var SelectItem2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
25699
26189
  SelectPrimitive2.Item,
25700
26190
  {
25701
26191
  ref,
@@ -25708,8 +26198,8 @@ var SelectItem2 = React29.forwardRef(({ className, children, ...props }, ref) =>
25708
26198
  ),
25709
26199
  ...props,
25710
26200
  children: [
25711
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectPrimitive2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react15.Check, { className: "h-4 w-4 text-cupcode-purple" }) }) }),
25712
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectPrimitive2.ItemText, { children })
26201
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectPrimitive2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react15.Check, { className: "h-4 w-4 text-cupcode-purple" }) }) }),
26202
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectPrimitive2.ItemText, { children })
25713
26203
  ]
25714
26204
  }
25715
26205
  ));
@@ -25723,21 +26213,21 @@ var SelectField = ({
25723
26213
  options,
25724
26214
  disabled
25725
26215
  }) => {
25726
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "cc-stack space-2 w-full", children: [
25727
- label && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25728
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Select2, { value, onValueChange, disabled, children: [
25729
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectTrigger2, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectValue2, { placeholder }) }),
25730
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectContent2, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectGroup2, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectItem2, { value: option.value, children: option.label }, option.value)) }) })
26216
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "cc-stack space-2 w-full", children: [
26217
+ label && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
26218
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Select2, { value, onValueChange, disabled, children: [
26219
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectTrigger2, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectValue2, { placeholder }) }),
26220
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectContent2, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectGroup2, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectItem2, { value: option.value, children: option.label }, option.value)) }) })
25731
26221
  ] }),
25732
- error && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
26222
+ error && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25733
26223
  ] });
25734
26224
  };
25735
26225
 
25736
26226
  // src/components/cupcode/SwitchField.tsx
25737
26227
  var React30 = __toESM(require("react"), 1);
25738
26228
  var SwitchPrimitives2 = __toESM(require("@radix-ui/react-switch"), 1);
25739
- var import_jsx_runtime54 = require("react/jsx-runtime");
25740
- var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
26229
+ var import_jsx_runtime55 = require("react/jsx-runtime");
26230
+ var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
25741
26231
  SwitchPrimitives2.Root,
25742
26232
  {
25743
26233
  className: cn(
@@ -25752,7 +26242,7 @@ var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__
25752
26242
  ),
25753
26243
  ...props,
25754
26244
  ref,
25755
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
26245
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
25756
26246
  SwitchPrimitives2.Thumb,
25757
26247
  {
25758
26248
  className: cn(
@@ -25768,21 +26258,21 @@ var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__
25768
26258
  ));
25769
26259
  Switch2.displayName = SwitchPrimitives2.Root.displayName;
25770
26260
  var SwitchField = ({ label, description, ...props }) => {
25771
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center justify-between space-x-4", children: [
25772
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "cc-stack space-1 flex-1", children: [
25773
- label && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink cursor-pointer", children: label }),
25774
- description && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-xs text-muted-foreground", children: description })
26261
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex items-center justify-between space-x-4", children: [
26262
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "cc-stack space-1 flex-1", children: [
26263
+ label && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink cursor-pointer", children: label }),
26264
+ description && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "text-xs text-muted-foreground", children: description })
25775
26265
  ] }),
25776
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Switch2, { ...props })
26266
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Switch2, { ...props })
25777
26267
  ] });
25778
26268
  };
25779
26269
 
25780
26270
  // src/components/cupcode/TabsCupcode.tsx
25781
26271
  var React31 = __toESM(require("react"), 1);
25782
26272
  var TabsPrimitive2 = __toESM(require("@radix-ui/react-tabs"), 1);
25783
- var import_jsx_runtime55 = require("react/jsx-runtime");
26273
+ var import_jsx_runtime56 = require("react/jsx-runtime");
25784
26274
  var Tabs2 = TabsPrimitive2.Root;
25785
- var TabsList2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
26275
+ var TabsList2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
25786
26276
  TabsPrimitive2.List,
25787
26277
  {
25788
26278
  ref,
@@ -25795,7 +26285,7 @@ var TabsList2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
25795
26285
  }
25796
26286
  ));
25797
26287
  TabsList2.displayName = TabsPrimitive2.List.displayName;
25798
- var TabsTrigger2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
26288
+ var TabsTrigger2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
25799
26289
  TabsPrimitive2.Trigger,
25800
26290
  {
25801
26291
  ref,
@@ -25817,7 +26307,7 @@ var TabsTrigger2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PU
25817
26307
  }
25818
26308
  ));
25819
26309
  TabsTrigger2.displayName = TabsPrimitive2.Trigger.displayName;
25820
- var TabsContent2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
26310
+ var TabsContent2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
25821
26311
  TabsPrimitive2.Content,
25822
26312
  {
25823
26313
  ref,
@@ -25834,12 +26324,12 @@ TabsContent2.displayName = TabsPrimitive2.Content.displayName;
25834
26324
 
25835
26325
  // src/components/cupcode/TextareaField.tsx
25836
26326
  var React32 = __toESM(require("react"), 1);
25837
- var import_jsx_runtime56 = require("react/jsx-runtime");
26327
+ var import_jsx_runtime57 = require("react/jsx-runtime");
25838
26328
  var TextareaField = React32.forwardRef(
25839
26329
  ({ className, label, error, ...props }, ref) => {
25840
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "cc-stack space-2 w-full", children: [
25841
- label && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25842
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
26330
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "cc-stack space-2 w-full", children: [
26331
+ label && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
26332
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
25843
26333
  "textarea",
25844
26334
  {
25845
26335
  className: cn(
@@ -25859,7 +26349,7 @@ var TextareaField = React32.forwardRef(
25859
26349
  ...props
25860
26350
  }
25861
26351
  ),
25862
- error && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
26352
+ error && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25863
26353
  ] });
25864
26354
  }
25865
26355
  );
@@ -25868,7 +26358,7 @@ TextareaField.displayName = "TextareaField";
25868
26358
  // src/components/cupcode/ThemeToggle.tsx
25869
26359
  var React33 = __toESM(require("react"), 1);
25870
26360
  var import_lucide_react16 = require("lucide-react");
25871
- var import_jsx_runtime57 = require("react/jsx-runtime");
26361
+ var import_jsx_runtime58 = require("react/jsx-runtime");
25872
26362
  var THEME_STORAGE_KEY2 = "cupcode-theme";
25873
26363
  function isThemeMode(value) {
25874
26364
  return value === "light" || value === "dark";
@@ -25908,7 +26398,7 @@ function resolveTheme(defaultTheme) {
25908
26398
  }
25909
26399
  return defaultTheme;
25910
26400
  }
25911
- var ThemeToggle = ({
26401
+ var ThemeToggle2 = ({
25912
26402
  className,
25913
26403
  theme,
25914
26404
  defaultTheme = "light",
@@ -25940,7 +26430,7 @@ var ThemeToggle = ({
25940
26430
  return () => observer.disconnect();
25941
26431
  }, [defaultTheme, isControlled]);
25942
26432
  if (!mounted) {
25943
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("w-10 h-10 rounded-lg bg-muted", className) });
26433
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn("w-10 h-10 rounded-lg bg-muted", className) });
25944
26434
  }
25945
26435
  const handleToggle = () => {
25946
26436
  const nextTheme = activeTheme === "dark" ? "light" : "dark";
@@ -25949,7 +26439,7 @@ var ThemeToggle = ({
25949
26439
  }
25950
26440
  onThemeChange == null ? void 0 : onThemeChange(nextTheme);
25951
26441
  };
25952
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
26442
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
25953
26443
  "button",
25954
26444
  {
25955
26445
  onClick: handleToggle,
@@ -25962,9 +26452,9 @@ var ThemeToggle = ({
25962
26452
  ),
25963
26453
  "aria-label": "Toggle theme",
25964
26454
  children: [
25965
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react16.Sun, { className: "h-5 w-5 text-cupcode-purple rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
25966
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react16.Moon, { className: "absolute h-5 w-5 text-cupcode-hover rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
25967
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { className: "sr-only", children: [
26455
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react16.Sun, { className: "h-5 w-5 text-cupcode-purple rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
26456
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react16.Moon, { className: "absolute h-5 w-5 text-cupcode-hover rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
26457
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("span", { className: "sr-only", children: [
25968
26458
  "Current theme: ",
25969
26459
  activeTheme
25970
26460
  ] })
@@ -25973,12 +26463,140 @@ var ThemeToggle = ({
25973
26463
  );
25974
26464
  };
25975
26465
 
26466
+ // src/components/theme-provider.tsx
26467
+ var import_react24 = require("react");
26468
+ var import_react_dom = require("react-dom");
26469
+ var import_jsx_runtime59 = require("react/jsx-runtime");
26470
+ var STORAGE_KEY2 = "cupcode-theme";
26471
+ var LEGACY_STORAGE_KEY = "theme";
26472
+ function getPreferredTheme() {
26473
+ if (typeof window === "undefined") {
26474
+ return "light";
26475
+ }
26476
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
26477
+ }
26478
+ function getStoredTheme() {
26479
+ var _a78;
26480
+ if (typeof window === "undefined") {
26481
+ return null;
26482
+ }
26483
+ const storedTheme = (_a78 = window.localStorage.getItem(STORAGE_KEY2)) != null ? _a78 : window.localStorage.getItem(LEGACY_STORAGE_KEY);
26484
+ return storedTheme === "light" || storedTheme === "dark" ? storedTheme : null;
26485
+ }
26486
+ function applyThemeToRoot(theme) {
26487
+ const root = document.documentElement;
26488
+ root.classList.toggle("dark", theme === "dark");
26489
+ root.classList.toggle("light", theme === "light");
26490
+ root.dataset.theme = theme;
26491
+ root.style.colorScheme = theme;
26492
+ }
26493
+ function persistTheme(theme) {
26494
+ window.localStorage.setItem(STORAGE_KEY2, theme);
26495
+ window.localStorage.setItem(LEGACY_STORAGE_KEY, theme);
26496
+ }
26497
+ function ThemeProvider({ children }) {
26498
+ const [theme, setThemeState] = (0, import_react24.useState)(() => {
26499
+ var _a78;
26500
+ return (_a78 = getStoredTheme()) != null ? _a78 : getPreferredTheme();
26501
+ });
26502
+ const [mounted, setMounted] = (0, import_react24.useState)(false);
26503
+ (0, import_react24.useEffect)(() => {
26504
+ var _a78;
26505
+ const initialTheme = (_a78 = getStoredTheme()) != null ? _a78 : getPreferredTheme();
26506
+ setThemeState(initialTheme);
26507
+ applyThemeToRoot(initialTheme);
26508
+ setMounted(true);
26509
+ }, []);
26510
+ (0, import_react24.useEffect)(() => {
26511
+ if (!mounted) {
26512
+ return;
26513
+ }
26514
+ persistTheme(theme);
26515
+ applyThemeToRoot(theme);
26516
+ }, [mounted, theme]);
26517
+ (0, import_react24.useEffect)(() => {
26518
+ if (typeof window === "undefined") {
26519
+ return;
26520
+ }
26521
+ const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
26522
+ const handleChange = () => {
26523
+ if (getStoredTheme()) {
26524
+ return;
26525
+ }
26526
+ const nextTheme = mediaQuery.matches ? "dark" : "light";
26527
+ setThemeState(nextTheme);
26528
+ applyThemeToRoot(nextTheme);
26529
+ };
26530
+ mediaQuery.addEventListener("change", handleChange);
26531
+ return () => mediaQuery.removeEventListener("change", handleChange);
26532
+ }, []);
26533
+ const setTheme = (0, import_react24.useCallback)((nextTheme) => {
26534
+ setThemeState(nextTheme);
26535
+ }, []);
26536
+ const toggleTheme = (0, import_react24.useCallback)((coords) => {
26537
+ var _a78;
26538
+ const documentWithTransition = document;
26539
+ const prefersReducedMotion = window.matchMedia(
26540
+ "(prefers-reduced-motion: reduce)"
26541
+ ).matches;
26542
+ const supportsTransition = typeof documentWithTransition.startViewTransition === "function";
26543
+ const flipTheme = () => {
26544
+ setThemeState(
26545
+ (currentTheme) => currentTheme === "light" ? "dark" : "light"
26546
+ );
26547
+ };
26548
+ if (coords) {
26549
+ document.documentElement.style.setProperty("--theme-x", `${coords.x}px`);
26550
+ document.documentElement.style.setProperty("--theme-y", `${coords.y}px`);
26551
+ }
26552
+ if (!supportsTransition || prefersReducedMotion) {
26553
+ flipTheme();
26554
+ return;
26555
+ }
26556
+ (_a78 = documentWithTransition.startViewTransition) == null ? void 0 : _a78.call(documentWithTransition, () => {
26557
+ (0, import_react_dom.flushSync)(() => {
26558
+ flipTheme();
26559
+ });
26560
+ });
26561
+ }, []);
26562
+ const value = (0, import_react24.useMemo)(
26563
+ () => ({
26564
+ theme,
26565
+ setTheme,
26566
+ toggleTheme
26567
+ }),
26568
+ [theme, setTheme, toggleTheme]
26569
+ );
26570
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ThemeContext.Provider, { value, children });
26571
+ }
26572
+ function ThemeScript() {
26573
+ const script = `
26574
+ (() => {
26575
+ const storageKey = "${STORAGE_KEY2}";
26576
+ const legacyStorageKey = "${LEGACY_STORAGE_KEY}";
26577
+ const storedTheme = localStorage.getItem(storageKey) ?? localStorage.getItem(legacyStorageKey);
26578
+ const theme =
26579
+ storedTheme === "light" || storedTheme === "dark"
26580
+ ? storedTheme
26581
+ : window.matchMedia("(prefers-color-scheme: dark)").matches
26582
+ ? "dark"
26583
+ : "light";
26584
+ const root = document.documentElement;
26585
+ root.classList.toggle("dark", theme === "dark");
26586
+ root.classList.toggle("light", theme === "light");
26587
+ root.dataset.theme = theme;
26588
+ root.style.colorScheme = theme;
26589
+ })();
26590
+ `;
26591
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("script", { dangerouslySetInnerHTML: { __html: script } });
26592
+ }
26593
+
25976
26594
  // src/components/cupcode/TimelineCupcode.tsx
25977
- var import_jsx_runtime58 = require("react/jsx-runtime");
26595
+ var import_jsx_runtime60 = require("react/jsx-runtime");
25978
26596
  function Timeline({ items, variant = "vertical", className }) {
25979
26597
  if (variant === "horizontal") {
25980
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn("flex items-start gap-4 overflow-x-auto pb-4", className), children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex flex-col items-center min-w-[200px]", children: [
25981
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
26598
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: cn("flex items-start gap-4 overflow-x-auto pb-4", className), children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-col items-center min-w-[200px]", children: [
26599
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
25982
26600
  "div",
25983
26601
  {
25984
26602
  className: cn(
@@ -25986,27 +26604,27 @@ function Timeline({ items, variant = "vertical", className }) {
25986
26604
  "transition-all duration-300",
25987
26605
  item.active ? "cc-gradient-galaxy text-white elevation-3 scale-110" : "bg-muted text-muted-foreground"
25988
26606
  ),
25989
- children: item.icon || /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-sm font-bold", children: index + 1 })
26607
+ children: item.icon || /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-sm font-bold", children: index + 1 })
25990
26608
  }
25991
26609
  ),
25992
- index < items.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn(
26610
+ index < items.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: cn(
25993
26611
  "h-1 w-full mb-3",
25994
26612
  item.active ? "bg-cupcode-purple" : "bg-muted"
25995
26613
  ) }),
25996
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "text-center", children: [
25997
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h4", { className: cn(
26614
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "text-center", children: [
26615
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("h4", { className: cn(
25998
26616
  "font-display font-semibold mb-1",
25999
26617
  item.active ? "text-cupcode-purple" : "text-foreground"
26000
26618
  ), children: item.title }),
26001
- item.description && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "text-sm text-muted-foreground", children: item.description }),
26002
- item.date && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
26619
+ item.description && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-sm text-muted-foreground", children: item.description }),
26620
+ item.date && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
26003
26621
  ] })
26004
26622
  ] }, item.id)) });
26005
26623
  }
26006
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: cn("relative space-6", className), children: [
26007
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
26008
- items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "relative flex gap-6 pb-8 last:pb-0", children: [
26009
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
26624
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: cn("relative space-6", className), children: [
26625
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
26626
+ items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "relative flex gap-6 pb-8 last:pb-0", children: [
26627
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
26010
26628
  "div",
26011
26629
  {
26012
26630
  className: cn(
@@ -26014,16 +26632,16 @@ function Timeline({ items, variant = "vertical", className }) {
26014
26632
  "transition-all duration-300",
26015
26633
  item.active ? "cc-gradient-galaxy text-white elevation-3" : "bg-muted text-muted-foreground"
26016
26634
  ),
26017
- children: item.icon || /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-sm font-bold", children: index + 1 })
26635
+ children: item.icon || /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-sm font-bold", children: index + 1 })
26018
26636
  }
26019
26637
  ),
26020
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex-1 pt-1", children: [
26021
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h4", { className: cn(
26638
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex-1 pt-1", children: [
26639
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("h4", { className: cn(
26022
26640
  "font-display font-semibold mb-1",
26023
26641
  item.active ? "text-cupcode-purple" : "text-foreground"
26024
26642
  ), children: item.title }),
26025
- item.description && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
26026
- item.date && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "text-xs text-muted-foreground", children: item.date })
26643
+ item.description && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
26644
+ item.date && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-xs text-muted-foreground", children: item.date })
26027
26645
  ] })
26028
26646
  ] }, item.id))
26029
26647
  ] });
@@ -26031,7 +26649,7 @@ function Timeline({ items, variant = "vertical", className }) {
26031
26649
 
26032
26650
  // src/components/cupcode/ToastCupcode.tsx
26033
26651
  var import_lucide_react17 = require("lucide-react");
26034
- var import_jsx_runtime59 = require("react/jsx-runtime");
26652
+ var import_jsx_runtime61 = require("react/jsx-runtime");
26035
26653
  var variantStyles2 = {
26036
26654
  success: {
26037
26655
  gradient: "from-success/20 to-success/5",
@@ -26066,7 +26684,7 @@ var ToastCupcode = ({
26066
26684
  }) => {
26067
26685
  const style = variantStyles2[variant];
26068
26686
  const Icon3 = style.icon;
26069
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
26687
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
26070
26688
  "div",
26071
26689
  {
26072
26690
  className: cn(
@@ -26078,18 +26696,18 @@ var ToastCupcode = ({
26078
26696
  "min-w-[300px] max-w-[420px]",
26079
26697
  "animate-slide-up"
26080
26698
  ),
26081
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-start gap-3", children: [
26082
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
26083
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex-1 space-y-1", children: [
26084
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "text-sm font-semibold text-cupcode-ink", children: title }),
26085
- description && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "text-xs text-cupcode-ink/70", children: description })
26699
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-start gap-3", children: [
26700
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
26701
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex-1 space-y-1", children: [
26702
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm font-semibold text-cupcode-ink", children: title }),
26703
+ description && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-xs text-cupcode-ink/70", children: description })
26086
26704
  ] }),
26087
- onClose && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
26705
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
26088
26706
  "button",
26089
26707
  {
26090
26708
  onClick: onClose,
26091
26709
  className: "shrink-0 rounded-md p-1 hover:bg-cupcode-ink/10 transition-colors",
26092
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react17.X, { className: "h-4 w-4 text-cupcode-ink/50" })
26710
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react17.X, { className: "h-4 w-4 text-cupcode-ink/50" })
26093
26711
  }
26094
26712
  )
26095
26713
  ] })
@@ -26098,12 +26716,12 @@ var ToastCupcode = ({
26098
26716
  };
26099
26717
 
26100
26718
  // src/components/cupcode/VideoWatchButton.tsx
26101
- var import_react22 = __toESM(require("react"), 1);
26102
- var import_jsx_runtime60 = require("react/jsx-runtime");
26103
- var PlayGlyph = () => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", className: "h-[18px] w-[18px]", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { d: "M6 4.5L13.5 9L6 13.5V4.5Z", fill: "currentColor" }) });
26104
- var VideoWatchButton = import_react22.default.forwardRef(
26105
- ({ className, label = "Watch now", type = "button", "aria-label": ariaLabel, ...props }, ref) => {
26106
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
26719
+ var import_react25 = __toESM(require("react"), 1);
26720
+ var import_jsx_runtime62 = require("react/jsx-runtime");
26721
+ var PlayGlyph = () => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", className: "h-[18px] w-[18px]", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("path", { d: "M6 4.5L13.5 9L6 13.5V4.5Z", fill: "currentColor" }) });
26722
+ var VideoWatchButton = import_react25.default.forwardRef(
26723
+ ({ className, label = "Assistir", type = "button", "aria-label": ariaLabel, ...props }, ref) => {
26724
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
26107
26725
  "button",
26108
26726
  {
26109
26727
  ref,
@@ -26112,18 +26730,18 @@ var VideoWatchButton = import_react22.default.forwardRef(
26112
26730
  className: cn("cc-video-watch-btn", className),
26113
26731
  ...props,
26114
26732
  children: [
26115
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("span", { className: "cc-video-watch-btn__bg", children: [
26116
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(PlayGlyph, {}) }),
26117
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__label", children: label }),
26118
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("span", { className: "cc-video-watch-btn__mask", "aria-hidden": "true", children: [
26119
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
26120
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
26121
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
26122
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
26123
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
26733
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { className: "cc-video-watch-btn__bg", children: [
26734
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(PlayGlyph, {}) }),
26735
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__label", children: label }),
26736
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { className: "cc-video-watch-btn__mask", "aria-hidden": "true", children: [
26737
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
26738
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
26739
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
26740
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
26741
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
26124
26742
  ] })
26125
26743
  ] }),
26126
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
26744
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
26127
26745
  ]
26128
26746
  }
26129
26747
  );
@@ -26132,13 +26750,13 @@ var VideoWatchButton = import_react22.default.forwardRef(
26132
26750
  VideoWatchButton.displayName = "VideoWatchButton";
26133
26751
 
26134
26752
  // src/components/cupcode/TooltipCupcode.tsx
26135
- var React35 = __toESM(require("react"), 1);
26753
+ var React36 = __toESM(require("react"), 1);
26136
26754
  var TooltipPrimitive2 = __toESM(require("@radix-ui/react-tooltip"), 1);
26137
- var import_jsx_runtime61 = require("react/jsx-runtime");
26755
+ var import_jsx_runtime63 = require("react/jsx-runtime");
26138
26756
  var TooltipProvider2 = TooltipPrimitive2.Provider;
26139
26757
  var TooltipCupcode = TooltipPrimitive2.Root;
26140
26758
  var TooltipTrigger2 = TooltipPrimitive2.Trigger;
26141
- var TooltipContent2 = React35.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
26759
+ var TooltipContent2 = React36.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
26142
26760
  TooltipPrimitive2.Content,
26143
26761
  {
26144
26762
  ref,
@@ -26159,14 +26777,14 @@ var TooltipContent2 = React35.forwardRef(({ className, sideOffset = 4, ...props
26159
26777
  TooltipContent2.displayName = TooltipPrimitive2.Content.displayName;
26160
26778
 
26161
26779
  // src/components/ui/accordion.tsx
26162
- var React36 = __toESM(require("react"), 1);
26780
+ var React37 = __toESM(require("react"), 1);
26163
26781
  var AccordionPrimitive2 = __toESM(require("@radix-ui/react-accordion"), 1);
26164
26782
  var import_lucide_react18 = require("lucide-react");
26165
- var import_jsx_runtime62 = require("react/jsx-runtime");
26783
+ var import_jsx_runtime64 = require("react/jsx-runtime");
26166
26784
  var Accordion = AccordionPrimitive2.Root;
26167
- var AccordionItem2 = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
26785
+ var AccordionItem2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
26168
26786
  AccordionItem2.displayName = "AccordionItem";
26169
- var AccordionTrigger2 = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
26787
+ var AccordionTrigger2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
26170
26788
  AccordionPrimitive2.Trigger,
26171
26789
  {
26172
26790
  ref,
@@ -26177,26 +26795,26 @@ var AccordionTrigger2 = React36.forwardRef(({ className, children, ...props }, r
26177
26795
  ...props,
26178
26796
  children: [
26179
26797
  children,
26180
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react18.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
26798
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react18.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
26181
26799
  ]
26182
26800
  }
26183
26801
  ) }));
26184
26802
  AccordionTrigger2.displayName = AccordionPrimitive2.Trigger.displayName;
26185
- var AccordionContent2 = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
26803
+ var AccordionContent2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
26186
26804
  AccordionPrimitive2.Content,
26187
26805
  {
26188
26806
  ref,
26189
26807
  className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
26190
26808
  ...props,
26191
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: cn("pb-4 pt-0", className), children })
26809
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: cn("pb-4 pt-0", className), children })
26192
26810
  }
26193
26811
  ));
26194
26812
  AccordionContent2.displayName = AccordionPrimitive2.Content.displayName;
26195
26813
 
26196
26814
  // src/components/ui/alert.tsx
26197
- var React37 = __toESM(require("react"), 1);
26815
+ var React38 = __toESM(require("react"), 1);
26198
26816
  var import_class_variance_authority3 = require("class-variance-authority");
26199
- var import_jsx_runtime63 = require("react/jsx-runtime");
26817
+ var import_jsx_runtime65 = require("react/jsx-runtime");
26200
26818
  var alertVariants = (0, import_class_variance_authority3.cva)(
26201
26819
  "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",
26202
26820
  {
@@ -26211,14 +26829,14 @@ var alertVariants = (0, import_class_variance_authority3.cva)(
26211
26829
  }
26212
26830
  }
26213
26831
  );
26214
- var Alert = React37.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
26832
+ var Alert = React38.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
26215
26833
  Alert.displayName = "Alert";
26216
- var AlertTitle = React37.forwardRef(
26217
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
26834
+ var AlertTitle = React38.forwardRef(
26835
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
26218
26836
  );
26219
26837
  AlertTitle.displayName = "AlertTitle";
26220
- var AlertDescription = React37.forwardRef(
26221
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
26838
+ var AlertDescription = React38.forwardRef(
26839
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
26222
26840
  );
26223
26841
  AlertDescription.displayName = "AlertDescription";
26224
26842
 
@@ -26227,14 +26845,14 @@ var AspectRatioPrimitive = __toESM(require("@radix-ui/react-aspect-ratio"), 1);
26227
26845
  var AspectRatio = AspectRatioPrimitive.Root;
26228
26846
 
26229
26847
  // src/components/ui/breadcrumb.tsx
26230
- var React38 = __toESM(require("react"), 1);
26848
+ var React39 = __toESM(require("react"), 1);
26231
26849
  var import_react_slot2 = require("@radix-ui/react-slot");
26232
26850
  var import_lucide_react19 = require("lucide-react");
26233
- var import_jsx_runtime64 = require("react/jsx-runtime");
26234
- var Breadcrumb = React38.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("nav", { ref, "aria-label": "breadcrumb", ...props }));
26851
+ var import_jsx_runtime66 = require("react/jsx-runtime");
26852
+ var Breadcrumb = React39.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("nav", { ref, "aria-label": "breadcrumb", ...props }));
26235
26853
  Breadcrumb.displayName = "Breadcrumb";
26236
- var BreadcrumbList = React38.forwardRef(
26237
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
26854
+ var BreadcrumbList = React39.forwardRef(
26855
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
26238
26856
  "ol",
26239
26857
  {
26240
26858
  ref,
@@ -26247,17 +26865,17 @@ var BreadcrumbList = React38.forwardRef(
26247
26865
  )
26248
26866
  );
26249
26867
  BreadcrumbList.displayName = "BreadcrumbList";
26250
- var BreadcrumbItem = React38.forwardRef(
26251
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
26868
+ var BreadcrumbItem = React39.forwardRef(
26869
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
26252
26870
  );
26253
26871
  BreadcrumbItem.displayName = "BreadcrumbItem";
26254
- var BreadcrumbLink = React38.forwardRef(({ asChild, className, ...props }, ref) => {
26872
+ var BreadcrumbLink = React39.forwardRef(({ asChild, className, ...props }, ref) => {
26255
26873
  const Comp = asChild ? import_react_slot2.Slot : "a";
26256
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
26874
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
26257
26875
  });
26258
26876
  BreadcrumbLink.displayName = "BreadcrumbLink";
26259
- var BreadcrumbPage = React38.forwardRef(
26260
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
26877
+ var BreadcrumbPage = React39.forwardRef(
26878
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
26261
26879
  "span",
26262
26880
  {
26263
26881
  ref,
@@ -26270,9 +26888,9 @@ var BreadcrumbPage = React38.forwardRef(
26270
26888
  )
26271
26889
  );
26272
26890
  BreadcrumbPage.displayName = "BreadcrumbPage";
26273
- var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react19.ChevronRight, {}) });
26891
+ var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react19.ChevronRight, {}) });
26274
26892
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
26275
- var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
26893
+ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
26276
26894
  "span",
26277
26895
  {
26278
26896
  role: "presentation",
@@ -26280,8 +26898,8 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import
26280
26898
  className: cn("flex h-9 w-9 items-center justify-center", className),
26281
26899
  ...props,
26282
26900
  children: [
26283
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react19.MoreHorizontal, { className: "h-4 w-4" }),
26284
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "sr-only", children: "More" })
26901
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react19.MoreHorizontal, { className: "h-4 w-4" }),
26902
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "sr-only", children: "More" })
26285
26903
  ]
26286
26904
  }
26287
26905
  );
@@ -26290,9 +26908,9 @@ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
26290
26908
  // src/components/ui/calendar.tsx
26291
26909
  var import_lucide_react20 = require("lucide-react");
26292
26910
  var import_react_day_picker = require("react-day-picker");
26293
- var import_jsx_runtime65 = require("react/jsx-runtime");
26911
+ var import_jsx_runtime67 = require("react/jsx-runtime");
26294
26912
  function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
26295
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
26913
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
26296
26914
  import_react_day_picker.DayPicker,
26297
26915
  {
26298
26916
  showOutsideDays,
@@ -26327,9 +26945,9 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
26327
26945
  components: {
26328
26946
  Chevron: ({ orientation, className: className2, ...chevronProps }) => {
26329
26947
  if (orientation === "left") {
26330
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react20.ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
26948
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react20.ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
26331
26949
  }
26332
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react20.ChevronRight, { className: cn("h-4 w-4", className2), ...chevronProps });
26950
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react20.ChevronRight, { className: cn("h-4 w-4", className2), ...chevronProps });
26333
26951
  }
26334
26952
  },
26335
26953
  ...props
@@ -26339,45 +26957,45 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
26339
26957
  Calendar.displayName = "Calendar";
26340
26958
 
26341
26959
  // src/components/ui/card.tsx
26342
- var React39 = __toESM(require("react"), 1);
26343
- var import_jsx_runtime66 = require("react/jsx-runtime");
26344
- var Card = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
26960
+ var React40 = __toESM(require("react"), 1);
26961
+ var import_jsx_runtime68 = require("react/jsx-runtime");
26962
+ var Card = React40.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
26345
26963
  Card.displayName = "Card";
26346
- var CardHeader = React39.forwardRef(
26347
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
26964
+ var CardHeader = React40.forwardRef(
26965
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
26348
26966
  );
26349
26967
  CardHeader.displayName = "CardHeader";
26350
- var CardTitle = React39.forwardRef(
26351
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
26968
+ var CardTitle = React40.forwardRef(
26969
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
26352
26970
  );
26353
26971
  CardTitle.displayName = "CardTitle";
26354
- var CardDescription = React39.forwardRef(
26355
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
26972
+ var CardDescription = React40.forwardRef(
26973
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
26356
26974
  );
26357
26975
  CardDescription.displayName = "CardDescription";
26358
- var CardContent = React39.forwardRef(
26359
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { ref, className: cn("p-6 pt-0", className), ...props })
26976
+ var CardContent = React40.forwardRef(
26977
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { ref, className: cn("p-6 pt-0", className), ...props })
26360
26978
  );
26361
26979
  CardContent.displayName = "CardContent";
26362
- var CardFooter = React39.forwardRef(
26363
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
26980
+ var CardFooter = React40.forwardRef(
26981
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
26364
26982
  );
26365
26983
  CardFooter.displayName = "CardFooter";
26366
26984
 
26367
26985
  // src/components/ui/carousel.tsx
26368
- var React40 = __toESM(require("react"), 1);
26986
+ var React41 = __toESM(require("react"), 1);
26369
26987
  var import_embla_carousel_react = __toESM(require("embla-carousel-react"), 1);
26370
26988
  var import_lucide_react21 = require("lucide-react");
26371
- var import_jsx_runtime67 = require("react/jsx-runtime");
26372
- var CarouselContext = React40.createContext(null);
26989
+ var import_jsx_runtime69 = require("react/jsx-runtime");
26990
+ var CarouselContext = React41.createContext(null);
26373
26991
  function useCarousel() {
26374
- const context = React40.useContext(CarouselContext);
26992
+ const context = React41.useContext(CarouselContext);
26375
26993
  if (!context) {
26376
26994
  throw new Error("useCarousel must be used within a <Carousel />");
26377
26995
  }
26378
26996
  return context;
26379
26997
  }
26380
- var Carousel = React40.forwardRef(
26998
+ var Carousel = React41.forwardRef(
26381
26999
  ({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
26382
27000
  const [carouselRef, api] = (0, import_embla_carousel_react.default)(
26383
27001
  {
@@ -26386,22 +27004,22 @@ var Carousel = React40.forwardRef(
26386
27004
  },
26387
27005
  plugins
26388
27006
  );
26389
- const [canScrollPrev, setCanScrollPrev] = React40.useState(false);
26390
- const [canScrollNext, setCanScrollNext] = React40.useState(false);
26391
- const onSelect = React40.useCallback((api2) => {
27007
+ const [canScrollPrev, setCanScrollPrev] = React41.useState(false);
27008
+ const [canScrollNext, setCanScrollNext] = React41.useState(false);
27009
+ const onSelect = React41.useCallback((api2) => {
26392
27010
  if (!api2) {
26393
27011
  return;
26394
27012
  }
26395
27013
  setCanScrollPrev(api2.canScrollPrev());
26396
27014
  setCanScrollNext(api2.canScrollNext());
26397
27015
  }, []);
26398
- const scrollPrev = React40.useCallback(() => {
27016
+ const scrollPrev = React41.useCallback(() => {
26399
27017
  api == null ? void 0 : api.scrollPrev();
26400
27018
  }, [api]);
26401
- const scrollNext = React40.useCallback(() => {
27019
+ const scrollNext = React41.useCallback(() => {
26402
27020
  api == null ? void 0 : api.scrollNext();
26403
27021
  }, [api]);
26404
- const handleKeyDown = React40.useCallback(
27022
+ const handleKeyDown = React41.useCallback(
26405
27023
  (event) => {
26406
27024
  if (event.key === "ArrowLeft") {
26407
27025
  event.preventDefault();
@@ -26413,13 +27031,13 @@ var Carousel = React40.forwardRef(
26413
27031
  },
26414
27032
  [scrollPrev, scrollNext]
26415
27033
  );
26416
- React40.useEffect(() => {
27034
+ React41.useEffect(() => {
26417
27035
  if (!api || !setApi) {
26418
27036
  return;
26419
27037
  }
26420
27038
  setApi(api);
26421
27039
  }, [api, setApi]);
26422
- React40.useEffect(() => {
27040
+ React41.useEffect(() => {
26423
27041
  if (!api) {
26424
27042
  return;
26425
27043
  }
@@ -26430,7 +27048,7 @@ var Carousel = React40.forwardRef(
26430
27048
  api == null ? void 0 : api.off("select", onSelect);
26431
27049
  };
26432
27050
  }, [api, onSelect]);
26433
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
27051
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
26434
27052
  CarouselContext.Provider,
26435
27053
  {
26436
27054
  value: {
@@ -26443,7 +27061,7 @@ var Carousel = React40.forwardRef(
26443
27061
  canScrollPrev,
26444
27062
  canScrollNext
26445
27063
  },
26446
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
27064
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
26447
27065
  "div",
26448
27066
  {
26449
27067
  ref,
@@ -26460,10 +27078,10 @@ var Carousel = React40.forwardRef(
26460
27078
  }
26461
27079
  );
26462
27080
  Carousel.displayName = "Carousel";
26463
- var CarouselContent = React40.forwardRef(
27081
+ var CarouselContent = React41.forwardRef(
26464
27082
  ({ className, ...props }, ref) => {
26465
27083
  const { carouselRef, orientation } = useCarousel();
26466
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
27084
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
26467
27085
  "div",
26468
27086
  {
26469
27087
  ref,
@@ -26474,10 +27092,10 @@ var CarouselContent = React40.forwardRef(
26474
27092
  }
26475
27093
  );
26476
27094
  CarouselContent.displayName = "CarouselContent";
26477
- var CarouselItem = React40.forwardRef(
27095
+ var CarouselItem = React41.forwardRef(
26478
27096
  ({ className, ...props }, ref) => {
26479
27097
  const { orientation } = useCarousel();
26480
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
27098
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
26481
27099
  "div",
26482
27100
  {
26483
27101
  ref,
@@ -26490,10 +27108,10 @@ var CarouselItem = React40.forwardRef(
26490
27108
  }
26491
27109
  );
26492
27110
  CarouselItem.displayName = "CarouselItem";
26493
- var CarouselPrevious = React40.forwardRef(
27111
+ var CarouselPrevious = React41.forwardRef(
26494
27112
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
26495
27113
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
26496
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
27114
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
26497
27115
  Button,
26498
27116
  {
26499
27117
  ref,
@@ -26508,18 +27126,18 @@ var CarouselPrevious = React40.forwardRef(
26508
27126
  onClick: scrollPrev,
26509
27127
  ...props,
26510
27128
  children: [
26511
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react21.ArrowLeft, { className: "h-4 w-4" }),
26512
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "sr-only", children: "Previous slide" })
27129
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react21.ArrowLeft, { className: "h-4 w-4" }),
27130
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "sr-only", children: "Previous slide" })
26513
27131
  ]
26514
27132
  }
26515
27133
  );
26516
27134
  }
26517
27135
  );
26518
27136
  CarouselPrevious.displayName = "CarouselPrevious";
26519
- var CarouselNext = React40.forwardRef(
27137
+ var CarouselNext = React41.forwardRef(
26520
27138
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
26521
27139
  const { orientation, scrollNext, canScrollNext } = useCarousel();
26522
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
27140
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
26523
27141
  Button,
26524
27142
  {
26525
27143
  ref,
@@ -26534,8 +27152,8 @@ var CarouselNext = React40.forwardRef(
26534
27152
  onClick: scrollNext,
26535
27153
  ...props,
26536
27154
  children: [
26537
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react21.ArrowRight, { className: "h-4 w-4" }),
26538
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "sr-only", children: "Next slide" })
27155
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react21.ArrowRight, { className: "h-4 w-4" }),
27156
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "sr-only", children: "Next slide" })
26539
27157
  ]
26540
27158
  }
26541
27159
  );
@@ -26544,22 +27162,22 @@ var CarouselNext = React40.forwardRef(
26544
27162
  CarouselNext.displayName = "CarouselNext";
26545
27163
 
26546
27164
  // src/components/ui/chart.tsx
26547
- var React41 = __toESM(require("react"), 1);
27165
+ var React42 = __toESM(require("react"), 1);
26548
27166
  var RechartsPrimitive = __toESM(require("recharts"), 1);
26549
- var import_jsx_runtime68 = require("react/jsx-runtime");
27167
+ var import_jsx_runtime70 = require("react/jsx-runtime");
26550
27168
  var THEMES = { light: "", dark: ".dark" };
26551
- var ChartContext = React41.createContext(null);
27169
+ var ChartContext = React42.createContext(null);
26552
27170
  function useChart() {
26553
- const context = React41.useContext(ChartContext);
27171
+ const context = React42.useContext(ChartContext);
26554
27172
  if (!context) {
26555
27173
  throw new Error("useChart must be used within a <ChartContainer />");
26556
27174
  }
26557
27175
  return context;
26558
27176
  }
26559
- var ChartContainer = React41.forwardRef(({ id, className, children, config, ...props }, ref) => {
26560
- const uniqueId = React41.useId();
27177
+ var ChartContainer = React42.forwardRef(({ id, className, children, config, ...props }, ref) => {
27178
+ const uniqueId = React42.useId();
26561
27179
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
26562
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
27180
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
26563
27181
  "div",
26564
27182
  {
26565
27183
  "data-chart": chartId,
@@ -26570,8 +27188,8 @@ var ChartContainer = React41.forwardRef(({ id, className, children, config, ...p
26570
27188
  ),
26571
27189
  ...props,
26572
27190
  children: [
26573
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ChartStyle, { id: chartId, config }),
26574
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(RechartsPrimitive.ResponsiveContainer, { children })
27191
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ChartStyle, { id: chartId, config }),
27192
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(RechartsPrimitive.ResponsiveContainer, { children })
26575
27193
  ]
26576
27194
  }
26577
27195
  ) });
@@ -26582,7 +27200,7 @@ var ChartStyle = ({ id, config }) => {
26582
27200
  if (!colorConfig.length) {
26583
27201
  return null;
26584
27202
  }
26585
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
27203
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
26586
27204
  "style",
26587
27205
  {
26588
27206
  dangerouslySetInnerHTML: {
@@ -26602,7 +27220,7 @@ ${colorConfig.map(([key, itemConfig]) => {
26602
27220
  );
26603
27221
  };
26604
27222
  var ChartTooltip = RechartsPrimitive.Tooltip;
26605
- var ChartTooltipContent = React41.forwardRef(
27223
+ var ChartTooltipContent = React42.forwardRef(
26606
27224
  ({
26607
27225
  active,
26608
27226
  payload,
@@ -26619,7 +27237,7 @@ var ChartTooltipContent = React41.forwardRef(
26619
27237
  labelKey
26620
27238
  }, ref) => {
26621
27239
  const { config } = useChart();
26622
- const tooltipLabel = React41.useMemo(() => {
27240
+ const tooltipLabel = React42.useMemo(() => {
26623
27241
  var _a78;
26624
27242
  if (hideLabel || !(payload == null ? void 0 : payload.length)) {
26625
27243
  return null;
@@ -26629,18 +27247,18 @@ var ChartTooltipContent = React41.forwardRef(
26629
27247
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26630
27248
  const value = !labelKey && typeof label === "string" ? ((_a78 = config[label]) == null ? void 0 : _a78.label) || label : itemConfig == null ? void 0 : itemConfig.label;
26631
27249
  if (labelFormatter) {
26632
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
27250
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
26633
27251
  }
26634
27252
  if (!value) {
26635
27253
  return null;
26636
27254
  }
26637
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("font-medium", labelClassName), children: value });
27255
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: cn("font-medium", labelClassName), children: value });
26638
27256
  }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
26639
27257
  if (!active || !(payload == null ? void 0 : payload.length)) {
26640
27258
  return null;
26641
27259
  }
26642
27260
  const nestLabel = payload.length === 1 && indicator !== "dot";
26643
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
27261
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
26644
27262
  "div",
26645
27263
  {
26646
27264
  ref,
@@ -26650,19 +27268,19 @@ var ChartTooltipContent = React41.forwardRef(
26650
27268
  ),
26651
27269
  children: [
26652
27270
  !nestLabel ? tooltipLabel : null,
26653
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
27271
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
26654
27272
  const key = `${nameKey || item.name || item.dataKey || "value"}`;
26655
27273
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26656
27274
  const indicatorColor = color || item.payload.fill || item.color;
26657
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
27275
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
26658
27276
  "div",
26659
27277
  {
26660
27278
  className: cn(
26661
27279
  "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
26662
27280
  indicator === "dot" && "items-center"
26663
27281
  ),
26664
- children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
26665
- (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
27282
+ children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_jsx_runtime70.Fragment, { children: [
27283
+ (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
26666
27284
  "div",
26667
27285
  {
26668
27286
  className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
@@ -26677,7 +27295,7 @@ var ChartTooltipContent = React41.forwardRef(
26677
27295
  }
26678
27296
  }
26679
27297
  ),
26680
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
27298
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
26681
27299
  "div",
26682
27300
  {
26683
27301
  className: cn(
@@ -26685,11 +27303,11 @@ var ChartTooltipContent = React41.forwardRef(
26685
27303
  nestLabel ? "items-end" : "items-center"
26686
27304
  ),
26687
27305
  children: [
26688
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "grid gap-1.5", children: [
27306
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "grid gap-1.5", children: [
26689
27307
  nestLabel ? tooltipLabel : null,
26690
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
27308
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
26691
27309
  ] }),
26692
- item.value && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
27310
+ item.value && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
26693
27311
  ]
26694
27312
  }
26695
27313
  )
@@ -26705,12 +27323,12 @@ var ChartTooltipContent = React41.forwardRef(
26705
27323
  );
26706
27324
  ChartTooltipContent.displayName = "ChartTooltip";
26707
27325
  var ChartLegend = RechartsPrimitive.Legend;
26708
- var ChartLegendContent = React41.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
27326
+ var ChartLegendContent = React42.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
26709
27327
  const { config } = useChart();
26710
27328
  if (!(payload == null ? void 0 : payload.length)) {
26711
27329
  return null;
26712
27330
  }
26713
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
27331
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
26714
27332
  "div",
26715
27333
  {
26716
27334
  ref,
@@ -26718,12 +27336,12 @@ var ChartLegendContent = React41.forwardRef(({ className, hideIcon = false, payl
26718
27336
  children: payload.map((item) => {
26719
27337
  const key = `${nameKey || item.dataKey || "value"}`;
26720
27338
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26721
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
27339
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
26722
27340
  "div",
26723
27341
  {
26724
27342
  className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
26725
27343
  children: [
26726
- (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
27344
+ (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
26727
27345
  "div",
26728
27346
  {
26729
27347
  className: "h-2 w-2 shrink-0 rounded-[2px]",
@@ -26757,11 +27375,11 @@ function getPayloadConfigFromPayload(config, payload, key) {
26757
27375
  }
26758
27376
 
26759
27377
  // src/components/ui/checkbox.tsx
26760
- var React42 = __toESM(require("react"), 1);
27378
+ var React43 = __toESM(require("react"), 1);
26761
27379
  var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
26762
27380
  var import_lucide_react22 = require("lucide-react");
26763
- var import_jsx_runtime69 = require("react/jsx-runtime");
26764
- var Checkbox = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
27381
+ var import_jsx_runtime71 = require("react/jsx-runtime");
27382
+ var Checkbox = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
26765
27383
  CheckboxPrimitive.Root,
26766
27384
  {
26767
27385
  ref,
@@ -26770,7 +27388,7 @@ var Checkbox = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26770
27388
  className
26771
27389
  ),
26772
27390
  ...props,
26773
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react22.Check, { className: "h-4 w-4" }) })
27391
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react22.Check, { className: "h-4 w-4" }) })
26774
27392
  }
26775
27393
  ));
26776
27394
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
@@ -26782,11 +27400,11 @@ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
26782
27400
  var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
26783
27401
 
26784
27402
  // src/components/ui/command.tsx
26785
- var React43 = __toESM(require("react"), 1);
27403
+ var React44 = __toESM(require("react"), 1);
26786
27404
  var import_cmdk = require("cmdk");
26787
27405
  var import_lucide_react23 = require("lucide-react");
26788
- var import_jsx_runtime70 = require("react/jsx-runtime");
26789
- var Command = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
27406
+ var import_jsx_runtime72 = require("react/jsx-runtime");
27407
+ var Command = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
26790
27408
  import_cmdk.Command,
26791
27409
  {
26792
27410
  ref,
@@ -26799,11 +27417,11 @@ var Command = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26799
27417
  ));
26800
27418
  Command.displayName = import_cmdk.Command.displayName;
26801
27419
  var CommandDialog = ({ children, ...props }) => {
26802
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Dialog, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(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 }) }) });
27420
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Dialog, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(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 }) }) });
26803
27421
  };
26804
- var CommandInput = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
26805
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react23.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
26806
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
27422
+ var CommandInput = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
27423
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react23.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
27424
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
26807
27425
  import_cmdk.Command.Input,
26808
27426
  {
26809
27427
  ref,
@@ -26816,7 +27434,7 @@ var CommandInput = React43.forwardRef(({ className, ...props }, ref) => /* @__PU
26816
27434
  )
26817
27435
  ] }));
26818
27436
  CommandInput.displayName = import_cmdk.Command.Input.displayName;
26819
- var CommandList = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
27437
+ var CommandList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
26820
27438
  import_cmdk.Command.List,
26821
27439
  {
26822
27440
  ref,
@@ -26825,9 +27443,9 @@ var CommandList = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
26825
27443
  }
26826
27444
  ));
26827
27445
  CommandList.displayName = import_cmdk.Command.List.displayName;
26828
- var CommandEmpty = React43.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_cmdk.Command.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
27446
+ var CommandEmpty = React44.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_cmdk.Command.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
26829
27447
  CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;
26830
- var CommandGroup = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
27448
+ var CommandGroup = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
26831
27449
  import_cmdk.Command.Group,
26832
27450
  {
26833
27451
  ref,
@@ -26839,9 +27457,9 @@ var CommandGroup = React43.forwardRef(({ className, ...props }, ref) => /* @__PU
26839
27457
  }
26840
27458
  ));
26841
27459
  CommandGroup.displayName = import_cmdk.Command.Group.displayName;
26842
- var CommandSeparator = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_cmdk.Command.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
27460
+ var CommandSeparator = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_cmdk.Command.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
26843
27461
  CommandSeparator.displayName = import_cmdk.Command.Separator.displayName;
26844
- var CommandItem = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
27462
+ var CommandItem = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
26845
27463
  import_cmdk.Command.Item,
26846
27464
  {
26847
27465
  ref,
@@ -26854,22 +27472,22 @@ var CommandItem = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
26854
27472
  ));
26855
27473
  CommandItem.displayName = import_cmdk.Command.Item.displayName;
26856
27474
  var CommandShortcut = ({ className, ...props }) => {
26857
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27475
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26858
27476
  };
26859
27477
  CommandShortcut.displayName = "CommandShortcut";
26860
27478
 
26861
27479
  // src/components/ui/context-menu.tsx
26862
- var React44 = __toESM(require("react"), 1);
27480
+ var React45 = __toESM(require("react"), 1);
26863
27481
  var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"), 1);
26864
27482
  var import_lucide_react24 = require("lucide-react");
26865
- var import_jsx_runtime71 = require("react/jsx-runtime");
27483
+ var import_jsx_runtime73 = require("react/jsx-runtime");
26866
27484
  var ContextMenu = ContextMenuPrimitive.Root;
26867
27485
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
26868
27486
  var ContextMenuGroup = ContextMenuPrimitive.Group;
26869
27487
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
26870
27488
  var ContextMenuSub = ContextMenuPrimitive.Sub;
26871
27489
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
26872
- var ContextMenuSubTrigger = React44.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
27490
+ var ContextMenuSubTrigger = React45.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
26873
27491
  ContextMenuPrimitive.SubTrigger,
26874
27492
  {
26875
27493
  ref,
@@ -26881,12 +27499,12 @@ var ContextMenuSubTrigger = React44.forwardRef(({ className, inset, children, ..
26881
27499
  ...props,
26882
27500
  children: [
26883
27501
  children,
26884
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react24.ChevronRight, { className: "ml-auto h-4 w-4" })
27502
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react24.ChevronRight, { className: "ml-auto h-4 w-4" })
26885
27503
  ]
26886
27504
  }
26887
27505
  ));
26888
27506
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
26889
- var ContextMenuSubContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
27507
+ var ContextMenuSubContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
26890
27508
  ContextMenuPrimitive.SubContent,
26891
27509
  {
26892
27510
  ref,
@@ -26898,7 +27516,7 @@ var ContextMenuSubContent = React44.forwardRef(({ className, ...props }, ref) =>
26898
27516
  }
26899
27517
  ));
26900
27518
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
26901
- var ContextMenuContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
27519
+ var ContextMenuContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
26902
27520
  ContextMenuPrimitive.Content,
26903
27521
  {
26904
27522
  ref,
@@ -26910,7 +27528,7 @@ var ContextMenuContent = React44.forwardRef(({ className, ...props }, ref) => /*
26910
27528
  }
26911
27529
  ) }));
26912
27530
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
26913
- var ContextMenuItem = React44.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
27531
+ var ContextMenuItem = React45.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
26914
27532
  ContextMenuPrimitive.Item,
26915
27533
  {
26916
27534
  ref,
@@ -26923,7 +27541,7 @@ var ContextMenuItem = React44.forwardRef(({ className, inset, ...props }, ref) =
26923
27541
  }
26924
27542
  ));
26925
27543
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
26926
- var ContextMenuCheckboxItem = React44.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
27544
+ var ContextMenuCheckboxItem = React45.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
26927
27545
  ContextMenuPrimitive.CheckboxItem,
26928
27546
  {
26929
27547
  ref,
@@ -26934,13 +27552,13 @@ var ContextMenuCheckboxItem = React44.forwardRef(({ className, children, checked
26934
27552
  checked,
26935
27553
  ...props,
26936
27554
  children: [
26937
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react24.Check, { className: "h-4 w-4" }) }) }),
27555
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react24.Check, { className: "h-4 w-4" }) }) }),
26938
27556
  children
26939
27557
  ]
26940
27558
  }
26941
27559
  ));
26942
27560
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
26943
- var ContextMenuRadioItem = React44.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
27561
+ var ContextMenuRadioItem = React45.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
26944
27562
  ContextMenuPrimitive.RadioItem,
26945
27563
  {
26946
27564
  ref,
@@ -26950,13 +27568,13 @@ var ContextMenuRadioItem = React44.forwardRef(({ className, children, ...props }
26950
27568
  ),
26951
27569
  ...props,
26952
27570
  children: [
26953
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react24.Circle, { className: "h-2 w-2 fill-current" }) }) }),
27571
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react24.Circle, { className: "h-2 w-2 fill-current" }) }) }),
26954
27572
  children
26955
27573
  ]
26956
27574
  }
26957
27575
  ));
26958
27576
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
26959
- var ContextMenuLabel = React44.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
27577
+ var ContextMenuLabel = React45.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
26960
27578
  ContextMenuPrimitive.Label,
26961
27579
  {
26962
27580
  ref,
@@ -26965,39 +27583,39 @@ var ContextMenuLabel = React44.forwardRef(({ className, inset, ...props }, ref)
26965
27583
  }
26966
27584
  ));
26967
27585
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
26968
- var ContextMenuSeparator = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
27586
+ var ContextMenuSeparator = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
26969
27587
  ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
26970
27588
  var ContextMenuShortcut = ({ className, ...props }) => {
26971
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27589
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26972
27590
  };
26973
27591
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
26974
27592
 
26975
27593
  // src/components/ui/form.tsx
26976
- var React46 = __toESM(require("react"), 1);
27594
+ var React47 = __toESM(require("react"), 1);
26977
27595
  var import_react_slot3 = require("@radix-ui/react-slot");
26978
27596
  var import_react_hook_form = require("react-hook-form");
26979
27597
 
26980
27598
  // src/components/ui/label.tsx
26981
- var React45 = __toESM(require("react"), 1);
27599
+ var React46 = __toESM(require("react"), 1);
26982
27600
  var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
26983
27601
  var import_class_variance_authority4 = require("class-variance-authority");
26984
- var import_jsx_runtime72 = require("react/jsx-runtime");
27602
+ var import_jsx_runtime74 = require("react/jsx-runtime");
26985
27603
  var labelVariants = (0, import_class_variance_authority4.cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
26986
- var Label4 = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
27604
+ var Label4 = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
26987
27605
  Label4.displayName = LabelPrimitive.Root.displayName;
26988
27606
 
26989
27607
  // src/components/ui/form.tsx
26990
- var import_jsx_runtime73 = require("react/jsx-runtime");
27608
+ var import_jsx_runtime75 = require("react/jsx-runtime");
26991
27609
  var Form = import_react_hook_form.FormProvider;
26992
- var FormFieldContext = React46.createContext({});
27610
+ var FormFieldContext = React47.createContext({});
26993
27611
  var FormField = ({
26994
27612
  ...props
26995
27613
  }) => {
26996
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_react_hook_form.Controller, { ...props }) });
27614
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_react_hook_form.Controller, { ...props }) });
26997
27615
  };
26998
27616
  var useFormField = () => {
26999
- const fieldContext = React46.useContext(FormFieldContext);
27000
- const itemContext = React46.useContext(FormItemContext);
27617
+ const fieldContext = React47.useContext(FormFieldContext);
27618
+ const itemContext = React47.useContext(FormItemContext);
27001
27619
  const { getFieldState, formState } = (0, import_react_hook_form.useFormContext)();
27002
27620
  const fieldState = getFieldState(fieldContext.name, formState);
27003
27621
  if (!fieldContext) {
@@ -27013,23 +27631,23 @@ var useFormField = () => {
27013
27631
  ...fieldState
27014
27632
  };
27015
27633
  };
27016
- var FormItemContext = React46.createContext({});
27017
- var FormItem = React46.forwardRef(
27634
+ var FormItemContext = React47.createContext({});
27635
+ var FormItem = React47.forwardRef(
27018
27636
  ({ className, ...props }, ref) => {
27019
- const id = React46.useId();
27020
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { ref, className: cn("space-y-2", className), ...props }) });
27637
+ const id = React47.useId();
27638
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { ref, className: cn("space-y-2", className), ...props }) });
27021
27639
  }
27022
27640
  );
27023
27641
  FormItem.displayName = "FormItem";
27024
- var FormLabel = React46.forwardRef(({ className, ...props }, ref) => {
27642
+ var FormLabel = React47.forwardRef(({ className, ...props }, ref) => {
27025
27643
  const { error, formItemId } = useFormField();
27026
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
27644
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
27027
27645
  });
27028
27646
  FormLabel.displayName = "FormLabel";
27029
- var FormControl = React46.forwardRef(
27647
+ var FormControl = React47.forwardRef(
27030
27648
  ({ ...props }, ref) => {
27031
27649
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
27032
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
27650
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
27033
27651
  import_react_slot3.Slot,
27034
27652
  {
27035
27653
  ref,
@@ -27042,42 +27660,42 @@ var FormControl = React46.forwardRef(
27042
27660
  }
27043
27661
  );
27044
27662
  FormControl.displayName = "FormControl";
27045
- var FormDescription = React46.forwardRef(
27663
+ var FormDescription = React47.forwardRef(
27046
27664
  ({ className, ...props }, ref) => {
27047
27665
  const { formDescriptionId } = useFormField();
27048
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
27666
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
27049
27667
  }
27050
27668
  );
27051
27669
  FormDescription.displayName = "FormDescription";
27052
- var FormMessage = React46.forwardRef(
27670
+ var FormMessage = React47.forwardRef(
27053
27671
  ({ className, children, ...props }, ref) => {
27054
27672
  const { error, formMessageId } = useFormField();
27055
27673
  const body = error ? String(error == null ? void 0 : error.message) : children;
27056
27674
  if (!body) {
27057
27675
  return null;
27058
27676
  }
27059
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
27677
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
27060
27678
  }
27061
27679
  );
27062
27680
  FormMessage.displayName = "FormMessage";
27063
27681
 
27064
27682
  // src/components/ui/glass-card.tsx
27065
- var React47 = __toESM(require("react"), 1);
27066
- var import_jsx_runtime74 = require("react/jsx-runtime");
27067
- var GlassCard = React47.forwardRef(
27683
+ var React48 = __toESM(require("react"), 1);
27684
+ var import_jsx_runtime76 = require("react/jsx-runtime");
27685
+ var GlassCard = React48.forwardRef(
27068
27686
  ({ className, ...props }, ref) => {
27069
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { ref, className: cn("glass-card", className), ...props });
27687
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { ref, className: cn("glass-card", className), ...props });
27070
27688
  }
27071
27689
  );
27072
27690
  GlassCard.displayName = "GlassCard";
27073
27691
 
27074
27692
  // src/components/ui/hover-card.tsx
27075
- var React48 = __toESM(require("react"), 1);
27693
+ var React49 = __toESM(require("react"), 1);
27076
27694
  var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
27077
- var import_jsx_runtime75 = require("react/jsx-runtime");
27695
+ var import_jsx_runtime77 = require("react/jsx-runtime");
27078
27696
  var HoverCard = HoverCardPrimitive.Root;
27079
27697
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
27080
- var HoverCardContent = React48.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
27698
+ var HoverCardContent = React49.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
27081
27699
  HoverCardPrimitive.Content,
27082
27700
  {
27083
27701
  ref,
@@ -27093,12 +27711,12 @@ var HoverCardContent = React48.forwardRef(({ className, align = "center", sideOf
27093
27711
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
27094
27712
 
27095
27713
  // src/components/ui/input-otp.tsx
27096
- var React49 = __toESM(require("react"), 1);
27714
+ var React50 = __toESM(require("react"), 1);
27097
27715
  var import_input_otp = require("input-otp");
27098
27716
  var import_lucide_react25 = require("lucide-react");
27099
- var import_jsx_runtime76 = require("react/jsx-runtime");
27100
- var InputOTP = React49.forwardRef(
27101
- ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
27717
+ var import_jsx_runtime78 = require("react/jsx-runtime");
27718
+ var InputOTP = React50.forwardRef(
27719
+ ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
27102
27720
  import_input_otp.OTPInput,
27103
27721
  {
27104
27722
  ref,
@@ -27109,14 +27727,14 @@ var InputOTP = React49.forwardRef(
27109
27727
  )
27110
27728
  );
27111
27729
  InputOTP.displayName = "InputOTP";
27112
- var InputOTPGroup = React49.forwardRef(
27113
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { ref, className: cn("flex items-center", className), ...props })
27730
+ var InputOTPGroup = React50.forwardRef(
27731
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { ref, className: cn("flex items-center", className), ...props })
27114
27732
  );
27115
27733
  InputOTPGroup.displayName = "InputOTPGroup";
27116
- var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
27117
- const inputOTPContext = React49.useContext(import_input_otp.OTPInputContext);
27734
+ var InputOTPSlot = React50.forwardRef(({ index, className, ...props }, ref) => {
27735
+ const inputOTPContext = React50.useContext(import_input_otp.OTPInputContext);
27118
27736
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
27119
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
27737
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
27120
27738
  "div",
27121
27739
  {
27122
27740
  ref,
@@ -27128,28 +27746,28 @@ var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
27128
27746
  ...props,
27129
27747
  children: [
27130
27748
  char,
27131
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
27749
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
27132
27750
  ]
27133
27751
  }
27134
27752
  );
27135
27753
  });
27136
27754
  InputOTPSlot.displayName = "InputOTPSlot";
27137
- var InputOTPSeparator = React49.forwardRef(
27138
- ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react25.Dot, {}) })
27755
+ var InputOTPSeparator = React50.forwardRef(
27756
+ ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react25.Dot, {}) })
27139
27757
  );
27140
27758
  InputOTPSeparator.displayName = "InputOTPSeparator";
27141
27759
 
27142
27760
  // src/components/ui/menubar.tsx
27143
- var React50 = __toESM(require("react"), 1);
27761
+ var React51 = __toESM(require("react"), 1);
27144
27762
  var MenubarPrimitive = __toESM(require("@radix-ui/react-menubar"), 1);
27145
27763
  var import_lucide_react26 = require("lucide-react");
27146
- var import_jsx_runtime77 = require("react/jsx-runtime");
27764
+ var import_jsx_runtime79 = require("react/jsx-runtime");
27147
27765
  var MenubarMenu = MenubarPrimitive.Menu;
27148
27766
  var MenubarGroup = MenubarPrimitive.Group;
27149
27767
  var MenubarPortal = MenubarPrimitive.Portal;
27150
27768
  var MenubarSub = MenubarPrimitive.Sub;
27151
27769
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
27152
- var Menubar = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
27770
+ var Menubar = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
27153
27771
  MenubarPrimitive.Root,
27154
27772
  {
27155
27773
  ref,
@@ -27158,7 +27776,7 @@ var Menubar = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__
27158
27776
  }
27159
27777
  ));
27160
27778
  Menubar.displayName = MenubarPrimitive.Root.displayName;
27161
- var MenubarTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
27779
+ var MenubarTrigger = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
27162
27780
  MenubarPrimitive.Trigger,
27163
27781
  {
27164
27782
  ref,
@@ -27170,7 +27788,7 @@ var MenubarTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__
27170
27788
  }
27171
27789
  ));
27172
27790
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
27173
- var MenubarSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
27791
+ var MenubarSubTrigger = React51.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
27174
27792
  MenubarPrimitive.SubTrigger,
27175
27793
  {
27176
27794
  ref,
@@ -27182,12 +27800,12 @@ var MenubarSubTrigger = React50.forwardRef(({ className, inset, children, ...pro
27182
27800
  ...props,
27183
27801
  children: [
27184
27802
  children,
27185
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react26.ChevronRight, { className: "ml-auto h-4 w-4" })
27803
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react26.ChevronRight, { className: "ml-auto h-4 w-4" })
27186
27804
  ]
27187
27805
  }
27188
27806
  ));
27189
27807
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
27190
- var MenubarSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
27808
+ var MenubarSubContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
27191
27809
  MenubarPrimitive.SubContent,
27192
27810
  {
27193
27811
  ref,
@@ -27199,7 +27817,7 @@ var MenubarSubContent = React50.forwardRef(({ className, ...props }, ref) => /*
27199
27817
  }
27200
27818
  ));
27201
27819
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
27202
- var MenubarContent = React50.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(MenubarPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
27820
+ var MenubarContent = React51.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(MenubarPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
27203
27821
  MenubarPrimitive.Content,
27204
27822
  {
27205
27823
  ref,
@@ -27214,7 +27832,7 @@ var MenubarContent = React50.forwardRef(({ className, align = "start", alignOffs
27214
27832
  }
27215
27833
  ) }));
27216
27834
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
27217
- var MenubarItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
27835
+ var MenubarItem = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
27218
27836
  MenubarPrimitive.Item,
27219
27837
  {
27220
27838
  ref,
@@ -27227,7 +27845,7 @@ var MenubarItem = React50.forwardRef(({ className, inset, ...props }, ref) => /*
27227
27845
  }
27228
27846
  ));
27229
27847
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
27230
- var MenubarCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
27848
+ var MenubarCheckboxItem = React51.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
27231
27849
  MenubarPrimitive.CheckboxItem,
27232
27850
  {
27233
27851
  ref,
@@ -27238,13 +27856,13 @@ var MenubarCheckboxItem = React50.forwardRef(({ className, children, checked, ..
27238
27856
  checked,
27239
27857
  ...props,
27240
27858
  children: [
27241
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react26.Check, { className: "h-4 w-4" }) }) }),
27859
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react26.Check, { className: "h-4 w-4" }) }) }),
27242
27860
  children
27243
27861
  ]
27244
27862
  }
27245
27863
  ));
27246
27864
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
27247
- var MenubarRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
27865
+ var MenubarRadioItem = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
27248
27866
  MenubarPrimitive.RadioItem,
27249
27867
  {
27250
27868
  ref,
@@ -27254,13 +27872,13 @@ var MenubarRadioItem = React50.forwardRef(({ className, children, ...props }, re
27254
27872
  ),
27255
27873
  ...props,
27256
27874
  children: [
27257
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react26.Circle, { className: "h-2 w-2 fill-current" }) }) }),
27875
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react26.Circle, { className: "h-2 w-2 fill-current" }) }) }),
27258
27876
  children
27259
27877
  ]
27260
27878
  }
27261
27879
  ));
27262
27880
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
27263
- var MenubarLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
27881
+ var MenubarLabel = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
27264
27882
  MenubarPrimitive.Label,
27265
27883
  {
27266
27884
  ref,
@@ -27269,20 +27887,20 @@ var MenubarLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /
27269
27887
  }
27270
27888
  ));
27271
27889
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
27272
- var MenubarSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
27890
+ var MenubarSeparator = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
27273
27891
  MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
27274
27892
  var MenubarShortcut = ({ className, ...props }) => {
27275
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27893
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27276
27894
  };
27277
27895
  MenubarShortcut.displayname = "MenubarShortcut";
27278
27896
 
27279
27897
  // src/components/ui/navigation-menu.tsx
27280
- var React51 = __toESM(require("react"), 1);
27898
+ var React52 = __toESM(require("react"), 1);
27281
27899
  var NavigationMenuPrimitive = __toESM(require("@radix-ui/react-navigation-menu"), 1);
27282
27900
  var import_class_variance_authority5 = require("class-variance-authority");
27283
27901
  var import_lucide_react27 = require("lucide-react");
27284
- var import_jsx_runtime78 = require("react/jsx-runtime");
27285
- var NavigationMenu = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
27902
+ var import_jsx_runtime80 = require("react/jsx-runtime");
27903
+ var NavigationMenu = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
27286
27904
  NavigationMenuPrimitive.Root,
27287
27905
  {
27288
27906
  ref,
@@ -27290,12 +27908,12 @@ var NavigationMenu = React51.forwardRef(({ className, children, ...props }, ref)
27290
27908
  ...props,
27291
27909
  children: [
27292
27910
  children,
27293
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(NavigationMenuViewport, {})
27911
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NavigationMenuViewport, {})
27294
27912
  ]
27295
27913
  }
27296
27914
  ));
27297
27915
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
27298
- var NavigationMenuList = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
27916
+ var NavigationMenuList = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
27299
27917
  NavigationMenuPrimitive.List,
27300
27918
  {
27301
27919
  ref,
@@ -27308,7 +27926,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
27308
27926
  var navigationMenuTriggerStyle = (0, import_class_variance_authority5.cva)(
27309
27927
  "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"
27310
27928
  );
27311
- var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
27929
+ var NavigationMenuTrigger = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
27312
27930
  NavigationMenuPrimitive.Trigger,
27313
27931
  {
27314
27932
  ref,
@@ -27317,7 +27935,7 @@ var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props
27317
27935
  children: [
27318
27936
  children,
27319
27937
  " ",
27320
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
27938
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
27321
27939
  import_lucide_react27.ChevronDown,
27322
27940
  {
27323
27941
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
@@ -27328,7 +27946,7 @@ var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props
27328
27946
  }
27329
27947
  ));
27330
27948
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
27331
- var NavigationMenuContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
27949
+ var NavigationMenuContent = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
27332
27950
  NavigationMenuPrimitive.Content,
27333
27951
  {
27334
27952
  ref,
@@ -27341,7 +27959,7 @@ var NavigationMenuContent = React51.forwardRef(({ className, ...props }, ref) =>
27341
27959
  ));
27342
27960
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
27343
27961
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
27344
- var NavigationMenuViewport = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
27962
+ var NavigationMenuViewport = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
27345
27963
  NavigationMenuPrimitive.Viewport,
27346
27964
  {
27347
27965
  className: cn(
@@ -27353,7 +27971,7 @@ var NavigationMenuViewport = React51.forwardRef(({ className, ...props }, ref) =
27353
27971
  }
27354
27972
  ) }));
27355
27973
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
27356
- var NavigationMenuIndicator = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
27974
+ var NavigationMenuIndicator = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
27357
27975
  NavigationMenuPrimitive.Indicator,
27358
27976
  {
27359
27977
  ref,
@@ -27362,16 +27980,16 @@ var NavigationMenuIndicator = React51.forwardRef(({ className, ...props }, ref)
27362
27980
  className
27363
27981
  ),
27364
27982
  ...props,
27365
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
27983
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
27366
27984
  }
27367
27985
  ));
27368
27986
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
27369
27987
 
27370
27988
  // src/components/ui/pagination.tsx
27371
- var React52 = __toESM(require("react"), 1);
27989
+ var React53 = __toESM(require("react"), 1);
27372
27990
  var import_lucide_react28 = require("lucide-react");
27373
- var import_jsx_runtime79 = require("react/jsx-runtime");
27374
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
27991
+ var import_jsx_runtime81 = require("react/jsx-runtime");
27992
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
27375
27993
  "nav",
27376
27994
  {
27377
27995
  role: "navigation",
@@ -27381,13 +27999,13 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_run
27381
27999
  }
27382
28000
  );
27383
28001
  Pagination.displayName = "Pagination";
27384
- var PaginationContent = React52.forwardRef(
27385
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
28002
+ var PaginationContent = React53.forwardRef(
28003
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
27386
28004
  );
27387
28005
  PaginationContent.displayName = "PaginationContent";
27388
- var PaginationItem = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("li", { ref, className: cn("", className), ...props }));
28006
+ var PaginationItem = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("li", { ref, className: cn("", className), ...props }));
27389
28007
  PaginationItem.displayName = "PaginationItem";
27390
- var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
28008
+ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
27391
28009
  "a",
27392
28010
  {
27393
28011
  "aria-current": isActive ? "page" : void 0,
@@ -27402,29 +28020,29 @@ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @_
27402
28020
  }
27403
28021
  );
27404
28022
  PaginationLink.displayName = "PaginationLink";
27405
- var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 pl-2.5", className), ...props, children: [
27406
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react28.ChevronLeft, { className: "h-4 w-4" }),
27407
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { children: "Previous" })
28023
+ var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 pl-2.5", className), ...props, children: [
28024
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react28.ChevronLeft, { className: "h-4 w-4" }),
28025
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { children: "Previous" })
27408
28026
  ] });
27409
28027
  PaginationPrevious.displayName = "PaginationPrevious";
27410
- var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pr-2.5", className), ...props, children: [
27411
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { children: "Next" }),
27412
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react28.ChevronRight, { className: "h-4 w-4" })
28028
+ var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pr-2.5", className), ...props, children: [
28029
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { children: "Next" }),
28030
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react28.ChevronRight, { className: "h-4 w-4" })
27413
28031
  ] });
27414
28032
  PaginationNext.displayName = "PaginationNext";
27415
- var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
27416
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react28.MoreHorizontal, { className: "h-4 w-4" }),
27417
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "sr-only", children: "More pages" })
28033
+ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
28034
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react28.MoreHorizontal, { className: "h-4 w-4" }),
28035
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "sr-only", children: "More pages" })
27418
28036
  ] });
27419
28037
  PaginationEllipsis.displayName = "PaginationEllipsis";
27420
28038
 
27421
28039
  // src/components/ui/popover.tsx
27422
- var React53 = __toESM(require("react"), 1);
28040
+ var React54 = __toESM(require("react"), 1);
27423
28041
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
27424
- var import_jsx_runtime80 = require("react/jsx-runtime");
28042
+ var import_jsx_runtime82 = require("react/jsx-runtime");
27425
28043
  var Popover = PopoverPrimitive.Root;
27426
28044
  var PopoverTrigger = PopoverPrimitive.Trigger;
27427
- var PopoverContent = React53.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
28045
+ var PopoverContent = React54.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
27428
28046
  PopoverPrimitive.Content,
27429
28047
  {
27430
28048
  ref,
@@ -27440,16 +28058,16 @@ var PopoverContent = React53.forwardRef(({ className, align = "center", sideOffs
27440
28058
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
27441
28059
 
27442
28060
  // src/components/ui/radio-group.tsx
27443
- var React54 = __toESM(require("react"), 1);
28061
+ var React55 = __toESM(require("react"), 1);
27444
28062
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
27445
28063
  var import_lucide_react29 = require("lucide-react");
27446
- var import_jsx_runtime81 = require("react/jsx-runtime");
27447
- var RadioGroup4 = React54.forwardRef(({ className, ...props }, ref) => {
27448
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
28064
+ var import_jsx_runtime83 = require("react/jsx-runtime");
28065
+ var RadioGroup4 = React55.forwardRef(({ className, ...props }, ref) => {
28066
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
27449
28067
  });
27450
28068
  RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
27451
- var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
27452
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
28069
+ var RadioGroupItem = React55.forwardRef(({ className, ...props }, ref) => {
28070
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
27453
28071
  RadioGroupPrimitive.Item,
27454
28072
  {
27455
28073
  ref,
@@ -27458,7 +28076,7 @@ var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
27458
28076
  className
27459
28077
  ),
27460
28078
  ...props,
27461
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react29.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
28079
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react29.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
27462
28080
  }
27463
28081
  );
27464
28082
  });
@@ -27467,8 +28085,8 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
27467
28085
  // src/components/ui/resizable.tsx
27468
28086
  var import_lucide_react30 = require("lucide-react");
27469
28087
  var ResizablePrimitive = __toESM(require("react-resizable-panels"), 1);
27470
- var import_jsx_runtime82 = require("react/jsx-runtime");
27471
- var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
28088
+ var import_jsx_runtime84 = require("react/jsx-runtime");
28089
+ var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
27472
28090
  ResizablePrimitive.PanelGroup,
27473
28091
  {
27474
28092
  className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
@@ -27480,7 +28098,7 @@ var ResizableHandle = ({
27480
28098
  withHandle,
27481
28099
  className,
27482
28100
  ...props
27483
- }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
28101
+ }) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
27484
28102
  ResizablePrimitive.PanelResizeHandle,
27485
28103
  {
27486
28104
  className: cn(
@@ -27488,15 +28106,15 @@ var ResizableHandle = ({
27488
28106
  className
27489
28107
  ),
27490
28108
  ...props,
27491
- children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react30.GripVertical, { className: "h-2.5 w-2.5" }) })
28109
+ children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react30.GripVertical, { className: "h-2.5 w-2.5" }) })
27492
28110
  }
27493
28111
  );
27494
28112
 
27495
28113
  // src/components/ui/separator.tsx
27496
- var React55 = __toESM(require("react"), 1);
28114
+ var React56 = __toESM(require("react"), 1);
27497
28115
  var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
27498
- var import_jsx_runtime83 = require("react/jsx-runtime");
27499
- var Separator5 = React55.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
28116
+ var import_jsx_runtime85 = require("react/jsx-runtime");
28117
+ var Separator5 = React56.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
27500
28118
  SeparatorPrimitive.Root,
27501
28119
  {
27502
28120
  ref,
@@ -27512,13 +28130,13 @@ Separator5.displayName = SeparatorPrimitive.Root.displayName;
27512
28130
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
27513
28131
  var import_class_variance_authority6 = require("class-variance-authority");
27514
28132
  var import_lucide_react31 = require("lucide-react");
27515
- var React56 = __toESM(require("react"), 1);
27516
- var import_jsx_runtime84 = require("react/jsx-runtime");
28133
+ var React57 = __toESM(require("react"), 1);
28134
+ var import_jsx_runtime86 = require("react/jsx-runtime");
27517
28135
  var Sheet = SheetPrimitive.Root;
27518
28136
  var SheetTrigger = SheetPrimitive.Trigger;
27519
28137
  var SheetClose = SheetPrimitive.Close;
27520
28138
  var SheetPortal = SheetPrimitive.Portal;
27521
- var SheetOverlay = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
28139
+ var SheetOverlay = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
27522
28140
  SheetPrimitive.Overlay,
27523
28141
  {
27524
28142
  className: cn(
@@ -27546,7 +28164,7 @@ var sheetVariants = (0, import_class_variance_authority6.cva)(
27546
28164
  }
27547
28165
  }
27548
28166
  );
27549
- var SheetContent = React56.forwardRef(
28167
+ var SheetContent = React57.forwardRef(
27550
28168
  ({
27551
28169
  side = "right",
27552
28170
  className,
@@ -27555,11 +28173,11 @@ var SheetContent = React56.forwardRef(
27555
28173
  closeButtonClassName,
27556
28174
  closeButtonLabel = "Close",
27557
28175
  ...props
27558
- }, ref) => /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(SheetPortal, { children: [
27559
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(SheetOverlay, {}),
27560
- /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
28176
+ }, ref) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(SheetPortal, { children: [
28177
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SheetOverlay, {}),
28178
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
27561
28179
  children,
27562
- showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
28180
+ showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
27563
28181
  SheetPrimitive.Close,
27564
28182
  {
27565
28183
  className: cn(
@@ -27567,8 +28185,8 @@ var SheetContent = React56.forwardRef(
27567
28185
  closeButtonClassName
27568
28186
  ),
27569
28187
  children: [
27570
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react31.X, { className: "h-4 w-4" }),
27571
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "sr-only", children: closeButtonLabel })
28188
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_lucide_react31.X, { className: "h-4 w-4" }),
28189
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "sr-only", children: closeButtonLabel })
27572
28190
  ]
27573
28191
  }
27574
28192
  ) : null
@@ -27576,27 +28194,27 @@ var SheetContent = React56.forwardRef(
27576
28194
  ] })
27577
28195
  );
27578
28196
  SheetContent.displayName = SheetPrimitive.Content.displayName;
27579
- var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
28197
+ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
27580
28198
  SheetHeader.displayName = "SheetHeader";
27581
- var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
28199
+ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
27582
28200
  SheetFooter.displayName = "SheetFooter";
27583
- var SheetTitle = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
28201
+ var SheetTitle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
27584
28202
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
27585
- var SheetDescription = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
28203
+ var SheetDescription = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
27586
28204
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
27587
28205
 
27588
28206
  // src/components/ui/sidebar.tsx
27589
- var React58 = __toESM(require("react"), 1);
28207
+ var React59 = __toESM(require("react"), 1);
27590
28208
  var import_react_slot4 = require("@radix-ui/react-slot");
27591
28209
  var import_class_variance_authority7 = require("class-variance-authority");
27592
28210
  var import_lucide_react32 = require("lucide-react");
27593
28211
 
27594
28212
  // src/hooks/use-mobile.tsx
27595
- var React57 = __toESM(require("react"), 1);
28213
+ var React58 = __toESM(require("react"), 1);
27596
28214
  var MOBILE_BREAKPOINT = 768;
27597
28215
  function useIsMobile() {
27598
- const [isMobile, setIsMobile] = React57.useState(void 0);
27599
- React57.useEffect(() => {
28216
+ const [isMobile, setIsMobile] = React58.useState(void 0);
28217
+ React58.useEffect(() => {
27600
28218
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
27601
28219
  const onChange = () => {
27602
28220
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -27609,27 +28227,27 @@ function useIsMobile() {
27609
28227
  }
27610
28228
 
27611
28229
  // src/components/ui/sidebar.tsx
27612
- var import_jsx_runtime85 = require("react/jsx-runtime");
28230
+ var import_jsx_runtime87 = require("react/jsx-runtime");
27613
28231
  var SIDEBAR_COOKIE_NAME = "sidebar:state";
27614
28232
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
27615
28233
  var SIDEBAR_WIDTH = "16rem";
27616
28234
  var SIDEBAR_WIDTH_MOBILE = "18rem";
27617
28235
  var SIDEBAR_WIDTH_ICON = "3rem";
27618
28236
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
27619
- var SidebarContext = React58.createContext(null);
28237
+ var SidebarContext = React59.createContext(null);
27620
28238
  function useSidebar() {
27621
- const context = React58.useContext(SidebarContext);
28239
+ const context = React59.useContext(SidebarContext);
27622
28240
  if (!context) {
27623
28241
  throw new Error("useSidebar must be used within a SidebarProvider.");
27624
28242
  }
27625
28243
  return context;
27626
28244
  }
27627
- var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
28245
+ var SidebarProvider = React59.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
27628
28246
  const isMobile = useIsMobile();
27629
- const [openMobile, setOpenMobile] = React58.useState(false);
27630
- const [_open, _setOpen] = React58.useState(defaultOpen);
28247
+ const [openMobile, setOpenMobile] = React59.useState(false);
28248
+ const [_open, _setOpen] = React59.useState(defaultOpen);
27631
28249
  const open = openProp != null ? openProp : _open;
27632
- const setOpen = React58.useCallback(
28250
+ const setOpen = React59.useCallback(
27633
28251
  (value) => {
27634
28252
  const openState = typeof value === "function" ? value(open) : value;
27635
28253
  if (setOpenProp) {
@@ -27641,10 +28259,10 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27641
28259
  },
27642
28260
  [setOpenProp, open]
27643
28261
  );
27644
- const toggleSidebar = React58.useCallback(() => {
28262
+ const toggleSidebar = React59.useCallback(() => {
27645
28263
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
27646
28264
  }, [isMobile, setOpen, setOpenMobile]);
27647
- React58.useEffect(() => {
28265
+ React59.useEffect(() => {
27648
28266
  const handleKeyDown = (event) => {
27649
28267
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
27650
28268
  event.preventDefault();
@@ -27655,7 +28273,7 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27655
28273
  return () => window.removeEventListener("keydown", handleKeyDown);
27656
28274
  }, [toggleSidebar]);
27657
28275
  const state = open ? "expanded" : "collapsed";
27658
- const contextValue = React58.useMemo(
28276
+ const contextValue = React59.useMemo(
27659
28277
  () => ({
27660
28278
  state,
27661
28279
  open,
@@ -27667,7 +28285,7 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27667
28285
  }),
27668
28286
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
27669
28287
  );
27670
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28288
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27671
28289
  "div",
27672
28290
  {
27673
28291
  style: {
@@ -27683,10 +28301,10 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27683
28301
  ) }) });
27684
28302
  });
27685
28303
  SidebarProvider.displayName = "SidebarProvider";
27686
- var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
28304
+ var Sidebar = React59.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
27687
28305
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
27688
28306
  if (collapsible === "none") {
27689
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28307
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27690
28308
  "div",
27691
28309
  {
27692
28310
  className: cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground", className),
@@ -27697,7 +28315,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27697
28315
  );
27698
28316
  }
27699
28317
  if (isMobile) {
27700
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28318
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27701
28319
  SheetContent,
27702
28320
  {
27703
28321
  "data-sidebar": "sidebar",
@@ -27707,11 +28325,11 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27707
28325
  "--sidebar-width": SIDEBAR_WIDTH_MOBILE
27708
28326
  },
27709
28327
  side,
27710
- children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "flex h-full w-full flex-col", children })
28328
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "flex h-full w-full flex-col", children })
27711
28329
  }
27712
28330
  ) });
27713
28331
  }
27714
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
28332
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
27715
28333
  "div",
27716
28334
  {
27717
28335
  ref,
@@ -27721,7 +28339,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27721
28339
  "data-variant": variant,
27722
28340
  "data-side": side,
27723
28341
  children: [
27724
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28342
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27725
28343
  "div",
27726
28344
  {
27727
28345
  className: cn(
@@ -27732,7 +28350,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27732
28350
  )
27733
28351
  }
27734
28352
  ),
27735
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28353
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27736
28354
  "div",
27737
28355
  {
27738
28356
  className: cn(
@@ -27743,7 +28361,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27743
28361
  className
27744
28362
  ),
27745
28363
  ...props,
27746
- children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28364
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27747
28365
  "div",
27748
28366
  {
27749
28367
  "data-sidebar": "sidebar",
@@ -27758,10 +28376,10 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27758
28376
  );
27759
28377
  });
27760
28378
  Sidebar.displayName = "Sidebar";
27761
- var SidebarTrigger = React58.forwardRef(
28379
+ var SidebarTrigger = React59.forwardRef(
27762
28380
  ({ className, onClick, ...props }, ref) => {
27763
28381
  const { toggleSidebar } = useSidebar();
27764
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
28382
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
27765
28383
  Button,
27766
28384
  {
27767
28385
  ref,
@@ -27775,18 +28393,18 @@ var SidebarTrigger = React58.forwardRef(
27775
28393
  },
27776
28394
  ...props,
27777
28395
  children: [
27778
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react32.PanelLeft, {}),
27779
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
28396
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react32.PanelLeft, {}),
28397
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
27780
28398
  ]
27781
28399
  }
27782
28400
  );
27783
28401
  }
27784
28402
  );
27785
28403
  SidebarTrigger.displayName = "SidebarTrigger";
27786
- var SidebarRail = React58.forwardRef(
28404
+ var SidebarRail = React59.forwardRef(
27787
28405
  ({ className, ...props }, ref) => {
27788
28406
  const { toggleSidebar } = useSidebar();
27789
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28407
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27790
28408
  "button",
27791
28409
  {
27792
28410
  ref,
@@ -27810,8 +28428,8 @@ var SidebarRail = React58.forwardRef(
27810
28428
  }
27811
28429
  );
27812
28430
  SidebarRail.displayName = "SidebarRail";
27813
- var SidebarInset = React58.forwardRef(({ className, ...props }, ref) => {
27814
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28431
+ var SidebarInset = React59.forwardRef(({ className, ...props }, ref) => {
28432
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27815
28433
  "main",
27816
28434
  {
27817
28435
  ref,
@@ -27825,9 +28443,9 @@ var SidebarInset = React58.forwardRef(({ className, ...props }, ref) => {
27825
28443
  );
27826
28444
  });
27827
28445
  SidebarInset.displayName = "SidebarInset";
27828
- var SidebarInput = React58.forwardRef(
28446
+ var SidebarInput = React59.forwardRef(
27829
28447
  ({ className, ...props }, ref) => {
27830
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28448
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27831
28449
  Input,
27832
28450
  {
27833
28451
  ref,
@@ -27842,17 +28460,17 @@ var SidebarInput = React58.forwardRef(
27842
28460
  }
27843
28461
  );
27844
28462
  SidebarInput.displayName = "SidebarInput";
27845
- var SidebarHeader = React58.forwardRef(({ className, ...props }, ref) => {
27846
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
28463
+ var SidebarHeader = React59.forwardRef(({ className, ...props }, ref) => {
28464
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
27847
28465
  });
27848
28466
  SidebarHeader.displayName = "SidebarHeader";
27849
- var SidebarFooter = React58.forwardRef(({ className, ...props }, ref) => {
27850
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
28467
+ var SidebarFooter = React59.forwardRef(({ className, ...props }, ref) => {
28468
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
27851
28469
  });
27852
28470
  SidebarFooter.displayName = "SidebarFooter";
27853
- var SidebarSeparator = React58.forwardRef(
28471
+ var SidebarSeparator = React59.forwardRef(
27854
28472
  ({ className, ...props }, ref) => {
27855
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28473
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27856
28474
  Separator5,
27857
28475
  {
27858
28476
  ref,
@@ -27864,8 +28482,8 @@ var SidebarSeparator = React58.forwardRef(
27864
28482
  }
27865
28483
  );
27866
28484
  SidebarSeparator.displayName = "SidebarSeparator";
27867
- var SidebarContent = React58.forwardRef(({ className, ...props }, ref) => {
27868
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28485
+ var SidebarContent = React59.forwardRef(({ className, ...props }, ref) => {
28486
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27869
28487
  "div",
27870
28488
  {
27871
28489
  ref,
@@ -27879,8 +28497,8 @@ var SidebarContent = React58.forwardRef(({ className, ...props }, ref) => {
27879
28497
  );
27880
28498
  });
27881
28499
  SidebarContent.displayName = "SidebarContent";
27882
- var SidebarGroup = React58.forwardRef(({ className, ...props }, ref) => {
27883
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28500
+ var SidebarGroup = React59.forwardRef(({ className, ...props }, ref) => {
28501
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27884
28502
  "div",
27885
28503
  {
27886
28504
  ref,
@@ -27891,10 +28509,10 @@ var SidebarGroup = React58.forwardRef(({ className, ...props }, ref) => {
27891
28509
  );
27892
28510
  });
27893
28511
  SidebarGroup.displayName = "SidebarGroup";
27894
- var SidebarGroupLabel = React58.forwardRef(
28512
+ var SidebarGroupLabel = React59.forwardRef(
27895
28513
  ({ className, asChild = false, ...props }, ref) => {
27896
28514
  const Comp = asChild ? import_react_slot4.Slot : "div";
27897
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28515
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27898
28516
  Comp,
27899
28517
  {
27900
28518
  ref,
@@ -27910,10 +28528,10 @@ var SidebarGroupLabel = React58.forwardRef(
27910
28528
  }
27911
28529
  );
27912
28530
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
27913
- var SidebarGroupAction = React58.forwardRef(
28531
+ var SidebarGroupAction = React59.forwardRef(
27914
28532
  ({ className, asChild = false, ...props }, ref) => {
27915
28533
  const Comp = asChild ? import_react_slot4.Slot : "button";
27916
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28534
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27917
28535
  Comp,
27918
28536
  {
27919
28537
  ref,
@@ -27931,13 +28549,13 @@ var SidebarGroupAction = React58.forwardRef(
27931
28549
  }
27932
28550
  );
27933
28551
  SidebarGroupAction.displayName = "SidebarGroupAction";
27934
- var SidebarGroupContent = React58.forwardRef(
27935
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
28552
+ var SidebarGroupContent = React59.forwardRef(
28553
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
27936
28554
  );
27937
28555
  SidebarGroupContent.displayName = "SidebarGroupContent";
27938
- var SidebarMenu = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
28556
+ var SidebarMenu = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
27939
28557
  SidebarMenu.displayName = "SidebarMenu";
27940
- var SidebarMenuItem = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
28558
+ var SidebarMenuItem = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
27941
28559
  SidebarMenuItem.displayName = "SidebarMenuItem";
27942
28560
  var sidebarMenuButtonVariants = (0, import_class_variance_authority7.cva)(
27943
28561
  "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",
@@ -27959,10 +28577,10 @@ var sidebarMenuButtonVariants = (0, import_class_variance_authority7.cva)(
27959
28577
  }
27960
28578
  }
27961
28579
  );
27962
- var SidebarMenuButton = React58.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
28580
+ var SidebarMenuButton = React59.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
27963
28581
  const Comp = asChild ? import_react_slot4.Slot : "button";
27964
28582
  const { isMobile, state } = useSidebar();
27965
- const button = /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28583
+ const button = /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27966
28584
  Comp,
27967
28585
  {
27968
28586
  ref,
@@ -27981,15 +28599,15 @@ var SidebarMenuButton = React58.forwardRef(({ asChild = false, isActive = false,
27981
28599
  children: tooltip
27982
28600
  };
27983
28601
  }
27984
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Tooltip, { children: [
27985
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TooltipTrigger, { asChild: true, children: button }),
27986
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
28602
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Tooltip, { children: [
28603
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TooltipTrigger, { asChild: true, children: button }),
28604
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
27987
28605
  ] });
27988
28606
  });
27989
28607
  SidebarMenuButton.displayName = "SidebarMenuButton";
27990
- var SidebarMenuAction = React58.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
28608
+ var SidebarMenuAction = React59.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
27991
28609
  const Comp = asChild ? import_react_slot4.Slot : "button";
27992
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28610
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
27993
28611
  Comp,
27994
28612
  {
27995
28613
  ref,
@@ -28010,8 +28628,8 @@ var SidebarMenuAction = React58.forwardRef(({ className, asChild = false, showOn
28010
28628
  );
28011
28629
  });
28012
28630
  SidebarMenuAction.displayName = "SidebarMenuAction";
28013
- var SidebarMenuBadge = React58.forwardRef(
28014
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28631
+ var SidebarMenuBadge = React59.forwardRef(
28632
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
28015
28633
  "div",
28016
28634
  {
28017
28635
  ref,
@@ -28030,11 +28648,11 @@ var SidebarMenuBadge = React58.forwardRef(
28030
28648
  )
28031
28649
  );
28032
28650
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
28033
- var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...props }, ref) => {
28034
- const width = React58.useMemo(() => {
28651
+ var SidebarMenuSkeleton = React59.forwardRef(({ className, showIcon = false, ...props }, ref) => {
28652
+ const width = React59.useMemo(() => {
28035
28653
  return `${Math.floor(Math.random() * 40) + 50}%`;
28036
28654
  }, []);
28037
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
28655
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
28038
28656
  "div",
28039
28657
  {
28040
28658
  ref,
@@ -28042,8 +28660,8 @@ var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...
28042
28660
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
28043
28661
  ...props,
28044
28662
  children: [
28045
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
28046
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28663
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
28664
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
28047
28665
  Skeleton,
28048
28666
  {
28049
28667
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -28058,8 +28676,8 @@ var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...
28058
28676
  );
28059
28677
  });
28060
28678
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
28061
- var SidebarMenuSub = React58.forwardRef(
28062
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28679
+ var SidebarMenuSub = React59.forwardRef(
28680
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
28063
28681
  "ul",
28064
28682
  {
28065
28683
  ref,
@@ -28074,11 +28692,11 @@ var SidebarMenuSub = React58.forwardRef(
28074
28692
  )
28075
28693
  );
28076
28694
  SidebarMenuSub.displayName = "SidebarMenuSub";
28077
- var SidebarMenuSubItem = React58.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("li", { ref, ...props }));
28695
+ var SidebarMenuSubItem = React59.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("li", { ref, ...props }));
28078
28696
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
28079
- var SidebarMenuSubButton = React58.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
28697
+ var SidebarMenuSubButton = React59.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
28080
28698
  const Comp = asChild ? import_react_slot4.Slot : "a";
28081
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
28699
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
28082
28700
  Comp,
28083
28701
  {
28084
28702
  ref,
@@ -28100,44 +28718,44 @@ var SidebarMenuSubButton = React58.forwardRef(({ asChild = false, size = "md", i
28100
28718
  SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
28101
28719
 
28102
28720
  // src/components/ui/slider.tsx
28103
- var React59 = __toESM(require("react"), 1);
28721
+ var React60 = __toESM(require("react"), 1);
28104
28722
  var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
28105
- var import_jsx_runtime86 = require("react/jsx-runtime");
28106
- var Slider = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
28723
+ var import_jsx_runtime88 = require("react/jsx-runtime");
28724
+ var Slider = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
28107
28725
  SliderPrimitive.Root,
28108
28726
  {
28109
28727
  ref,
28110
28728
  className: cn("relative flex w-full touch-none select-none items-center", className),
28111
28729
  ...props,
28112
28730
  children: [
28113
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
28114
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(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" })
28731
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
28732
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(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" })
28115
28733
  ]
28116
28734
  }
28117
28735
  ));
28118
28736
  Slider.displayName = SliderPrimitive.Root.displayName;
28119
28737
 
28120
28738
  // src/components/ui/table.tsx
28121
- var React60 = __toESM(require("react"), 1);
28122
- var import_jsx_runtime87 = require("react/jsx-runtime");
28123
- var Table = React60.forwardRef(
28124
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
28739
+ var React61 = __toESM(require("react"), 1);
28740
+ var import_jsx_runtime89 = require("react/jsx-runtime");
28741
+ var Table = React61.forwardRef(
28742
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
28125
28743
  );
28126
28744
  Table.displayName = "Table";
28127
- var TableHeader = React60.forwardRef(
28128
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
28745
+ var TableHeader = React61.forwardRef(
28746
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
28129
28747
  );
28130
28748
  TableHeader.displayName = "TableHeader";
28131
- var TableBody = React60.forwardRef(
28132
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
28749
+ var TableBody = React61.forwardRef(
28750
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
28133
28751
  );
28134
28752
  TableBody.displayName = "TableBody";
28135
- var TableFooter = React60.forwardRef(
28136
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
28753
+ var TableFooter = React61.forwardRef(
28754
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
28137
28755
  );
28138
28756
  TableFooter.displayName = "TableFooter";
28139
- var TableRow = React60.forwardRef(
28140
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
28757
+ var TableRow = React61.forwardRef(
28758
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
28141
28759
  "tr",
28142
28760
  {
28143
28761
  ref,
@@ -28147,8 +28765,8 @@ var TableRow = React60.forwardRef(
28147
28765
  )
28148
28766
  );
28149
28767
  TableRow.displayName = "TableRow";
28150
- var TableHead = React60.forwardRef(
28151
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
28768
+ var TableHead = React61.forwardRef(
28769
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
28152
28770
  "th",
28153
28771
  {
28154
28772
  ref,
@@ -28161,23 +28779,23 @@ var TableHead = React60.forwardRef(
28161
28779
  )
28162
28780
  );
28163
28781
  TableHead.displayName = "TableHead";
28164
- var TableCell = React60.forwardRef(
28165
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
28782
+ var TableCell = React61.forwardRef(
28783
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
28166
28784
  );
28167
28785
  TableCell.displayName = "TableCell";
28168
- var TableCaption = React60.forwardRef(
28169
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
28786
+ var TableCaption = React61.forwardRef(
28787
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
28170
28788
  );
28171
28789
  TableCaption.displayName = "TableCaption";
28172
28790
 
28173
28791
  // src/components/ui/toast.tsx
28174
- var React61 = __toESM(require("react"), 1);
28792
+ var React62 = __toESM(require("react"), 1);
28175
28793
  var ToastPrimitives = __toESM(require("@radix-ui/react-toast"), 1);
28176
28794
  var import_class_variance_authority8 = require("class-variance-authority");
28177
28795
  var import_lucide_react33 = require("lucide-react");
28178
- var import_jsx_runtime88 = require("react/jsx-runtime");
28796
+ var import_jsx_runtime90 = require("react/jsx-runtime");
28179
28797
  var ToastProvider = ToastPrimitives.Provider;
28180
- var ToastViewport = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
28798
+ var ToastViewport = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
28181
28799
  ToastPrimitives.Viewport,
28182
28800
  {
28183
28801
  ref,
@@ -28203,11 +28821,11 @@ var toastVariants = (0, import_class_variance_authority8.cva)(
28203
28821
  }
28204
28822
  }
28205
28823
  );
28206
- var Toast = React61.forwardRef(({ className, variant, ...props }, ref) => {
28207
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
28824
+ var Toast = React62.forwardRef(({ className, variant, ...props }, ref) => {
28825
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
28208
28826
  });
28209
28827
  Toast.displayName = ToastPrimitives.Root.displayName;
28210
- var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
28828
+ var ToastAction = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
28211
28829
  ToastPrimitives.Action,
28212
28830
  {
28213
28831
  ref,
@@ -28219,7 +28837,7 @@ var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PUR
28219
28837
  }
28220
28838
  ));
28221
28839
  ToastAction.displayName = ToastPrimitives.Action.displayName;
28222
- var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
28840
+ var ToastClose = React62.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
28223
28841
  ToastPrimitives.Close,
28224
28842
  {
28225
28843
  ref,
@@ -28233,39 +28851,39 @@ var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /
28233
28851
  },
28234
28852
  "toast-close": "",
28235
28853
  ...props,
28236
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_lucide_react33.X, { className: "h-4 w-4" })
28854
+ children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react33.X, { className: "h-4 w-4" })
28237
28855
  }
28238
28856
  ));
28239
28857
  ToastClose.displayName = ToastPrimitives.Close.displayName;
28240
- var ToastTitle = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
28858
+ var ToastTitle = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
28241
28859
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
28242
- var ToastDescription = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
28860
+ var ToastDescription = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
28243
28861
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
28244
28862
 
28245
28863
  // src/components/ui/toaster.tsx
28246
- var import_jsx_runtime89 = require("react/jsx-runtime");
28864
+ var import_jsx_runtime91 = require("react/jsx-runtime");
28247
28865
  function Toaster2() {
28248
28866
  const { toasts } = useToast();
28249
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(ToastProvider, { children: [
28867
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(ToastProvider, { children: [
28250
28868
  toasts.map(function({ id, title, description, action, ...props }) {
28251
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(Toast, { ...props, children: [
28252
- /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "grid gap-1", children: [
28253
- title && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ToastTitle, { children: title }),
28254
- description && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ToastDescription, { children: description })
28869
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Toast, { ...props, children: [
28870
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "grid gap-1", children: [
28871
+ title && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ToastTitle, { children: title }),
28872
+ description && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ToastDescription, { children: description })
28255
28873
  ] }),
28256
28874
  action,
28257
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ToastClose, {})
28875
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ToastClose, {})
28258
28876
  ] }, id);
28259
28877
  }),
28260
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ToastViewport, {})
28878
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ToastViewport, {})
28261
28879
  ] });
28262
28880
  }
28263
28881
 
28264
28882
  // src/components/ui/toggle.tsx
28265
- var React62 = __toESM(require("react"), 1);
28883
+ var React63 = __toESM(require("react"), 1);
28266
28884
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
28267
28885
  var import_class_variance_authority9 = require("class-variance-authority");
28268
- var import_jsx_runtime90 = require("react/jsx-runtime");
28886
+ var import_jsx_runtime92 = require("react/jsx-runtime");
28269
28887
  var toggleVariants = (0, import_class_variance_authority9.cva)(
28270
28888
  "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",
28271
28889
  {
@@ -28286,22 +28904,22 @@ var toggleVariants = (0, import_class_variance_authority9.cva)(
28286
28904
  }
28287
28905
  }
28288
28906
  );
28289
- var Toggle = React62.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
28907
+ var Toggle = React63.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
28290
28908
  Toggle.displayName = TogglePrimitive.Root.displayName;
28291
28909
 
28292
28910
  // src/components/ui/toggle-group.tsx
28293
- var React63 = __toESM(require("react"), 1);
28911
+ var React64 = __toESM(require("react"), 1);
28294
28912
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
28295
- var import_jsx_runtime91 = require("react/jsx-runtime");
28296
- var ToggleGroupContext = React63.createContext({
28913
+ var import_jsx_runtime93 = require("react/jsx-runtime");
28914
+ var ToggleGroupContext = React64.createContext({
28297
28915
  size: "default",
28298
28916
  variant: "default"
28299
28917
  });
28300
- var ToggleGroup = React63.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
28918
+ var ToggleGroup = React64.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
28301
28919
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
28302
- var ToggleGroupItem = React63.forwardRef(({ className, children, variant, size, ...props }, ref) => {
28303
- const context = React63.useContext(ToggleGroupContext);
28304
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
28920
+ var ToggleGroupItem = React64.forwardRef(({ className, children, variant, size, ...props }, ref) => {
28921
+ const context = React64.useContext(ToggleGroupContext);
28922
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
28305
28923
  ToggleGroupPrimitive.Item,
28306
28924
  {
28307
28925
  ref,
@@ -28320,11 +28938,11 @@ var ToggleGroupItem = React63.forwardRef(({ className, children, variant, size,
28320
28938
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
28321
28939
 
28322
28940
  // src/hooks/useActiveSection.ts
28323
- var import_react23 = require("react");
28941
+ var import_react26 = require("react");
28324
28942
  var useActiveSection = (sectionIds, offset = 180) => {
28325
28943
  var _a78;
28326
- const [activeId, setActiveId] = (0, import_react23.useState)((_a78 = sectionIds[0]) != null ? _a78 : "");
28327
- (0, import_react23.useEffect)(() => {
28944
+ const [activeId, setActiveId] = (0, import_react26.useState)((_a78 = sectionIds[0]) != null ? _a78 : "");
28945
+ (0, import_react26.useEffect)(() => {
28328
28946
  if (!sectionIds.length || typeof window === "undefined") return;
28329
28947
  const update = () => {
28330
28948
  let nextActive = sectionIds[0];
@@ -28356,7 +28974,7 @@ function slugify(value) {
28356
28974
  }
28357
28975
 
28358
28976
  // src/lib/layoutMode.ts
28359
- var import_react24 = require("react");
28977
+ var import_react27 = require("react");
28360
28978
  var LAYOUT_MODE_STORAGE_KEY = "cc-layout-preview-mode";
28361
28979
  var LAYOUT_MODE_CHANGE_EVENT = "cc-layout-mode-change";
28362
28980
  var normalizeLayoutMode = (value) => {
@@ -28379,8 +28997,8 @@ var writeStoredLayoutMode = (mode) => {
28379
28997
  window.dispatchEvent(new CustomEvent(LAYOUT_MODE_CHANGE_EVENT, { detail: mode }));
28380
28998
  };
28381
28999
  var useLayoutMode = () => {
28382
- const [mode, setMode] = (0, import_react24.useState)(readStoredLayoutMode);
28383
- (0, import_react24.useEffect)(() => {
29000
+ const [mode, setMode] = (0, import_react27.useState)(readStoredLayoutMode);
29001
+ (0, import_react27.useEffect)(() => {
28384
29002
  if (typeof window === "undefined") return void 0;
28385
29003
  const handleStorage = (event) => {
28386
29004
  if (event.key !== LAYOUT_MODE_STORAGE_KEY) return;
@@ -28402,15 +29020,15 @@ var useLayoutMode = () => {
28402
29020
  };
28403
29021
  var useLayoutModeControl = () => {
28404
29022
  const mode = useLayoutMode();
28405
- const setMode = (0, import_react24.useCallback)((nextMode) => {
29023
+ const setMode = (0, import_react27.useCallback)((nextMode) => {
28406
29024
  writeStoredLayoutMode(nextMode);
28407
29025
  }, []);
28408
29026
  return { mode, setMode };
28409
29027
  };
28410
29028
 
28411
29029
  // src/lib/auth.tsx
28412
- var import_react25 = require("react");
28413
- var import_jsx_runtime92 = require("react/jsx-runtime");
29030
+ var import_react28 = require("react");
29031
+ var import_jsx_runtime94 = require("react/jsx-runtime");
28414
29032
  var STORAGE_KEYS = {
28415
29033
  accessToken: "cc_access_token",
28416
29034
  idToken: "cc_id_token",
@@ -28490,6 +29108,39 @@ var PRESENCE_HEARTBEAT_INTERVAL_MS = parsePositiveInteger2(
28490
29108
  );
28491
29109
  var INACTIVITY_CHECK_INTERVAL_MS = 3e4;
28492
29110
  var SILENT_AUTH_ERRORS = /* @__PURE__ */ new Set(["login_required", "interaction_required", "consent_required", "account_selection_required"]);
29111
+ var PROTECTED_ROUTE_PREFIXES = ["/layout-preview", "/componentes", "/docs", "/animacoes"];
29112
+ var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
29113
+ var isTruthyEnvFlag = (value) => {
29114
+ if (!value) return false;
29115
+ const normalized = value.trim().toLowerCase();
29116
+ return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
29117
+ };
29118
+ var isProtectedRoute = (pathname) => {
29119
+ return PROTECTED_ROUTE_PREFIXES.some((prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`));
29120
+ };
29121
+ var shouldAttemptSilentLoginForPath = (pathname) => {
29122
+ const override = getRuntimeEnv("VITE_ACCOUNTS_SILENT_AUTH");
29123
+ if (typeof override === "string") {
29124
+ return isTruthyEnvFlag(override);
29125
+ }
29126
+ return isProtectedRoute(pathname);
29127
+ };
29128
+ var isSilentAuthRedirectCompatible = () => {
29129
+ if (typeof window === "undefined") return true;
29130
+ const configuredRedirectUri = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI");
29131
+ if (!configuredRedirectUri) return true;
29132
+ try {
29133
+ const currentUrl = new URL(window.location.href);
29134
+ const redirectUrl = new URL(configuredRedirectUri, window.location.origin);
29135
+ if (redirectUrl.origin === currentUrl.origin) {
29136
+ return true;
29137
+ }
29138
+ const usesLoopbackHosts = LOOPBACK_HOSTNAMES.has(redirectUrl.hostname) && LOOPBACK_HOSTNAMES.has(currentUrl.hostname);
29139
+ return usesLoopbackHosts && redirectUrl.protocol === currentUrl.protocol && redirectUrl.port === currentUrl.port;
29140
+ } catch (e) {
29141
+ return true;
29142
+ }
29143
+ };
28493
29144
  var DEFAULT_PRESENCE_STATUS = "online";
28494
29145
  var PRESENCE_STATUS_VALUES2 = [
28495
29146
  "online",
@@ -28569,7 +29220,7 @@ var readStoredPresenceSource = () => {
28569
29220
  if (isPresenceSource(stored)) return stored;
28570
29221
  return "auto";
28571
29222
  };
28572
- var AuthContext = (0, import_react25.createContext)(void 0);
29223
+ var AuthContext = (0, import_react28.createContext)(void 0);
28573
29224
  var readStoredToken = () => {
28574
29225
  const accessToken = sessionStorage.getItem(STORAGE_KEYS.accessToken);
28575
29226
  const idToken = sessionStorage.getItem(STORAGE_KEYS.idToken);
@@ -28688,17 +29339,17 @@ var buildUserFromTokens = ({
28688
29339
  };
28689
29340
  };
28690
29341
  var AuthProvider = ({ children }) => {
28691
- const [status, setStatus] = (0, import_react25.useState)("loading");
28692
- const [accessToken, setAccessToken] = (0, import_react25.useState)(null);
28693
- const [user, setUser] = (0, import_react25.useState)(null);
28694
- const [presenceStatus, setPresenceStatusState] = (0, import_react25.useState)(() => readStoredPresence());
28695
- const presenceStatusRef = (0, import_react25.useRef)(readStoredPresence());
28696
- const presenceSourceRef = (0, import_react25.useRef)(readStoredPresenceSource());
28697
- const lastActivityAtRef = (0, import_react25.useRef)(Date.now());
28698
- const lastActivityBroadcastAtRef = (0, import_react25.useRef)(0);
28699
- const resolvedPresenceIdentityKeyRef = (0, import_react25.useRef)(null);
28700
- const resolvedPresenceUserIdRef = (0, import_react25.useRef)(null);
28701
- const storePresenceStatus = (0, import_react25.useCallback)((nextStatus, source) => {
29342
+ const [status, setStatus] = (0, import_react28.useState)("loading");
29343
+ const [accessToken, setAccessToken] = (0, import_react28.useState)(null);
29344
+ const [user, setUser] = (0, import_react28.useState)(null);
29345
+ const [presenceStatus, setPresenceStatusState] = (0, import_react28.useState)(() => readStoredPresence());
29346
+ const presenceStatusRef = (0, import_react28.useRef)(readStoredPresence());
29347
+ const presenceSourceRef = (0, import_react28.useRef)(readStoredPresenceSource());
29348
+ const lastActivityAtRef = (0, import_react28.useRef)(Date.now());
29349
+ const lastActivityBroadcastAtRef = (0, import_react28.useRef)(0);
29350
+ const resolvedPresenceIdentityKeyRef = (0, import_react28.useRef)(null);
29351
+ const resolvedPresenceUserIdRef = (0, import_react28.useRef)(null);
29352
+ const storePresenceStatus = (0, import_react28.useCallback)((nextStatus, source) => {
28702
29353
  setPresenceStatusState(nextStatus);
28703
29354
  presenceStatusRef.current = nextStatus;
28704
29355
  sessionStorage.setItem(STORAGE_KEYS.presence, nextStatus);
@@ -28708,7 +29359,7 @@ var AuthProvider = ({ children }) => {
28708
29359
  localStorage.setItem(LOCAL_STORAGE_KEYS.presenceSource, source);
28709
29360
  }
28710
29361
  }, []);
28711
- const resolvePresenceUserId = (0, import_react25.useCallback)(async (targetUser) => {
29362
+ const resolvePresenceUserId = (0, import_react28.useCallback)(async (targetUser) => {
28712
29363
  var _a78, _b7, _c, _d;
28713
29364
  const sub = toNonEmptyString(targetUser == null ? void 0 : targetUser.sub);
28714
29365
  const id = toNonEmptyString(targetUser == null ? void 0 : targetUser.id);
@@ -28746,7 +29397,7 @@ var AuthProvider = ({ children }) => {
28746
29397
  resolvedPresenceUserIdRef.current = fallbackUserId;
28747
29398
  return fallbackUserId;
28748
29399
  }, []);
28749
- const syncPresenceFromRecord = (0, import_react25.useCallback)(
29400
+ const syncPresenceFromRecord = (0, import_react28.useCallback)(
28750
29401
  (rawRow) => {
28751
29402
  var _a78, _b7, _c;
28752
29403
  if (!rawRow) return;
@@ -28761,7 +29412,7 @@ var AuthProvider = ({ children }) => {
28761
29412
  },
28762
29413
  [storePresenceStatus]
28763
29414
  );
28764
- const persistPresenceLegacy = (0, import_react25.useCallback)(
29415
+ const persistPresenceLegacy = (0, import_react28.useCallback)(
28765
29416
  async (nextStatus, source, targetUser, options) => {
28766
29417
  const userId = await resolvePresenceUserId(targetUser != null ? targetUser : user);
28767
29418
  if (!userId) return false;
@@ -28796,7 +29447,7 @@ var AuthProvider = ({ children }) => {
28796
29447
  },
28797
29448
  [resolvePresenceUserId, syncPresenceFromRecord, user]
28798
29449
  );
28799
- const executePresenceRpc = (0, import_react25.useCallback)(
29450
+ const executePresenceRpc = (0, import_react28.useCallback)(
28800
29451
  async (fnName, payload, options) => {
28801
29452
  const supabase = getSupabase();
28802
29453
  if (!supabase) {
@@ -28824,7 +29475,7 @@ var AuthProvider = ({ children }) => {
28824
29475
  },
28825
29476
  [persistPresenceLegacy, syncPresenceFromRecord]
28826
29477
  );
28827
- const touchPresence = (0, import_react25.useCallback)(
29478
+ const touchPresence = (0, import_react28.useCallback)(
28828
29479
  async (options) => {
28829
29480
  var _a78;
28830
29481
  const targetUser = (_a78 = options == null ? void 0 : options.targetUser) != null ? _a78 : user;
@@ -28855,7 +29506,7 @@ var AuthProvider = ({ children }) => {
28855
29506
  },
28856
29507
  [executePresenceRpc, resolvePresenceUserId, user]
28857
29508
  );
28858
- const markPresenceIdle = (0, import_react25.useCallback)(
29509
+ const markPresenceIdle = (0, import_react28.useCallback)(
28859
29510
  async (targetUser) => {
28860
29511
  const resolvedTargetUser = targetUser != null ? targetUser : user;
28861
29512
  const userId = await resolvePresenceUserId(resolvedTargetUser);
@@ -28880,7 +29531,7 @@ var AuthProvider = ({ children }) => {
28880
29531
  },
28881
29532
  [executePresenceRpc, resolvePresenceUserId, user]
28882
29533
  );
28883
- const setPresenceNetworkStatus = (0, import_react25.useCallback)(
29534
+ const setPresenceNetworkStatus = (0, import_react28.useCallback)(
28884
29535
  async (nextStatus, source, targetUser) => {
28885
29536
  const resolvedTargetUser = targetUser != null ? targetUser : user;
28886
29537
  const userId = await resolvePresenceUserId(resolvedTargetUser);
@@ -28906,7 +29557,7 @@ var AuthProvider = ({ children }) => {
28906
29557
  },
28907
29558
  [executePresenceRpc, resolvePresenceUserId, user]
28908
29559
  );
28909
- const loadPresenceFromDatabase = (0, import_react25.useCallback)(
29560
+ const loadPresenceFromDatabase = (0, import_react28.useCallback)(
28910
29561
  async (targetUser) => {
28911
29562
  const userId = await resolvePresenceUserId(targetUser);
28912
29563
  if (!userId) return;
@@ -28940,7 +29591,7 @@ var AuthProvider = ({ children }) => {
28940
29591
  },
28941
29592
  [resolvePresenceUserId, syncPresenceFromRecord, touchPresence]
28942
29593
  );
28943
- const clearAuthFlowState = (0, import_react25.useCallback)((options) => {
29594
+ const clearAuthFlowState = (0, import_react28.useCallback)((options) => {
28944
29595
  sessionStorage.removeItem(STORAGE_KEYS.state);
28945
29596
  sessionStorage.removeItem(STORAGE_KEYS.verifier);
28946
29597
  sessionStorage.removeItem(STORAGE_KEYS.nonce);
@@ -28950,7 +29601,7 @@ var AuthProvider = ({ children }) => {
28950
29601
  sessionStorage.removeItem(STORAGE_KEYS.silentCheckDone);
28951
29602
  }
28952
29603
  }, []);
28953
- const startAuthorization = (0, import_react25.useCallback)(
29604
+ const startAuthorization = (0, import_react28.useCallback)(
28954
29605
  async (options) => {
28955
29606
  var _a78, _b7;
28956
29607
  const config = getAccountsConfig();
@@ -28976,7 +29627,7 @@ var AuthProvider = ({ children }) => {
28976
29627
  },
28977
29628
  []
28978
29629
  );
28979
- const attemptSilentLogin = (0, import_react25.useCallback)(async () => {
29630
+ const attemptSilentLogin = (0, import_react28.useCallback)(async () => {
28980
29631
  if (typeof window === "undefined") return false;
28981
29632
  if (window.location.pathname.startsWith("/auth/callback")) return false;
28982
29633
  if (sessionStorage.getItem(STORAGE_KEYS.silentCheckDone) === "1") return false;
@@ -28987,7 +29638,7 @@ var AuthProvider = ({ children }) => {
28987
29638
  });
28988
29639
  return true;
28989
29640
  }, [startAuthorization]);
28990
- (0, import_react25.useEffect)(() => {
29641
+ (0, import_react28.useEffect)(() => {
28991
29642
  let cancelled = false;
28992
29643
  const initializeAuth = async () => {
28993
29644
  var _a78;
@@ -29011,9 +29662,13 @@ var AuthProvider = ({ children }) => {
29011
29662
  sessionStorage.removeItem(STORAGE_KEYS.presence);
29012
29663
  sessionStorage.removeItem(STORAGE_KEYS.presenceSource);
29013
29664
  localStorage.removeItem(LOCAL_STORAGE_KEYS.presenceSource);
29665
+ const pathname = typeof window === "undefined" ? "/" : window.location.pathname;
29666
+ const shouldAttemptSilentLogin = shouldAttemptSilentLoginForPath(pathname) && isSilentAuthRedirectCompatible();
29014
29667
  try {
29015
- const redirected = await attemptSilentLogin();
29016
- if (redirected || cancelled) return;
29668
+ if (shouldAttemptSilentLogin) {
29669
+ const redirected = await attemptSilentLogin();
29670
+ if (redirected || cancelled) return;
29671
+ }
29017
29672
  } catch (error) {
29018
29673
  if (isRuntimeDev()) {
29019
29674
  console.warn("[auth] Falha na verifica\xE7\xE3o silenciosa de sess\xE3o:", error.message);
@@ -29028,7 +29683,7 @@ var AuthProvider = ({ children }) => {
29028
29683
  cancelled = true;
29029
29684
  };
29030
29685
  }, [attemptSilentLogin]);
29031
- (0, import_react25.useEffect)(() => {
29686
+ (0, import_react28.useEffect)(() => {
29032
29687
  var _a78;
29033
29688
  if (status !== "authenticated") return;
29034
29689
  if (user) return;
@@ -29041,15 +29696,15 @@ var AuthProvider = ({ children }) => {
29041
29696
  if (!hydratedUser) return;
29042
29697
  setUser(hydratedUser);
29043
29698
  }, [status, user]);
29044
- (0, import_react25.useEffect)(() => {
29699
+ (0, import_react28.useEffect)(() => {
29045
29700
  resolvedPresenceIdentityKeyRef.current = null;
29046
29701
  resolvedPresenceUserIdRef.current = null;
29047
29702
  }, [user == null ? void 0 : user.email, user == null ? void 0 : user.id, user == null ? void 0 : user.sub, user == null ? void 0 : user.userId]);
29048
- (0, import_react25.useEffect)(() => {
29703
+ (0, import_react28.useEffect)(() => {
29049
29704
  if (status !== "authenticated") return;
29050
29705
  void loadPresenceFromDatabase(user);
29051
29706
  }, [loadPresenceFromDatabase, status, user]);
29052
- (0, import_react25.useEffect)(() => {
29707
+ (0, import_react28.useEffect)(() => {
29053
29708
  if (status !== "authenticated") return;
29054
29709
  const supabase = getSupabase();
29055
29710
  if (!supabase) return;
@@ -29086,7 +29741,7 @@ var AuthProvider = ({ children }) => {
29086
29741
  }
29087
29742
  };
29088
29743
  }, [resolvePresenceUserId, status, storePresenceStatus, syncPresenceFromRecord, user]);
29089
- (0, import_react25.useEffect)(() => {
29744
+ (0, import_react28.useEffect)(() => {
29090
29745
  if (status !== "authenticated") return;
29091
29746
  const registerActivity = () => {
29092
29747
  lastActivityAtRef.current = Date.now();
@@ -29135,13 +29790,13 @@ var AuthProvider = ({ children }) => {
29135
29790
  document.removeEventListener("visibilitychange", onVisibility);
29136
29791
  };
29137
29792
  }, [markPresenceIdle, status, touchPresence]);
29138
- const login = (0, import_react25.useCallback)(async (redirectTo) => {
29793
+ const login = (0, import_react28.useCallback)(async (redirectTo) => {
29139
29794
  await startAuthorization({
29140
29795
  mode: "interactive",
29141
29796
  redirectTo: redirectTo != null ? redirectTo : window.location.pathname + window.location.search + window.location.hash
29142
29797
  });
29143
29798
  }, [startAuthorization]);
29144
- const completeLogin = (0, import_react25.useCallback)(async () => {
29799
+ const completeLogin = (0, import_react28.useCallback)(async () => {
29145
29800
  var _a78;
29146
29801
  const params = new URLSearchParams(window.location.search);
29147
29802
  const redirectTo = (_a78 = sessionStorage.getItem(STORAGE_KEYS.redirect)) != null ? _a78 : "/";
@@ -29211,7 +29866,7 @@ var AuthProvider = ({ children }) => {
29211
29866
  return { ok: false, error: err.message };
29212
29867
  }
29213
29868
  }, [clearAuthFlowState]);
29214
- const logout = (0, import_react25.useCallback)(async () => {
29869
+ const logout = (0, import_react28.useCallback)(async () => {
29215
29870
  var _a78;
29216
29871
  const config = getAccountsConfig();
29217
29872
  const { logoutUrl } = await resolveOidcEndpoints(config);
@@ -29230,13 +29885,13 @@ var AuthProvider = ({ children }) => {
29230
29885
  window.location.assign(url);
29231
29886
  }
29232
29887
  }, [setPresenceNetworkStatus, storePresenceStatus, user]);
29233
- const getAccessToken = (0, import_react25.useCallback)(async () => {
29888
+ const getAccessToken = (0, import_react28.useCallback)(async () => {
29234
29889
  const stored = readStoredToken();
29235
29890
  if (stored == null ? void 0 : stored.accessToken) return stored.accessToken;
29236
29891
  if (accessToken) return accessToken;
29237
29892
  throw new Error("Usu\xE1rio n\xE3o autenticado.");
29238
29893
  }, [accessToken]);
29239
- const setPresenceStatus = (0, import_react25.useCallback)(
29894
+ const setPresenceStatus = (0, import_react28.useCallback)(
29240
29895
  async (nextStatus) => {
29241
29896
  if (!isUserPresenceStatus(nextStatus) || nextStatus === "offline") return;
29242
29897
  const now = Date.now();
@@ -29247,7 +29902,7 @@ var AuthProvider = ({ children }) => {
29247
29902
  },
29248
29903
  [setPresenceNetworkStatus]
29249
29904
  );
29250
- const value = (0, import_react25.useMemo)(
29905
+ const value = (0, import_react28.useMemo)(
29251
29906
  () => ({
29252
29907
  status,
29253
29908
  user,
@@ -29261,10 +29916,10 @@ var AuthProvider = ({ children }) => {
29261
29916
  }),
29262
29917
  [status, user, accessToken, login, logout, completeLogin, getAccessToken, presenceStatus, setPresenceStatus]
29263
29918
  );
29264
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(AuthContext.Provider, { value, children });
29919
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(AuthContext.Provider, { value, children });
29265
29920
  };
29266
29921
  var useAuth = () => {
29267
- const ctx = (0, import_react25.useContext)(AuthContext);
29922
+ const ctx = (0, import_react28.useContext)(AuthContext);
29268
29923
  if (!ctx) {
29269
29924
  throw new Error("useAuth deve ser usado dentro de AuthProvider.");
29270
29925
  }
@@ -29291,6 +29946,7 @@ var useAuth = () => {
29291
29946
  AlertDialogTitle,
29292
29947
  AlertDialogTrigger,
29293
29948
  AlertTitle,
29949
+ AnimatedThemeToggle,
29294
29950
  AppSidebar,
29295
29951
  AspectRatio,
29296
29952
  AuthProvider,
@@ -29579,6 +30235,8 @@ var useAuth = () => {
29579
30235
  TelescupVideo,
29580
30236
  Textarea,
29581
30237
  TextareaField,
30238
+ ThemeProvider,
30239
+ ThemeScript,
29582
30240
  ThemeToggle,
29583
30241
  Timeline,
29584
30242
  Toast,
@@ -29639,6 +30297,7 @@ var useAuth = () => {
29639
30297
  toast,
29640
30298
  toggleVariants,
29641
30299
  useActiveSection,
30300
+ useAppTheme,
29642
30301
  useAuth,
29643
30302
  useBreakpoint,
29644
30303
  useFormField,