@cupcodev/ui 8.1.1 → 8.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1450,6 +1450,7 @@ function buildTelescupImageURL(options) {
1450
1450
  return `${getApiBase()}/i?${params.toString()}`;
1451
1451
  }
1452
1452
  function resolveTelescupImageURL(value, options) {
1453
+ var _a25;
1453
1454
  const raw = value == null ? void 0 : value.trim();
1454
1455
  if (!raw) return void 0;
1455
1456
  const parsedId = parseAssetId(raw);
@@ -1466,7 +1467,14 @@ function resolveTelescupImageURL(value, options) {
1466
1467
  if (raw.startsWith("http://") || raw.startsWith("https://") || raw.startsWith("data:") || raw.startsWith("blob:")) {
1467
1468
  return raw;
1468
1469
  }
1469
- return void 0;
1470
+ return buildTelescupImageURL({
1471
+ id: raw,
1472
+ width: options == null ? void 0 : options.width,
1473
+ height: options == null ? void 0 : options.height,
1474
+ fit: options == null ? void 0 : options.fit,
1475
+ format: (_a25 = options == null ? void 0 : options.format) != null ? _a25 : "webp",
1476
+ quality: options == null ? void 0 : options.quality
1477
+ });
1470
1478
  }
1471
1479
  function buildTelescupVideoURL(id) {
1472
1480
  return `${getApiBase()}/i/v?id=${id}`;
@@ -2153,7 +2161,7 @@ var DockWrapper_default = DockWrapper;
2153
2161
 
2154
2162
  // src/components/layout/main-layout.tsx
2155
2163
  import { ChevronRight as ChevronRight2, Menu as Menu2 } from "lucide-react";
2156
- import { useCallback as useCallback7, useEffect as useEffect17, useMemo as useMemo12, useState as useState16 } from "react";
2164
+ import { useCallback as useCallback7, useEffect as useEffect17, useMemo as useMemo13, useState as useState16 } from "react";
2157
2165
 
2158
2166
  // src/lib/navigation.tsx
2159
2167
  import { AppWindow, BookOpen, Film, Home, Layers, Link2, Package } from "lucide-react";
@@ -2202,7 +2210,7 @@ var getMainNavItems = ({ includePrivate = true } = {}) => {
2202
2210
  };
2203
2211
 
2204
2212
  // src/components/cupcode/MainNavbar.tsx
2205
- import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo9, useState as useState13 } from "react";
2213
+ import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo10, useState as useState13 } from "react";
2206
2214
 
2207
2215
  // src/components/cupcode/NavbarCupcode.tsx
2208
2216
  import * as React5 from "react";
@@ -2448,6 +2456,7 @@ var NavbarCupcode_default = NavbarCupcode;
2448
2456
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
2449
2457
  import {
2450
2458
  Check as Check3,
2459
+ Clock as Clock2,
2451
2460
  Cog,
2452
2461
  ExternalLink,
2453
2462
  Info,
@@ -2462,7 +2471,7 @@ import {
2462
2471
  import {
2463
2472
  useCallback as useCallback5,
2464
2473
  useEffect as useEffect12,
2465
- useMemo as useMemo8,
2474
+ useMemo as useMemo9,
2466
2475
  useState as useState11
2467
2476
  } from "react";
2468
2477
 
@@ -5844,6 +5853,250 @@ var TelescupUpload = ({
5844
5853
  ] }) });
5845
5854
  };
5846
5855
 
5856
+ // src/lib/accountsLoginHistory.ts
5857
+ var toStringOrUndefined = (value) => {
5858
+ if (typeof value !== "string") return void 0;
5859
+ const trimmed = value.trim();
5860
+ return trimmed.length > 0 ? trimmed : void 0;
5861
+ };
5862
+ var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
5863
+ var resolveAccountsApiBaseUrl = () => {
5864
+ var _a25, _b3, _c, _d;
5865
+ const appsApiBase = ((_b3 = (_a25 = getRuntimeEnv("VITE_APPS_API_BASE_URL")) != null ? _a25 : getRuntimeEnv("VITE_APPS_API_BASE")) != null ? _b3 : "").trim().replace(/\/+$/, "");
5866
+ if (appsApiBase) return `${appsApiBase}/api/accounts`;
5867
+ const accountsBase = ((_c = getRuntimeEnv("VITE_ACCOUNTS_BASE_URL")) != null ? _c : "https://accounts.cupcode.com.br").trim().replace(/\/+$/, "");
5868
+ const accountsApi = ((_d = getRuntimeEnv("VITE_ACCOUNTS_API_BASE_URL")) != null ? _d : "").trim().replace(/\/+$/, "");
5869
+ return accountsApi || accountsBase;
5870
+ };
5871
+ var parseBrowserFromUserAgent = (userAgent) => {
5872
+ var _a25;
5873
+ const ua = (_a25 = userAgent == null ? void 0 : userAgent.trim()) != null ? _a25 : "";
5874
+ if (!ua) return "Desconhecido";
5875
+ if (/Edg\//.test(ua)) return "Edge";
5876
+ if (/Chrome\//.test(ua)) return "Chrome";
5877
+ if (/Firefox\//.test(ua)) return "Firefox";
5878
+ if (/Safari\//.test(ua)) return "Safari";
5879
+ if (/curl/.test(ua)) return "curl";
5880
+ return ua.split(" ")[0] || "Desconhecido";
5881
+ };
5882
+ var parseOsFromUserAgent = (userAgent) => {
5883
+ var _a25;
5884
+ const ua = (_a25 = userAgent == null ? void 0 : userAgent.trim()) != null ? _a25 : "";
5885
+ if (!ua) return null;
5886
+ if (/Windows NT/.test(ua)) return "Windows";
5887
+ if (/Mac OS X/.test(ua)) return "macOS";
5888
+ if (/Linux/.test(ua)) return "Linux";
5889
+ if (/Android/.test(ua)) return "Android";
5890
+ if (/iPhone|iPad/.test(ua)) return "iOS";
5891
+ return null;
5892
+ };
5893
+ var normalizeLoginHistorySessions = (value) => {
5894
+ if (!Array.isArray(value)) return [];
5895
+ return value.filter(isRecord).map((row, index) => {
5896
+ var _a25, _b3, _c, _d, _e, _f;
5897
+ const id = (_a25 = toStringOrUndefined(row.id)) != null ? _a25 : `session-${index}`;
5898
+ return {
5899
+ id,
5900
+ createdAt: (_b3 = toStringOrUndefined(row.created_at)) != null ? _b3 : toStringOrUndefined(row.createdAt),
5901
+ lastSeen: (_c = toStringOrUndefined(row.last_seen)) != null ? _c : toStringOrUndefined(row.lastSeen),
5902
+ expiresAt: (_d = toStringOrUndefined(row.expires_at)) != null ? _d : toStringOrUndefined(row.expiresAt),
5903
+ ip: (_e = toStringOrUndefined(row.ip_address)) != null ? _e : toStringOrUndefined(row.ip),
5904
+ userAgent: (_f = toStringOrUndefined(row.user_agent)) != null ? _f : toStringOrUndefined(row.userAgent),
5905
+ active: typeof row.active === "boolean" ? row.active : null
5906
+ };
5907
+ }).filter((session) => Boolean(session == null ? void 0 : session.id));
5908
+ };
5909
+ var isLoginHistorySessionActive = (session, now = Date.now()) => {
5910
+ if (session.active === false) return false;
5911
+ if (!session.expiresAt) return Boolean(session.active);
5912
+ const expiresAt2 = new Date(session.expiresAt).getTime();
5913
+ if (Number.isNaN(expiresAt2)) return Boolean(session.active);
5914
+ return Boolean(session.active) && expiresAt2 > now;
5915
+ };
5916
+ var readStoredAccessToken = () => {
5917
+ var _a25;
5918
+ if (typeof window === "undefined") return null;
5919
+ const keys = ["cc_access_token", "access_token"];
5920
+ for (const key of keys) {
5921
+ const value = (_a25 = window.sessionStorage.getItem(key)) == null ? void 0 : _a25.trim();
5922
+ if (value) return value;
5923
+ }
5924
+ return null;
5925
+ };
5926
+ async function fetchAccountsLoginHistory(options) {
5927
+ var _a25;
5928
+ const base = ((_a25 = options == null ? void 0 : options.accountsApiBaseUrl) != null ? _a25 : resolveAccountsApiBaseUrl()).replace(/\/+$/, "");
5929
+ const resolveToken = async () => {
5930
+ if (options == null ? void 0 : options.getAccessToken) {
5931
+ try {
5932
+ const token2 = await options.getAccessToken();
5933
+ if (token2 == null ? void 0 : token2.trim()) return token2.trim();
5934
+ } catch (e) {
5935
+ }
5936
+ }
5937
+ return readStoredAccessToken();
5938
+ };
5939
+ const token = await resolveToken();
5940
+ if (token) {
5941
+ try {
5942
+ const response = await fetch(`${base}/me`, {
5943
+ headers: { Authorization: `Bearer ${token}` },
5944
+ credentials: "include"
5945
+ });
5946
+ if (response.ok) {
5947
+ const payload = await response.json();
5948
+ if (isRecord(payload)) {
5949
+ const sessions = normalizeLoginHistorySessions(payload.sessions);
5950
+ if (sessions.length > 0) return sessions;
5951
+ }
5952
+ }
5953
+ } catch (e) {
5954
+ }
5955
+ }
5956
+ try {
5957
+ const response = await fetch(`${base}/session`, { credentials: "include" });
5958
+ if (response.ok) {
5959
+ const payload = await response.json();
5960
+ if (isRecord(payload)) {
5961
+ return normalizeLoginHistorySessions(payload.sessions);
5962
+ }
5963
+ }
5964
+ } catch (e) {
5965
+ }
5966
+ return [];
5967
+ }
5968
+
5969
+ // src/components/cupcode/LoginHistoryCupcode.tsx
5970
+ import { Activity, Clock, Loader2, Monitor, Wifi } from "lucide-react";
5971
+ import { useMemo as useMemo8 } from "react";
5972
+ import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
5973
+ var formatDateTime = (value) => {
5974
+ if (!value) return void 0;
5975
+ const date = new Date(value);
5976
+ if (Number.isNaN(date.getTime())) return void 0;
5977
+ return date.toLocaleString("pt-BR", { hour12: false });
5978
+ };
5979
+ var LoginHistoryCupcode = ({
5980
+ sessions = [],
5981
+ isLoading = false,
5982
+ emptyLabel = "Nenhuma sess\xE3o registrada.",
5983
+ loadingLabel = "Carregando sess\xF5es...",
5984
+ className,
5985
+ variant = "default",
5986
+ maxItems = 20
5987
+ }) => {
5988
+ const visibleSessions = useMemo8(() => sessions.slice(0, maxItems), [maxItems, sessions]);
5989
+ const isCompact = variant === "compact";
5990
+ if (isLoading) {
5991
+ return /* @__PURE__ */ jsxs21(
5992
+ "div",
5993
+ {
5994
+ className: cn(
5995
+ "flex items-center justify-center gap-2 text-muted-foreground",
5996
+ isCompact ? "py-6 text-[11px]" : "py-10 text-sm",
5997
+ className
5998
+ ),
5999
+ children: [
6000
+ /* @__PURE__ */ jsx34(Loader2, { className: cn("animate-spin", isCompact ? "h-3.5 w-3.5" : "h-4 w-4") }),
6001
+ loadingLabel
6002
+ ]
6003
+ }
6004
+ );
6005
+ }
6006
+ if (visibleSessions.length === 0) {
6007
+ return /* @__PURE__ */ jsx34(
6008
+ "div",
6009
+ {
6010
+ className: cn(
6011
+ "text-center text-muted-foreground",
6012
+ isCompact ? "py-6 text-[11px]" : "py-10 text-sm",
6013
+ className
6014
+ ),
6015
+ children: emptyLabel
6016
+ }
6017
+ );
6018
+ }
6019
+ return /* @__PURE__ */ jsx34("div", { className: cn(isCompact ? "space-y-1.5" : "space-y-2", className), children: visibleSessions.map((session, index) => {
6020
+ var _a25;
6021
+ const browser = parseBrowserFromUserAgent(session.userAgent);
6022
+ const os = parseOsFromUserAgent(session.userAgent);
6023
+ const isActive = isLoginHistorySessionActive(session);
6024
+ const loginLabel = formatDateTime(session.createdAt);
6025
+ const lastSeenLabel = formatDateTime(session.lastSeen);
6026
+ const ip = ((_a25 = session.ip) == null ? void 0 : _a25.trim()) || "unknown";
6027
+ return /* @__PURE__ */ jsxs21(
6028
+ "div",
6029
+ {
6030
+ className: cn(
6031
+ "flex items-start gap-2.5 border border-primary/10 bg-background/50 transition hover:bg-primary/5",
6032
+ isCompact ? "rounded-md px-2.5 py-2" : "rounded-xl px-4 py-3"
6033
+ ),
6034
+ children: [
6035
+ /* @__PURE__ */ jsx34(
6036
+ "span",
6037
+ {
6038
+ className: cn(
6039
+ "mt-0.5 min-w-[22px] font-semibold tabular-nums text-muted-foreground/60",
6040
+ isCompact ? "text-[10px]" : "text-[11px]"
6041
+ ),
6042
+ children: String(index + 1).padStart(2, "0")
6043
+ }
6044
+ ),
6045
+ /* @__PURE__ */ jsx34(
6046
+ "div",
6047
+ {
6048
+ className: cn(
6049
+ "mt-0.5 flex shrink-0 items-center justify-center rounded-lg",
6050
+ isCompact ? "h-6 w-6" : "h-7 w-7",
6051
+ isActive ? "bg-emerald-500/15 text-emerald-400" : "bg-muted/40 text-muted-foreground"
6052
+ ),
6053
+ children: /* @__PURE__ */ jsx34(Monitor, { className: isCompact ? "h-3 w-3" : "h-3.5 w-3.5" })
6054
+ }
6055
+ ),
6056
+ /* @__PURE__ */ jsxs21("div", { className: "min-w-0 flex-1 space-y-1", children: [
6057
+ /* @__PURE__ */ jsxs21("div", { className: "flex flex-wrap items-center gap-1.5", children: [
6058
+ /* @__PURE__ */ jsxs21("span", { className: cn("font-medium text-foreground", isCompact ? "text-[11px]" : "text-sm"), children: [
6059
+ browser,
6060
+ os ? ` \xB7 ${os}` : ""
6061
+ ] }),
6062
+ isActive ? /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1 rounded-full bg-emerald-500/15 px-2 py-0.5 text-[10px] font-semibold text-emerald-400", children: [
6063
+ /* @__PURE__ */ jsx34("span", { className: "h-1.5 w-1.5 animate-pulse rounded-full bg-emerald-400" }),
6064
+ "Ativa"
6065
+ ] }) : /* @__PURE__ */ jsx34("span", { className: "inline-flex items-center gap-1 rounded-full bg-muted/50 px-2 py-0.5 text-[10px] font-semibold text-muted-foreground", children: "Expirada" })
6066
+ ] }),
6067
+ /* @__PURE__ */ jsxs21(
6068
+ "div",
6069
+ {
6070
+ className: cn(
6071
+ "flex flex-wrap items-center gap-x-3 gap-y-0.5 text-muted-foreground",
6072
+ isCompact ? "text-[10px]" : "text-xs"
6073
+ ),
6074
+ children: [
6075
+ loginLabel ? /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1", children: [
6076
+ /* @__PURE__ */ jsx34(Clock, { className: "h-3 w-3" }),
6077
+ "Login: ",
6078
+ loginLabel
6079
+ ] }) : null,
6080
+ lastSeenLabel ? /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1", children: [
6081
+ /* @__PURE__ */ jsx34(Activity, { className: "h-3 w-3" }),
6082
+ "\xDAltimo acesso: ",
6083
+ lastSeenLabel
6084
+ ] }) : null,
6085
+ /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1 font-mono", children: [
6086
+ /* @__PURE__ */ jsx34(Wifi, { className: "h-3 w-3" }),
6087
+ ip
6088
+ ] })
6089
+ ]
6090
+ }
6091
+ )
6092
+ ] })
6093
+ ]
6094
+ },
6095
+ session.id
6096
+ );
6097
+ }) });
6098
+ };
6099
+
5847
6100
  // src/lib/themePreference.ts
5848
6101
  var THEME_STORAGE_KEY = "cupcode-theme";
5849
6102
  var LEGACY_THEME_STORAGE_KEY = "theme";
@@ -5943,7 +6196,7 @@ function resolveStoredThemePreference(experienceSettingsTheme) {
5943
6196
  }
5944
6197
 
5945
6198
  // src/components/cupcode/UserMenuCupcode.tsx
5946
- import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
6199
+ import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
5947
6200
  var PRESENCE_META = {
5948
6201
  online: { label: "On-line", group: "online", kind: "dot", dotClass: "bg-success" },
5949
6202
  away: { label: "Ausente", group: "away", kind: "crescent" },
@@ -6042,10 +6295,10 @@ var PresenceBadge = ({ status, size = "sm" }) => {
6042
6295
  const moonSize = size === "lg" ? "h-[1.15rem] w-[1.15rem]" : size === "md" ? "h-3.5 w-3.5" : "h-3 w-3";
6043
6296
  const emojiSize = size === "lg" ? "text-base" : size === "md" ? "text-sm" : "text-xs";
6044
6297
  if (meta.kind === "dot") {
6045
- return /* @__PURE__ */ jsx34("span", { className: cn("inline-block rounded-full", dotSize, meta.dotClass), "aria-label": meta.label, title: meta.label });
6298
+ return /* @__PURE__ */ jsx35("span", { className: cn("inline-block rounded-full", dotSize, meta.dotClass), "aria-label": meta.label, title: meta.label });
6046
6299
  }
6047
6300
  if (meta.kind === "crescent") {
6048
- return /* @__PURE__ */ jsxs21(
6301
+ return /* @__PURE__ */ jsxs22(
6049
6302
  "svg",
6050
6303
  {
6051
6304
  viewBox: "0 0 24 24",
@@ -6053,13 +6306,13 @@ var PresenceBadge = ({ status, size = "sm" }) => {
6053
6306
  "aria-label": meta.label,
6054
6307
  role: "img",
6055
6308
  children: [
6056
- /* @__PURE__ */ jsx34("title", { children: meta.label }),
6057
- /* @__PURE__ */ jsx34("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z", fill: "currentColor" })
6309
+ /* @__PURE__ */ jsx35("title", { children: meta.label }),
6310
+ /* @__PURE__ */ jsx35("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z", fill: "currentColor" })
6058
6311
  ]
6059
6312
  }
6060
6313
  );
6061
6314
  }
6062
- return /* @__PURE__ */ jsx34("span", { className: cn("inline-block leading-none", emojiSize), "aria-label": meta.label, title: meta.label, children: meta.emoji });
6315
+ return /* @__PURE__ */ jsx35("span", { className: cn("inline-block leading-none", emojiSize), "aria-label": meta.label, title: meta.label, children: meta.emoji });
6063
6316
  };
6064
6317
  var UserMenuCupcode = ({
6065
6318
  isAuthenticated,
@@ -6083,6 +6336,9 @@ var UserMenuCupcode = ({
6083
6336
  isTwoFactorStatusLoading = false,
6084
6337
  recentActivity,
6085
6338
  isRecentActivityLoading = false,
6339
+ loginHistorySessions,
6340
+ isLoginHistoryLoading = false,
6341
+ getAccountsAccessToken,
6086
6342
  telescupBaseUrl,
6087
6343
  getTelescupAccessToken,
6088
6344
  appVersion,
@@ -6103,11 +6359,16 @@ var UserMenuCupcode = ({
6103
6359
  const [internalLanguage, setInternalLanguage] = useState11(() => normalizeLanguage(language));
6104
6360
  const [isLogoutConfirmOpen, setIsLogoutConfirmOpen] = useState11(false);
6105
6361
  const [internalStatus, setInternalStatus] = useState11(defaultStatus);
6106
- const initials = useMemo8(() => buildInitials(displayName, email), [displayName, email]);
6362
+ const [internalLoginHistorySessions, setInternalLoginHistorySessions] = useState11([]);
6363
+ const [isInternalLoginHistoryLoading, setIsInternalLoginHistoryLoading] = useState11(false);
6364
+ const isLoginHistoryControlled = typeof loginHistorySessions !== "undefined";
6365
+ const resolvedLoginHistorySessions = isLoginHistoryControlled ? loginHistorySessions != null ? loginHistorySessions : [] : internalLoginHistorySessions;
6366
+ const resolvedLoginHistoryLoading = isLoginHistoryControlled ? isLoginHistoryLoading : isInternalLoginHistoryLoading;
6367
+ const initials = useMemo9(() => buildInitials(displayName, email), [displayName, email]);
6107
6368
  const resolvedRole = roleLabel == null ? void 0 : roleLabel.trim();
6108
6369
  const resolvedTenantId = tenantId == null ? void 0 : tenantId.trim();
6109
- const resolvedAppVersion = useMemo8(() => resolveCupcodeAppVersion(appVersion), [appVersion]);
6110
- const appVersionLabel = useMemo8(() => formatAppVersion(resolvedAppVersion), [resolvedAppVersion]);
6370
+ const resolvedAppVersion = useMemo9(() => resolveCupcodeAppVersion(appVersion), [appVersion]);
6371
+ const appVersionLabel = useMemo9(() => formatAppVersion(resolvedAppVersion), [resolvedAppVersion]);
6111
6372
  const isStatusControlled = typeof status !== "undefined";
6112
6373
  const currentStatus = status != null ? status : internalStatus;
6113
6374
  const resolvedName = (displayName == null ? void 0 : displayName.trim()) || "Usu\xE1rio Cupcode";
@@ -6171,6 +6432,20 @@ var UserMenuCupcode = ({
6171
6432
  media.addListener(onSystemThemeChange);
6172
6433
  return () => media.removeListener(onSystemThemeChange);
6173
6434
  }, [themePreference]);
6435
+ useEffect12(() => {
6436
+ if (!isAuthenticated || !open || isLoginHistoryControlled) return;
6437
+ if (activeTab !== "settings") return;
6438
+ let canceled = false;
6439
+ setIsInternalLoginHistoryLoading(true);
6440
+ void fetchAccountsLoginHistory({ getAccessToken: getAccountsAccessToken }).then((sessions) => {
6441
+ if (!canceled) setInternalLoginHistorySessions(sessions);
6442
+ }).finally(() => {
6443
+ if (!canceled) setIsInternalLoginHistoryLoading(false);
6444
+ });
6445
+ return () => {
6446
+ canceled = true;
6447
+ };
6448
+ }, [activeTab, getAccountsAccessToken, isAuthenticated, isLoginHistoryControlled, open]);
6174
6449
  const runLogout = async () => {
6175
6450
  if (!onLogout || isLoggingOut) return;
6176
6451
  setIsLoggingOut(true);
@@ -6213,12 +6488,12 @@ var UserMenuCupcode = ({
6213
6488
  const renderPresenceStatusOptions = () => {
6214
6489
  return PRESENCE_OPTIONS.map((option) => {
6215
6490
  const isCurrent = option === currentStatus;
6216
- return /* @__PURE__ */ jsx34(DropdownMenuItem, { onSelect: () => changeStatus(option), className: "text-xs", children: /* @__PURE__ */ jsxs21("span", { className: "flex w-full items-center justify-between gap-2", children: [
6217
- /* @__PURE__ */ jsxs21("span", { className: "flex items-center gap-2", children: [
6218
- /* @__PURE__ */ jsx34(PresenceBadge, { status: option, size: "md" }),
6219
- /* @__PURE__ */ jsx34("span", { children: PRESENCE_META[option].label })
6491
+ return /* @__PURE__ */ jsx35(DropdownMenuItem, { onSelect: () => changeStatus(option), className: "text-xs", children: /* @__PURE__ */ jsxs22("span", { className: "flex w-full items-center justify-between gap-2", children: [
6492
+ /* @__PURE__ */ jsxs22("span", { className: "flex items-center gap-2", children: [
6493
+ /* @__PURE__ */ jsx35(PresenceBadge, { status: option, size: "md" }),
6494
+ /* @__PURE__ */ jsx35("span", { children: PRESENCE_META[option].label })
6220
6495
  ] }),
6221
- isCurrent ? /* @__PURE__ */ jsx34(Check3, { className: "h-3.5 w-3.5 text-primary" }) : null
6496
+ isCurrent ? /* @__PURE__ */ jsx35(Check3, { className: "h-3.5 w-3.5 text-primary" }) : null
6222
6497
  ] }) }, option);
6223
6498
  });
6224
6499
  };
@@ -6271,10 +6546,10 @@ var UserMenuCupcode = ({
6271
6546
  const renderDefaultPanel = () => {
6272
6547
  var _a25;
6273
6548
  if (activeTab === "profile") {
6274
- return /* @__PURE__ */ jsxs21("div", { className: "space-y-4", children: [
6275
- /* @__PURE__ */ jsxs21("div", { className: "pt-1 text-center", children: [
6276
- /* @__PURE__ */ jsxs21("div", { className: "relative mx-auto h-20 w-20", children: [
6277
- /* @__PURE__ */ jsx34(
6549
+ return /* @__PURE__ */ jsxs22("div", { className: "space-y-4", children: [
6550
+ /* @__PURE__ */ jsxs22("div", { className: "pt-1 text-center", children: [
6551
+ /* @__PURE__ */ jsxs22("div", { className: "relative mx-auto h-20 w-20", children: [
6552
+ /* @__PURE__ */ jsx35(
6278
6553
  "button",
6279
6554
  {
6280
6555
  type: "button",
@@ -6282,40 +6557,40 @@ var UserMenuCupcode = ({
6282
6557
  className: "block h-20 w-20 rounded-full transition-all hover:shadow-[0_0_0_2px_rgba(151,90,182,0.3),0_18px_24px_-22px_rgba(151,90,182,0.3)]",
6283
6558
  "aria-label": "Abrir foto de perfil",
6284
6559
  title: "Abrir foto de perfil",
6285
- children: /* @__PURE__ */ jsxs21(Avatar2, { className: "h-20 w-20 border border-border/70 shadow-none", children: [
6286
- /* @__PURE__ */ jsx34(AvatarImage2, { src: resolvedProfileAvatarUrl, alt: resolvedName }),
6287
- /* @__PURE__ */ jsx34(AvatarFallback2, { className: "bg-muted text-2xl font-semibold text-foreground", children: initials })
6560
+ children: /* @__PURE__ */ jsxs22(Avatar2, { className: "h-20 w-20 border border-border/70 shadow-none", children: [
6561
+ /* @__PURE__ */ jsx35(AvatarImage2, { src: resolvedProfileAvatarUrl, alt: resolvedName }),
6562
+ /* @__PURE__ */ jsx35(AvatarFallback2, { className: "bg-muted text-2xl font-semibold text-foreground", children: initials })
6288
6563
  ] })
6289
6564
  }
6290
6565
  ),
6291
- /* @__PURE__ */ jsxs21(DropdownMenu, { children: [
6292
- /* @__PURE__ */ jsx34(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx34(
6566
+ /* @__PURE__ */ jsxs22(DropdownMenu, { children: [
6567
+ /* @__PURE__ */ jsx35(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx35(
6293
6568
  "button",
6294
6569
  {
6295
6570
  type: "button",
6296
6571
  className: "absolute bottom-1 right-1 inline-flex items-center justify-center rounded-full p-0.5 transition-transform hover:scale-110 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",
6297
6572
  "aria-label": "Alterar status",
6298
6573
  title: "Alterar status",
6299
- children: /* @__PURE__ */ jsx34(PresenceBadge, { status: currentStatus, size: "lg" })
6574
+ children: /* @__PURE__ */ jsx35(PresenceBadge, { status: currentStatus, size: "lg" })
6300
6575
  }
6301
6576
  ) }),
6302
- /* @__PURE__ */ jsx34(DropdownMenuContent, { align: "end", sideOffset: 8, className: "z-[1800] w-44", children: renderPresenceStatusOptions() })
6577
+ /* @__PURE__ */ jsx35(DropdownMenuContent, { align: "end", sideOffset: 8, className: "z-[1800] w-44", children: renderPresenceStatusOptions() })
6303
6578
  ] })
6304
6579
  ] }),
6305
- /* @__PURE__ */ jsxs21("div", { className: "mt-3 space-y-2.5", children: [
6306
- /* @__PURE__ */ jsx34("h3", { className: "text-xl font-bold leading-tight text-foreground", children: resolvedName }),
6307
- /* @__PURE__ */ jsx34("p", { className: "truncate text-sm text-muted-foreground", children: resolvedEmail }),
6308
- /* @__PURE__ */ jsx34("div", { className: "border-t border-border/60" }),
6309
- /* @__PURE__ */ jsx34("div", { className: "flex justify-center pt-0.5", children: /* @__PURE__ */ jsxs21("div", { className: cn(MENU_SURFACE_CLASS_NAME, "inline-flex max-w-full items-center gap-2 px-2.5 py-1.5"), children: [
6310
- /* @__PURE__ */ jsx34("span", { className: "truncate rounded-md bg-emerald-500/15 px-2 py-0.5 text-[11px] font-bold uppercase tracking-wide text-emerald-400", children: resolvedRole != null ? resolvedRole : "\u2014" }),
6311
- /* @__PURE__ */ jsx34("span", { className: "shrink-0 text-[10px] font-semibold text-muted-foreground/70", "aria-hidden": true, children: "|" }),
6312
- /* @__PURE__ */ jsx34("span", { className: "truncate rounded-md bg-fuchsia-500/15 px-2 py-0.5 text-[11px] font-bold text-fuchsia-300", children: resolvedTenantId != null ? resolvedTenantId : "\u2014" })
6580
+ /* @__PURE__ */ jsxs22("div", { className: "mt-3 space-y-2.5", children: [
6581
+ /* @__PURE__ */ jsx35("h3", { className: "text-xl font-bold leading-tight text-foreground", children: resolvedName }),
6582
+ /* @__PURE__ */ jsx35("p", { className: "truncate text-sm text-muted-foreground", children: resolvedEmail }),
6583
+ /* @__PURE__ */ jsx35("div", { className: "border-t border-border/60" }),
6584
+ /* @__PURE__ */ jsx35("div", { className: "flex justify-center pt-0.5", children: /* @__PURE__ */ jsxs22("div", { className: cn(MENU_SURFACE_CLASS_NAME, "inline-flex max-w-full items-center gap-2 px-2.5 py-1.5"), children: [
6585
+ /* @__PURE__ */ jsx35("span", { className: "truncate rounded-md bg-emerald-500/15 px-2 py-0.5 text-[11px] font-bold uppercase tracking-wide text-emerald-400", children: resolvedRole != null ? resolvedRole : "\u2014" }),
6586
+ /* @__PURE__ */ jsx35("span", { className: "shrink-0 text-[10px] font-semibold text-muted-foreground/70", "aria-hidden": true, children: "|" }),
6587
+ /* @__PURE__ */ jsx35("span", { className: "truncate rounded-md bg-fuchsia-500/15 px-2 py-0.5 text-[11px] font-bold text-fuchsia-300", children: resolvedTenantId != null ? resolvedTenantId : "\u2014" })
6313
6588
  ] }) })
6314
6589
  ] })
6315
6590
  ] }),
6316
- /* @__PURE__ */ jsxs21("div", { className: cn(MENU_SURFACE_CLASS_NAME, "p-2.5"), children: [
6317
- /* @__PURE__ */ jsx34("p", { className: "px-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: "Acessos r\xE1pidos" }),
6318
- /* @__PURE__ */ jsx34("div", { className: "mt-1.5 space-y-1", children: PROFILE_QUICK_LINKS.map((link) => /* @__PURE__ */ jsxs21(
6591
+ /* @__PURE__ */ jsxs22("div", { className: cn(MENU_SURFACE_CLASS_NAME, "p-2.5"), children: [
6592
+ /* @__PURE__ */ jsx35("p", { className: "px-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: "Acessos r\xE1pidos" }),
6593
+ /* @__PURE__ */ jsx35("div", { className: "mt-1.5 space-y-1", children: PROFILE_QUICK_LINKS.map((link) => /* @__PURE__ */ jsxs22(
6319
6594
  "button",
6320
6595
  {
6321
6596
  type: "button",
@@ -6325,38 +6600,38 @@ var UserMenuCupcode = ({
6325
6600
  "flex w-full items-center justify-between px-2.5 py-1.5 text-left text-xs font-semibold text-foreground shadow-none transition-all hover:border-border/70 hover:bg-background/65"
6326
6601
  ),
6327
6602
  children: [
6328
- /* @__PURE__ */ jsx34("span", { children: link.label }),
6329
- /* @__PURE__ */ jsx34(ExternalLink, { className: "h-3 w-3 shrink-0 text-muted-foreground" })
6603
+ /* @__PURE__ */ jsx35("span", { children: link.label }),
6604
+ /* @__PURE__ */ jsx35(ExternalLink, { className: "h-3 w-3 shrink-0 text-muted-foreground" })
6330
6605
  ]
6331
6606
  },
6332
6607
  link.href
6333
6608
  )) })
6334
6609
  ] }),
6335
- /* @__PURE__ */ jsxs21("div", { className: cn(MENU_SURFACE_CLASS_NAME, "space-y-2 p-2.5"), children: [
6336
- /* @__PURE__ */ jsxs21("div", { children: [
6337
- /* @__PURE__ */ jsx34("p", { className: "text-xs font-semibold text-foreground", children: "Vers\xE3o do app" }),
6338
- /* @__PURE__ */ jsx34("p", { className: "mt-1 text-[11px] leading-relaxed text-muted-foreground", children: "Vers\xE3o do aplicativo atual que est\xE1 exibindo este menu." })
6610
+ /* @__PURE__ */ jsxs22("div", { className: cn(MENU_SURFACE_CLASS_NAME, "space-y-2 p-2.5"), children: [
6611
+ /* @__PURE__ */ jsxs22("div", { children: [
6612
+ /* @__PURE__ */ jsx35("p", { className: "text-xs font-semibold text-foreground", children: "Vers\xE3o do app" }),
6613
+ /* @__PURE__ */ jsx35("p", { className: "mt-1 text-[11px] leading-relaxed text-muted-foreground", children: "Vers\xE3o do aplicativo atual que est\xE1 exibindo este menu." })
6339
6614
  ] }),
6340
- /* @__PURE__ */ jsxs21("div", { className: cn(MENU_CARD_ITEM_CLASS_NAME, "flex items-center justify-between gap-2 px-2.5 py-1.5"), children: [
6341
- /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1.5 text-xs font-semibold text-foreground", children: [
6342
- /* @__PURE__ */ jsx34(Info, { className: "h-3.5 w-3.5 text-primary" }),
6615
+ /* @__PURE__ */ jsxs22("div", { className: cn(MENU_CARD_ITEM_CLASS_NAME, "flex items-center justify-between gap-2 px-2.5 py-1.5"), children: [
6616
+ /* @__PURE__ */ jsxs22("span", { className: "inline-flex items-center gap-1.5 text-xs font-semibold text-foreground", children: [
6617
+ /* @__PURE__ */ jsx35(Info, { className: "h-3.5 w-3.5 text-primary" }),
6343
6618
  "Vers\xE3o atual"
6344
6619
  ] }),
6345
- /* @__PURE__ */ jsx34("span", { className: "rounded border border-border/60 bg-background/60 px-2 py-0.5 text-[10px] font-semibold text-foreground", children: appVersionLabel })
6620
+ /* @__PURE__ */ jsx35("span", { className: "rounded border border-border/60 bg-background/60 px-2 py-0.5 text-[10px] font-semibold text-foreground", children: appVersionLabel })
6346
6621
  ] })
6347
6622
  ] }),
6348
- /* @__PURE__ */ jsx34(DialogPrimitive2.Root, { open: isProfileImageDialogOpen, onOpenChange: setIsProfileImageDialogOpen, children: /* @__PURE__ */ jsxs21(DialogPrimitive2.Portal, { children: [
6349
- /* @__PURE__ */ jsx34(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-[3500] bg-black/70 backdrop-blur-[2px] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }),
6350
- /* @__PURE__ */ jsxs21(DialogPrimitive2.Content, { className: "fixed left-1/2 top-1/2 z-[3510] w-[calc(100%-1.5rem)] max-w-md -translate-x-1/2 -translate-y-1/2 rounded-md border border-border/70 bg-background p-5 text-foreground shadow-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", children: [
6351
- /* @__PURE__ */ jsx34(DialogPrimitive2.Title, { className: "text-lg font-semibold", children: "Foto de perfil" }),
6352
- /* @__PURE__ */ jsx34(DialogPrimitive2.Description, { className: "mt-1 text-sm text-muted-foreground", children: "Visualize sua imagem atual e edite quando quiser." }),
6353
- /* @__PURE__ */ jsxs21("div", { className: "mx-auto mt-4 flex w-full max-w-[18rem] flex-col items-center gap-3", children: [
6354
- /* @__PURE__ */ jsxs21("div", { className: "relative", children: [
6355
- /* @__PURE__ */ jsxs21(Avatar2, { className: "h-48 w-48 border border-border/70 shadow-none", children: [
6356
- /* @__PURE__ */ jsx34(AvatarImage2, { src: resolvedProfileAvatarUrl, alt: resolvedName }),
6357
- /* @__PURE__ */ jsx34(AvatarFallback2, { className: "bg-muted text-5xl font-semibold text-foreground", children: initials })
6623
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Root, { open: isProfileImageDialogOpen, onOpenChange: setIsProfileImageDialogOpen, children: /* @__PURE__ */ jsxs22(DialogPrimitive2.Portal, { children: [
6624
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-[3500] bg-black/70 backdrop-blur-[2px] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }),
6625
+ /* @__PURE__ */ jsxs22(DialogPrimitive2.Content, { className: "fixed left-1/2 top-1/2 z-[3510] w-[calc(100%-1.5rem)] max-w-md -translate-x-1/2 -translate-y-1/2 rounded-md border border-border/70 bg-background p-5 text-foreground shadow-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", children: [
6626
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Title, { className: "text-lg font-semibold", children: "Foto de perfil" }),
6627
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Description, { className: "mt-1 text-sm text-muted-foreground", children: "Visualize sua imagem atual e edite quando quiser." }),
6628
+ /* @__PURE__ */ jsxs22("div", { className: "mx-auto mt-4 flex w-full max-w-[18rem] flex-col items-center gap-3", children: [
6629
+ /* @__PURE__ */ jsxs22("div", { className: "relative", children: [
6630
+ /* @__PURE__ */ jsxs22(Avatar2, { className: "h-48 w-48 border border-border/70 shadow-none", children: [
6631
+ /* @__PURE__ */ jsx35(AvatarImage2, { src: resolvedProfileAvatarUrl, alt: resolvedName }),
6632
+ /* @__PURE__ */ jsx35(AvatarFallback2, { className: "bg-muted text-5xl font-semibold text-foreground", children: initials })
6358
6633
  ] }),
6359
- /* @__PURE__ */ jsx34(
6634
+ /* @__PURE__ */ jsx35(
6360
6635
  "button",
6361
6636
  {
6362
6637
  type: "button",
@@ -6370,20 +6645,20 @@ var UserMenuCupcode = ({
6370
6645
  ),
6371
6646
  "aria-label": "Editar foto de perfil",
6372
6647
  title: hasTelescupAvatarSupport ? isTelescupAuthPending ? "Conectando ao Telescup..." : isProfileAvatarSaving ? "Salvando foto..." : "Editar foto de perfil" : "Telescup indispon\xEDvel",
6373
- children: /* @__PURE__ */ jsx34(Pencil, { className: "h-4 w-4" })
6648
+ children: /* @__PURE__ */ jsx35(Pencil, { className: "h-4 w-4" })
6374
6649
  }
6375
6650
  ),
6376
- /* @__PURE__ */ jsx34("span", { className: "absolute bottom-6 right-3", children: /* @__PURE__ */ jsx34(PresenceBadge, { status: currentStatus, size: "lg" }) })
6651
+ /* @__PURE__ */ jsx35("span", { className: "absolute bottom-6 right-3", children: /* @__PURE__ */ jsx35(PresenceBadge, { status: currentStatus, size: "lg" }) })
6377
6652
  ] }),
6378
- !hasTelescupAvatarSupport ? /* @__PURE__ */ jsx34("p", { className: "text-center text-xs text-muted-foreground", children: "Telescup indispon\xEDvel neste ambiente." }) : null
6653
+ !hasTelescupAvatarSupport ? /* @__PURE__ */ jsx35("p", { className: "text-center text-xs text-muted-foreground", children: "Telescup indispon\xEDvel neste ambiente." }) : null
6379
6654
  ] }),
6380
- /* @__PURE__ */ jsxs21(DialogPrimitive2.Close, { className: "absolute right-3 top-3 inline-flex h-8 w-8 items-center justify-center rounded-full border border-border/70 bg-background/70 text-muted-foreground transition-all hover:bg-background hover:text-foreground", children: [
6381
- /* @__PURE__ */ jsx34(X4, { className: "h-4 w-4" }),
6382
- /* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Fechar" })
6655
+ /* @__PURE__ */ jsxs22(DialogPrimitive2.Close, { className: "absolute right-3 top-3 inline-flex h-8 w-8 items-center justify-center rounded-full border border-border/70 bg-background/70 text-muted-foreground transition-all hover:bg-background hover:text-foreground", children: [
6656
+ /* @__PURE__ */ jsx35(X4, { className: "h-4 w-4" }),
6657
+ /* @__PURE__ */ jsx35("span", { className: "sr-only", children: "Fechar" })
6383
6658
  ] })
6384
6659
  ] })
6385
6660
  ] }) }),
6386
- hasTelescupAvatarSupport ? /* @__PURE__ */ jsx34(
6661
+ hasTelescupAvatarSupport ? /* @__PURE__ */ jsx35(
6387
6662
  TelescupUpload,
6388
6663
  {
6389
6664
  open: isProfileAvatarUploadOpen,
@@ -6406,10 +6681,10 @@ var UserMenuCupcode = ({
6406
6681
  ] });
6407
6682
  }
6408
6683
  if (activeTab === "logout") {
6409
- return /* @__PURE__ */ jsx34("div", { className: "space-y-3.5", children: /* @__PURE__ */ jsxs21("div", { className: cn(MENU_SURFACE_CLASS_NAME, "p-3.5"), children: [
6410
- /* @__PURE__ */ jsx34("p", { className: "text-xs font-semibold text-foreground", children: "Deslogar da conta Cupcode" }),
6411
- /* @__PURE__ */ jsx34("p", { className: "mt-2 text-[11px] leading-relaxed text-muted-foreground", children: "Ao sair aqui, voc\xEA ser\xE1 deslogado de todos os apps da Cupcode em que est\xE1 logado." }),
6412
- /* @__PURE__ */ jsx34(
6684
+ return /* @__PURE__ */ jsx35("div", { className: "space-y-3.5", children: /* @__PURE__ */ jsxs22("div", { className: cn(MENU_SURFACE_CLASS_NAME, "p-3.5"), children: [
6685
+ /* @__PURE__ */ jsx35("p", { className: "text-xs font-semibold text-foreground", children: "Deslogar da conta Cupcode" }),
6686
+ /* @__PURE__ */ jsx35("p", { className: "mt-2 text-[11px] leading-relaxed text-muted-foreground", children: "Ao sair aqui, voc\xEA ser\xE1 deslogado de todos os apps da Cupcode em que est\xE1 logado." }),
6687
+ /* @__PURE__ */ jsx35(
6413
6688
  "button",
6414
6689
  {
6415
6690
  type: "button",
@@ -6427,29 +6702,29 @@ var UserMenuCupcode = ({
6427
6702
  if (activeTab === "settings") {
6428
6703
  const settingsCardClassName = cn(MENU_SURFACE_CLASS_NAME, "p-3.5");
6429
6704
  const settingsItemClassName = cn(MENU_CARD_ITEM_CLASS_NAME, "px-3 py-2.5");
6430
- return /* @__PURE__ */ jsxs21("div", { className: "space-y-3.5", children: [
6431
- /* @__PURE__ */ jsxs21("div", { className: settingsCardClassName, children: [
6432
- /* @__PURE__ */ jsxs21("div", { children: [
6433
- /* @__PURE__ */ jsx34("p", { className: "text-xs font-semibold text-foreground", children: "Experi\xEAncia" }),
6434
- /* @__PURE__ */ jsx34("p", { className: "mt-1 text-[11px] leading-relaxed text-muted-foreground", children: "Prefer\xEAncias que afetam o uso no dia a dia." })
6705
+ return /* @__PURE__ */ jsxs22("div", { className: "space-y-3.5", children: [
6706
+ /* @__PURE__ */ jsxs22("div", { className: settingsCardClassName, children: [
6707
+ /* @__PURE__ */ jsxs22("div", { children: [
6708
+ /* @__PURE__ */ jsx35("p", { className: "text-xs font-semibold text-foreground", children: "Experi\xEAncia" }),
6709
+ /* @__PURE__ */ jsx35("p", { className: "mt-1 text-[11px] leading-relaxed text-muted-foreground", children: "Prefer\xEAncias que afetam o uso no dia a dia." })
6435
6710
  ] }),
6436
- /* @__PURE__ */ jsx34("div", { className: "mt-3", children: /* @__PURE__ */ jsxs21("div", { className: settingsItemClassName, children: [
6437
- /* @__PURE__ */ jsxs21("p", { className: "flex items-center gap-1.5 text-xs font-semibold text-foreground", children: [
6438
- /* @__PURE__ */ jsx34(Languages, { className: "h-3.5 w-3.5 text-primary" }),
6711
+ /* @__PURE__ */ jsx35("div", { className: "mt-3", children: /* @__PURE__ */ jsxs22("div", { className: settingsItemClassName, children: [
6712
+ /* @__PURE__ */ jsxs22("p", { className: "flex items-center gap-1.5 text-xs font-semibold text-foreground", children: [
6713
+ /* @__PURE__ */ jsx35(Languages, { className: "h-3.5 w-3.5 text-primary" }),
6439
6714
  "Idioma"
6440
6715
  ] }),
6441
- /* @__PURE__ */ jsx34("div", { className: "mt-2", children: /* @__PURE__ */ jsxs21(Select, { value: resolvedLanguage, onValueChange: (value) => changeLanguage(value), children: [
6442
- /* @__PURE__ */ jsx34(SelectTrigger, { className: "h-9 rounded-md border-border/70 bg-background/55 text-[11px] text-foreground shadow-none", children: /* @__PURE__ */ jsx34("span", { className: "truncate", children: (_a25 = LANGUAGE_OPTIONS.find((option) => option.value === resolvedLanguage)) == null ? void 0 : _a25.label }) }),
6443
- /* @__PURE__ */ jsx34(SelectContent, { className: "z-[820] rounded-md border border-border/70 bg-background text-foreground shadow-none", children: LANGUAGE_OPTIONS.map((option) => /* @__PURE__ */ jsx34(SelectItem, { value: option.value, className: "text-xs", children: option.label }, option.value)) })
6716
+ /* @__PURE__ */ jsx35("div", { className: "mt-2", children: /* @__PURE__ */ jsxs22(Select, { value: resolvedLanguage, onValueChange: (value) => changeLanguage(value), children: [
6717
+ /* @__PURE__ */ jsx35(SelectTrigger, { className: "h-9 rounded-md border-border/70 bg-background/55 text-[11px] text-foreground shadow-none", children: /* @__PURE__ */ jsx35("span", { className: "truncate", children: (_a25 = LANGUAGE_OPTIONS.find((option) => option.value === resolvedLanguage)) == null ? void 0 : _a25.label }) }),
6718
+ /* @__PURE__ */ jsx35(SelectContent, { className: "z-[820] rounded-md border border-border/70 bg-background text-foreground shadow-none", children: LANGUAGE_OPTIONS.map((option) => /* @__PURE__ */ jsx35(SelectItem, { value: option.value, className: "text-xs", children: option.label }, option.value)) })
6444
6719
  ] }) })
6445
6720
  ] }) })
6446
6721
  ] }),
6447
- /* @__PURE__ */ jsxs21("div", { className: cn(settingsCardClassName, "space-y-2.5"), children: [
6448
- /* @__PURE__ */ jsxs21("div", { children: [
6449
- /* @__PURE__ */ jsx34("p", { className: "text-xs font-semibold text-foreground", children: "Seguran\xE7a" }),
6450
- /* @__PURE__ */ jsx34("p", { className: "mt-1 text-[11px] leading-relaxed text-muted-foreground", children: "A\xE7\xF5es de senha e 2FA ficam no Accounts." })
6722
+ /* @__PURE__ */ jsxs22("div", { className: cn(settingsCardClassName, "space-y-2.5"), children: [
6723
+ /* @__PURE__ */ jsxs22("div", { children: [
6724
+ /* @__PURE__ */ jsx35("p", { className: "text-xs font-semibold text-foreground", children: "Seguran\xE7a" }),
6725
+ /* @__PURE__ */ jsx35("p", { className: "mt-1 text-[11px] leading-relaxed text-muted-foreground", children: "A\xE7\xF5es de senha e 2FA ficam no Accounts." })
6451
6726
  ] }),
6452
- /* @__PURE__ */ jsxs21(
6727
+ /* @__PURE__ */ jsxs22(
6453
6728
  "button",
6454
6729
  {
6455
6730
  type: "button",
@@ -6459,15 +6734,15 @@ var UserMenuCupcode = ({
6459
6734
  "flex w-full items-center justify-between px-3 py-2 text-left text-xs font-semibold text-foreground shadow-none transition-all hover:bg-background/65"
6460
6735
  ),
6461
6736
  children: [
6462
- /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1.5", children: [
6463
- /* @__PURE__ */ jsx34(LockKeyhole, { className: "h-3.5 w-3.5 text-primary" }),
6737
+ /* @__PURE__ */ jsxs22("span", { className: "inline-flex items-center gap-1.5", children: [
6738
+ /* @__PURE__ */ jsx35(LockKeyhole, { className: "h-3.5 w-3.5 text-primary" }),
6464
6739
  "Alterar senha"
6465
6740
  ] }),
6466
- /* @__PURE__ */ jsx34(ExternalLink, { className: "h-3.5 w-3.5" })
6741
+ /* @__PURE__ */ jsx35(ExternalLink, { className: "h-3.5 w-3.5" })
6467
6742
  ]
6468
6743
  }
6469
6744
  ),
6470
- /* @__PURE__ */ jsxs21(
6745
+ /* @__PURE__ */ jsxs22(
6471
6746
  "button",
6472
6747
  {
6473
6748
  type: "button",
@@ -6477,12 +6752,12 @@ var UserMenuCupcode = ({
6477
6752
  "flex w-full items-center justify-between px-3 py-2 text-left text-xs font-semibold text-foreground shadow-none transition-all hover:bg-background/65"
6478
6753
  ),
6479
6754
  children: [
6480
- /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1.5", children: [
6481
- /* @__PURE__ */ jsx34(ShieldCheck, { className: "h-3.5 w-3.5 text-primary" }),
6755
+ /* @__PURE__ */ jsxs22("span", { className: "inline-flex items-center gap-1.5", children: [
6756
+ /* @__PURE__ */ jsx35(ShieldCheck, { className: "h-3.5 w-3.5 text-primary" }),
6482
6757
  "2FA"
6483
6758
  ] }),
6484
- /* @__PURE__ */ jsxs21("span", { className: "inline-flex items-center gap-1.5", children: [
6485
- /* @__PURE__ */ jsx34(
6759
+ /* @__PURE__ */ jsxs22("span", { className: "inline-flex items-center gap-1.5", children: [
6760
+ /* @__PURE__ */ jsx35(
6486
6761
  "span",
6487
6762
  {
6488
6763
  className: cn(
@@ -6492,25 +6767,42 @@ var UserMenuCupcode = ({
6492
6767
  children: twoFactorStatusLabel
6493
6768
  }
6494
6769
  ),
6495
- /* @__PURE__ */ jsx34(ExternalLink, { className: "h-3.5 w-3.5" })
6770
+ /* @__PURE__ */ jsx35(ExternalLink, { className: "h-3.5 w-3.5" })
6496
6771
  ] })
6497
6772
  ]
6498
6773
  }
6499
6774
  )
6775
+ ] }),
6776
+ /* @__PURE__ */ jsxs22("div", { className: cn(settingsCardClassName, "space-y-2.5"), children: [
6777
+ /* @__PURE__ */ jsxs22("div", { children: [
6778
+ /* @__PURE__ */ jsxs22("p", { className: "flex items-center gap-1.5 text-xs font-semibold text-foreground", children: [
6779
+ /* @__PURE__ */ jsx35(Clock2, { className: "h-3.5 w-3.5 text-primary" }),
6780
+ "Hist\xF3rico de logins"
6781
+ ] }),
6782
+ /* @__PURE__ */ jsx35("p", { className: "mt-1 text-[11px] leading-relaxed text-muted-foreground", children: "Sess\xF5es registradas nesta conta." })
6783
+ ] }),
6784
+ /* @__PURE__ */ jsx35(
6785
+ LoginHistoryCupcode,
6786
+ {
6787
+ sessions: resolvedLoginHistorySessions,
6788
+ isLoading: resolvedLoginHistoryLoading,
6789
+ variant: "compact"
6790
+ }
6791
+ )
6500
6792
  ] })
6501
6793
  ] });
6502
6794
  }
6503
6795
  return null;
6504
6796
  };
6505
6797
  if (isLoading) {
6506
- return /* @__PURE__ */ jsx34("div", { className: cn("h-11 w-11 animate-pulse rounded-full bg-muted/70", className) });
6798
+ return /* @__PURE__ */ jsx35("div", { className: cn("h-11 w-11 animate-pulse rounded-full bg-muted/70", className) });
6507
6799
  }
6508
6800
  if (!isAuthenticated) {
6509
- return /* @__PURE__ */ jsx34(JellyButtonOriginal, { label: loginLabel, color: "green", size: "sm", className, onClick: onLogin });
6801
+ return /* @__PURE__ */ jsx35(JellyButtonOriginal, { label: loginLabel, color: "green", size: "sm", className, onClick: onLogin });
6510
6802
  }
6511
6803
  const customPanel = panels == null ? void 0 : panels[activeTab];
6512
6804
  const hasCustomPanel = typeof customPanel !== "undefined";
6513
- return /* @__PURE__ */ jsxs21(
6805
+ return /* @__PURE__ */ jsxs22(
6514
6806
  DialogPrimitive2.Root,
6515
6807
  {
6516
6808
  open,
@@ -6522,36 +6814,36 @@ var UserMenuCupcode = ({
6522
6814
  }
6523
6815
  },
6524
6816
  children: [
6525
- /* @__PURE__ */ jsx34("div", { className: cn("relative inline-flex items-center", className), children: /* @__PURE__ */ jsxs21("div", { className: "relative", children: [
6526
- /* @__PURE__ */ jsx34(DialogPrimitive2.Trigger, { asChild: true, children: /* @__PURE__ */ jsx34(
6817
+ /* @__PURE__ */ jsx35("div", { className: cn("relative inline-flex items-center", className), children: /* @__PURE__ */ jsxs22("div", { className: "relative", children: [
6818
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Trigger, { asChild: true, children: /* @__PURE__ */ jsx35(
6527
6819
  "button",
6528
6820
  {
6529
6821
  type: "button",
6530
6822
  className: "relative z-10 inline-flex h-11 w-11 items-center justify-center rounded-full border border-border/70 bg-background/35 shadow-[var(--elevation-3)] transition-all hover:bg-background/55 hover:shadow-[0_0_0_2px_rgba(151,90,182,0.3),0_14px_28px_-18px_rgba(151,90,182,0.3)]",
6531
6823
  "aria-label": "Abrir menu do usu\xE1rio",
6532
- children: /* @__PURE__ */ jsxs21(Avatar2, { className: "h-full w-full border-none", children: [
6533
- /* @__PURE__ */ jsx34(AvatarImage2, { src: resolvedProfileAvatarUrl, alt: resolvedName }),
6534
- /* @__PURE__ */ jsx34(AvatarFallback2, { className: "bg-muted text-sm font-semibold text-foreground", children: initials })
6824
+ children: /* @__PURE__ */ jsxs22(Avatar2, { className: "h-full w-full border-none", children: [
6825
+ /* @__PURE__ */ jsx35(AvatarImage2, { src: resolvedProfileAvatarUrl, alt: resolvedName }),
6826
+ /* @__PURE__ */ jsx35(AvatarFallback2, { className: "bg-muted text-sm font-semibold text-foreground", children: initials })
6535
6827
  ] })
6536
6828
  }
6537
6829
  ) }),
6538
- /* @__PURE__ */ jsxs21(DropdownMenu, { children: [
6539
- /* @__PURE__ */ jsx34(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx34(
6830
+ /* @__PURE__ */ jsxs22(DropdownMenu, { children: [
6831
+ /* @__PURE__ */ jsx35(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx35(
6540
6832
  "button",
6541
6833
  {
6542
6834
  type: "button",
6543
6835
  className: "absolute bottom-0 -right-0.5 z-20 inline-flex items-center justify-center rounded-full p-0.5 text-foreground transition-transform hover:scale-110 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",
6544
6836
  "aria-label": "Alterar status",
6545
6837
  title: `Status: ${PRESENCE_META[currentStatus].label}`,
6546
- children: /* @__PURE__ */ jsx34(PresenceBadge, { status: currentStatus, size: "md" })
6838
+ children: /* @__PURE__ */ jsx35(PresenceBadge, { status: currentStatus, size: "md" })
6547
6839
  }
6548
6840
  ) }),
6549
- /* @__PURE__ */ jsx34(DropdownMenuContent, { align: "end", sideOffset: 8, className: "z-[1800] w-44", children: renderPresenceStatusOptions() })
6841
+ /* @__PURE__ */ jsx35(DropdownMenuContent, { align: "end", sideOffset: 8, className: "z-[1800] w-44", children: renderPresenceStatusOptions() })
6550
6842
  ] })
6551
6843
  ] }) }),
6552
- /* @__PURE__ */ jsxs21(DialogPrimitive2.Portal, { children: [
6553
- /* @__PURE__ */ jsx34(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-[650] bg-black/45 backdrop-blur-[2px] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }),
6554
- /* @__PURE__ */ jsxs21(
6844
+ /* @__PURE__ */ jsxs22(DialogPrimitive2.Portal, { children: [
6845
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-[650] bg-black/45 backdrop-blur-[2px] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }),
6846
+ /* @__PURE__ */ jsxs22(
6555
6847
  DialogPrimitive2.Content,
6556
6848
  {
6557
6849
  className: cn(
@@ -6559,18 +6851,18 @@ var UserMenuCupcode = ({
6559
6851
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right data-[state=closed]:duration-300 data-[state=open]:duration-500"
6560
6852
  ),
6561
6853
  children: [
6562
- /* @__PURE__ */ jsx34(DialogPrimitive2.Title, { className: "sr-only", children: "Menu do usu\xE1rio" }),
6563
- /* @__PURE__ */ jsx34(DialogPrimitive2.Description, { className: "sr-only", children: "Painel lateral com perfil e configura\xE7\xF5es." }),
6564
- /* @__PURE__ */ jsxs21("div", { className: "relative flex h-full flex-col p-3 sm:p-4", children: [
6565
- /* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-2", children: [
6566
- /* @__PURE__ */ jsxs21(DialogPrimitive2.Close, { className: "inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-full border border-border/70 bg-background/75 text-primary transition-all hover:bg-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40", children: [
6567
- /* @__PURE__ */ jsx34(X4, { className: "h-5 w-5" }),
6568
- /* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Fechar menu" })
6854
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Title, { className: "sr-only", children: "Menu do usu\xE1rio" }),
6855
+ /* @__PURE__ */ jsx35(DialogPrimitive2.Description, { className: "sr-only", children: "Painel lateral com perfil e configura\xE7\xF5es." }),
6856
+ /* @__PURE__ */ jsxs22("div", { className: "relative flex h-full flex-col p-3 sm:p-4", children: [
6857
+ /* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2", children: [
6858
+ /* @__PURE__ */ jsxs22(DialogPrimitive2.Close, { className: "inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-full border border-border/70 bg-background/75 text-primary transition-all hover:bg-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40", children: [
6859
+ /* @__PURE__ */ jsx35(X4, { className: "h-5 w-5" }),
6860
+ /* @__PURE__ */ jsx35("span", { className: "sr-only", children: "Fechar menu" })
6569
6861
  ] }),
6570
- /* @__PURE__ */ jsx34("div", { className: MENU_TAB_BAR_CLASS_NAME, children: /* @__PURE__ */ jsx34("div", { className: "grid grid-cols-3 gap-1", children: TAB_ITEMS.map((tab) => {
6862
+ /* @__PURE__ */ jsx35("div", { className: MENU_TAB_BAR_CLASS_NAME, children: /* @__PURE__ */ jsx35("div", { className: "grid grid-cols-3 gap-1", children: TAB_ITEMS.map((tab) => {
6571
6863
  const Icon3 = tab.icon;
6572
6864
  const isCurrent = tab.id === activeTab;
6573
- return /* @__PURE__ */ jsx34(
6865
+ return /* @__PURE__ */ jsx35(
6574
6866
  "button",
6575
6867
  {
6576
6868
  type: "button",
@@ -6585,13 +6877,13 @@ var UserMenuCupcode = ({
6585
6877
  ),
6586
6878
  "aria-current": isCurrent ? "page" : void 0,
6587
6879
  "aria-label": tab.label,
6588
- children: /* @__PURE__ */ jsx34(Icon3, { className: "h-4 w-4" })
6880
+ children: /* @__PURE__ */ jsx35(Icon3, { className: "h-4 w-4" })
6589
6881
  },
6590
6882
  tab.id
6591
6883
  );
6592
6884
  }) }) })
6593
6885
  ] }),
6594
- /* @__PURE__ */ jsx34(
6886
+ /* @__PURE__ */ jsx35(
6595
6887
  "div",
6596
6888
  {
6597
6889
  className: cn(
@@ -6601,7 +6893,7 @@ var UserMenuCupcode = ({
6601
6893
  children: hasCustomPanel ? customPanel : renderDefaultPanel()
6602
6894
  }
6603
6895
  ),
6604
- /* @__PURE__ */ jsxs21(
6896
+ /* @__PURE__ */ jsxs22(
6605
6897
  "div",
6606
6898
  {
6607
6899
  className: cn(
@@ -6610,7 +6902,7 @@ var UserMenuCupcode = ({
6610
6902
  ),
6611
6903
  "aria-hidden": !isLogoutConfirmOpen,
6612
6904
  children: [
6613
- /* @__PURE__ */ jsx34(
6905
+ /* @__PURE__ */ jsx35(
6614
6906
  "button",
6615
6907
  {
6616
6908
  type: "button",
@@ -6622,7 +6914,7 @@ var UserMenuCupcode = ({
6622
6914
  "aria-label": "Fechar confirma\xE7\xE3o de logout"
6623
6915
  }
6624
6916
  ),
6625
- /* @__PURE__ */ jsxs21(
6917
+ /* @__PURE__ */ jsxs22(
6626
6918
  "div",
6627
6919
  {
6628
6920
  className: cn(
@@ -6630,9 +6922,9 @@ var UserMenuCupcode = ({
6630
6922
  isLogoutConfirmOpen ? "pointer-events-auto translate-y-0" : "pointer-events-none translate-y-full"
6631
6923
  ),
6632
6924
  children: [
6633
- /* @__PURE__ */ jsx34("p", { className: "text-sm font-semibold text-foreground", children: "Tem certeza que deseja sair da sua conta Cupcode?" }),
6634
- /* @__PURE__ */ jsxs21("div", { className: "mt-3 grid grid-cols-2 gap-2", children: [
6635
- /* @__PURE__ */ jsx34(
6925
+ /* @__PURE__ */ jsx35("p", { className: "text-sm font-semibold text-foreground", children: "Tem certeza que deseja sair da sua conta Cupcode?" }),
6926
+ /* @__PURE__ */ jsxs22("div", { className: "mt-3 grid grid-cols-2 gap-2", children: [
6927
+ /* @__PURE__ */ jsx35(
6636
6928
  "button",
6637
6929
  {
6638
6930
  type: "button",
@@ -6645,7 +6937,7 @@ var UserMenuCupcode = ({
6645
6937
  children: isLoggingOut ? "Saindo..." : "Sair"
6646
6938
  }
6647
6939
  ),
6648
- /* @__PURE__ */ jsx34(
6940
+ /* @__PURE__ */ jsx35(
6649
6941
  "button",
6650
6942
  {
6651
6943
  type: "button",
@@ -6675,7 +6967,7 @@ var UserMenuCupcode_default = UserMenuCupcode;
6675
6967
  // src/components/ui/sonner.tsx
6676
6968
  import * as React21 from "react";
6677
6969
  import { Toaster as Sonner, toast as toast2 } from "sonner";
6678
- import { jsx as jsx35 } from "react/jsx-runtime";
6970
+ import { jsx as jsx36 } from "react/jsx-runtime";
6679
6971
  function resolveDocumentTheme() {
6680
6972
  if (typeof document === "undefined") return "system";
6681
6973
  if (document.documentElement.classList.contains("dark")) return "dark";
@@ -6709,7 +7001,7 @@ var Toaster = ({ theme, ...props }) => {
6709
7001
  observer.disconnect();
6710
7002
  };
6711
7003
  }, [theme]);
6712
- return /* @__PURE__ */ jsx35(
7004
+ return /* @__PURE__ */ jsx36(
6713
7005
  Sonner,
6714
7006
  {
6715
7007
  theme: theme != null ? theme : resolvedTheme,
@@ -6744,7 +7036,7 @@ function useAppTheme() {
6744
7036
  }
6745
7037
 
6746
7038
  // src/components/theme-toggle.tsx
6747
- import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
7039
+ import { jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
6748
7040
  function ThemeToggle({ className }) {
6749
7041
  const { theme, toggleTheme } = useAppTheme();
6750
7042
  const isDark = theme === "dark";
@@ -6754,7 +7046,7 @@ function ThemeToggle({ className }) {
6754
7046
  y: event.clientY
6755
7047
  });
6756
7048
  };
6757
- return /* @__PURE__ */ jsxs22(
7049
+ return /* @__PURE__ */ jsxs23(
6758
7050
  "button",
6759
7051
  {
6760
7052
  type: "button",
@@ -6764,24 +7056,24 @@ function ThemeToggle({ className }) {
6764
7056
  title: isDark ? "Ativar modo claro" : "Ativar modo escuro",
6765
7057
  className: ["cc-theme-toggle", isDark ? "is-dark" : "", className].filter(Boolean).join(" "),
6766
7058
  children: [
6767
- /* @__PURE__ */ jsxs22("span", { className: "track", children: [
6768
- /* @__PURE__ */ jsxs22("span", { className: "light-bg", children: [
6769
- /* @__PURE__ */ jsx36("span", { className: "light-orb light-orb-1" }),
6770
- /* @__PURE__ */ jsx36("span", { className: "light-orb light-orb-2" }),
6771
- /* @__PURE__ */ jsx36("span", { className: "light-sweep" }),
6772
- /* @__PURE__ */ jsx36("span", { className: "light-veil" })
7059
+ /* @__PURE__ */ jsxs23("span", { className: "track", children: [
7060
+ /* @__PURE__ */ jsxs23("span", { className: "light-bg", children: [
7061
+ /* @__PURE__ */ jsx37("span", { className: "light-orb light-orb-1" }),
7062
+ /* @__PURE__ */ jsx37("span", { className: "light-orb light-orb-2" }),
7063
+ /* @__PURE__ */ jsx37("span", { className: "light-sweep" }),
7064
+ /* @__PURE__ */ jsx37("span", { className: "light-veil" })
6773
7065
  ] }),
6774
- /* @__PURE__ */ jsx36("span", { className: "stars stars-1" }),
6775
- /* @__PURE__ */ jsx36("span", { className: "stars stars-2" }),
6776
- /* @__PURE__ */ jsx36("span", { className: "stars stars-3" }),
6777
- /* @__PURE__ */ jsx36("span", { className: "cloud cloud-1" }),
6778
- /* @__PURE__ */ jsx36("span", { className: "cloud cloud-2" }),
6779
- /* @__PURE__ */ jsxs22("span", { className: "thumb", children: [
6780
- /* @__PURE__ */ jsx36("span", { className: "sun-core" }),
6781
- /* @__PURE__ */ jsx36("span", { className: "moon-cut" })
7066
+ /* @__PURE__ */ jsx37("span", { className: "stars stars-1" }),
7067
+ /* @__PURE__ */ jsx37("span", { className: "stars stars-2" }),
7068
+ /* @__PURE__ */ jsx37("span", { className: "stars stars-3" }),
7069
+ /* @__PURE__ */ jsx37("span", { className: "cloud cloud-1" }),
7070
+ /* @__PURE__ */ jsx37("span", { className: "cloud cloud-2" }),
7071
+ /* @__PURE__ */ jsxs23("span", { className: "thumb", children: [
7072
+ /* @__PURE__ */ jsx37("span", { className: "sun-core" }),
7073
+ /* @__PURE__ */ jsx37("span", { className: "moon-cut" })
6782
7074
  ] })
6783
7075
  ] }),
6784
- /* @__PURE__ */ jsx36("style", { children: `
7076
+ /* @__PURE__ */ jsx37("style", { children: `
6785
7077
  :root {
6786
7078
  --toggle-width: 76px;
6787
7079
  --toggle-height: 38px;
@@ -7841,14 +8133,34 @@ var completeTelescupOidcCallback = async () => {
7841
8133
  };
7842
8134
 
7843
8135
  // src/components/cupcode/MainNavbar.tsx
7844
- import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
8136
+ import { Fragment as Fragment5, jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
8137
+ var TELESCUP_CDN_HOSTS = /* @__PURE__ */ new Set([
8138
+ "cdn.telescup.com.br",
8139
+ "telescup.cupcode.dev",
8140
+ "cdn.cupcode.com.br"
8141
+ ]);
7845
8142
  var resolveAppsApiBaseUrl = () => {
7846
8143
  var _a25, _b3;
7847
8144
  return ((_b3 = (_a25 = getRuntimeEnv("VITE_APPS_API_BASE_URL")) != null ? _a25 : getRuntimeEnv("VITE_APPS_API_BASE")) != null ? _b3 : "").trim().replace(/\/+$/, "");
7848
8145
  };
8146
+ var isTelescupCdnUrl = (value) => {
8147
+ const normalized = value == null ? void 0 : value.trim();
8148
+ if (!normalized) return false;
8149
+ try {
8150
+ return TELESCUP_CDN_HOSTS.has(new URL(normalized).hostname);
8151
+ } catch (e) {
8152
+ return false;
8153
+ }
8154
+ };
7849
8155
  var resolveTelescupBaseUrl = () => {
7850
8156
  var _a25;
7851
- return ((_a25 = getRuntimeEnv("VITE_TELESCUP_BASE_URL")) == null ? void 0 : _a25.trim()) || (resolveAppsApiBaseUrl() ? `${resolveAppsApiBaseUrl()}/api/telescup` : "");
8157
+ const appsApiBase = resolveAppsApiBaseUrl();
8158
+ const apiFromApps = appsApiBase ? `${appsApiBase}/api/telescup` : "";
8159
+ const explicitBase = (_a25 = getRuntimeEnv("VITE_TELESCUP_BASE_URL")) == null ? void 0 : _a25.trim();
8160
+ if (explicitBase && !isTelescupCdnUrl(explicitBase)) {
8161
+ return explicitBase.replace(/\/+$/, "");
8162
+ }
8163
+ return apiFromApps || explicitBase || "";
7852
8164
  };
7853
8165
  var ACCESS_TOKEN_STORAGE_KEY = "cc_access_token";
7854
8166
  var ID_TOKEN_STORAGE_KEYS = ["cc_id_token", "id_token"];
@@ -7876,51 +8188,58 @@ var _a10;
7876
8188
  var ACCOUNTS_ACTIVITY_ENDPOINT = (_a10 = getRuntimeEnv("VITE_ACCOUNTS_ACTIVITY_ENDPOINT")) == null ? void 0 : _a10.trim();
7877
8189
  var _a11;
7878
8190
  var ACCOUNTS_ME_ENDPOINT = ((_a11 = getRuntimeEnv("VITE_ACCOUNTS_ME_ENDPOINT")) == null ? void 0 : _a11.trim()) || "/me";
7879
- var resolveAccountsApiBaseUrl = () => {
8191
+ var resolveAccountsApiBaseUrl2 = () => {
7880
8192
  const appsApiBase = resolveAppsApiBaseUrl();
7881
8193
  if (appsApiBase) return `${appsApiBase}/api/accounts`;
7882
8194
  return ACCOUNTS_BASE_URL2;
7883
8195
  };
7884
8196
  var DEFAULT_LOGO_SLOT_CLASS_NAME = "h-10 w-[175px] shrink-0";
7885
- var toStringOrUndefined = (value) => {
8197
+ var toStringOrUndefined2 = (value) => {
7886
8198
  if (typeof value !== "string") return void 0;
7887
8199
  const trimmed = value.trim();
7888
8200
  return trimmed === "" ? void 0 : trimmed;
7889
8201
  };
7890
8202
  var resolveCurrentUserId = (user) => {
7891
- const sub = toStringOrUndefined(user == null ? void 0 : user.sub);
8203
+ const sub = toStringOrUndefined2(user == null ? void 0 : user.sub);
7892
8204
  if (sub) return sub;
7893
- const id = toStringOrUndefined(user == null ? void 0 : user.id);
8205
+ const id = toStringOrUndefined2(user == null ? void 0 : user.id);
7894
8206
  if (id) return id;
7895
- const userId = toStringOrUndefined(user == null ? void 0 : user.userId);
8207
+ const userId = toStringOrUndefined2(user == null ? void 0 : user.userId);
7896
8208
  if (userId) return userId;
7897
8209
  return null;
7898
8210
  };
7899
8211
  var resolveUserIdFromClaims = (claims) => {
7900
8212
  var _a25, _b3, _c, _d, _e;
7901
- return (_e = (_d = (_c = (_b3 = (_a25 = toStringOrUndefined(claims.sub)) != null ? _a25 : toStringOrUndefined(claims.user_id)) != null ? _b3 : toStringOrUndefined(claims.userId)) != null ? _c : toStringOrUndefined(claims.uid)) != null ? _d : toStringOrUndefined(claims.id)) != null ? _e : toStringOrUndefined(claims["https://cupcode.com/user_id"]);
8213
+ return (_e = (_d = (_c = (_b3 = (_a25 = toStringOrUndefined2(claims.sub)) != null ? _a25 : toStringOrUndefined2(claims.user_id)) != null ? _b3 : toStringOrUndefined2(claims.userId)) != null ? _c : toStringOrUndefined2(claims.uid)) != null ? _d : toStringOrUndefined2(claims.id)) != null ? _e : toStringOrUndefined2(claims["https://cupcode.com/user_id"]);
7902
8214
  };
7903
8215
  var resolveEmailFromClaims = (claims) => {
7904
8216
  var _a25, _b3;
7905
- const candidate = (_b3 = (_a25 = toStringOrUndefined(claims.email)) != null ? _a25 : toStringOrUndefined(claims["https://cupcode.com/email"])) != null ? _b3 : toStringOrUndefined(claims.preferred_username);
8217
+ const candidate = (_b3 = (_a25 = toStringOrUndefined2(claims.email)) != null ? _a25 : toStringOrUndefined2(claims["https://cupcode.com/email"])) != null ? _b3 : toStringOrUndefined2(claims.preferred_username);
7906
8218
  if (!candidate || !candidate.includes("@")) return void 0;
7907
8219
  return candidate.toLowerCase();
7908
8220
  };
7909
8221
  var normalizeTenantId = (value) => {
7910
8222
  var _a25;
7911
- const normalized = (_a25 = toStringOrUndefined(value)) == null ? void 0 : _a25.toLowerCase();
8223
+ const normalized = (_a25 = toStringOrUndefined2(value)) == null ? void 0 : _a25.toLowerCase();
7912
8224
  if (!normalized) return void 0;
7913
8225
  return normalized.replace(/^@/, "");
7914
8226
  };
7915
8227
  var resolveTenantIdFromClaims = (claims) => {
7916
8228
  var _a25, _b3, _c, _d, _e, _f, _g, _h, _i, _j;
7917
8229
  return normalizeTenantId(
7918
- (_j = (_i = (_h = (_g = (_f = (_e = (_d = (_c = (_b3 = (_a25 = toStringOrUndefined(claims.tenant_id)) != null ? _a25 : toStringOrUndefined(claims.tenantId)) != null ? _b3 : toStringOrUndefined(claims.tenant_slug)) != null ? _c : toStringOrUndefined(claims.tenantSlug)) != null ? _d : toStringOrUndefined(claims.company_slug)) != null ? _e : toStringOrUndefined(claims.companySlug)) != null ? _f : toStringOrUndefined(claims.company)) != null ? _g : toStringOrUndefined(claims.org_slug)) != null ? _h : toStringOrUndefined(claims.orgSlug)) != null ? _i : toStringOrUndefined(claims["https://cupcode.com/tenant_id"])) != null ? _j : toStringOrUndefined(claims["https://cupcode.com/tenant_slug"])
8230
+ (_j = (_i = (_h = (_g = (_f = (_e = (_d = (_c = (_b3 = (_a25 = toStringOrUndefined2(claims.tenant_id)) != null ? _a25 : toStringOrUndefined2(claims.tenantId)) != null ? _b3 : toStringOrUndefined2(claims.tenant_slug)) != null ? _c : toStringOrUndefined2(claims.tenantSlug)) != null ? _d : toStringOrUndefined2(claims.company_slug)) != null ? _e : toStringOrUndefined2(claims.companySlug)) != null ? _f : toStringOrUndefined2(claims.company)) != null ? _g : toStringOrUndefined2(claims.org_slug)) != null ? _h : toStringOrUndefined2(claims.orgSlug)) != null ? _i : toStringOrUndefined2(claims["https://cupcode.com/tenant_id"])) != null ? _j : toStringOrUndefined2(claims["https://cupcode.com/tenant_slug"])
7919
8231
  );
7920
8232
  };
8233
+ var AVATAR_IMAGE_OPTIONS = {
8234
+ width: 300,
8235
+ height: 300,
8236
+ fit: "cover",
8237
+ format: "webp",
8238
+ quality: 80
8239
+ };
7921
8240
  var resolveAvatarPreviewUrl = (asset, fallback) => {
7922
8241
  var _a25, _b3, _c;
7923
- return (_c = (_b3 = (_a25 = resolveTelescupImageURL(asset == null ? void 0 : asset.thumb_url, { width: 300, height: 300, fit: "cover", format: "avif", quality: 80 })) != null ? _a25 : resolveTelescupImageURL(asset == null ? void 0 : asset.preview_url, { width: 300, height: 300, fit: "cover", format: "avif", quality: 80 })) != null ? _b3 : resolveTelescupImageURL(asset == null ? void 0 : asset.url, { width: 300, height: 300, fit: "cover", format: "avif", quality: 80 })) != null ? _c : resolveTelescupImageURL(fallback, { width: 300, height: 300, fit: "cover", format: "avif", quality: 80 });
8242
+ return (_c = (_b3 = (_a25 = resolveTelescupImageURL(asset == null ? void 0 : asset.thumb_url, AVATAR_IMAGE_OPTIONS)) != null ? _a25 : resolveTelescupImageURL(asset == null ? void 0 : asset.preview_url, AVATAR_IMAGE_OPTIONS)) != null ? _b3 : resolveTelescupImageURL(asset == null ? void 0 : asset.url, AVATAR_IMAGE_OPTIONS)) != null ? _c : resolveTelescupImageURL(fallback, AVATAR_IMAGE_OPTIONS);
7924
8243
  };
7925
8244
  var isGenericRecord = (value) => typeof value === "object" && value !== null;
7926
8245
  var buildExternalUrl = (baseUrl, target) => {
@@ -7999,14 +8318,14 @@ var parseRecentActivityItems = (payload) => {
7999
8318
  };
8000
8319
  return toRows(payload).map((item, index) => {
8001
8320
  var _a25, _b3, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
8002
- const id = (_b3 = (_a25 = toStringOrUndefined(item.id)) != null ? _a25 : toStringOrUndefined(item.event_id)) != null ? _b3 : `accounts-activity-${index}`;
8003
- const title = (_e = (_d = (_c = toStringOrUndefined(item.title)) != null ? _c : toStringOrUndefined(item.action)) != null ? _d : toStringOrUndefined(item.event)) != null ? _e : toStringOrUndefined(item.type);
8321
+ const id = (_b3 = (_a25 = toStringOrUndefined2(item.id)) != null ? _a25 : toStringOrUndefined2(item.event_id)) != null ? _b3 : `accounts-activity-${index}`;
8322
+ const title = (_e = (_d = (_c = toStringOrUndefined2(item.title)) != null ? _c : toStringOrUndefined2(item.action)) != null ? _d : toStringOrUndefined2(item.event)) != null ? _e : toStringOrUndefined2(item.type);
8004
8323
  if (!title) return null;
8005
- const description = (_h = (_g = (_f = toStringOrUndefined(item.description)) != null ? _f : toStringOrUndefined(item.details)) != null ? _g : toStringOrUndefined(item.message)) != null ? _h : toStringOrUndefined(item.summary);
8324
+ const description = (_h = (_g = (_f = toStringOrUndefined2(item.description)) != null ? _f : toStringOrUndefined2(item.details)) != null ? _g : toStringOrUndefined2(item.message)) != null ? _h : toStringOrUndefined2(item.summary);
8006
8325
  const occurredAt = toIsoDateTime(
8007
8326
  (_m = (_l = (_k = (_j = (_i = item.occurredAt) != null ? _i : item.occurred_at) != null ? _j : item.createdAt) != null ? _k : item.created_at) != null ? _l : item.timestamp) != null ? _m : item.time
8008
8327
  );
8009
- const kindSource = `${title} ${(_n = toStringOrUndefined(item.type)) != null ? _n : ""}`.toLowerCase();
8328
+ const kindSource = `${title} ${(_n = toStringOrUndefined2(item.type)) != null ? _n : ""}`.toLowerCase();
8010
8329
  const kind = kindSource.includes("login") || kindSource.includes("entr") ? "login" : "action";
8011
8330
  const normalizedItem = {
8012
8331
  id,
@@ -8078,16 +8397,18 @@ var MainNavbar = ({
8078
8397
  const [isTwoFactorStatusLoading, setIsTwoFactorStatusLoading] = useState13(false);
8079
8398
  const [accountsRecentActivity, setAccountsRecentActivity] = useState13([]);
8080
8399
  const [isAccountsActivityLoading, setIsAccountsActivityLoading] = useState13(false);
8081
- const currentPathname = useMemo9(() => {
8400
+ const [accountsLoginHistorySessions, setAccountsLoginHistorySessions] = useState13([]);
8401
+ const [isAccountsLoginHistoryLoading, setIsAccountsLoginHistoryLoading] = useState13(false);
8402
+ const currentPathname = useMemo10(() => {
8082
8403
  if (pathname && pathname.trim() !== "") return pathname;
8083
8404
  if (typeof window !== "undefined") return window.location.pathname || "/";
8084
8405
  return "/";
8085
8406
  }, [pathname]);
8086
- const currentUserId = useMemo9(() => {
8407
+ const currentUserId = useMemo10(() => {
8087
8408
  var _a26;
8088
8409
  return (_a26 = resolveCurrentUserId(authUser)) != null ? _a26 : tokenDerivedUserId;
8089
8410
  }, [authUser, tokenDerivedUserId]);
8090
- const resolvedTenantId = useMemo9(() => {
8411
+ const resolvedTenantId = useMemo10(() => {
8091
8412
  var _a26, _b4, _c2, _d, _e, _f;
8092
8413
  const candidate = normalizeTenantId(
8093
8414
  (_f = (_e = (_d = (_c2 = (_b4 = (_a26 = authUser == null ? void 0 : authUser.tenantSlug) != null ? _a26 : authUser == null ? void 0 : authUser.tenantId) != null ? _b4 : authUser == null ? void 0 : authUser.tenant_id) != null ? _c2 : authUser == null ? void 0 : authUser.companySlug) != null ? _d : authUser == null ? void 0 : authUser.company) != null ? _e : authUser == null ? void 0 : authUser.orgSlug) != null ? _f : tokenDerivedTenantId
@@ -8105,7 +8426,7 @@ var MainNavbar = ({
8105
8426
  currentUserId,
8106
8427
  tokenDerivedTenantId
8107
8428
  ]);
8108
- const resolvedTelescupBaseUrl = useMemo9(() => {
8429
+ const resolvedTelescupBaseUrl = useMemo10(() => {
8109
8430
  return resolveTelescupBaseUrl();
8110
8431
  }, []);
8111
8432
  const resolvedProfileAvatarUrl = (_a25 = resolveAvatarPreviewUrl({ url: persistedProfileAvatarValue != null ? persistedProfileAvatarValue : authUser == null ? void 0 : authUser.picture })) != null ? _a25 : void 0;
@@ -8117,7 +8438,7 @@ var MainNavbar = ({
8117
8438
  return false;
8118
8439
  }
8119
8440
  })();
8120
- const resolvedAuthStatus = useMemo9(() => {
8441
+ const resolvedAuthStatus = useMemo10(() => {
8121
8442
  if (authStatus) return authStatus;
8122
8443
  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)) {
8123
8444
  return "authenticated";
@@ -8191,6 +8512,8 @@ var MainNavbar = ({
8191
8512
  setIsTwoFactorStatusLoading(false);
8192
8513
  setAccountsRecentActivity([]);
8193
8514
  setIsAccountsActivityLoading(false);
8515
+ setAccountsLoginHistorySessions([]);
8516
+ setIsAccountsLoginHistoryLoading(false);
8194
8517
  }
8195
8518
  }, [isAuthenticated]);
8196
8519
  useEffect14(() => {
@@ -8219,7 +8542,7 @@ var MainNavbar = ({
8219
8542
  return readAccessToken();
8220
8543
  };
8221
8544
  const fetchAccountsMe = async (token) => {
8222
- return fetch(buildExternalUrl(resolveAccountsApiBaseUrl(), ACCOUNTS_ME_ENDPOINT), {
8545
+ return fetch(buildExternalUrl(resolveAccountsApiBaseUrl2(), ACCOUNTS_ME_ENDPOINT), {
8223
8546
  headers: { Authorization: `Bearer ${token}` },
8224
8547
  signal: controller.signal
8225
8548
  });
@@ -8227,6 +8550,7 @@ var MainNavbar = ({
8227
8550
  const loadAccountsContext = async () => {
8228
8551
  var _a26;
8229
8552
  setIsAccountsActivityLoading(true);
8553
+ setIsAccountsLoginHistoryLoading(true);
8230
8554
  setIsTwoFactorStatusLoading(true);
8231
8555
  try {
8232
8556
  const token = await resolveAccountsToken(true);
@@ -8263,6 +8587,7 @@ var MainNavbar = ({
8263
8587
  const meRecord = isGenericRecord(mePayload) ? mePayload : null;
8264
8588
  const mfaEnabled = resolveTwoFactorEnabledFromClaims(meRecord != null ? meRecord : {});
8265
8589
  const languageFromProfile = resolveMenuLanguageFromRecord(meRecord);
8590
+ const sessionsFromMe = normalizeLoginHistorySessions(meRecord == null ? void 0 : meRecord.sessions);
8266
8591
  if (!canceled) {
8267
8592
  if (typeof mfaEnabled === "boolean") {
8268
8593
  setTwoFactorEnabled(mfaEnabled);
@@ -8270,6 +8595,7 @@ var MainNavbar = ({
8270
8595
  if (languageFromProfile) {
8271
8596
  setAccountsLanguage(languageFromProfile);
8272
8597
  }
8598
+ setAccountsLoginHistorySessions(sessionsFromMe);
8273
8599
  }
8274
8600
  }
8275
8601
  if (ACCOUNTS_ACTIVITY_ENDPOINT) {
@@ -8292,6 +8618,7 @@ var MainNavbar = ({
8292
8618
  } finally {
8293
8619
  if (!canceled) {
8294
8620
  setIsAccountsActivityLoading(false);
8621
+ setIsAccountsLoginHistoryLoading(false);
8295
8622
  setIsTwoFactorStatusLoading(false);
8296
8623
  }
8297
8624
  }
@@ -8302,7 +8629,7 @@ var MainNavbar = ({
8302
8629
  controller.abort();
8303
8630
  };
8304
8631
  }, [getAccessToken, isAuthenticated, currentUserId]);
8305
- const items = useMemo9(() => {
8632
+ const items = useMemo10(() => {
8306
8633
  var _a26;
8307
8634
  if (!showNavItems) return [];
8308
8635
  const normalizedPathname = currentPathname === "" ? "/" : currentPathname;
@@ -8330,9 +8657,9 @@ var MainNavbar = ({
8330
8657
  };
8331
8658
  });
8332
8659
  }, [currentPathname, onNavigate, resolvedAuthStatus, showNavItems]);
8333
- const resolvedLogo = useMemo9(() => {
8660
+ const resolvedLogo = useMemo10(() => {
8334
8661
  if (logo !== void 0) return logo;
8335
- return /* @__PURE__ */ jsx37("div", { className: DEFAULT_LOGO_SLOT_CLASS_NAME, "aria-hidden": "true" });
8662
+ return /* @__PURE__ */ jsx38("div", { className: DEFAULT_LOGO_SLOT_CLASS_NAME, "aria-hidden": "true" });
8336
8663
  }, [logo]);
8337
8664
  const handleCtaClick = () => {
8338
8665
  if (onNavigate) {
@@ -8386,7 +8713,7 @@ var MainNavbar = ({
8386
8713
  try {
8387
8714
  const token = getAccessToken ? await getAccessToken() : (_a26 = sessionStorage.getItem(ACCESS_TOKEN_STORAGE_KEY)) != null ? _a26 : readStoredIdToken2();
8388
8715
  if (!token || !isJwtUsable(token)) return;
8389
- const response = await fetch(buildExternalUrl(resolveAccountsApiBaseUrl(), ACCOUNTS_ME_ENDPOINT), {
8716
+ const response = await fetch(buildExternalUrl(resolveAccountsApiBaseUrl2(), ACCOUNTS_ME_ENDPOINT), {
8390
8717
  method: "PATCH",
8391
8718
  headers: {
8392
8719
  Authorization: `Bearer ${token}`,
@@ -8434,7 +8761,7 @@ var MainNavbar = ({
8434
8761
  }
8435
8762
  const payload = await response.json().catch(() => null);
8436
8763
  const profile = payload == null ? void 0 : payload.profile;
8437
- const finalUserId = (_c2 = (_b4 = toStringOrUndefined(profile == null ? void 0 : profile.user_id)) != null ? _b4 : toStringOrUndefined(profile == null ? void 0 : profile.id)) != null ? _c2 : currentUserId;
8764
+ const finalUserId = (_c2 = (_b4 = toStringOrUndefined2(profile == null ? void 0 : profile.user_id)) != null ? _b4 : toStringOrUndefined2(profile == null ? void 0 : profile.id)) != null ? _c2 : currentUserId;
8438
8765
  const nextAvatarPreview = (_d = resolveAvatarPreviewUrl({ url: avatarUrl }, normalizedAvatarId)) != null ? _d : normalizedAvatarId;
8439
8766
  setPersistedProfileAvatarValue(nextAvatarPreview);
8440
8767
  if (typeof window !== "undefined") {
@@ -8453,16 +8780,16 @@ var MainNavbar = ({
8453
8780
  },
8454
8781
  [currentUserId, getTelescupAccessToken, resolvedTelescupBaseUrl]
8455
8782
  );
8456
- return /* @__PURE__ */ jsx37(Fragment5, { children: /* @__PURE__ */ jsx37(
8783
+ return /* @__PURE__ */ jsx38(Fragment5, { children: /* @__PURE__ */ jsx38(
8457
8784
  NavbarCupcode,
8458
8785
  {
8459
8786
  logo: resolvedLogo,
8460
8787
  items,
8461
8788
  leadingSlot,
8462
8789
  className,
8463
- actions: /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
8464
- /* @__PURE__ */ jsx37(ThemeToggle, {}),
8465
- /* @__PURE__ */ jsx37(
8790
+ actions: /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
8791
+ /* @__PURE__ */ jsx38(ThemeToggle, {}),
8792
+ /* @__PURE__ */ jsx38(
8466
8793
  UserMenuCupcode,
8467
8794
  {
8468
8795
  isAuthenticated: resolvedAuthStatus === "authenticated",
@@ -8489,6 +8816,9 @@ var MainNavbar = ({
8489
8816
  isTwoFactorStatusLoading,
8490
8817
  recentActivity: accountsRecentActivity,
8491
8818
  isRecentActivityLoading: isAccountsActivityLoading,
8819
+ loginHistorySessions: accountsLoginHistorySessions,
8820
+ isLoginHistoryLoading: isAccountsLoginHistoryLoading,
8821
+ getAccountsAccessToken: getAccessToken,
8492
8822
  telescupBaseUrl: resolvedTelescupBaseUrl,
8493
8823
  getTelescupAccessToken,
8494
8824
  appVersion
@@ -8502,11 +8832,11 @@ var MainNavbar = ({
8502
8832
  // src/components/layout/sidebar.tsx
8503
8833
  import { AnimatePresence, motion } from "framer-motion";
8504
8834
  import { ChevronDown as ChevronDown4, Circle as Circle2, Search as Search2 } from "lucide-react";
8505
- import { useEffect as useEffect16, useMemo as useMemo11, useRef as useRef8, useState as useState15 } from "react";
8835
+ import { useEffect as useEffect16, useMemo as useMemo12, useRef as useRef8, useState as useState15 } from "react";
8506
8836
  import { NavLink, useLocation } from "react-router-dom";
8507
8837
 
8508
8838
  // src/components/layout/DocumentationSearchDialog.tsx
8509
- import { useEffect as useEffect15, useMemo as useMemo10, useState as useState14 } from "react";
8839
+ import { useEffect as useEffect15, useMemo as useMemo11, useState as useState14 } from "react";
8510
8840
  import { ArrowUpRight, Layers3, Search } from "lucide-react";
8511
8841
  import { useNavigate } from "react-router-dom";
8512
8842
 
@@ -9091,7 +9421,7 @@ var documentationMaps = [
9091
9421
  ];
9092
9422
 
9093
9423
  // src/components/layout/DocumentationSearchDialog.tsx
9094
- import { jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
9424
+ import { jsx as jsx39, jsxs as jsxs25 } from "react/jsx-runtime";
9095
9425
  var normalizeText = (value) => value.toLowerCase().normalize("NFD").replace(/\p{Diacritic}+/gu, "");
9096
9426
  var DocumentationSearchDialog = ({ open, onOpenChange }) => {
9097
9427
  const navigate = useNavigate();
@@ -9100,7 +9430,7 @@ var DocumentationSearchDialog = ({ open, onOpenChange }) => {
9100
9430
  if (open) return;
9101
9431
  setQuery("");
9102
9432
  }, [open]);
9103
- const visibleMaps = useMemo10(() => {
9433
+ const visibleMaps = useMemo11(() => {
9104
9434
  const normalizedQuery = normalizeText(query.trim());
9105
9435
  return documentationMaps.map((map) => {
9106
9436
  const parents = new Map(map.sections.map((section) => [section.id, section]));
@@ -9131,7 +9461,7 @@ var DocumentationSearchDialog = ({ open, onOpenChange }) => {
9131
9461
  };
9132
9462
  }).filter((map) => map.sections.length > 0);
9133
9463
  }, [query]);
9134
- const totalVisibleSections = useMemo10(
9464
+ const totalVisibleSections = useMemo11(
9135
9465
  () => visibleMaps.reduce((total, map) => total + map.sections.length, 0),
9136
9466
  [visibleMaps]
9137
9467
  );
@@ -9139,13 +9469,13 @@ var DocumentationSearchDialog = ({ open, onOpenChange }) => {
9139
9469
  onOpenChange(false);
9140
9470
  navigate(`${route}#${sectionId}`);
9141
9471
  };
9142
- return /* @__PURE__ */ jsx38(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs24(DialogContent, { className: "h-[min(92vh,960px)] max-w-[min(1180px,calc(100vw-1.5rem))] overflow-hidden rounded-[32px] border border-white/12 bg-[#12071f]/96 p-0 shadow-[0_36px_120px_-36px_rgba(0,0,0,0.92)] backdrop-blur-2xl", children: [
9143
- /* @__PURE__ */ jsxs24(DialogHeader, { className: "border-b border-white/10 bg-[radial-gradient(circle_at_top,_rgba(151,90,182,0.28),_transparent_58%)] px-6 pb-5 pt-6 text-left", children: [
9144
- /* @__PURE__ */ jsx38(DialogTitle, { className: "text-2xl font-semibold text-white", children: "Busca global da documenta\xE7\xE3o" }),
9145
- /* @__PURE__ */ jsx38(DialogDescription, { className: "text-sm text-white/68", children: "Procure se\xE7\xF5es dentro dos mapas de Docs, Anima\xE7\xF5es e Componentes." }),
9146
- /* @__PURE__ */ jsxs24("div", { className: "relative mt-4", children: [
9147
- /* @__PURE__ */ jsx38(Search, { className: "pointer-events-none absolute left-4 top-1/2 h-4 w-4 -translate-y-1/2 text-white/45" }),
9148
- /* @__PURE__ */ jsx38(
9472
+ return /* @__PURE__ */ jsx39(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs25(DialogContent, { className: "h-[min(92vh,960px)] max-w-[min(1180px,calc(100vw-1.5rem))] overflow-hidden rounded-[32px] border border-white/12 bg-[#12071f]/96 p-0 shadow-[0_36px_120px_-36px_rgba(0,0,0,0.92)] backdrop-blur-2xl", children: [
9473
+ /* @__PURE__ */ jsxs25(DialogHeader, { className: "border-b border-white/10 bg-[radial-gradient(circle_at_top,_rgba(151,90,182,0.28),_transparent_58%)] px-6 pb-5 pt-6 text-left", children: [
9474
+ /* @__PURE__ */ jsx39(DialogTitle, { className: "text-2xl font-semibold text-white", children: "Busca global da documenta\xE7\xE3o" }),
9475
+ /* @__PURE__ */ jsx39(DialogDescription, { className: "text-sm text-white/68", children: "Procure se\xE7\xF5es dentro dos mapas de Docs, Anima\xE7\xF5es e Componentes." }),
9476
+ /* @__PURE__ */ jsxs25("div", { className: "relative mt-4", children: [
9477
+ /* @__PURE__ */ jsx39(Search, { className: "pointer-events-none absolute left-4 top-1/2 h-4 w-4 -translate-y-1/2 text-white/45" }),
9478
+ /* @__PURE__ */ jsx39(
9149
9479
  Input,
9150
9480
  {
9151
9481
  autoFocus: true,
@@ -9157,45 +9487,45 @@ var DocumentationSearchDialog = ({ open, onOpenChange }) => {
9157
9487
  }
9158
9488
  )
9159
9489
  ] }),
9160
- /* @__PURE__ */ jsxs24("div", { className: "mt-3 flex flex-wrap gap-2 text-xs text-white/55", children: [
9161
- /* @__PURE__ */ jsxs24("span", { children: [
9490
+ /* @__PURE__ */ jsxs25("div", { className: "mt-3 flex flex-wrap gap-2 text-xs text-white/55", children: [
9491
+ /* @__PURE__ */ jsxs25("span", { children: [
9162
9492
  totalVisibleSections,
9163
9493
  " resultados"
9164
9494
  ] }),
9165
- /* @__PURE__ */ jsx38("span", { children: "\u2022" }),
9166
- /* @__PURE__ */ jsxs24("span", { children: [
9495
+ /* @__PURE__ */ jsx39("span", { children: "\u2022" }),
9496
+ /* @__PURE__ */ jsxs25("span", { children: [
9167
9497
  documentationMaps.length,
9168
9498
  " mapas"
9169
9499
  ] })
9170
9500
  ] })
9171
9501
  ] }),
9172
- /* @__PURE__ */ jsx38("div", { className: "grid h-full min-h-0 grid-cols-1 gap-4 overflow-hidden px-4 pb-4 pt-4 lg:grid-cols-3", children: visibleMaps.length === 0 ? /* @__PURE__ */ jsx38("div", { className: "col-span-full flex min-h-[320px] items-center justify-center rounded-[28px] border border-dashed border-cupcode-purple/30 bg-white/[0.04] p-8 text-center", children: /* @__PURE__ */ jsxs24("div", { className: "space-y-2", children: [
9173
- /* @__PURE__ */ jsx38("p", { className: "text-base font-semibold text-white", children: "Nenhuma se\xE7\xE3o encontrada." }),
9174
- /* @__PURE__ */ jsx38("p", { className: "text-sm text-white/55", children: "Tente outro termo ou procure pelo nome da p\xE1gina." })
9175
- ] }) }) : visibleMaps.map((map) => /* @__PURE__ */ jsxs24(
9502
+ /* @__PURE__ */ jsx39("div", { className: "grid h-full min-h-0 grid-cols-1 gap-4 overflow-hidden px-4 pb-4 pt-4 lg:grid-cols-3", children: visibleMaps.length === 0 ? /* @__PURE__ */ jsx39("div", { className: "col-span-full flex min-h-[320px] items-center justify-center rounded-[28px] border border-dashed border-cupcode-purple/30 bg-white/[0.04] p-8 text-center", children: /* @__PURE__ */ jsxs25("div", { className: "space-y-2", children: [
9503
+ /* @__PURE__ */ jsx39("p", { className: "text-base font-semibold text-white", children: "Nenhuma se\xE7\xE3o encontrada." }),
9504
+ /* @__PURE__ */ jsx39("p", { className: "text-sm text-white/55", children: "Tente outro termo ou procure pelo nome da p\xE1gina." })
9505
+ ] }) }) : visibleMaps.map((map) => /* @__PURE__ */ jsxs25(
9176
9506
  "section",
9177
9507
  {
9178
9508
  className: "flex min-h-0 max-h-full flex-col overflow-hidden rounded-[28px] border border-white/10 bg-[linear-gradient(180deg,rgba(255,255,255,0.07),rgba(255,255,255,0.03))] p-3",
9179
9509
  children: [
9180
- /* @__PURE__ */ jsxs24("div", { className: "rounded-[22px] border border-cupcode-purple/20 bg-cupcode-purple/10 p-4", children: [
9181
- /* @__PURE__ */ jsxs24("div", { className: "flex items-start gap-3", children: [
9182
- /* @__PURE__ */ jsx38("span", { className: "inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-2xl bg-cupcode-purple/20 text-cupcode-purple", children: /* @__PURE__ */ jsx38(Layers3, { className: "h-4 w-4" }) }),
9183
- /* @__PURE__ */ jsxs24("div", { className: "min-w-0", children: [
9184
- /* @__PURE__ */ jsx38("p", { className: "truncate text-sm font-semibold text-white", children: map.title }),
9185
- /* @__PURE__ */ jsx38("p", { className: "mt-1 text-xs leading-5 text-white/60", children: map.subtitle })
9510
+ /* @__PURE__ */ jsxs25("div", { className: "rounded-[22px] border border-cupcode-purple/20 bg-cupcode-purple/10 p-4", children: [
9511
+ /* @__PURE__ */ jsxs25("div", { className: "flex items-start gap-3", children: [
9512
+ /* @__PURE__ */ jsx39("span", { className: "inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-2xl bg-cupcode-purple/20 text-cupcode-purple", children: /* @__PURE__ */ jsx39(Layers3, { className: "h-4 w-4" }) }),
9513
+ /* @__PURE__ */ jsxs25("div", { className: "min-w-0", children: [
9514
+ /* @__PURE__ */ jsx39("p", { className: "truncate text-sm font-semibold text-white", children: map.title }),
9515
+ /* @__PURE__ */ jsx39("p", { className: "mt-1 text-xs leading-5 text-white/60", children: map.subtitle })
9186
9516
  ] })
9187
9517
  ] }),
9188
- /* @__PURE__ */ jsxs24("p", { className: "mt-3 text-xs uppercase tracking-[0.14em] text-cupcode-purple/85", children: [
9518
+ /* @__PURE__ */ jsxs25("p", { className: "mt-3 text-xs uppercase tracking-[0.14em] text-cupcode-purple/85", children: [
9189
9519
  map.sections.length,
9190
9520
  " de ",
9191
9521
  map.totalSections,
9192
9522
  " links"
9193
9523
  ] })
9194
9524
  ] }),
9195
- /* @__PURE__ */ jsx38("div", { className: "cc-scrollbar cc-scrollbar-purple mt-3 min-h-0 flex-1 space-y-2 overflow-y-auto overflow-x-hidden pr-1", children: map.sections.map((section) => {
9525
+ /* @__PURE__ */ jsx39("div", { className: "cc-scrollbar cc-scrollbar-purple mt-3 min-h-0 flex-1 space-y-2 overflow-y-auto overflow-x-hidden pr-1", children: map.sections.map((section) => {
9196
9526
  const parent = section.parentId ? map.parents.get(section.parentId) : null;
9197
9527
  const isChild = Boolean(parent);
9198
- return /* @__PURE__ */ jsx38(
9528
+ return /* @__PURE__ */ jsx39(
9199
9529
  "button",
9200
9530
  {
9201
9531
  type: "button",
@@ -9204,23 +9534,23 @@ var DocumentationSearchDialog = ({ open, onOpenChange }) => {
9204
9534
  "flex w-full overflow-hidden rounded-[22px] border px-4 py-3 text-left transition duration-200",
9205
9535
  isChild ? "border-white/6 bg-white/[0.03] hover:border-cupcode-purple/24 hover:bg-cupcode-purple/[0.08]" : "border-white/10 bg-white/[0.05] hover:border-cupcode-purple/30 hover:bg-cupcode-purple/[0.12]"
9206
9536
  ),
9207
- children: /* @__PURE__ */ jsx38("div", { className: "flex h-full w-full items-start", children: /* @__PURE__ */ jsxs24("div", { className: "min-w-0 flex-1", children: [
9208
- /* @__PURE__ */ jsxs24("div", { className: "flex items-start gap-3", children: [
9209
- /* @__PURE__ */ jsxs24("div", { className: "min-w-0 flex-1", children: [
9210
- /* @__PURE__ */ jsx38("p", { className: "truncate text-sm font-semibold text-white", children: section.label }),
9211
- /* @__PURE__ */ jsxs24("p", { className: "mt-1 text-[11px] uppercase tracking-[0.12em] text-white/48", children: [
9537
+ children: /* @__PURE__ */ jsx39("div", { className: "flex h-full w-full items-start", children: /* @__PURE__ */ jsxs25("div", { className: "min-w-0 flex-1", children: [
9538
+ /* @__PURE__ */ jsxs25("div", { className: "flex items-start gap-3", children: [
9539
+ /* @__PURE__ */ jsxs25("div", { className: "min-w-0 flex-1", children: [
9540
+ /* @__PURE__ */ jsx39("p", { className: "truncate text-sm font-semibold text-white", children: section.label }),
9541
+ /* @__PURE__ */ jsxs25("p", { className: "mt-1 text-[11px] uppercase tracking-[0.12em] text-white/48", children: [
9212
9542
  map.searchLabel,
9213
9543
  " \u2022 ",
9214
9544
  section.group
9215
9545
  ] })
9216
9546
  ] }),
9217
- /* @__PURE__ */ jsx38(ArrowUpRight, { className: "mt-0.5 h-4 w-4 shrink-0 text-white/35" })
9547
+ /* @__PURE__ */ jsx39(ArrowUpRight, { className: "mt-0.5 h-4 w-4 shrink-0 text-white/35" })
9218
9548
  ] }),
9219
- parent ? /* @__PURE__ */ jsxs24("p", { className: "mt-1.5 text-xs text-cupcode-purple/88", children: [
9549
+ parent ? /* @__PURE__ */ jsxs25("p", { className: "mt-1.5 text-xs text-cupcode-purple/88", children: [
9220
9550
  "Dentro de ",
9221
9551
  parent.label
9222
9552
  ] }) : null,
9223
- section.description ? /* @__PURE__ */ jsx38("p", { className: cn("mt-1.5 truncate text-sm leading-5 text-white/62", parent && "mt-2"), children: section.description }) : null
9553
+ section.description ? /* @__PURE__ */ jsx39("p", { className: cn("mt-1.5 truncate text-sm leading-5 text-white/62", parent && "mt-2"), children: section.description }) : null
9224
9554
  ] }) })
9225
9555
  },
9226
9556
  `${map.id}-${section.id}`
@@ -9277,16 +9607,16 @@ var buildSidebarGroupsFromNavItems = (items, defaultGroupLabel = "Principal") =>
9277
9607
  var defaultSidebarGroups = buildSidebarGroupsFromNavItems(getMainNavItems());
9278
9608
 
9279
9609
  // src/components/layout/sidebar.tsx
9280
- import { jsx as jsx39, jsxs as jsxs25 } from "react/jsx-runtime";
9610
+ import { jsx as jsx40, jsxs as jsxs26 } from "react/jsx-runtime";
9281
9611
  var findGroupByRoute = (groups, pathname) => {
9282
9612
  var _a25, _b3;
9283
9613
  return (_b3 = (_a25 = groups.find((group) => group.items.some((item) => item.route === pathname))) == null ? void 0 : _a25.label) != null ? _b3 : null;
9284
9614
  };
9285
- var IconFallback = () => /* @__PURE__ */ jsx39(Circle2, { className: "h-3 w-3 opacity-80", "aria-hidden": "true" });
9286
- var DEFAULT_EXPANDED_LOGO_SLOT = /* @__PURE__ */ jsx39("div", { className: "h-10 w-[175px] shrink-0", "aria-hidden": "true" });
9287
- var DEFAULT_COLLAPSED_LOGO_SLOT = /* @__PURE__ */ jsx39("div", { className: "h-8 w-8 shrink-0 rounded-lg", "aria-hidden": "true" });
9615
+ var IconFallback = () => /* @__PURE__ */ jsx40(Circle2, { className: "h-3 w-3 opacity-80", "aria-hidden": "true" });
9616
+ var DEFAULT_EXPANDED_LOGO_SLOT = /* @__PURE__ */ jsx40("div", { className: "h-10 w-[175px] shrink-0", "aria-hidden": "true" });
9617
+ var DEFAULT_COLLAPSED_LOGO_SLOT = /* @__PURE__ */ jsx40("div", { className: "h-8 w-8 shrink-0 rounded-lg", "aria-hidden": "true" });
9288
9618
  var NAV_CLICK_DEBUG_KEY2 = "cc-debug-last-nav-click";
9289
- var IconSlot = ({ icon, className }) => /* @__PURE__ */ jsx39("span", { className: cn("inline-flex items-center justify-center [&>svg]:h-4 [&>svg]:w-4", className), children: icon != null ? icon : /* @__PURE__ */ jsx39(IconFallback, {}) });
9619
+ var IconSlot = ({ icon, className }) => /* @__PURE__ */ jsx40("span", { className: cn("inline-flex items-center justify-center [&>svg]:h-4 [&>svg]:w-4", className), children: icon != null ? icon : /* @__PURE__ */ jsx40(IconFallback, {}) });
9290
9620
  var logSidebarNavClick = (source, item) => {
9291
9621
  const payload = {
9292
9622
  source,
@@ -9306,12 +9636,12 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9306
9636
  const scrollTopRef = useRef8(0);
9307
9637
  const [openGroup, setOpenGroup] = useState15(null);
9308
9638
  const [isSearchOpen, setIsSearchOpen] = useState15(false);
9309
- const resolvedGroups = useMemo11(() => {
9639
+ const resolvedGroups = useMemo12(() => {
9310
9640
  if (groups && groups.length > 0) return groups;
9311
9641
  return defaultSidebarGroups;
9312
9642
  }, [groups]);
9313
9643
  const visibleGroups = resolvedGroups;
9314
- const collapsedItems = useMemo11(
9644
+ const collapsedItems = useMemo12(
9315
9645
  () => resolvedGroups.flatMap((group) => group.items),
9316
9646
  [resolvedGroups]
9317
9647
  );
@@ -9356,29 +9686,29 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9356
9686
  window.cancelAnimationFrame(frame);
9357
9687
  };
9358
9688
  }, [location.pathname]);
9359
- return /* @__PURE__ */ jsxs25(
9689
+ return /* @__PURE__ */ jsxs26(
9360
9690
  motion.aside,
9361
9691
  {
9362
9692
  className: cn("fixed left-0 top-0 z-30 h-full overflow-hidden", className),
9363
9693
  animate: { width: isCollapsed ? 76 : 320 },
9364
9694
  transition: { duration: 0.25, ease: "easeInOut" },
9365
9695
  children: [
9366
- /* @__PURE__ */ jsxs25("div", { className: "flex h-full flex-col overflow-hidden border-r 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)]", children: [
9367
- /* @__PURE__ */ jsx39("div", { className: cn("mb-3 flex min-h-11 items-center", isCollapsed ? "justify-center" : "justify-start px-1"), children: isCollapsed ? resolvedCollapsedLogo : resolvedExpandedLogo }),
9368
- !isCollapsed ? /* @__PURE__ */ jsx39("div", { className: "relative mb-3", children: /* @__PURE__ */ jsxs25(
9696
+ /* @__PURE__ */ jsxs26("div", { className: "flex h-full flex-col overflow-hidden border-r 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)]", children: [
9697
+ /* @__PURE__ */ jsx40("div", { className: cn("mb-3 flex min-h-11 items-center", isCollapsed ? "justify-center" : "justify-start px-1"), children: isCollapsed ? resolvedCollapsedLogo : resolvedExpandedLogo }),
9698
+ !isCollapsed ? /* @__PURE__ */ jsx40("div", { className: "relative mb-3", children: /* @__PURE__ */ jsxs26(
9369
9699
  "button",
9370
9700
  {
9371
9701
  type: "button",
9372
9702
  onClick: () => setIsSearchOpen(true),
9373
9703
  className: "glass-subtle flex h-10 w-full items-center rounded-xl border-none px-3 text-left text-sm text-ink/78 outline-none transition hover:bg-white/15 focus-visible:ring-2 focus-visible:ring-primary/40",
9374
9704
  children: [
9375
- /* @__PURE__ */ jsx39(Search2, { className: "mr-3 h-4 w-4 shrink-0 text-ink/65" }),
9376
- /* @__PURE__ */ jsx39("span", { className: "truncate text-ink/70", children: "Buscar na documenta\xE7\xE3o..." })
9705
+ /* @__PURE__ */ jsx40(Search2, { className: "mr-3 h-4 w-4 shrink-0 text-ink/65" }),
9706
+ /* @__PURE__ */ jsx40("span", { className: "truncate text-ink/70", children: "Buscar na documenta\xE7\xE3o..." })
9377
9707
  ]
9378
9708
  }
9379
9709
  ) }) : null,
9380
- /* @__PURE__ */ jsx39("div", { ref: navScrollRef, className: "cc-scrollbar cc-scrollbar-purple flex-1 overflow-y-auto overflow-x-hidden pr-1", children: isCollapsed ? /* @__PURE__ */ jsxs25("div", { className: "flex flex-col items-center gap-2", children: [
9381
- /* @__PURE__ */ jsx39(
9710
+ /* @__PURE__ */ jsx40("div", { ref: navScrollRef, className: "cc-scrollbar cc-scrollbar-purple flex-1 overflow-y-auto overflow-x-hidden pr-1", children: isCollapsed ? /* @__PURE__ */ jsxs26("div", { className: "flex flex-col items-center gap-2", children: [
9711
+ /* @__PURE__ */ jsx40(
9382
9712
  "button",
9383
9713
  {
9384
9714
  type: "button",
@@ -9386,12 +9716,12 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9386
9716
  className: "group inline-flex h-11 w-11 items-center justify-center rounded-xl bg-white/10 text-ink transition-colors duration-200 hover:bg-[rgba(151,90,182,0.30)]",
9387
9717
  "aria-label": "Buscar na documenta\xE7\xE3o",
9388
9718
  title: "Buscar na documenta\xE7\xE3o",
9389
- children: /* @__PURE__ */ jsx39(Search2, { className: "h-5 w-5" })
9719
+ children: /* @__PURE__ */ jsx40(Search2, { className: "h-5 w-5" })
9390
9720
  }
9391
9721
  ),
9392
9722
  collapsedItems.map((item) => {
9393
9723
  const isActive = location.pathname === item.route;
9394
- return /* @__PURE__ */ jsx39(
9724
+ return /* @__PURE__ */ jsx40(
9395
9725
  NavLink,
9396
9726
  {
9397
9727
  to: item.route,
@@ -9405,17 +9735,17 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9405
9735
  ),
9406
9736
  "aria-label": item.label,
9407
9737
  title: item.label,
9408
- children: /* @__PURE__ */ jsx39(IconSlot, { icon: item.icon, className: cn("[&>svg]:h-5 [&>svg]:w-5", isActive && "text-white") })
9738
+ children: /* @__PURE__ */ jsx40(IconSlot, { icon: item.icon, className: cn("[&>svg]:h-5 [&>svg]:w-5", isActive && "text-white") })
9409
9739
  },
9410
9740
  item.id
9411
9741
  );
9412
9742
  })
9413
- ] }) : /* @__PURE__ */ jsx39("div", { className: "space-y-2", children: visibleGroups.length === 0 ? /* @__PURE__ */ jsx39("p", { className: "rounded-xl bg-white/20 px-3 py-3 text-xs text-ink-muted", children: "Nenhum item encontrado." }) : visibleGroups.map((group) => {
9743
+ ] }) : /* @__PURE__ */ jsx40("div", { className: "space-y-2", children: visibleGroups.length === 0 ? /* @__PURE__ */ jsx40("p", { className: "rounded-xl bg-white/20 px-3 py-3 text-xs text-ink-muted", children: "Nenhum item encontrado." }) : visibleGroups.map((group) => {
9414
9744
  const isOpen = openGroup === group.label;
9415
9745
  const showGroupHeader = visibleGroups.length > 1;
9416
9746
  const showGroupItems = !showGroupHeader || isOpen;
9417
- return /* @__PURE__ */ jsxs25("section", { className: "rounded-xl bg-white/14", children: [
9418
- showGroupHeader ? /* @__PURE__ */ jsxs25(
9747
+ return /* @__PURE__ */ jsxs26("section", { className: "rounded-xl bg-white/14", children: [
9748
+ showGroupHeader ? /* @__PURE__ */ jsxs26(
9419
9749
  "button",
9420
9750
  {
9421
9751
  type: "button",
@@ -9423,13 +9753,13 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9423
9753
  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)]",
9424
9754
  "aria-expanded": isOpen,
9425
9755
  children: [
9426
- /* @__PURE__ */ jsx39(IconSlot, { icon: group.icon, className: "h-8 w-8 rounded-xl bg-white/55 text-ink" }),
9427
- /* @__PURE__ */ jsx39("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-ink/80", children: group.label }),
9428
- /* @__PURE__ */ jsx39(ChevronDown4, { className: cn("ml-auto h-4 w-4 text-ink/65 transition-transform", isOpen && "rotate-90") })
9756
+ /* @__PURE__ */ jsx40(IconSlot, { icon: group.icon, className: "h-8 w-8 rounded-xl bg-white/55 text-ink" }),
9757
+ /* @__PURE__ */ jsx40("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-ink/80", children: group.label }),
9758
+ /* @__PURE__ */ jsx40(ChevronDown4, { className: cn("ml-auto h-4 w-4 text-ink/65 transition-transform", isOpen && "rotate-90") })
9429
9759
  ]
9430
9760
  }
9431
9761
  ) : null,
9432
- /* @__PURE__ */ jsx39(AnimatePresence, { initial: false, children: showGroupItems ? /* @__PURE__ */ jsx39(
9762
+ /* @__PURE__ */ jsx40(AnimatePresence, { initial: false, children: showGroupItems ? /* @__PURE__ */ jsx40(
9433
9763
  motion.div,
9434
9764
  {
9435
9765
  initial: { height: 0 },
@@ -9437,9 +9767,9 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9437
9767
  exit: { height: 0 },
9438
9768
  transition: { duration: 0.2, ease: "easeInOut" },
9439
9769
  className: "overflow-hidden",
9440
- children: /* @__PURE__ */ jsx39("nav", { className: "space-y-1 pb-2", children: group.items.map((item) => {
9770
+ children: /* @__PURE__ */ jsx40("nav", { className: "space-y-1 pb-2", children: group.items.map((item) => {
9441
9771
  const isActive = location.pathname === item.route;
9442
- return /* @__PURE__ */ jsxs25(
9772
+ return /* @__PURE__ */ jsxs26(
9443
9773
  NavLink,
9444
9774
  {
9445
9775
  to: item.route,
@@ -9452,7 +9782,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9452
9782
  isActive && "bg-white/40 font-medium text-ink"
9453
9783
  ),
9454
9784
  children: [
9455
- /* @__PURE__ */ jsx39(
9785
+ /* @__PURE__ */ jsx40(
9456
9786
  IconSlot,
9457
9787
  {
9458
9788
  icon: item.icon,
@@ -9462,7 +9792,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9462
9792
  )
9463
9793
  }
9464
9794
  ),
9465
- /* @__PURE__ */ jsx39("span", { className: cn("truncate", isActive && "font-medium"), children: item.label })
9795
+ /* @__PURE__ */ jsx40("span", { className: cn("truncate", isActive && "font-medium"), children: item.label })
9466
9796
  ]
9467
9797
  },
9468
9798
  item.id
@@ -9473,14 +9803,14 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo, classNam
9473
9803
  ] }, group.id);
9474
9804
  }) }) })
9475
9805
  ] }),
9476
- /* @__PURE__ */ jsx39(DocumentationSearchDialog, { open: isSearchOpen, onOpenChange: setIsSearchOpen })
9806
+ /* @__PURE__ */ jsx40(DocumentationSearchDialog, { open: isSearchOpen, onOpenChange: setIsSearchOpen })
9477
9807
  ]
9478
9808
  }
9479
9809
  );
9480
9810
  };
9481
9811
 
9482
9812
  // src/components/layout/main-layout.tsx
9483
- import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs26 } from "react/jsx-runtime";
9813
+ import { Fragment as Fragment6, jsx as jsx41, jsxs as jsxs27 } from "react/jsx-runtime";
9484
9814
  var SIDEBAR_COLLAPSED_WIDTH = 76;
9485
9815
  var SIDEBAR_EXPANDED_WIDTH = 320;
9486
9816
  var SIDEBAR_COLLAPSED_STORAGE_KEY = "cc-layout-sidebar-collapsed";
@@ -9525,26 +9855,26 @@ var MainLayout = ({
9525
9855
  return () => document.removeEventListener("keydown", handleKeyDown);
9526
9856
  }, [isMobileSidebarOpen]);
9527
9857
  const contentMarginLeft = sidebarCollapsed ? SIDEBAR_COLLAPSED_WIDTH : SIDEBAR_EXPANDED_WIDTH;
9528
- const sidebarGroups = useMemo12(
9858
+ const sidebarGroups = useMemo13(
9529
9859
  () => buildSidebarGroupsFromNavItems(
9530
9860
  getMainNavItems({ includePrivate: (navbarProps == null ? void 0 : navbarProps.authStatus) === "authenticated" })
9531
9861
  ),
9532
9862
  [navbarProps == null ? void 0 : navbarProps.authStatus]
9533
9863
  );
9534
- const mergedNavbarClassName = useMemo12(
9864
+ const mergedNavbarClassName = useMemo13(
9535
9865
  () => cn(
9536
9866
  "!left-0 !right-0 !top-0 !rounded-none !border-l-0 transition-[left] duration-300 ease-in-out md:!left-[var(--cc-layout-sidebar-width)]",
9537
9867
  navbarProps == null ? void 0 : navbarProps.className
9538
9868
  ),
9539
9869
  [navbarProps == null ? void 0 : navbarProps.className]
9540
9870
  );
9541
- return /* @__PURE__ */ jsxs26(
9871
+ return /* @__PURE__ */ jsxs27(
9542
9872
  "div",
9543
9873
  {
9544
9874
  className: cn("relative min-h-screen max-w-full overflow-x-clip", className),
9545
9875
  style: { "--cc-layout-sidebar-width": `${contentMarginLeft}px` },
9546
9876
  children: [
9547
- /* @__PURE__ */ jsx40(
9877
+ /* @__PURE__ */ jsx41(
9548
9878
  AppSidebar,
9549
9879
  {
9550
9880
  isCollapsed: sidebarCollapsed,
@@ -9555,8 +9885,8 @@ var MainLayout = ({
9555
9885
  className: "hidden md:block"
9556
9886
  }
9557
9887
  ),
9558
- isMobileSidebarOpen ? /* @__PURE__ */ jsxs26("div", { className: "fixed inset-0 z-[12000] md:hidden", children: [
9559
- /* @__PURE__ */ jsx40(
9888
+ isMobileSidebarOpen ? /* @__PURE__ */ jsxs27("div", { className: "fixed inset-0 z-[12000] md:hidden", children: [
9889
+ /* @__PURE__ */ jsx41(
9560
9890
  "button",
9561
9891
  {
9562
9892
  type: "button",
@@ -9565,7 +9895,7 @@ var MainLayout = ({
9565
9895
  onClick: () => setIsMobileSidebarOpen(false)
9566
9896
  }
9567
9897
  ),
9568
- /* @__PURE__ */ jsx40(
9898
+ /* @__PURE__ */ jsx41(
9569
9899
  AppSidebar,
9570
9900
  {
9571
9901
  isCollapsed: false,
@@ -9578,31 +9908,31 @@ var MainLayout = ({
9578
9908
  }
9579
9909
  )
9580
9910
  ] }) : null,
9581
- /* @__PURE__ */ jsx40(
9911
+ /* @__PURE__ */ jsx41(
9582
9912
  MainNavbar,
9583
9913
  {
9584
9914
  ...navbarProps,
9585
9915
  showNavItems: false,
9586
9916
  className: mergedNavbarClassName,
9587
- leadingSlot: /* @__PURE__ */ jsxs26(Fragment6, { children: [
9588
- /* @__PURE__ */ jsx40(
9917
+ leadingSlot: /* @__PURE__ */ jsxs27(Fragment6, { children: [
9918
+ /* @__PURE__ */ jsx41(
9589
9919
  "button",
9590
9920
  {
9591
9921
  type: "button",
9592
9922
  onClick: () => setIsMobileSidebarOpen(true),
9593
9923
  "aria-label": "Abrir menu de navega\xE7\xE3o",
9594
9924
  className: "inline-flex h-full min-h-[var(--cc-navbar-height-mobile)] w-14 items-center justify-center border-r border-border/60 bg-background/35 text-foreground transition-colors duration-200 hover:bg-background/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/45 dark:border-white/15 dark:bg-white/[0.04] dark:text-white/90 dark:hover:bg-white/[0.08] md:hidden",
9595
- children: /* @__PURE__ */ jsx40(Menu2, { className: "h-5 w-5" })
9925
+ children: /* @__PURE__ */ jsx41(Menu2, { className: "h-5 w-5" })
9596
9926
  }
9597
9927
  ),
9598
- /* @__PURE__ */ jsx40(
9928
+ /* @__PURE__ */ jsx41(
9599
9929
  "button",
9600
9930
  {
9601
9931
  type: "button",
9602
9932
  onClick: toggleSidebar,
9603
9933
  "aria-label": sidebarCollapsed ? "Expandir sidebar" : "Recolher sidebar",
9604
9934
  className: "hidden h-full min-h-[var(--cc-navbar-height-desktop)] w-14 items-center justify-center border-r border-border/60 bg-background/35 text-foreground transition-colors duration-200 hover:bg-background/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/45 dark:border-white/15 dark:bg-white/[0.04] dark:text-white/90 dark:hover:bg-white/[0.08] md:inline-flex",
9605
- children: /* @__PURE__ */ jsx40(
9935
+ children: /* @__PURE__ */ jsx41(
9606
9936
  ChevronRight2,
9607
9937
  {
9608
9938
  className: cn(
@@ -9616,7 +9946,7 @@ var MainLayout = ({
9616
9946
  ] })
9617
9947
  }
9618
9948
  ),
9619
- /* @__PURE__ */ jsx40(
9949
+ /* @__PURE__ */ jsx41(
9620
9950
  "main",
9621
9951
  {
9622
9952
  className: cn(
@@ -9634,7 +9964,7 @@ var MainLayout = ({
9634
9964
  // src/components/cupcode/ErrorBoundary.tsx
9635
9965
  import React22 from "react";
9636
9966
  import { AlertTriangle } from "lucide-react";
9637
- import { jsx as jsx41, jsxs as jsxs27 } from "react/jsx-runtime";
9967
+ import { jsx as jsx42, jsxs as jsxs28 } from "react/jsx-runtime";
9638
9968
  var ErrorBoundary = class extends React22.Component {
9639
9969
  constructor(props) {
9640
9970
  super(props);
@@ -9654,17 +9984,17 @@ var ErrorBoundary = class extends React22.Component {
9654
9984
  if (this.props.fallback) {
9655
9985
  return this.props.fallback;
9656
9986
  }
9657
- return /* @__PURE__ */ jsx41("div", { className: "min-h-screen flex items-center justify-center p-6 bg-gradient-to-br from-cupcode-surface to-muted", children: /* @__PURE__ */ jsxs27("div", { className: "max-w-md w-full glass rounded-xl p-8 text-center animate-scale-in", children: [
9658
- /* @__PURE__ */ jsx41("div", { className: "mb-6 flex justify-center", children: /* @__PURE__ */ jsx41("div", { className: "p-4 rounded-full bg-destructive/10", children: /* @__PURE__ */ jsx41(AlertTriangle, { className: "w-12 h-12 text-destructive" }) }) }),
9659
- /* @__PURE__ */ jsx41("h2", { className: "text-2xl font-display font-bold text-foreground mb-3", children: "Algo deu errado" }),
9660
- /* @__PURE__ */ jsx41("p", { className: "text-muted-foreground mb-6", children: "Desculpe, encontramos um erro inesperado. Por favor, tente novamente." }),
9661
- this.state.error && /* @__PURE__ */ jsxs27("details", { className: "mb-6 text-left", children: [
9662
- /* @__PURE__ */ jsx41("summary", { className: "cursor-pointer text-sm text-muted-foreground hover:text-foreground", children: "Detalhes t\xE9cnicos" }),
9663
- /* @__PURE__ */ jsx41("pre", { className: "mt-2 p-3 bg-muted rounded-md text-xs overflow-x-auto", children: this.state.error.message })
9987
+ return /* @__PURE__ */ jsx42("div", { className: "min-h-screen flex items-center justify-center p-6 bg-gradient-to-br from-cupcode-surface to-muted", children: /* @__PURE__ */ jsxs28("div", { className: "max-w-md w-full glass rounded-xl p-8 text-center animate-scale-in", children: [
9988
+ /* @__PURE__ */ jsx42("div", { className: "mb-6 flex justify-center", children: /* @__PURE__ */ jsx42("div", { className: "p-4 rounded-full bg-destructive/10", children: /* @__PURE__ */ jsx42(AlertTriangle, { className: "w-12 h-12 text-destructive" }) }) }),
9989
+ /* @__PURE__ */ jsx42("h2", { className: "text-2xl font-display font-bold text-foreground mb-3", children: "Algo deu errado" }),
9990
+ /* @__PURE__ */ jsx42("p", { className: "text-muted-foreground mb-6", children: "Desculpe, encontramos um erro inesperado. Por favor, tente novamente." }),
9991
+ this.state.error && /* @__PURE__ */ jsxs28("details", { className: "mb-6 text-left", children: [
9992
+ /* @__PURE__ */ jsx42("summary", { className: "cursor-pointer text-sm text-muted-foreground hover:text-foreground", children: "Detalhes t\xE9cnicos" }),
9993
+ /* @__PURE__ */ jsx42("pre", { className: "mt-2 p-3 bg-muted rounded-md text-xs overflow-x-auto", children: this.state.error.message })
9664
9994
  ] }),
9665
- /* @__PURE__ */ jsxs27("div", { className: "flex gap-3 justify-center", children: [
9666
- /* @__PURE__ */ jsx41(JellyButton, { onClick: this.handleReset, variant: "primary", children: "Tentar novamente" }),
9667
- /* @__PURE__ */ jsx41(JellyButton, { onClick: () => window.location.href = "/", variant: "secondary", children: "Ir para in\xEDcio" })
9995
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-3 justify-center", children: [
9996
+ /* @__PURE__ */ jsx42(JellyButton, { onClick: this.handleReset, variant: "primary", children: "Tentar novamente" }),
9997
+ /* @__PURE__ */ jsx42(JellyButton, { onClick: () => window.location.href = "/", variant: "secondary", children: "Ir para in\xEDcio" })
9668
9998
  ] })
9669
9999
  ] }) });
9670
10000
  }
@@ -9674,7 +10004,7 @@ var ErrorBoundary = class extends React22.Component {
9674
10004
 
9675
10005
  // src/components/cupcode/EyebrowCupcode.tsx
9676
10006
  import { forwardRef as forwardRef18 } from "react";
9677
- import { jsx as jsx42 } from "react/jsx-runtime";
10007
+ import { jsx as jsx43 } from "react/jsx-runtime";
9678
10008
  var Eyebrow = forwardRef18(
9679
10009
  ({ variant = "galaxy", glow = false, className, children, ...props }, ref) => {
9680
10010
  const baseClasses = cn(
@@ -9690,7 +10020,7 @@ var Eyebrow = forwardRef18(
9690
10020
  purple: "bg-cupcode-purple text-white shadow-[0_0_20px_rgba(124,91,187,0.4)]",
9691
10021
  outline: "border-2 border-cupcode-purple text-cupcode-purple bg-transparent"
9692
10022
  };
9693
- return /* @__PURE__ */ jsx42(
10023
+ return /* @__PURE__ */ jsx43(
9694
10024
  "div",
9695
10025
  {
9696
10026
  ref,
@@ -9708,7 +10038,7 @@ import { ChevronRight as ChevronRight3 } from "lucide-react";
9708
10038
 
9709
10039
  // src/components/cupcode/ThemeBackground.tsx
9710
10040
  import { Suspense, lazy } from "react";
9711
- import { jsx as jsx43 } from "react/jsx-runtime";
10041
+ import { jsx as jsx44 } from "react/jsx-runtime";
9712
10042
  var BackgroundRainbow2 = lazy(
9713
10043
  () => Promise.resolve().then(() => (init_BackgroundRainbow(), BackgroundRainbow_exports)).then((module) => ({ default: module.BackgroundRainbow }))
9714
10044
  );
@@ -9718,7 +10048,7 @@ var BackgroundStars2 = lazy(
9718
10048
  var ThemeBackground = ({ enableStars = true }) => {
9719
10049
  const { theme } = useAppTheme();
9720
10050
  const isDark = theme === "dark";
9721
- return /* @__PURE__ */ jsx43(Suspense, { fallback: null, children: isDark ? enableStars ? /* @__PURE__ */ jsx43(BackgroundStars2, {}) : null : /* @__PURE__ */ jsx43(BackgroundRainbow2, {}) });
10051
+ return /* @__PURE__ */ jsx44(Suspense, { fallback: null, children: isDark ? enableStars ? /* @__PURE__ */ jsx44(BackgroundStars2, {}) : null : /* @__PURE__ */ jsx44(BackgroundRainbow2, {}) });
9722
10052
  };
9723
10053
 
9724
10054
  // src/hooks/useFooterLinks.ts
@@ -9854,7 +10184,7 @@ var useFooterLinks = () => {
9854
10184
  };
9855
10185
 
9856
10186
  // src/components/cupcode/FooterCupcode.tsx
9857
- import { Fragment as Fragment7, jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
10187
+ import { Fragment as Fragment7, jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
9858
10188
  var cupcodeFaviconUrl = "https://cdn.telescup.com.br/i?id=be574751-cf1b-499a-8473-360b4115b447&w=64&h=64&format=png";
9859
10189
  var whatsappUrl = "https://wa.me/554196133902?text=Entrei%20no%20site%20da%20Cupcode%20e%20gostaria%20de%20falar%20sobre...";
9860
10190
  var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
@@ -9864,9 +10194,9 @@ var socialIconIds = {
9864
10194
  linkedin: "eb340b49-f3f8-4d46-96b0-5b2e6cde6683",
9865
10195
  whatsapp: "1ef28a1c-19ee-482a-a08a-521d0d1c2920"
9866
10196
  };
9867
- var LinkList = ({ groups }) => /* @__PURE__ */ jsx44("div", { className: "space-y-3", children: groups.map((group) => /* @__PURE__ */ jsxs28("section", { children: [
9868
- /* @__PURE__ */ jsx44("h2", { className: "mb-2 font-display text-[18px] font-semibold leading-none text-[#ed1e79]", children: group.title }),
9869
- /* @__PURE__ */ jsx44("ul", { className: "space-y-1.5", children: group.links.map((link) => /* @__PURE__ */ jsx44("li", { children: /* @__PURE__ */ jsx44(
10197
+ var LinkList = ({ groups }) => /* @__PURE__ */ jsx45("div", { className: "space-y-3", children: groups.map((group) => /* @__PURE__ */ jsxs29("section", { children: [
10198
+ /* @__PURE__ */ jsx45("h2", { className: "mb-2 font-display text-[18px] font-semibold leading-none text-[#ed1e79]", children: group.title }),
10199
+ /* @__PURE__ */ jsx45("ul", { className: "space-y-1.5", children: group.links.map((link) => /* @__PURE__ */ jsx45("li", { children: /* @__PURE__ */ jsx45(
9870
10200
  "a",
9871
10201
  {
9872
10202
  className: "font-ui text-[13px] leading-tight text-[#7c45ff] transition-colors hover:text-[#ed1e79] dark:text-[#d8c8ff] dark:hover:text-[#ff4fa3]",
@@ -9875,12 +10205,12 @@ var LinkList = ({ groups }) => /* @__PURE__ */ jsx44("div", { className: "space-
9875
10205
  }
9876
10206
  ) }, `${group.title}-${link.label}`)) })
9877
10207
  ] }, group.title)) });
9878
- var MobileFooterAccordion = ({ groups }) => /* @__PURE__ */ jsx44("div", { className: "divide-y divide-[#d8a6ff] border-y border-[#d8a6ff] bg-white/35 backdrop-blur-sm dark:divide-[#6d3ba7] dark:border-[#6d3ba7] dark:bg-black/10", children: groups.map((group) => /* @__PURE__ */ jsxs28("details", { className: "group", children: [
9879
- /* @__PURE__ */ jsxs28("summary", { className: "flex cursor-pointer list-none items-center justify-between gap-4 px-4 py-3 font-display text-[16px] font-semibold leading-none text-[#ed1e79] [&::-webkit-details-marker]:hidden", children: [
9880
- /* @__PURE__ */ jsx44("span", { children: group.title }),
9881
- /* @__PURE__ */ jsx44("span", { className: "text-[18px] leading-none transition-transform group-open:rotate-45", children: "+" })
10208
+ var MobileFooterAccordion = ({ groups }) => /* @__PURE__ */ jsx45("div", { className: "divide-y divide-[#d8a6ff] border-y border-[#d8a6ff] bg-white/35 backdrop-blur-sm dark:divide-[#6d3ba7] dark:border-[#6d3ba7] dark:bg-black/10", children: groups.map((group) => /* @__PURE__ */ jsxs29("details", { className: "group", children: [
10209
+ /* @__PURE__ */ jsxs29("summary", { className: "flex cursor-pointer list-none items-center justify-between gap-4 px-4 py-3 font-display text-[16px] font-semibold leading-none text-[#ed1e79] [&::-webkit-details-marker]:hidden", children: [
10210
+ /* @__PURE__ */ jsx45("span", { children: group.title }),
10211
+ /* @__PURE__ */ jsx45("span", { className: "text-[18px] leading-none transition-transform group-open:rotate-45", children: "+" })
9882
10212
  ] }),
9883
- /* @__PURE__ */ jsx44("ul", { className: "space-y-1.5 px-4 pb-3", children: group.links.map((link) => /* @__PURE__ */ jsx44("li", { children: /* @__PURE__ */ jsx44(
10213
+ /* @__PURE__ */ jsx45("ul", { className: "space-y-1.5 px-4 pb-3", children: group.links.map((link) => /* @__PURE__ */ jsx45("li", { children: /* @__PURE__ */ jsx45(
9884
10214
  "a",
9885
10215
  {
9886
10216
  className: "font-ui text-[12px] leading-tight text-[#7c45ff] transition-colors hover:text-[#ed1e79] dark:text-[#d8c8ff] dark:hover:text-[#ff4fa3]",
@@ -9889,13 +10219,13 @@ var MobileFooterAccordion = ({ groups }) => /* @__PURE__ */ jsx44("div", { class
9889
10219
  }
9890
10220
  ) }, `${group.title}-${link.label}`)) })
9891
10221
  ] }, group.title)) });
9892
- var SocialLink = ({ label, href, apiId }) => /* @__PURE__ */ jsx44(
10222
+ var SocialLink = ({ label, href, apiId }) => /* @__PURE__ */ jsx45(
9893
10223
  "a",
9894
10224
  {
9895
10225
  "aria-label": label,
9896
10226
  className: "grid h-8 w-8 place-items-center transition-transform hover:-translate-y-0.5 sm:h-10 sm:w-10",
9897
10227
  href,
9898
- children: /* @__PURE__ */ jsx44(
10228
+ children: /* @__PURE__ */ jsx45(
9899
10229
  TelescupImage,
9900
10230
  {
9901
10231
  apiId,
@@ -9920,7 +10250,7 @@ function FooterCupcode({ embedded = false }) {
9920
10250
  ...footerContactGroups
9921
10251
  ];
9922
10252
  const hasContent = footerLeftGroups.length > 0 || footerServiceGroups.some((column) => column.length > 0) || footerContactGroups.length > 0 || footerLegalLinks.length > 0;
9923
- return /* @__PURE__ */ jsxs28(
10253
+ return /* @__PURE__ */ jsxs29(
9924
10254
  "footer",
9925
10255
  {
9926
10256
  className: cn(
@@ -9928,17 +10258,17 @@ function FooterCupcode({ embedded = false }) {
9928
10258
  embedded ? "bg-transparent" : "min-h-screen bg-transparent"
9929
10259
  ),
9930
10260
  children: [
9931
- embedded ? null : /* @__PURE__ */ jsx44(ThemeBackground, {}),
9932
- /* @__PURE__ */ jsxs28("div", { className: cn("relative overflow-hidden px-6 pt-8 sm:px-10 lg:px-12 xl:px-[60px]", embedded ? "pb-28" : "pb-5"), children: [
9933
- embedded ? null : /* @__PURE__ */ jsx44("div", { className: "pointer-events-none absolute inset-0 z-10 bg-[radial-gradient(circle_at_0%_0%,rgba(124,69,255,0.16)_0,transparent_22%),radial-gradient(circle_at_28%_54%,rgba(237,30,121,0.18)_0,transparent_23%),radial-gradient(circle_at_76%_0%,rgba(237,30,121,0.08)_0,transparent_18%)] dark:bg-[radial-gradient(circle_at_0%_0%,rgba(124,69,255,0.10)_0,transparent_22%),radial-gradient(circle_at_28%_54%,rgba(237,30,121,0.12)_0,transparent_23%)]" }),
9934
- /* @__PURE__ */ jsxs28("div", { className: "relative z-30", children: [
9935
- /* @__PURE__ */ jsxs28(
10261
+ embedded ? null : /* @__PURE__ */ jsx45(ThemeBackground, {}),
10262
+ /* @__PURE__ */ jsxs29("div", { className: cn("relative overflow-hidden px-6 pt-8 sm:px-10 lg:px-12 xl:px-[60px]", embedded ? "pb-28" : "pb-5"), children: [
10263
+ embedded ? null : /* @__PURE__ */ jsx45("div", { className: "pointer-events-none absolute inset-0 z-10 bg-[radial-gradient(circle_at_0%_0%,rgba(124,69,255,0.16)_0,transparent_22%),radial-gradient(circle_at_28%_54%,rgba(237,30,121,0.18)_0,transparent_23%),radial-gradient(circle_at_76%_0%,rgba(237,30,121,0.08)_0,transparent_18%)] dark:bg-[radial-gradient(circle_at_0%_0%,rgba(124,69,255,0.10)_0,transparent_22%),radial-gradient(circle_at_28%_54%,rgba(237,30,121,0.12)_0,transparent_23%)]" }),
10264
+ /* @__PURE__ */ jsxs29("div", { className: "relative z-30", children: [
10265
+ /* @__PURE__ */ jsxs29(
9936
10266
  "nav",
9937
10267
  {
9938
10268
  "aria-label": "Breadcrumb",
9939
10269
  className: "mb-7 flex items-center gap-2 text-[17px] text-[#8c4cff] dark:text-[#d8c8ff]",
9940
10270
  children: [
9941
- /* @__PURE__ */ jsx44(
10271
+ /* @__PURE__ */ jsx45(
9942
10272
  "img",
9943
10273
  {
9944
10274
  alt: "Cupcode",
@@ -9946,23 +10276,23 @@ function FooterCupcode({ embedded = false }) {
9946
10276
  src: cupcodeFaviconUrl
9947
10277
  }
9948
10278
  ),
9949
- /* @__PURE__ */ jsx44(ChevronRight3, { "aria-hidden": "true", className: "h-5 w-5" }),
9950
- /* @__PURE__ */ jsx44("a", { className: "leading-none transition-colors hover:text-[#ed1e79]", href: "/", children: "Home" })
10279
+ /* @__PURE__ */ jsx45(ChevronRight3, { "aria-hidden": "true", className: "h-5 w-5" }),
10280
+ /* @__PURE__ */ jsx45("a", { className: "leading-none transition-colors hover:text-[#ed1e79]", href: "/", children: "Home" })
9951
10281
  ]
9952
10282
  }
9953
10283
  ),
9954
- status === "loading" ? /* @__PURE__ */ jsx44("p", { className: "py-8 text-sm text-muted-foreground", children: "Carregando links do rodap\xE9..." }) : null,
9955
- status === "error" ? /* @__PURE__ */ jsx44("p", { className: "py-8 text-sm text-destructive", role: "alert", children: error != null ? error : "N\xE3o foi poss\xEDvel carregar o rodap\xE9." }) : null,
9956
- status === "ready" && hasContent ? /* @__PURE__ */ jsxs28(Fragment7, { children: [
9957
- /* @__PURE__ */ jsxs28("div", { className: "hidden gap-12 lg:grid lg:grid-cols-[repeat(5,minmax(0,1fr))] xl:gap-16", children: [
9958
- /* @__PURE__ */ jsx44(LinkList, { groups: footerLeftGroups }),
9959
- footerServiceGroups.map((column, index) => /* @__PURE__ */ jsx44(LinkList, { groups: column }, index)),
9960
- /* @__PURE__ */ jsx44(LinkList, { groups: footerContactGroups })
10284
+ status === "loading" ? /* @__PURE__ */ jsx45("p", { className: "py-8 text-sm text-muted-foreground", children: "Carregando links do rodap\xE9..." }) : null,
10285
+ status === "error" ? /* @__PURE__ */ jsx45("p", { className: "py-8 text-sm text-destructive", role: "alert", children: error != null ? error : "N\xE3o foi poss\xEDvel carregar o rodap\xE9." }) : null,
10286
+ status === "ready" && hasContent ? /* @__PURE__ */ jsxs29(Fragment7, { children: [
10287
+ /* @__PURE__ */ jsxs29("div", { className: "hidden gap-12 lg:grid lg:grid-cols-[repeat(5,minmax(0,1fr))] xl:gap-16", children: [
10288
+ /* @__PURE__ */ jsx45(LinkList, { groups: footerLeftGroups }),
10289
+ footerServiceGroups.map((column, index) => /* @__PURE__ */ jsx45(LinkList, { groups: column }, index)),
10290
+ /* @__PURE__ */ jsx45(LinkList, { groups: footerContactGroups })
9961
10291
  ] }),
9962
- /* @__PURE__ */ jsx44("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx44(MobileFooterAccordion, { groups: mobileGroups }) })
10292
+ /* @__PURE__ */ jsx45("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx45(MobileFooterAccordion, { groups: mobileGroups }) })
9963
10293
  ] }) : null,
9964
- /* @__PURE__ */ jsxs28("div", { className: "mt-10 flex flex-col gap-3 text-[11px] text-[#21113f] dark:text-white sm:flex-row sm:items-center sm:justify-between sm:gap-4 sm:text-[13px]", children: [
9965
- /* @__PURE__ */ jsx44(
10294
+ /* @__PURE__ */ jsxs29("div", { className: "mt-10 flex flex-col gap-3 text-[11px] text-[#21113f] dark:text-white sm:flex-row sm:items-center sm:justify-between sm:gap-4 sm:text-[13px]", children: [
10295
+ /* @__PURE__ */ jsx45(
9966
10296
  "a",
9967
10297
  {
9968
10298
  className: "transition-colors hover:text-[#ed1e79] dark:hover:text-[#ff4fa3]",
@@ -9970,20 +10300,20 @@ function FooterCupcode({ embedded = false }) {
9970
10300
  children: "Mais informa\xE7\xF5es: +55 (41) 99613-3902"
9971
10301
  }
9972
10302
  ),
9973
- /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-1", children: [
9974
- /* @__PURE__ */ jsx44(SocialLink, { label: "Instagram", href: "https://www.instagram.com/cupcodev/", apiId: socialIconIds.instagram }),
9975
- /* @__PURE__ */ jsx44(SocialLink, { label: "LinkedIn", href: "https://www.linkedin.com/company/cupcodev/", apiId: socialIconIds.linkedin }),
9976
- /* @__PURE__ */ jsx44(SocialLink, { label: "WhatsApp", href: whatsappUrl, apiId: socialIconIds.whatsapp })
10303
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-1", children: [
10304
+ /* @__PURE__ */ jsx45(SocialLink, { label: "Instagram", href: "https://www.instagram.com/cupcodev/", apiId: socialIconIds.instagram }),
10305
+ /* @__PURE__ */ jsx45(SocialLink, { label: "LinkedIn", href: "https://www.linkedin.com/company/cupcodev/", apiId: socialIconIds.linkedin }),
10306
+ /* @__PURE__ */ jsx45(SocialLink, { label: "WhatsApp", href: whatsappUrl, apiId: socialIconIds.whatsapp })
9977
10307
  ] })
9978
10308
  ] }),
9979
- /* @__PURE__ */ jsx44("div", { className: "mt-9 border-t border-[#f0a6d0] pt-5", children: /* @__PURE__ */ jsxs28("div", { className: "flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between", children: [
9980
- footerLegalLinks.length > 0 ? /* @__PURE__ */ jsx44(
10309
+ /* @__PURE__ */ jsx45("div", { className: "mt-9 border-t border-[#f0a6d0] pt-5", children: /* @__PURE__ */ jsxs29("div", { className: "flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between", children: [
10310
+ footerLegalLinks.length > 0 ? /* @__PURE__ */ jsx45(
9981
10311
  "nav",
9982
10312
  {
9983
10313
  "aria-label": "Links legais",
9984
10314
  className: "order-1 flex flex-nowrap items-center gap-x-2 overflow-x-auto whitespace-nowrap text-[7px] leading-none sm:gap-x-3 sm:text-[11px] lg:order-2",
9985
- children: footerLegalLinks.map((link, index) => /* @__PURE__ */ jsxs28("span", { className: "flex shrink-0 items-center gap-2 sm:gap-3", children: [
9986
- /* @__PURE__ */ jsx44(
10315
+ children: footerLegalLinks.map((link, index) => /* @__PURE__ */ jsxs29("span", { className: "flex shrink-0 items-center gap-2 sm:gap-3", children: [
10316
+ /* @__PURE__ */ jsx45(
9987
10317
  "a",
9988
10318
  {
9989
10319
  className: "text-[#21113f] transition-colors hover:text-[#ed1e79] dark:text-[#d8c8ff] dark:hover:text-[#ff4fa3]",
@@ -9991,19 +10321,19 @@ function FooterCupcode({ embedded = false }) {
9991
10321
  children: link.label
9992
10322
  }
9993
10323
  ),
9994
- index < footerLegalLinks.length - 1 ? /* @__PURE__ */ jsx44("span", { className: "text-[#ed1e79]", children: "|" }) : null
10324
+ index < footerLegalLinks.length - 1 ? /* @__PURE__ */ jsx45("span", { className: "text-[#ed1e79]", children: "|" }) : null
9995
10325
  ] }, link.label))
9996
10326
  }
9997
10327
  ) : null,
9998
- /* @__PURE__ */ jsxs28("p", { className: "max-w-[760px] text-[10px] leading-snug text-[#21113f] dark:text-white sm:text-[11px] sm:leading-snug", children: [
10328
+ /* @__PURE__ */ jsxs29("p", { className: "max-w-[760px] text-[10px] leading-snug text-[#21113f] dark:text-white sm:text-[11px] sm:leading-snug", children: [
9999
10329
  "Copyright \xA9 ",
10000
10330
  currentYear,
10001
10331
  " ",
10002
- /* @__PURE__ */ jsx44("strong", { className: "font-semibold", children: "Cupcode Desenvolvimento e Marketing Ltda." }),
10332
+ /* @__PURE__ */ jsx45("strong", { className: "font-semibold", children: "Cupcode Desenvolvimento e Marketing Ltda." }),
10003
10333
  " Todos os direitos reservados."
10004
10334
  ] })
10005
10335
  ] }) }),
10006
- /* @__PURE__ */ jsx44(
10336
+ /* @__PURE__ */ jsx45(
10007
10337
  TelescupImage,
10008
10338
  {
10009
10339
  apiId: footerBannerImageId,
@@ -10024,7 +10354,7 @@ function FooterCupcode({ embedded = false }) {
10024
10354
  }
10025
10355
 
10026
10356
  // src/components/cupcode/HeroTitle.tsx
10027
- import { jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
10357
+ import { jsx as jsx46, jsxs as jsxs30 } from "react/jsx-runtime";
10028
10358
  var HeroTitle = ({
10029
10359
  eyebrow,
10030
10360
  smallPrefix,
@@ -10038,25 +10368,25 @@ var HeroTitle = ({
10038
10368
  3: "h3"
10039
10369
  };
10040
10370
  const Tag = headingTagMap[level];
10041
- return /* @__PURE__ */ jsxs29("div", { className: cn("space-y-3", className), children: [
10042
- eyebrow && /* @__PURE__ */ jsx45("span", { className: "span-destaque animate-fade-in", children: eyebrow }),
10043
- /* @__PURE__ */ jsxs29(Tag, { className: "font-display font-bold leading-tight animate-slide-up", children: [
10044
- smallPrefix && /* @__PURE__ */ jsx45("small", { className: "block text-base font-normal opacity-70 mb-1", children: smallPrefix }),
10045
- /* @__PURE__ */ jsx45("b", { className: "block bg-gradient-to-r from-cupcode-hover to-cupcode-purple bg-clip-text text-transparent", children: strong })
10371
+ return /* @__PURE__ */ jsxs30("div", { className: cn("space-y-3", className), children: [
10372
+ eyebrow && /* @__PURE__ */ jsx46("span", { className: "span-destaque animate-fade-in", children: eyebrow }),
10373
+ /* @__PURE__ */ jsxs30(Tag, { className: "font-display font-bold leading-tight animate-slide-up", children: [
10374
+ smallPrefix && /* @__PURE__ */ jsx46("small", { className: "block text-base font-normal opacity-70 mb-1", children: smallPrefix }),
10375
+ /* @__PURE__ */ jsx46("b", { className: "block bg-gradient-to-r from-cupcode-hover to-cupcode-purple bg-clip-text text-transparent", children: strong })
10046
10376
  ] })
10047
10377
  ] });
10048
10378
  };
10049
10379
 
10050
10380
  // src/components/cupcode/InputField.tsx
10051
10381
  import * as React23 from "react";
10052
- import { jsx as jsx46, jsxs as jsxs30 } from "react/jsx-runtime";
10382
+ import { jsx as jsx47, jsxs as jsxs31 } from "react/jsx-runtime";
10053
10383
  var InputField = React23.forwardRef(
10054
10384
  ({ className, type, label, error, leftIcon, rightIcon, ...props }, ref) => {
10055
- return /* @__PURE__ */ jsxs30("div", { className: "cc-stack space-2 w-full", children: [
10056
- label && /* @__PURE__ */ jsx46("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
10057
- /* @__PURE__ */ jsxs30("div", { className: "relative", children: [
10058
- leftIcon && /* @__PURE__ */ jsx46("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: leftIcon }),
10059
- /* @__PURE__ */ jsx46(
10385
+ return /* @__PURE__ */ jsxs31("div", { className: "cc-stack space-2 w-full", children: [
10386
+ label && /* @__PURE__ */ jsx47("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
10387
+ /* @__PURE__ */ jsxs31("div", { className: "relative", children: [
10388
+ leftIcon && /* @__PURE__ */ jsx47("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: leftIcon }),
10389
+ /* @__PURE__ */ jsx47(
10060
10390
  "input",
10061
10391
  {
10062
10392
  type,
@@ -10078,16 +10408,16 @@ var InputField = React23.forwardRef(
10078
10408
  ...props
10079
10409
  }
10080
10410
  ),
10081
- rightIcon && /* @__PURE__ */ jsx46("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: rightIcon })
10411
+ rightIcon && /* @__PURE__ */ jsx47("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: rightIcon })
10082
10412
  ] }),
10083
- error && /* @__PURE__ */ jsx46("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
10413
+ error && /* @__PURE__ */ jsx47("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
10084
10414
  ] });
10085
10415
  }
10086
10416
  );
10087
10417
  InputField.displayName = "InputField";
10088
10418
 
10089
10419
  // src/components/cupcode/LoadingSpinner.tsx
10090
- import { jsx as jsx47 } from "react/jsx-runtime";
10420
+ import { jsx as jsx48 } from "react/jsx-runtime";
10091
10421
  var sizes = {
10092
10422
  sm: "h-4 w-4 border-2",
10093
10423
  md: "h-8 w-8 border-3",
@@ -10097,7 +10427,7 @@ var LoadingSpinner = ({
10097
10427
  size = "md",
10098
10428
  className
10099
10429
  }) => {
10100
- return /* @__PURE__ */ jsx47(
10430
+ return /* @__PURE__ */ jsx48(
10101
10431
  "div",
10102
10432
  {
10103
10433
  className: cn(
@@ -10107,12 +10437,12 @@ var LoadingSpinner = ({
10107
10437
  ),
10108
10438
  role: "status",
10109
10439
  "aria-label": "Loading",
10110
- children: /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Loading..." })
10440
+ children: /* @__PURE__ */ jsx48("span", { className: "sr-only", children: "Loading..." })
10111
10441
  }
10112
10442
  );
10113
10443
  };
10114
10444
  var Skeleton2 = ({ className }) => {
10115
- return /* @__PURE__ */ jsx47(
10445
+ return /* @__PURE__ */ jsx48(
10116
10446
  "div",
10117
10447
  {
10118
10448
  className: cn(
@@ -10123,7 +10453,7 @@ var Skeleton2 = ({ className }) => {
10123
10453
  );
10124
10454
  };
10125
10455
  var SkeletonText = ({ lines = 3 }) => {
10126
- return /* @__PURE__ */ jsx47("div", { className: "space-y-2", children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx47(
10456
+ return /* @__PURE__ */ jsx48("div", { className: "space-y-2", children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx48(
10127
10457
  Skeleton2,
10128
10458
  {
10129
10459
  className: cn(
@@ -10136,7 +10466,7 @@ var SkeletonText = ({ lines = 3 }) => {
10136
10466
  };
10137
10467
 
10138
10468
  // src/components/cupcode/LoadingScreen.tsx
10139
- import { jsx as jsx48, jsxs as jsxs31 } from "react/jsx-runtime";
10469
+ import { jsx as jsx49, jsxs as jsxs32 } from "react/jsx-runtime";
10140
10470
  var LoadingScreen = ({
10141
10471
  message = "Carregando...",
10142
10472
  fullScreen = true,
@@ -10144,28 +10474,28 @@ var LoadingScreen = ({
10144
10474
  }) => {
10145
10475
  const containerClasses = fullScreen ? "fixed inset-0 z-50 flex items-center justify-center bg-transparent" : "flex items-center justify-center p-12";
10146
10476
  if (variant === "minimal") {
10147
- return /* @__PURE__ */ jsx48("div", { className: containerClasses, children: /* @__PURE__ */ jsx48(LoadingSpinner, { size: "lg" }) });
10477
+ return /* @__PURE__ */ jsx49("div", { className: containerClasses, children: /* @__PURE__ */ jsx49(LoadingSpinner, { size: "lg" }) });
10148
10478
  }
10149
10479
  if (variant === "galaxy") {
10150
- return /* @__PURE__ */ jsx48("div", { className: cn(containerClasses, "cc-gradient-galaxy"), children: /* @__PURE__ */ jsxs31("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-4 animate-scale-in", children: [
10151
- /* @__PURE__ */ jsxs31("div", { className: "relative", children: [
10152
- /* @__PURE__ */ jsx48(LoadingSpinner, { size: "lg" }),
10153
- /* @__PURE__ */ jsx48("div", { className: "absolute inset-0 blur-2xl bg-cupcode-hover/30 animate-pulse-scale" })
10480
+ return /* @__PURE__ */ jsx49("div", { className: cn(containerClasses, "cc-gradient-galaxy"), children: /* @__PURE__ */ jsxs32("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-4 animate-scale-in", children: [
10481
+ /* @__PURE__ */ jsxs32("div", { className: "relative", children: [
10482
+ /* @__PURE__ */ jsx49(LoadingSpinner, { size: "lg" }),
10483
+ /* @__PURE__ */ jsx49("div", { className: "absolute inset-0 blur-2xl bg-cupcode-hover/30 animate-pulse-scale" })
10154
10484
  ] }),
10155
- message && /* @__PURE__ */ jsx48("p", { className: "text-white font-semibold text-lg animate-pulse", children: message })
10485
+ message && /* @__PURE__ */ jsx49("p", { className: "text-white font-semibold text-lg animate-pulse", children: message })
10156
10486
  ] }) });
10157
10487
  }
10158
- return /* @__PURE__ */ jsx48("div", { className: containerClasses, children: /* @__PURE__ */ jsxs31("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-6 animate-scale-in max-w-sm", children: [
10159
- /* @__PURE__ */ jsxs31("div", { className: "relative", children: [
10160
- /* @__PURE__ */ jsx48("div", { className: "w-20 h-20 rounded-full cc-gradient-animated flex items-center justify-center", children: /* @__PURE__ */ jsx48("div", { className: "w-16 h-16 rounded-full bg-background flex items-center justify-center", children: /* @__PURE__ */ jsx48(LoadingSpinner, { size: "md" }) }) }),
10161
- /* @__PURE__ */ jsx48("div", { className: "absolute inset-0 blur-xl bg-cupcode-purple/20 animate-pulse-scale -z-10" })
10488
+ return /* @__PURE__ */ jsx49("div", { className: containerClasses, children: /* @__PURE__ */ jsxs32("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-6 animate-scale-in max-w-sm", children: [
10489
+ /* @__PURE__ */ jsxs32("div", { className: "relative", children: [
10490
+ /* @__PURE__ */ jsx49("div", { className: "w-20 h-20 rounded-full cc-gradient-animated flex items-center justify-center", children: /* @__PURE__ */ jsx49("div", { className: "w-16 h-16 rounded-full bg-background flex items-center justify-center", children: /* @__PURE__ */ jsx49(LoadingSpinner, { size: "md" }) }) }),
10491
+ /* @__PURE__ */ jsx49("div", { className: "absolute inset-0 blur-xl bg-cupcode-purple/20 animate-pulse-scale -z-10" })
10162
10492
  ] }),
10163
- message && /* @__PURE__ */ jsxs31("div", { className: "text-center space-y-2", children: [
10164
- /* @__PURE__ */ jsx48("p", { className: "font-bold text-lg cc-text-gradient-galaxy", children: message }),
10165
- /* @__PURE__ */ jsxs31("div", { className: "flex gap-1 justify-center", children: [
10166
- /* @__PURE__ */ jsx48("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "0ms" } }),
10167
- /* @__PURE__ */ jsx48("div", { className: "w-2 h-2 rounded-full bg-cupcode-purple animate-bounce", style: { animationDelay: "150ms" } }),
10168
- /* @__PURE__ */ jsx48("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "300ms" } })
10493
+ message && /* @__PURE__ */ jsxs32("div", { className: "text-center space-y-2", children: [
10494
+ /* @__PURE__ */ jsx49("p", { className: "font-bold text-lg cc-text-gradient-galaxy", children: message }),
10495
+ /* @__PURE__ */ jsxs32("div", { className: "flex gap-1 justify-center", children: [
10496
+ /* @__PURE__ */ jsx49("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "0ms" } }),
10497
+ /* @__PURE__ */ jsx49("div", { className: "w-2 h-2 rounded-full bg-cupcode-purple animate-bounce", style: { animationDelay: "150ms" } }),
10498
+ /* @__PURE__ */ jsx49("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "300ms" } })
10169
10499
  ] })
10170
10500
  ] })
10171
10501
  ] }) });
@@ -10175,12 +10505,12 @@ var LoadingScreen = ({
10175
10505
  import * as React24 from "react";
10176
10506
  import * as DialogPrimitive3 from "@radix-ui/react-dialog";
10177
10507
  import { X as X5 } from "lucide-react";
10178
- import { jsx as jsx49, jsxs as jsxs32 } from "react/jsx-runtime";
10508
+ import { jsx as jsx50, jsxs as jsxs33 } from "react/jsx-runtime";
10179
10509
  var Modal = DialogPrimitive3.Root;
10180
10510
  var ModalTrigger = DialogPrimitive3.Trigger;
10181
10511
  var ModalPortal = DialogPrimitive3.Portal;
10182
10512
  var ModalClose = DialogPrimitive3.Close;
10183
- var ModalOverlay = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
10513
+ var ModalOverlay = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
10184
10514
  DialogPrimitive3.Overlay,
10185
10515
  {
10186
10516
  ref,
@@ -10200,9 +10530,9 @@ var ModalContent = React24.forwardRef(({ className, children, size = "md", ...pr
10200
10530
  lg: "max-w-lg",
10201
10531
  xl: "max-w-xl"
10202
10532
  };
10203
- return /* @__PURE__ */ jsxs32(ModalPortal, { children: [
10204
- /* @__PURE__ */ jsx49(ModalOverlay, {}),
10205
- /* @__PURE__ */ jsxs32(
10533
+ return /* @__PURE__ */ jsxs33(ModalPortal, { children: [
10534
+ /* @__PURE__ */ jsx50(ModalOverlay, {}),
10535
+ /* @__PURE__ */ jsxs33(
10206
10536
  DialogPrimitive3.Content,
10207
10537
  {
10208
10538
  ref,
@@ -10217,9 +10547,9 @@ var ModalContent = React24.forwardRef(({ className, children, size = "md", ...pr
10217
10547
  ...props,
10218
10548
  children: [
10219
10549
  children,
10220
- /* @__PURE__ */ jsxs32(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: [
10221
- /* @__PURE__ */ jsx49(X5, { className: "h-4 w-4" }),
10222
- /* @__PURE__ */ jsx49("span", { className: "sr-only", children: "Close" })
10550
+ /* @__PURE__ */ jsxs33(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: [
10551
+ /* @__PURE__ */ jsx50(X5, { className: "h-4 w-4" }),
10552
+ /* @__PURE__ */ jsx50("span", { className: "sr-only", children: "Close" })
10223
10553
  ] })
10224
10554
  ]
10225
10555
  }
@@ -10230,7 +10560,7 @@ ModalContent.displayName = DialogPrimitive3.Content.displayName;
10230
10560
  var ModalHeader = ({
10231
10561
  className,
10232
10562
  ...props
10233
- }) => /* @__PURE__ */ jsx49(
10563
+ }) => /* @__PURE__ */ jsx50(
10234
10564
  "div",
10235
10565
  {
10236
10566
  className: cn("flex flex-col space-y-2 text-center sm:text-left mb-4", className),
@@ -10241,7 +10571,7 @@ ModalHeader.displayName = "ModalHeader";
10241
10571
  var ModalFooter = ({
10242
10572
  className,
10243
10573
  ...props
10244
- }) => /* @__PURE__ */ jsx49(
10574
+ }) => /* @__PURE__ */ jsx50(
10245
10575
  "div",
10246
10576
  {
10247
10577
  className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 mt-6", className),
@@ -10249,7 +10579,7 @@ var ModalFooter = ({
10249
10579
  }
10250
10580
  );
10251
10581
  ModalFooter.displayName = "ModalFooter";
10252
- var ModalTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
10582
+ var ModalTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
10253
10583
  DialogPrimitive3.Title,
10254
10584
  {
10255
10585
  ref,
@@ -10258,7 +10588,7 @@ var ModalTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE
10258
10588
  }
10259
10589
  ));
10260
10590
  ModalTitle.displayName = DialogPrimitive3.Title.displayName;
10261
- var ModalDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
10591
+ var ModalDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
10262
10592
  DialogPrimitive3.Description,
10263
10593
  {
10264
10594
  ref,
@@ -10270,7 +10600,7 @@ ModalDescription.displayName = DialogPrimitive3.Description.displayName;
10270
10600
 
10271
10601
  // src/components/cupcode/ParticleSystem.tsx
10272
10602
  import { useEffect as useEffect19, useRef as useRef9 } from "react";
10273
- import { jsx as jsx50 } from "react/jsx-runtime";
10603
+ import { jsx as jsx51 } from "react/jsx-runtime";
10274
10604
  function ParticleSystem({
10275
10605
  count: count2 = 50,
10276
10606
  variant = "stars",
@@ -10428,7 +10758,7 @@ function ParticleSystem({
10428
10758
  stop();
10429
10759
  };
10430
10760
  }, [count2, variant]);
10431
- return /* @__PURE__ */ jsx50(
10761
+ return /* @__PURE__ */ jsx51(
10432
10762
  "canvas",
10433
10763
  {
10434
10764
  ref: canvasRef,
@@ -10439,7 +10769,7 @@ function ParticleSystem({
10439
10769
 
10440
10770
  // src/components/cupcode/PricingCard.tsx
10441
10771
  import { Check as Check4 } from "lucide-react";
10442
- import { jsx as jsx51, jsxs as jsxs33 } from "react/jsx-runtime";
10772
+ import { jsx as jsx52, jsxs as jsxs34 } from "react/jsx-runtime";
10443
10773
  function PricingCard({
10444
10774
  title,
10445
10775
  price,
@@ -10451,7 +10781,7 @@ function PricingCard({
10451
10781
  buttonText = "Escolher plano",
10452
10782
  className
10453
10783
  }) {
10454
- return /* @__PURE__ */ jsxs33(
10784
+ return /* @__PURE__ */ jsxs34(
10455
10785
  CardGlass,
10456
10786
  {
10457
10787
  className: cn(
@@ -10461,17 +10791,17 @@ function PricingCard({
10461
10791
  className
10462
10792
  ),
10463
10793
  children: [
10464
- highlighted && /* @__PURE__ */ jsx51("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsx51("span", { className: "bg-cupcode-purple text-white text-xs font-bold px-4 py-1 rounded-pill", children: "POPULAR" }) }),
10465
- /* @__PURE__ */ jsxs33("div", { className: "text-center mb-6", children: [
10466
- /* @__PURE__ */ jsx51("h3", { className: "text-2xl font-display font-bold text-foreground mb-2", children: title }),
10467
- description && /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground", children: description })
10794
+ highlighted && /* @__PURE__ */ jsx52("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsx52("span", { className: "bg-cupcode-purple text-white text-xs font-bold px-4 py-1 rounded-pill", children: "POPULAR" }) }),
10795
+ /* @__PURE__ */ jsxs34("div", { className: "text-center mb-6", children: [
10796
+ /* @__PURE__ */ jsx52("h3", { className: "text-2xl font-display font-bold text-foreground mb-2", children: title }),
10797
+ description && /* @__PURE__ */ jsx52("p", { className: "text-sm text-muted-foreground", children: description })
10468
10798
  ] }),
10469
- /* @__PURE__ */ jsx51("div", { className: "text-center mb-8", children: /* @__PURE__ */ jsxs33("div", { className: "flex items-baseline justify-center gap-2", children: [
10470
- /* @__PURE__ */ jsx51("span", { className: "text-5xl font-display font-bold cc-text-gradient-galaxy", children: price }),
10471
- /* @__PURE__ */ jsx51("span", { className: "text-muted-foreground", children: period })
10799
+ /* @__PURE__ */ jsx52("div", { className: "text-center mb-8", children: /* @__PURE__ */ jsxs34("div", { className: "flex items-baseline justify-center gap-2", children: [
10800
+ /* @__PURE__ */ jsx52("span", { className: "text-5xl font-display font-bold cc-text-gradient-galaxy", children: price }),
10801
+ /* @__PURE__ */ jsx52("span", { className: "text-muted-foreground", children: period })
10472
10802
  ] }) }),
10473
- /* @__PURE__ */ jsx51("ul", { className: "space-3 mb-8", children: features.map((feature, index) => /* @__PURE__ */ jsxs33("li", { className: "flex items-start gap-3", children: [
10474
- /* @__PURE__ */ jsx51(
10803
+ /* @__PURE__ */ jsx52("ul", { className: "space-3 mb-8", children: features.map((feature, index) => /* @__PURE__ */ jsxs34("li", { className: "flex items-start gap-3", children: [
10804
+ /* @__PURE__ */ jsx52(
10475
10805
  Check4,
10476
10806
  {
10477
10807
  className: cn(
@@ -10480,7 +10810,7 @@ function PricingCard({
10480
10810
  )
10481
10811
  }
10482
10812
  ),
10483
- /* @__PURE__ */ jsx51(
10813
+ /* @__PURE__ */ jsx52(
10484
10814
  "span",
10485
10815
  {
10486
10816
  className: cn(
@@ -10491,7 +10821,7 @@ function PricingCard({
10491
10821
  }
10492
10822
  )
10493
10823
  ] }, index)) }),
10494
- /* @__PURE__ */ jsx51(
10824
+ /* @__PURE__ */ jsx52(
10495
10825
  JellyButton,
10496
10826
  {
10497
10827
  onClick: onSelect,
@@ -10508,7 +10838,7 @@ function PricingCard({
10508
10838
  // src/components/cupcode/ProgressCupcode.tsx
10509
10839
  import * as React25 from "react";
10510
10840
  import * as ProgressPrimitive2 from "@radix-ui/react-progress";
10511
- import { jsx as jsx52, jsxs as jsxs34 } from "react/jsx-runtime";
10841
+ import { jsx as jsx53, jsxs as jsxs35 } from "react/jsx-runtime";
10512
10842
  var ProgressCupcode = React25.forwardRef(({ className, value, variant = "default", showLabel = false, size = "md", ...props }, ref) => {
10513
10843
  const sizeClasses2 = {
10514
10844
  sm: "h-2",
@@ -10522,15 +10852,15 @@ var ProgressCupcode = React25.forwardRef(({ className, value, variant = "default
10522
10852
  warning: "bg-warning",
10523
10853
  error: "bg-destructive"
10524
10854
  };
10525
- return /* @__PURE__ */ jsxs34("div", { className: "w-full space-y-2", children: [
10526
- showLabel && /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between text-sm", children: [
10527
- /* @__PURE__ */ jsx52("span", { className: "font-semibold text-foreground", children: "Progresso" }),
10528
- /* @__PURE__ */ jsxs34("span", { className: "text-muted-foreground", children: [
10855
+ return /* @__PURE__ */ jsxs35("div", { className: "w-full space-y-2", children: [
10856
+ showLabel && /* @__PURE__ */ jsxs35("div", { className: "flex items-center justify-between text-sm", children: [
10857
+ /* @__PURE__ */ jsx53("span", { className: "font-semibold text-foreground", children: "Progresso" }),
10858
+ /* @__PURE__ */ jsxs35("span", { className: "text-muted-foreground", children: [
10529
10859
  value,
10530
10860
  "%"
10531
10861
  ] })
10532
10862
  ] }),
10533
- /* @__PURE__ */ jsx52(
10863
+ /* @__PURE__ */ jsx53(
10534
10864
  ProgressPrimitive2.Root,
10535
10865
  {
10536
10866
  ref,
@@ -10540,7 +10870,7 @@ var ProgressCupcode = React25.forwardRef(({ className, value, variant = "default
10540
10870
  className
10541
10871
  ),
10542
10872
  ...props,
10543
- children: /* @__PURE__ */ jsx52(
10873
+ children: /* @__PURE__ */ jsx53(
10544
10874
  ProgressPrimitive2.Indicator,
10545
10875
  {
10546
10876
  className: cn(
@@ -10558,7 +10888,7 @@ ProgressCupcode.displayName = "ProgressCupcode";
10558
10888
 
10559
10889
  // src/components/cupcode/ScrollbarTheme.tsx
10560
10890
  import * as React26 from "react";
10561
- import { jsx as jsx53 } from "react/jsx-runtime";
10891
+ import { jsx as jsx54 } from "react/jsx-runtime";
10562
10892
  var SCROLLBAR_COLOR_ATTR = "data-cc-scrollbar-color";
10563
10893
  var SCROLLBAR_THEME_ATTR = "data-cc-scrollbar-theme";
10564
10894
  var ScrollbarThemeProvider = ({
@@ -10597,7 +10927,7 @@ var ScrollbarThemeProvider = ({
10597
10927
  return null;
10598
10928
  };
10599
10929
  var ScrollbarArea = React26.forwardRef(
10600
- ({ color = "purple", theme = "auto", className, ...props }, ref) => /* @__PURE__ */ jsx53(
10930
+ ({ color = "purple", theme = "auto", className, ...props }, ref) => /* @__PURE__ */ jsx54(
10601
10931
  "div",
10602
10932
  {
10603
10933
  ref,
@@ -10618,11 +10948,11 @@ ScrollbarArea.displayName = "ScrollbarArea";
10618
10948
  import * as React27 from "react";
10619
10949
  import * as SelectPrimitive2 from "@radix-ui/react-select";
10620
10950
  import { Check as Check5, ChevronDown as ChevronDown5 } from "lucide-react";
10621
- import { jsx as jsx54, jsxs as jsxs35 } from "react/jsx-runtime";
10951
+ import { jsx as jsx55, jsxs as jsxs36 } from "react/jsx-runtime";
10622
10952
  var Select2 = SelectPrimitive2.Root;
10623
10953
  var SelectGroup2 = SelectPrimitive2.Group;
10624
10954
  var SelectValue2 = SelectPrimitive2.Value;
10625
- var SelectTrigger2 = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs35(
10955
+ var SelectTrigger2 = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs36(
10626
10956
  SelectPrimitive2.Trigger,
10627
10957
  {
10628
10958
  ref,
@@ -10640,12 +10970,12 @@ var SelectTrigger2 = React27.forwardRef(({ className, children, ...props }, ref)
10640
10970
  ...props,
10641
10971
  children: [
10642
10972
  children,
10643
- /* @__PURE__ */ jsx54(SelectPrimitive2.Icon, { asChild: true, children: /* @__PURE__ */ jsx54(ChevronDown5, { className: "h-4 w-4 opacity-50" }) })
10973
+ /* @__PURE__ */ jsx55(SelectPrimitive2.Icon, { asChild: true, children: /* @__PURE__ */ jsx55(ChevronDown5, { className: "h-4 w-4 opacity-50" }) })
10644
10974
  ]
10645
10975
  }
10646
10976
  ));
10647
10977
  SelectTrigger2.displayName = SelectPrimitive2.Trigger.displayName;
10648
- var SelectContent2 = React27.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx54(SelectPrimitive2.Portal, { children: /* @__PURE__ */ jsx54(
10978
+ var SelectContent2 = React27.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx55(SelectPrimitive2.Portal, { children: /* @__PURE__ */ jsx55(
10649
10979
  SelectPrimitive2.Content,
10650
10980
  {
10651
10981
  ref,
@@ -10662,7 +10992,7 @@ var SelectContent2 = React27.forwardRef(({ className, children, position = "popp
10662
10992
  ),
10663
10993
  position,
10664
10994
  ...props,
10665
- children: /* @__PURE__ */ jsx54(
10995
+ children: /* @__PURE__ */ jsx55(
10666
10996
  SelectPrimitive2.Viewport,
10667
10997
  {
10668
10998
  className: cn(
@@ -10675,7 +11005,7 @@ var SelectContent2 = React27.forwardRef(({ className, children, position = "popp
10675
11005
  }
10676
11006
  ) }));
10677
11007
  SelectContent2.displayName = SelectPrimitive2.Content.displayName;
10678
- var SelectItem2 = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs35(
11008
+ var SelectItem2 = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs36(
10679
11009
  SelectPrimitive2.Item,
10680
11010
  {
10681
11011
  ref,
@@ -10688,8 +11018,8 @@ var SelectItem2 = React27.forwardRef(({ className, children, ...props }, ref) =>
10688
11018
  ),
10689
11019
  ...props,
10690
11020
  children: [
10691
- /* @__PURE__ */ jsx54("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx54(SelectPrimitive2.ItemIndicator, { children: /* @__PURE__ */ jsx54(Check5, { className: "h-4 w-4 text-cupcode-purple" }) }) }),
10692
- /* @__PURE__ */ jsx54(SelectPrimitive2.ItemText, { children })
11021
+ /* @__PURE__ */ jsx55("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx55(SelectPrimitive2.ItemIndicator, { children: /* @__PURE__ */ jsx55(Check5, { className: "h-4 w-4 text-cupcode-purple" }) }) }),
11022
+ /* @__PURE__ */ jsx55(SelectPrimitive2.ItemText, { children })
10693
11023
  ]
10694
11024
  }
10695
11025
  ));
@@ -10703,21 +11033,21 @@ var SelectField = ({
10703
11033
  options,
10704
11034
  disabled
10705
11035
  }) => {
10706
- return /* @__PURE__ */ jsxs35("div", { className: "cc-stack space-2 w-full", children: [
10707
- label && /* @__PURE__ */ jsx54("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
10708
- /* @__PURE__ */ jsxs35(Select2, { value, onValueChange, disabled, children: [
10709
- /* @__PURE__ */ jsx54(SelectTrigger2, { children: /* @__PURE__ */ jsx54(SelectValue2, { placeholder }) }),
10710
- /* @__PURE__ */ jsx54(SelectContent2, { children: /* @__PURE__ */ jsx54(SelectGroup2, { children: options.map((option) => /* @__PURE__ */ jsx54(SelectItem2, { value: option.value, children: option.label }, option.value)) }) })
11036
+ return /* @__PURE__ */ jsxs36("div", { className: "cc-stack space-2 w-full", children: [
11037
+ label && /* @__PURE__ */ jsx55("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
11038
+ /* @__PURE__ */ jsxs36(Select2, { value, onValueChange, disabled, children: [
11039
+ /* @__PURE__ */ jsx55(SelectTrigger2, { children: /* @__PURE__ */ jsx55(SelectValue2, { placeholder }) }),
11040
+ /* @__PURE__ */ jsx55(SelectContent2, { children: /* @__PURE__ */ jsx55(SelectGroup2, { children: options.map((option) => /* @__PURE__ */ jsx55(SelectItem2, { value: option.value, children: option.label }, option.value)) }) })
10711
11041
  ] }),
10712
- error && /* @__PURE__ */ jsx54("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
11042
+ error && /* @__PURE__ */ jsx55("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
10713
11043
  ] });
10714
11044
  };
10715
11045
 
10716
11046
  // src/components/cupcode/SwitchField.tsx
10717
11047
  import * as React28 from "react";
10718
11048
  import * as SwitchPrimitives from "@radix-ui/react-switch";
10719
- import { jsx as jsx55, jsxs as jsxs36 } from "react/jsx-runtime";
10720
- var Switch = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx55(
11049
+ import { jsx as jsx56, jsxs as jsxs37 } from "react/jsx-runtime";
11050
+ var Switch = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx56(
10721
11051
  SwitchPrimitives.Root,
10722
11052
  {
10723
11053
  className: cn(
@@ -10732,7 +11062,7 @@ var Switch = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
10732
11062
  ),
10733
11063
  ...props,
10734
11064
  ref,
10735
- children: /* @__PURE__ */ jsx55(
11065
+ children: /* @__PURE__ */ jsx56(
10736
11066
  SwitchPrimitives.Thumb,
10737
11067
  {
10738
11068
  className: cn(
@@ -10748,21 +11078,21 @@ var Switch = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
10748
11078
  ));
10749
11079
  Switch.displayName = SwitchPrimitives.Root.displayName;
10750
11080
  var SwitchField = ({ label, description, ...props }) => {
10751
- return /* @__PURE__ */ jsxs36("div", { className: "flex items-center justify-between space-x-4", children: [
10752
- /* @__PURE__ */ jsxs36("div", { className: "cc-stack space-1 flex-1", children: [
10753
- label && /* @__PURE__ */ jsx55("label", { className: "text-sm font-semibold text-cupcode-ink cursor-pointer", children: label }),
10754
- description && /* @__PURE__ */ jsx55("p", { className: "text-xs text-muted-foreground", children: description })
11081
+ return /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-between space-x-4", children: [
11082
+ /* @__PURE__ */ jsxs37("div", { className: "cc-stack space-1 flex-1", children: [
11083
+ label && /* @__PURE__ */ jsx56("label", { className: "text-sm font-semibold text-cupcode-ink cursor-pointer", children: label }),
11084
+ description && /* @__PURE__ */ jsx56("p", { className: "text-xs text-muted-foreground", children: description })
10755
11085
  ] }),
10756
- /* @__PURE__ */ jsx55(Switch, { ...props })
11086
+ /* @__PURE__ */ jsx56(Switch, { ...props })
10757
11087
  ] });
10758
11088
  };
10759
11089
 
10760
11090
  // src/components/cupcode/TabsCupcode.tsx
10761
11091
  import * as React29 from "react";
10762
11092
  import * as TabsPrimitive2 from "@radix-ui/react-tabs";
10763
- import { jsx as jsx56 } from "react/jsx-runtime";
11093
+ import { jsx as jsx57 } from "react/jsx-runtime";
10764
11094
  var Tabs2 = TabsPrimitive2.Root;
10765
- var TabsList2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx56(
11095
+ var TabsList2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx57(
10766
11096
  TabsPrimitive2.List,
10767
11097
  {
10768
11098
  ref,
@@ -10775,7 +11105,7 @@ var TabsList2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE_
10775
11105
  }
10776
11106
  ));
10777
11107
  TabsList2.displayName = TabsPrimitive2.List.displayName;
10778
- var TabsTrigger2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx56(
11108
+ var TabsTrigger2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx57(
10779
11109
  TabsPrimitive2.Trigger,
10780
11110
  {
10781
11111
  ref,
@@ -10797,7 +11127,7 @@ var TabsTrigger2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PU
10797
11127
  }
10798
11128
  ));
10799
11129
  TabsTrigger2.displayName = TabsPrimitive2.Trigger.displayName;
10800
- var TabsContent2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx56(
11130
+ var TabsContent2 = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx57(
10801
11131
  TabsPrimitive2.Content,
10802
11132
  {
10803
11133
  ref,
@@ -10814,12 +11144,12 @@ TabsContent2.displayName = TabsPrimitive2.Content.displayName;
10814
11144
 
10815
11145
  // src/components/cupcode/TextareaField.tsx
10816
11146
  import * as React30 from "react";
10817
- import { jsx as jsx57, jsxs as jsxs37 } from "react/jsx-runtime";
11147
+ import { jsx as jsx58, jsxs as jsxs38 } from "react/jsx-runtime";
10818
11148
  var TextareaField = React30.forwardRef(
10819
11149
  ({ className, label, error, ...props }, ref) => {
10820
- return /* @__PURE__ */ jsxs37("div", { className: "cc-stack space-2 w-full", children: [
10821
- label && /* @__PURE__ */ jsx57("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
10822
- /* @__PURE__ */ jsx57(
11150
+ return /* @__PURE__ */ jsxs38("div", { className: "cc-stack space-2 w-full", children: [
11151
+ label && /* @__PURE__ */ jsx58("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
11152
+ /* @__PURE__ */ jsx58(
10823
11153
  "textarea",
10824
11154
  {
10825
11155
  className: cn(
@@ -10839,7 +11169,7 @@ var TextareaField = React30.forwardRef(
10839
11169
  ...props
10840
11170
  }
10841
11171
  ),
10842
- error && /* @__PURE__ */ jsx57("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
11172
+ error && /* @__PURE__ */ jsx58("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
10843
11173
  ] });
10844
11174
  }
10845
11175
  );
@@ -10848,7 +11178,7 @@ TextareaField.displayName = "TextareaField";
10848
11178
  // src/components/cupcode/ThemeToggle.tsx
10849
11179
  import * as React31 from "react";
10850
11180
  import { Moon, Sun } from "lucide-react";
10851
- import { jsx as jsx58, jsxs as jsxs38 } from "react/jsx-runtime";
11181
+ import { jsx as jsx59, jsxs as jsxs39 } from "react/jsx-runtime";
10852
11182
  var THEME_STORAGE_KEY2 = "cupcode-theme";
10853
11183
  function isThemeMode(value) {
10854
11184
  return value === "light" || value === "dark";
@@ -10934,7 +11264,7 @@ var ThemeToggle2 = ({
10934
11264
  return () => observer.disconnect();
10935
11265
  }, [defaultTheme, isControlled, usesProviderTheme]);
10936
11266
  if (!mounted) {
10937
- return /* @__PURE__ */ jsx58("div", { className: cn("w-10 h-10 rounded-lg bg-muted", className) });
11267
+ return /* @__PURE__ */ jsx59("div", { className: cn("w-10 h-10 rounded-lg bg-muted", className) });
10938
11268
  }
10939
11269
  const handleToggle = (event) => {
10940
11270
  var _a26;
@@ -10954,7 +11284,7 @@ var ThemeToggle2 = ({
10954
11284
  }
10955
11285
  onThemeChange == null ? void 0 : onThemeChange(nextTheme);
10956
11286
  };
10957
- return /* @__PURE__ */ jsxs38(
11287
+ return /* @__PURE__ */ jsxs39(
10958
11288
  "button",
10959
11289
  {
10960
11290
  type: "button",
@@ -10968,9 +11298,9 @@ var ThemeToggle2 = ({
10968
11298
  ),
10969
11299
  "aria-label": "Toggle theme",
10970
11300
  children: [
10971
- /* @__PURE__ */ jsx58(Sun, { className: "h-5 w-5 text-cupcode-purple rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
10972
- /* @__PURE__ */ jsx58(Moon, { className: "absolute h-5 w-5 text-cupcode-hover rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
10973
- /* @__PURE__ */ jsxs38("span", { className: "sr-only", children: [
11301
+ /* @__PURE__ */ jsx59(Sun, { className: "h-5 w-5 text-cupcode-purple rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
11302
+ /* @__PURE__ */ jsx59(Moon, { className: "absolute h-5 w-5 text-cupcode-hover rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
11303
+ /* @__PURE__ */ jsxs39("span", { className: "sr-only", children: [
10974
11304
  "Current theme: ",
10975
11305
  activeTheme
10976
11306
  ] })
@@ -10980,9 +11310,9 @@ var ThemeToggle2 = ({
10980
11310
  };
10981
11311
 
10982
11312
  // src/components/theme-provider.tsx
10983
- import { useCallback as useCallback8, useEffect as useEffect22, useMemo as useMemo13, useState as useState19 } from "react";
11313
+ import { useCallback as useCallback8, useEffect as useEffect22, useMemo as useMemo14, useState as useState19 } from "react";
10984
11314
  import { flushSync } from "react-dom";
10985
- import { jsx as jsx59 } from "react/jsx-runtime";
11315
+ import { jsx as jsx60 } from "react/jsx-runtime";
10986
11316
  var STORAGE_KEY = "cupcode-theme";
10987
11317
  var LEGACY_STORAGE_KEY = "theme";
10988
11318
  function getPreferredTheme() {
@@ -11128,7 +11458,7 @@ function ThemeProvider({ children }) {
11128
11458
  const nextTheme = currentTheme === "light" ? "dark" : "light";
11129
11459
  applyThemeSelection(nextTheme, coords);
11130
11460
  }, [applyThemeSelection, theme]);
11131
- const value = useMemo13(
11461
+ const value = useMemo14(
11132
11462
  () => ({
11133
11463
  theme,
11134
11464
  setTheme,
@@ -11136,7 +11466,7 @@ function ThemeProvider({ children }) {
11136
11466
  }),
11137
11467
  [theme, setTheme, toggleTheme]
11138
11468
  );
11139
- return /* @__PURE__ */ jsx59(ThemeContext.Provider, { value, children });
11469
+ return /* @__PURE__ */ jsx60(ThemeContext.Provider, { value, children });
11140
11470
  }
11141
11471
  function ThemeScript() {
11142
11472
  const script = `
@@ -11157,15 +11487,15 @@ function ThemeScript() {
11157
11487
  root.style.colorScheme = theme;
11158
11488
  })();
11159
11489
  `;
11160
- return /* @__PURE__ */ jsx59("script", { dangerouslySetInnerHTML: { __html: script } });
11490
+ return /* @__PURE__ */ jsx60("script", { dangerouslySetInnerHTML: { __html: script } });
11161
11491
  }
11162
11492
 
11163
11493
  // src/components/cupcode/TimelineCupcode.tsx
11164
- import { jsx as jsx60, jsxs as jsxs39 } from "react/jsx-runtime";
11494
+ import { jsx as jsx61, jsxs as jsxs40 } from "react/jsx-runtime";
11165
11495
  function Timeline({ items, variant = "vertical", className }) {
11166
11496
  if (variant === "horizontal") {
11167
- return /* @__PURE__ */ jsx60("div", { className: cn("flex items-start gap-4 overflow-x-auto pb-4", className), children: items.map((item, index) => /* @__PURE__ */ jsxs39("div", { className: "flex flex-col items-center min-w-[200px]", children: [
11168
- /* @__PURE__ */ jsx60(
11497
+ return /* @__PURE__ */ jsx61("div", { className: cn("flex items-start gap-4 overflow-x-auto pb-4", className), children: items.map((item, index) => /* @__PURE__ */ jsxs40("div", { className: "flex flex-col items-center min-w-[200px]", children: [
11498
+ /* @__PURE__ */ jsx61(
11169
11499
  "div",
11170
11500
  {
11171
11501
  className: cn(
@@ -11173,27 +11503,27 @@ function Timeline({ items, variant = "vertical", className }) {
11173
11503
  "transition-all duration-300",
11174
11504
  item.active ? "cc-gradient-galaxy text-white elevation-3 scale-110" : "bg-muted text-muted-foreground"
11175
11505
  ),
11176
- children: item.icon || /* @__PURE__ */ jsx60("span", { className: "text-sm font-bold", children: index + 1 })
11506
+ children: item.icon || /* @__PURE__ */ jsx61("span", { className: "text-sm font-bold", children: index + 1 })
11177
11507
  }
11178
11508
  ),
11179
- index < items.length - 1 && /* @__PURE__ */ jsx60("div", { className: cn(
11509
+ index < items.length - 1 && /* @__PURE__ */ jsx61("div", { className: cn(
11180
11510
  "h-1 w-full mb-3",
11181
11511
  item.active ? "bg-cupcode-purple" : "bg-muted"
11182
11512
  ) }),
11183
- /* @__PURE__ */ jsxs39("div", { className: "text-center", children: [
11184
- /* @__PURE__ */ jsx60("h4", { className: cn(
11513
+ /* @__PURE__ */ jsxs40("div", { className: "text-center", children: [
11514
+ /* @__PURE__ */ jsx61("h4", { className: cn(
11185
11515
  "font-display font-semibold mb-1",
11186
11516
  item.active ? "text-cupcode-purple" : "text-foreground"
11187
11517
  ), children: item.title }),
11188
- item.description && /* @__PURE__ */ jsx60("p", { className: "text-sm text-muted-foreground", children: item.description }),
11189
- item.date && /* @__PURE__ */ jsx60("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
11518
+ item.description && /* @__PURE__ */ jsx61("p", { className: "text-sm text-muted-foreground", children: item.description }),
11519
+ item.date && /* @__PURE__ */ jsx61("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
11190
11520
  ] })
11191
11521
  ] }, item.id)) });
11192
11522
  }
11193
- return /* @__PURE__ */ jsxs39("div", { className: cn("relative space-6", className), children: [
11194
- /* @__PURE__ */ jsx60("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
11195
- items.map((item, index) => /* @__PURE__ */ jsxs39("div", { className: "relative flex gap-6 pb-8 last:pb-0", children: [
11196
- /* @__PURE__ */ jsx60(
11523
+ return /* @__PURE__ */ jsxs40("div", { className: cn("relative space-6", className), children: [
11524
+ /* @__PURE__ */ jsx61("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
11525
+ items.map((item, index) => /* @__PURE__ */ jsxs40("div", { className: "relative flex gap-6 pb-8 last:pb-0", children: [
11526
+ /* @__PURE__ */ jsx61(
11197
11527
  "div",
11198
11528
  {
11199
11529
  className: cn(
@@ -11201,16 +11531,16 @@ function Timeline({ items, variant = "vertical", className }) {
11201
11531
  "transition-all duration-300",
11202
11532
  item.active ? "cc-gradient-galaxy text-white elevation-3" : "bg-muted text-muted-foreground"
11203
11533
  ),
11204
- children: item.icon || /* @__PURE__ */ jsx60("span", { className: "text-sm font-bold", children: index + 1 })
11534
+ children: item.icon || /* @__PURE__ */ jsx61("span", { className: "text-sm font-bold", children: index + 1 })
11205
11535
  }
11206
11536
  ),
11207
- /* @__PURE__ */ jsxs39("div", { className: "flex-1 pt-1", children: [
11208
- /* @__PURE__ */ jsx60("h4", { className: cn(
11537
+ /* @__PURE__ */ jsxs40("div", { className: "flex-1 pt-1", children: [
11538
+ /* @__PURE__ */ jsx61("h4", { className: cn(
11209
11539
  "font-display font-semibold mb-1",
11210
11540
  item.active ? "text-cupcode-purple" : "text-foreground"
11211
11541
  ), children: item.title }),
11212
- item.description && /* @__PURE__ */ jsx60("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
11213
- item.date && /* @__PURE__ */ jsx60("p", { className: "text-xs text-muted-foreground", children: item.date })
11542
+ item.description && /* @__PURE__ */ jsx61("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
11543
+ item.date && /* @__PURE__ */ jsx61("p", { className: "text-xs text-muted-foreground", children: item.date })
11214
11544
  ] })
11215
11545
  ] }, item.id))
11216
11546
  ] });
@@ -11218,7 +11548,7 @@ function Timeline({ items, variant = "vertical", className }) {
11218
11548
 
11219
11549
  // src/components/cupcode/ToastCupcode.tsx
11220
11550
  import { X as X6, CheckCircle, AlertCircle, Info as Info2, AlertTriangle as AlertTriangle2 } from "lucide-react";
11221
- import { jsx as jsx61, jsxs as jsxs40 } from "react/jsx-runtime";
11551
+ import { jsx as jsx62, jsxs as jsxs41 } from "react/jsx-runtime";
11222
11552
  var variantStyles2 = {
11223
11553
  success: {
11224
11554
  gradient: "from-success/20 to-success/5",
@@ -11253,7 +11583,7 @@ var ToastCupcode = ({
11253
11583
  }) => {
11254
11584
  const style = variantStyles2[variant];
11255
11585
  const Icon3 = style.icon;
11256
- return /* @__PURE__ */ jsx61(
11586
+ return /* @__PURE__ */ jsx62(
11257
11587
  "div",
11258
11588
  {
11259
11589
  className: cn(
@@ -11265,18 +11595,18 @@ var ToastCupcode = ({
11265
11595
  "min-w-[300px] max-w-[420px]",
11266
11596
  "animate-slide-up"
11267
11597
  ),
11268
- children: /* @__PURE__ */ jsxs40("div", { className: "flex items-start gap-3", children: [
11269
- /* @__PURE__ */ jsx61(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
11270
- /* @__PURE__ */ jsxs40("div", { className: "flex-1 space-y-1", children: [
11271
- /* @__PURE__ */ jsx61("p", { className: "text-sm font-semibold text-foreground", children: title }),
11272
- description && /* @__PURE__ */ jsx61("p", { className: "text-xs text-foreground/80", children: description })
11598
+ children: /* @__PURE__ */ jsxs41("div", { className: "flex items-start gap-3", children: [
11599
+ /* @__PURE__ */ jsx62(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
11600
+ /* @__PURE__ */ jsxs41("div", { className: "flex-1 space-y-1", children: [
11601
+ /* @__PURE__ */ jsx62("p", { className: "text-sm font-semibold text-foreground", children: title }),
11602
+ description && /* @__PURE__ */ jsx62("p", { className: "text-xs text-foreground/80", children: description })
11273
11603
  ] }),
11274
- onClose && /* @__PURE__ */ jsx61(
11604
+ onClose && /* @__PURE__ */ jsx62(
11275
11605
  "button",
11276
11606
  {
11277
11607
  onClick: onClose,
11278
11608
  className: "shrink-0 rounded-md p-1 transition-colors hover:bg-foreground/10",
11279
- children: /* @__PURE__ */ jsx61(X6, { className: "h-4 w-4 text-foreground/60" })
11609
+ children: /* @__PURE__ */ jsx62(X6, { className: "h-4 w-4 text-foreground/60" })
11280
11610
  }
11281
11611
  )
11282
11612
  ] })
@@ -11286,11 +11616,11 @@ var ToastCupcode = ({
11286
11616
 
11287
11617
  // src/components/cupcode/VideoWatchButton.tsx
11288
11618
  import React32 from "react";
11289
- import { jsx as jsx62, jsxs as jsxs41 } from "react/jsx-runtime";
11290
- var PlayGlyph = () => /* @__PURE__ */ jsx62("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", className: "h-[18px] w-[18px]", children: /* @__PURE__ */ jsx62("path", { d: "M6 4.5L13.5 9L6 13.5V4.5Z", fill: "currentColor" }) });
11619
+ import { jsx as jsx63, jsxs as jsxs42 } from "react/jsx-runtime";
11620
+ var PlayGlyph = () => /* @__PURE__ */ jsx63("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", className: "h-[18px] w-[18px]", children: /* @__PURE__ */ jsx63("path", { d: "M6 4.5L13.5 9L6 13.5V4.5Z", fill: "currentColor" }) });
11291
11621
  var VideoWatchButton = React32.forwardRef(
11292
11622
  ({ className, label = "Assistir", type = "button", "aria-label": ariaLabel, ...props }, ref) => {
11293
- return /* @__PURE__ */ jsxs41(
11623
+ return /* @__PURE__ */ jsxs42(
11294
11624
  "button",
11295
11625
  {
11296
11626
  ref,
@@ -11299,18 +11629,18 @@ var VideoWatchButton = React32.forwardRef(
11299
11629
  className: cn("cc-video-watch-btn", className),
11300
11630
  ...props,
11301
11631
  children: [
11302
- /* @__PURE__ */ jsxs41("span", { className: "cc-video-watch-btn__bg", children: [
11303
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ jsx62(PlayGlyph, {}) }),
11304
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__label", children: label }),
11305
- /* @__PURE__ */ jsxs41("span", { className: "cc-video-watch-btn__mask", "aria-hidden": "true", children: [
11306
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
11307
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
11308
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
11309
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
11310
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
11632
+ /* @__PURE__ */ jsxs42("span", { className: "cc-video-watch-btn__bg", children: [
11633
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ jsx63(PlayGlyph, {}) }),
11634
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__label", children: label }),
11635
+ /* @__PURE__ */ jsxs42("span", { className: "cc-video-watch-btn__mask", "aria-hidden": "true", children: [
11636
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
11637
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
11638
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
11639
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
11640
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
11311
11641
  ] })
11312
11642
  ] }),
11313
- /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
11643
+ /* @__PURE__ */ jsx63("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
11314
11644
  ]
11315
11645
  }
11316
11646
  );
@@ -11321,11 +11651,11 @@ VideoWatchButton.displayName = "VideoWatchButton";
11321
11651
  // src/components/cupcode/TooltipCupcode.tsx
11322
11652
  import * as React33 from "react";
11323
11653
  import * as TooltipPrimitive2 from "@radix-ui/react-tooltip";
11324
- import { jsx as jsx63 } from "react/jsx-runtime";
11654
+ import { jsx as jsx64 } from "react/jsx-runtime";
11325
11655
  var TooltipProvider2 = TooltipPrimitive2.Provider;
11326
11656
  var TooltipCupcode = TooltipPrimitive2.Root;
11327
11657
  var TooltipTrigger2 = TooltipPrimitive2.Trigger;
11328
- var TooltipContent2 = React33.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx63(
11658
+ var TooltipContent2 = React33.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx64(
11329
11659
  TooltipPrimitive2.Content,
11330
11660
  {
11331
11661
  ref,
@@ -11349,11 +11679,11 @@ TooltipContent2.displayName = TooltipPrimitive2.Content.displayName;
11349
11679
  import * as React34 from "react";
11350
11680
  import * as AccordionPrimitive2 from "@radix-ui/react-accordion";
11351
11681
  import { ChevronDown as ChevronDown6 } from "lucide-react";
11352
- import { jsx as jsx64, jsxs as jsxs42 } from "react/jsx-runtime";
11682
+ import { jsx as jsx65, jsxs as jsxs43 } from "react/jsx-runtime";
11353
11683
  var Accordion = AccordionPrimitive2.Root;
11354
- var AccordionItem2 = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx64(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
11684
+ var AccordionItem2 = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx65(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
11355
11685
  AccordionItem2.displayName = "AccordionItem";
11356
- var AccordionTrigger2 = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx64(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs42(
11686
+ var AccordionTrigger2 = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx65(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs43(
11357
11687
  AccordionPrimitive2.Trigger,
11358
11688
  {
11359
11689
  ref,
@@ -11364,18 +11694,18 @@ var AccordionTrigger2 = React34.forwardRef(({ className, children, ...props }, r
11364
11694
  ...props,
11365
11695
  children: [
11366
11696
  children,
11367
- /* @__PURE__ */ jsx64(ChevronDown6, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
11697
+ /* @__PURE__ */ jsx65(ChevronDown6, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
11368
11698
  ]
11369
11699
  }
11370
11700
  ) }));
11371
11701
  AccordionTrigger2.displayName = AccordionPrimitive2.Trigger.displayName;
11372
- var AccordionContent2 = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx64(
11702
+ var AccordionContent2 = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx65(
11373
11703
  AccordionPrimitive2.Content,
11374
11704
  {
11375
11705
  ref,
11376
11706
  className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
11377
11707
  ...props,
11378
- children: /* @__PURE__ */ jsx64("div", { className: cn("pb-4 pt-0", className), children })
11708
+ children: /* @__PURE__ */ jsx65("div", { className: cn("pb-4 pt-0", className), children })
11379
11709
  }
11380
11710
  ));
11381
11711
  AccordionContent2.displayName = AccordionPrimitive2.Content.displayName;
@@ -11383,7 +11713,7 @@ AccordionContent2.displayName = AccordionPrimitive2.Content.displayName;
11383
11713
  // src/components/ui/alert.tsx
11384
11714
  import * as React35 from "react";
11385
11715
  import { cva as cva3 } from "class-variance-authority";
11386
- import { jsx as jsx65 } from "react/jsx-runtime";
11716
+ import { jsx as jsx66 } from "react/jsx-runtime";
11387
11717
  var alertVariants = cva3(
11388
11718
  "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",
11389
11719
  {
@@ -11398,25 +11728,25 @@ var alertVariants = cva3(
11398
11728
  }
11399
11729
  }
11400
11730
  );
11401
- var Alert = React35.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx65("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
11731
+ var Alert = React35.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
11402
11732
  Alert.displayName = "Alert";
11403
11733
  var AlertTitle = React35.forwardRef(
11404
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx65("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
11734
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
11405
11735
  );
11406
11736
  AlertTitle.displayName = "AlertTitle";
11407
11737
  var AlertDescription = React35.forwardRef(
11408
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx65("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
11738
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
11409
11739
  );
11410
11740
  AlertDescription.displayName = "AlertDescription";
11411
11741
 
11412
11742
  // src/components/ui/alert-dialog.tsx
11413
11743
  import * as React36 from "react";
11414
11744
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
11415
- import { jsx as jsx66, jsxs as jsxs43 } from "react/jsx-runtime";
11745
+ import { jsx as jsx67, jsxs as jsxs44 } from "react/jsx-runtime";
11416
11746
  var AlertDialog = AlertDialogPrimitive.Root;
11417
11747
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
11418
11748
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
11419
- var AlertDialogOverlay = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx66(
11749
+ var AlertDialogOverlay = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx67(
11420
11750
  AlertDialogPrimitive.Overlay,
11421
11751
  {
11422
11752
  className: cn(
@@ -11428,9 +11758,9 @@ var AlertDialogOverlay = React36.forwardRef(({ className, ...props }, ref) => /*
11428
11758
  }
11429
11759
  ));
11430
11760
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
11431
- var AlertDialogContent = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs43(AlertDialogPortal, { children: [
11432
- /* @__PURE__ */ jsx66(AlertDialogOverlay, {}),
11433
- /* @__PURE__ */ jsx66(
11761
+ var AlertDialogContent = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs44(AlertDialogPortal, { children: [
11762
+ /* @__PURE__ */ jsx67(AlertDialogOverlay, {}),
11763
+ /* @__PURE__ */ jsx67(
11434
11764
  AlertDialogPrimitive.Content,
11435
11765
  {
11436
11766
  ref,
@@ -11443,17 +11773,17 @@ var AlertDialogContent = React36.forwardRef(({ className, ...props }, ref) => /*
11443
11773
  )
11444
11774
  ] }));
11445
11775
  AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
11446
- var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx66("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
11776
+ var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx67("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
11447
11777
  AlertDialogHeader.displayName = "AlertDialogHeader";
11448
- var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx66("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
11778
+ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx67("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
11449
11779
  AlertDialogFooter.displayName = "AlertDialogFooter";
11450
- var AlertDialogTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx66(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
11780
+ var AlertDialogTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx67(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
11451
11781
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
11452
- var AlertDialogDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx66(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
11782
+ var AlertDialogDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx67(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
11453
11783
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
11454
- var AlertDialogAction = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx66(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
11784
+ var AlertDialogAction = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx67(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
11455
11785
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
11456
- var AlertDialogCancel = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx66(
11786
+ var AlertDialogCancel = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx67(
11457
11787
  AlertDialogPrimitive.Cancel,
11458
11788
  {
11459
11789
  ref,
@@ -11471,11 +11801,11 @@ var AspectRatio = AspectRatioPrimitive.Root;
11471
11801
  import * as React37 from "react";
11472
11802
  import { Slot as Slot2 } from "@radix-ui/react-slot";
11473
11803
  import { ChevronRight as ChevronRight4, MoreHorizontal } from "lucide-react";
11474
- import { jsx as jsx67, jsxs as jsxs44 } from "react/jsx-runtime";
11475
- var Breadcrumb = React37.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx67("nav", { ref, "aria-label": "breadcrumb", ...props }));
11804
+ import { jsx as jsx68, jsxs as jsxs45 } from "react/jsx-runtime";
11805
+ var Breadcrumb = React37.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx68("nav", { ref, "aria-label": "breadcrumb", ...props }));
11476
11806
  Breadcrumb.displayName = "Breadcrumb";
11477
11807
  var BreadcrumbList = React37.forwardRef(
11478
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx67(
11808
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68(
11479
11809
  "ol",
11480
11810
  {
11481
11811
  ref,
@@ -11489,16 +11819,16 @@ var BreadcrumbList = React37.forwardRef(
11489
11819
  );
11490
11820
  BreadcrumbList.displayName = "BreadcrumbList";
11491
11821
  var BreadcrumbItem = React37.forwardRef(
11492
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx67("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
11822
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
11493
11823
  );
11494
11824
  BreadcrumbItem.displayName = "BreadcrumbItem";
11495
11825
  var BreadcrumbLink = React37.forwardRef(({ asChild, className, ...props }, ref) => {
11496
11826
  const Comp = asChild ? Slot2 : "a";
11497
- return /* @__PURE__ */ jsx67(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
11827
+ return /* @__PURE__ */ jsx68(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
11498
11828
  });
11499
11829
  BreadcrumbLink.displayName = "BreadcrumbLink";
11500
11830
  var BreadcrumbPage = React37.forwardRef(
11501
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx67(
11831
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68(
11502
11832
  "span",
11503
11833
  {
11504
11834
  ref,
@@ -11511,9 +11841,9 @@ var BreadcrumbPage = React37.forwardRef(
11511
11841
  )
11512
11842
  );
11513
11843
  BreadcrumbPage.displayName = "BreadcrumbPage";
11514
- var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx67("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ jsx67(ChevronRight4, {}) });
11844
+ var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx68("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ jsx68(ChevronRight4, {}) });
11515
11845
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
11516
- var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs44(
11846
+ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs45(
11517
11847
  "span",
11518
11848
  {
11519
11849
  role: "presentation",
@@ -11521,8 +11851,8 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs44(
11521
11851
  className: cn("flex h-9 w-9 items-center justify-center", className),
11522
11852
  ...props,
11523
11853
  children: [
11524
- /* @__PURE__ */ jsx67(MoreHorizontal, { className: "h-4 w-4" }),
11525
- /* @__PURE__ */ jsx67("span", { className: "sr-only", children: "More" })
11854
+ /* @__PURE__ */ jsx68(MoreHorizontal, { className: "h-4 w-4" }),
11855
+ /* @__PURE__ */ jsx68("span", { className: "sr-only", children: "More" })
11526
11856
  ]
11527
11857
  }
11528
11858
  );
@@ -11531,9 +11861,9 @@ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
11531
11861
  // src/components/ui/calendar.tsx
11532
11862
  import { ChevronLeft, ChevronRight as ChevronRight5 } from "lucide-react";
11533
11863
  import { DayPicker } from "react-day-picker";
11534
- import { jsx as jsx68 } from "react/jsx-runtime";
11864
+ import { jsx as jsx69 } from "react/jsx-runtime";
11535
11865
  function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
11536
- return /* @__PURE__ */ jsx68(
11866
+ return /* @__PURE__ */ jsx69(
11537
11867
  DayPicker,
11538
11868
  {
11539
11869
  showOutsideDays,
@@ -11568,9 +11898,9 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
11568
11898
  components: {
11569
11899
  Chevron: ({ orientation, className: className2, ...chevronProps }) => {
11570
11900
  if (orientation === "left") {
11571
- return /* @__PURE__ */ jsx68(ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
11901
+ return /* @__PURE__ */ jsx69(ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
11572
11902
  }
11573
- return /* @__PURE__ */ jsx68(ChevronRight5, { className: cn("h-4 w-4", className2), ...chevronProps });
11903
+ return /* @__PURE__ */ jsx69(ChevronRight5, { className: cn("h-4 w-4", className2), ...chevronProps });
11574
11904
  }
11575
11905
  },
11576
11906
  ...props
@@ -11581,27 +11911,27 @@ Calendar.displayName = "Calendar";
11581
11911
 
11582
11912
  // src/components/ui/card.tsx
11583
11913
  import * as React38 from "react";
11584
- import { jsx as jsx69 } from "react/jsx-runtime";
11585
- var Card = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx69("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
11914
+ import { jsx as jsx70 } from "react/jsx-runtime";
11915
+ var Card = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
11586
11916
  Card.displayName = "Card";
11587
11917
  var CardHeader = React38.forwardRef(
11588
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx69("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
11918
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx70("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
11589
11919
  );
11590
11920
  CardHeader.displayName = "CardHeader";
11591
11921
  var CardTitle = React38.forwardRef(
11592
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx69("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
11922
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx70("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
11593
11923
  );
11594
11924
  CardTitle.displayName = "CardTitle";
11595
11925
  var CardDescription = React38.forwardRef(
11596
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx69("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
11926
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx70("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
11597
11927
  );
11598
11928
  CardDescription.displayName = "CardDescription";
11599
11929
  var CardContent = React38.forwardRef(
11600
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx69("div", { ref, className: cn("p-6 pt-0", className), ...props })
11930
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx70("div", { ref, className: cn("p-6 pt-0", className), ...props })
11601
11931
  );
11602
11932
  CardContent.displayName = "CardContent";
11603
11933
  var CardFooter = React38.forwardRef(
11604
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx69("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
11934
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx70("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
11605
11935
  );
11606
11936
  CardFooter.displayName = "CardFooter";
11607
11937
 
@@ -11609,7 +11939,7 @@ CardFooter.displayName = "CardFooter";
11609
11939
  import * as React39 from "react";
11610
11940
  import useEmblaCarousel from "embla-carousel-react";
11611
11941
  import { ArrowLeft, ArrowRight } from "lucide-react";
11612
- import { jsx as jsx70, jsxs as jsxs45 } from "react/jsx-runtime";
11942
+ import { jsx as jsx71, jsxs as jsxs46 } from "react/jsx-runtime";
11613
11943
  var CarouselContext = React39.createContext(null);
11614
11944
  function useCarousel() {
11615
11945
  const context = React39.useContext(CarouselContext);
@@ -11671,7 +12001,7 @@ var Carousel = React39.forwardRef(
11671
12001
  api == null ? void 0 : api.off("select", onSelect);
11672
12002
  };
11673
12003
  }, [api, onSelect]);
11674
- return /* @__PURE__ */ jsx70(
12004
+ return /* @__PURE__ */ jsx71(
11675
12005
  CarouselContext.Provider,
11676
12006
  {
11677
12007
  value: {
@@ -11684,7 +12014,7 @@ var Carousel = React39.forwardRef(
11684
12014
  canScrollPrev,
11685
12015
  canScrollNext
11686
12016
  },
11687
- children: /* @__PURE__ */ jsx70(
12017
+ children: /* @__PURE__ */ jsx71(
11688
12018
  "div",
11689
12019
  {
11690
12020
  ref,
@@ -11704,7 +12034,7 @@ Carousel.displayName = "Carousel";
11704
12034
  var CarouselContent = React39.forwardRef(
11705
12035
  ({ className, ...props }, ref) => {
11706
12036
  const { carouselRef, orientation } = useCarousel();
11707
- return /* @__PURE__ */ jsx70("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx70(
12037
+ return /* @__PURE__ */ jsx71("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx71(
11708
12038
  "div",
11709
12039
  {
11710
12040
  ref,
@@ -11718,7 +12048,7 @@ CarouselContent.displayName = "CarouselContent";
11718
12048
  var CarouselItem = React39.forwardRef(
11719
12049
  ({ className, ...props }, ref) => {
11720
12050
  const { orientation } = useCarousel();
11721
- return /* @__PURE__ */ jsx70(
12051
+ return /* @__PURE__ */ jsx71(
11722
12052
  "div",
11723
12053
  {
11724
12054
  ref,
@@ -11734,7 +12064,7 @@ CarouselItem.displayName = "CarouselItem";
11734
12064
  var CarouselPrevious = React39.forwardRef(
11735
12065
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
11736
12066
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
11737
- return /* @__PURE__ */ jsxs45(
12067
+ return /* @__PURE__ */ jsxs46(
11738
12068
  Button,
11739
12069
  {
11740
12070
  ref,
@@ -11749,8 +12079,8 @@ var CarouselPrevious = React39.forwardRef(
11749
12079
  onClick: scrollPrev,
11750
12080
  ...props,
11751
12081
  children: [
11752
- /* @__PURE__ */ jsx70(ArrowLeft, { className: "h-4 w-4" }),
11753
- /* @__PURE__ */ jsx70("span", { className: "sr-only", children: "Previous slide" })
12082
+ /* @__PURE__ */ jsx71(ArrowLeft, { className: "h-4 w-4" }),
12083
+ /* @__PURE__ */ jsx71("span", { className: "sr-only", children: "Previous slide" })
11754
12084
  ]
11755
12085
  }
11756
12086
  );
@@ -11760,7 +12090,7 @@ CarouselPrevious.displayName = "CarouselPrevious";
11760
12090
  var CarouselNext = React39.forwardRef(
11761
12091
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
11762
12092
  const { orientation, scrollNext, canScrollNext } = useCarousel();
11763
- return /* @__PURE__ */ jsxs45(
12093
+ return /* @__PURE__ */ jsxs46(
11764
12094
  Button,
11765
12095
  {
11766
12096
  ref,
@@ -11775,8 +12105,8 @@ var CarouselNext = React39.forwardRef(
11775
12105
  onClick: scrollNext,
11776
12106
  ...props,
11777
12107
  children: [
11778
- /* @__PURE__ */ jsx70(ArrowRight, { className: "h-4 w-4" }),
11779
- /* @__PURE__ */ jsx70("span", { className: "sr-only", children: "Next slide" })
12108
+ /* @__PURE__ */ jsx71(ArrowRight, { className: "h-4 w-4" }),
12109
+ /* @__PURE__ */ jsx71("span", { className: "sr-only", children: "Next slide" })
11780
12110
  ]
11781
12111
  }
11782
12112
  );
@@ -11787,7 +12117,7 @@ CarouselNext.displayName = "CarouselNext";
11787
12117
  // src/components/ui/chart.tsx
11788
12118
  import * as React40 from "react";
11789
12119
  import * as RechartsPrimitive from "recharts";
11790
- import { Fragment as Fragment8, jsx as jsx71, jsxs as jsxs46 } from "react/jsx-runtime";
12120
+ import { Fragment as Fragment8, jsx as jsx72, jsxs as jsxs47 } from "react/jsx-runtime";
11791
12121
  var THEMES = { light: "", dark: ".dark" };
11792
12122
  var ChartContext = React40.createContext(null);
11793
12123
  function useChart() {
@@ -11800,7 +12130,7 @@ function useChart() {
11800
12130
  var ChartContainer = React40.forwardRef(({ id, className, children, config, ...props }, ref) => {
11801
12131
  const uniqueId = React40.useId();
11802
12132
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
11803
- return /* @__PURE__ */ jsx71(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs46(
12133
+ return /* @__PURE__ */ jsx72(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs47(
11804
12134
  "div",
11805
12135
  {
11806
12136
  "data-chart": chartId,
@@ -11811,8 +12141,8 @@ var ChartContainer = React40.forwardRef(({ id, className, children, config, ...p
11811
12141
  ),
11812
12142
  ...props,
11813
12143
  children: [
11814
- /* @__PURE__ */ jsx71(ChartStyle, { id: chartId, config }),
11815
- /* @__PURE__ */ jsx71(RechartsPrimitive.ResponsiveContainer, { children })
12144
+ /* @__PURE__ */ jsx72(ChartStyle, { id: chartId, config }),
12145
+ /* @__PURE__ */ jsx72(RechartsPrimitive.ResponsiveContainer, { children })
11816
12146
  ]
11817
12147
  }
11818
12148
  ) });
@@ -11823,7 +12153,7 @@ var ChartStyle = ({ id, config }) => {
11823
12153
  if (!colorConfig.length) {
11824
12154
  return null;
11825
12155
  }
11826
- return /* @__PURE__ */ jsx71(
12156
+ return /* @__PURE__ */ jsx72(
11827
12157
  "style",
11828
12158
  {
11829
12159
  dangerouslySetInnerHTML: {
@@ -11870,18 +12200,18 @@ var ChartTooltipContent = React40.forwardRef(
11870
12200
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
11871
12201
  const value = !labelKey && typeof label === "string" ? ((_a25 = config[label]) == null ? void 0 : _a25.label) || label : itemConfig == null ? void 0 : itemConfig.label;
11872
12202
  if (labelFormatter) {
11873
- return /* @__PURE__ */ jsx71("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
12203
+ return /* @__PURE__ */ jsx72("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
11874
12204
  }
11875
12205
  if (!value) {
11876
12206
  return null;
11877
12207
  }
11878
- return /* @__PURE__ */ jsx71("div", { className: cn("font-medium", labelClassName), children: value });
12208
+ return /* @__PURE__ */ jsx72("div", { className: cn("font-medium", labelClassName), children: value });
11879
12209
  }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
11880
12210
  if (!active || !(payload == null ? void 0 : payload.length)) {
11881
12211
  return null;
11882
12212
  }
11883
12213
  const nestLabel = payload.length === 1 && indicator !== "dot";
11884
- return /* @__PURE__ */ jsxs46(
12214
+ return /* @__PURE__ */ jsxs47(
11885
12215
  "div",
11886
12216
  {
11887
12217
  ref,
@@ -11891,19 +12221,19 @@ var ChartTooltipContent = React40.forwardRef(
11891
12221
  ),
11892
12222
  children: [
11893
12223
  !nestLabel ? tooltipLabel : null,
11894
- /* @__PURE__ */ jsx71("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
12224
+ /* @__PURE__ */ jsx72("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
11895
12225
  const key = `${nameKey || item.name || item.dataKey || "value"}`;
11896
12226
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
11897
12227
  const indicatorColor = color || item.payload.fill || item.color;
11898
- return /* @__PURE__ */ jsx71(
12228
+ return /* @__PURE__ */ jsx72(
11899
12229
  "div",
11900
12230
  {
11901
12231
  className: cn(
11902
12232
  "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
11903
12233
  indicator === "dot" && "items-center"
11904
12234
  ),
11905
- children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs46(Fragment8, { children: [
11906
- (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx71(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx71(
12235
+ children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs47(Fragment8, { children: [
12236
+ (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx72(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx72(
11907
12237
  "div",
11908
12238
  {
11909
12239
  className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
@@ -11918,7 +12248,7 @@ var ChartTooltipContent = React40.forwardRef(
11918
12248
  }
11919
12249
  }
11920
12250
  ),
11921
- /* @__PURE__ */ jsxs46(
12251
+ /* @__PURE__ */ jsxs47(
11922
12252
  "div",
11923
12253
  {
11924
12254
  className: cn(
@@ -11926,11 +12256,11 @@ var ChartTooltipContent = React40.forwardRef(
11926
12256
  nestLabel ? "items-end" : "items-center"
11927
12257
  ),
11928
12258
  children: [
11929
- /* @__PURE__ */ jsxs46("div", { className: "grid gap-1.5", children: [
12259
+ /* @__PURE__ */ jsxs47("div", { className: "grid gap-1.5", children: [
11930
12260
  nestLabel ? tooltipLabel : null,
11931
- /* @__PURE__ */ jsx71("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
12261
+ /* @__PURE__ */ jsx72("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
11932
12262
  ] }),
11933
- item.value && /* @__PURE__ */ jsx71("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
12263
+ item.value && /* @__PURE__ */ jsx72("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
11934
12264
  ]
11935
12265
  }
11936
12266
  )
@@ -11951,7 +12281,7 @@ var ChartLegendContent = React40.forwardRef(({ className, hideIcon = false, payl
11951
12281
  if (!(payload == null ? void 0 : payload.length)) {
11952
12282
  return null;
11953
12283
  }
11954
- return /* @__PURE__ */ jsx71(
12284
+ return /* @__PURE__ */ jsx72(
11955
12285
  "div",
11956
12286
  {
11957
12287
  ref,
@@ -11959,12 +12289,12 @@ var ChartLegendContent = React40.forwardRef(({ className, hideIcon = false, payl
11959
12289
  children: payload.map((item) => {
11960
12290
  const key = `${nameKey || item.dataKey || "value"}`;
11961
12291
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
11962
- return /* @__PURE__ */ jsxs46(
12292
+ return /* @__PURE__ */ jsxs47(
11963
12293
  "div",
11964
12294
  {
11965
12295
  className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
11966
12296
  children: [
11967
- (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ jsx71(itemConfig.icon, {}) : /* @__PURE__ */ jsx71(
12297
+ (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ jsx72(itemConfig.icon, {}) : /* @__PURE__ */ jsx72(
11968
12298
  "div",
11969
12299
  {
11970
12300
  className: "h-2 w-2 shrink-0 rounded-[2px]",
@@ -12001,8 +12331,8 @@ function getPayloadConfigFromPayload(config, payload, key) {
12001
12331
  import * as React41 from "react";
12002
12332
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
12003
12333
  import { Check as Check6 } from "lucide-react";
12004
- import { jsx as jsx72 } from "react/jsx-runtime";
12005
- var Checkbox = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(
12334
+ import { jsx as jsx73 } from "react/jsx-runtime";
12335
+ var Checkbox = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(
12006
12336
  CheckboxPrimitive.Root,
12007
12337
  {
12008
12338
  ref,
@@ -12011,7 +12341,7 @@ var Checkbox = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__
12011
12341
  className
12012
12342
  ),
12013
12343
  ...props,
12014
- children: /* @__PURE__ */ jsx72(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx72(Check6, { className: "h-4 w-4" }) })
12344
+ children: /* @__PURE__ */ jsx73(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx73(Check6, { className: "h-4 w-4" }) })
12015
12345
  }
12016
12346
  ));
12017
12347
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
@@ -12026,8 +12356,8 @@ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
12026
12356
  import * as React42 from "react";
12027
12357
  import { Command as CommandPrimitive } from "cmdk";
12028
12358
  import { Search as Search3 } from "lucide-react";
12029
- import { jsx as jsx73, jsxs as jsxs47 } from "react/jsx-runtime";
12030
- var Command = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(
12359
+ import { jsx as jsx74, jsxs as jsxs48 } from "react/jsx-runtime";
12360
+ var Command = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
12031
12361
  CommandPrimitive,
12032
12362
  {
12033
12363
  ref,
@@ -12040,11 +12370,11 @@ var Command = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__
12040
12370
  ));
12041
12371
  Command.displayName = CommandPrimitive.displayName;
12042
12372
  var CommandDialog = ({ children, ...props }) => {
12043
- return /* @__PURE__ */ jsx73(Dialog, { ...props, children: /* @__PURE__ */ jsx73(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx73(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 }) }) });
12373
+ return /* @__PURE__ */ jsx74(Dialog, { ...props, children: /* @__PURE__ */ jsx74(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx74(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 }) }) });
12044
12374
  };
12045
- var CommandInput = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs47("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
12046
- /* @__PURE__ */ jsx73(Search3, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
12047
- /* @__PURE__ */ jsx73(
12375
+ var CommandInput = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs48("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
12376
+ /* @__PURE__ */ jsx74(Search3, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
12377
+ /* @__PURE__ */ jsx74(
12048
12378
  CommandPrimitive.Input,
12049
12379
  {
12050
12380
  ref,
@@ -12057,7 +12387,7 @@ var CommandInput = React42.forwardRef(({ className, ...props }, ref) => /* @__PU
12057
12387
  )
12058
12388
  ] }));
12059
12389
  CommandInput.displayName = CommandPrimitive.Input.displayName;
12060
- var CommandList = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(
12390
+ var CommandList = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
12061
12391
  CommandPrimitive.List,
12062
12392
  {
12063
12393
  ref,
@@ -12066,9 +12396,9 @@ var CommandList = React42.forwardRef(({ className, ...props }, ref) => /* @__PUR
12066
12396
  }
12067
12397
  ));
12068
12398
  CommandList.displayName = CommandPrimitive.List.displayName;
12069
- var CommandEmpty = React42.forwardRef((props, ref) => /* @__PURE__ */ jsx73(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
12399
+ var CommandEmpty = React42.forwardRef((props, ref) => /* @__PURE__ */ jsx74(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
12070
12400
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
12071
- var CommandGroup = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(
12401
+ var CommandGroup = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
12072
12402
  CommandPrimitive.Group,
12073
12403
  {
12074
12404
  ref,
@@ -12080,9 +12410,9 @@ var CommandGroup = React42.forwardRef(({ className, ...props }, ref) => /* @__PU
12080
12410
  }
12081
12411
  ));
12082
12412
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
12083
- var CommandSeparator = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
12413
+ var CommandSeparator = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
12084
12414
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
12085
- var CommandItem = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(
12415
+ var CommandItem = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
12086
12416
  CommandPrimitive.Item,
12087
12417
  {
12088
12418
  ref,
@@ -12095,7 +12425,7 @@ var CommandItem = React42.forwardRef(({ className, ...props }, ref) => /* @__PUR
12095
12425
  ));
12096
12426
  CommandItem.displayName = CommandPrimitive.Item.displayName;
12097
12427
  var CommandShortcut = ({ className, ...props }) => {
12098
- return /* @__PURE__ */ jsx73("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
12428
+ return /* @__PURE__ */ jsx74("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
12099
12429
  };
12100
12430
  CommandShortcut.displayName = "CommandShortcut";
12101
12431
 
@@ -12103,14 +12433,14 @@ CommandShortcut.displayName = "CommandShortcut";
12103
12433
  import * as React43 from "react";
12104
12434
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
12105
12435
  import { Check as Check7, ChevronRight as ChevronRight6, Circle as Circle3 } from "lucide-react";
12106
- import { jsx as jsx74, jsxs as jsxs48 } from "react/jsx-runtime";
12436
+ import { jsx as jsx75, jsxs as jsxs49 } from "react/jsx-runtime";
12107
12437
  var ContextMenu = ContextMenuPrimitive.Root;
12108
12438
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
12109
12439
  var ContextMenuGroup = ContextMenuPrimitive.Group;
12110
12440
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
12111
12441
  var ContextMenuSub = ContextMenuPrimitive.Sub;
12112
12442
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
12113
- var ContextMenuSubTrigger = React43.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
12443
+ var ContextMenuSubTrigger = React43.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
12114
12444
  ContextMenuPrimitive.SubTrigger,
12115
12445
  {
12116
12446
  ref,
@@ -12122,12 +12452,12 @@ var ContextMenuSubTrigger = React43.forwardRef(({ className, inset, children, ..
12122
12452
  ...props,
12123
12453
  children: [
12124
12454
  children,
12125
- /* @__PURE__ */ jsx74(ChevronRight6, { className: "ml-auto h-4 w-4" })
12455
+ /* @__PURE__ */ jsx75(ChevronRight6, { className: "ml-auto h-4 w-4" })
12126
12456
  ]
12127
12457
  }
12128
12458
  ));
12129
12459
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
12130
- var ContextMenuSubContent = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
12460
+ var ContextMenuSubContent = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx75(
12131
12461
  ContextMenuPrimitive.SubContent,
12132
12462
  {
12133
12463
  ref,
@@ -12139,7 +12469,7 @@ var ContextMenuSubContent = React43.forwardRef(({ className, ...props }, ref) =>
12139
12469
  }
12140
12470
  ));
12141
12471
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
12142
- var ContextMenuContent = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx74(
12472
+ var ContextMenuContent = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx75(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx75(
12143
12473
  ContextMenuPrimitive.Content,
12144
12474
  {
12145
12475
  ref,
@@ -12151,7 +12481,7 @@ var ContextMenuContent = React43.forwardRef(({ className, ...props }, ref) => /*
12151
12481
  }
12152
12482
  ) }));
12153
12483
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
12154
- var ContextMenuItem = React43.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx74(
12484
+ var ContextMenuItem = React43.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx75(
12155
12485
  ContextMenuPrimitive.Item,
12156
12486
  {
12157
12487
  ref,
@@ -12164,7 +12494,7 @@ var ContextMenuItem = React43.forwardRef(({ className, inset, ...props }, ref) =
12164
12494
  }
12165
12495
  ));
12166
12496
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
12167
- var ContextMenuCheckboxItem = React43.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs48(
12497
+ var ContextMenuCheckboxItem = React43.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs49(
12168
12498
  ContextMenuPrimitive.CheckboxItem,
12169
12499
  {
12170
12500
  ref,
@@ -12175,13 +12505,13 @@ var ContextMenuCheckboxItem = React43.forwardRef(({ className, children, checked
12175
12505
  checked,
12176
12506
  ...props,
12177
12507
  children: [
12178
- /* @__PURE__ */ jsx74("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx74(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx74(Check7, { className: "h-4 w-4" }) }) }),
12508
+ /* @__PURE__ */ jsx75("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx75(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx75(Check7, { className: "h-4 w-4" }) }) }),
12179
12509
  children
12180
12510
  ]
12181
12511
  }
12182
12512
  ));
12183
12513
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
12184
- var ContextMenuRadioItem = React43.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
12514
+ var ContextMenuRadioItem = React43.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
12185
12515
  ContextMenuPrimitive.RadioItem,
12186
12516
  {
12187
12517
  ref,
@@ -12191,13 +12521,13 @@ var ContextMenuRadioItem = React43.forwardRef(({ className, children, ...props }
12191
12521
  ),
12192
12522
  ...props,
12193
12523
  children: [
12194
- /* @__PURE__ */ jsx74("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx74(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx74(Circle3, { className: "h-2 w-2 fill-current" }) }) }),
12524
+ /* @__PURE__ */ jsx75("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx75(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx75(Circle3, { className: "h-2 w-2 fill-current" }) }) }),
12195
12525
  children
12196
12526
  ]
12197
12527
  }
12198
12528
  ));
12199
12529
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
12200
- var ContextMenuLabel = React43.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx74(
12530
+ var ContextMenuLabel = React43.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx75(
12201
12531
  ContextMenuPrimitive.Label,
12202
12532
  {
12203
12533
  ref,
@@ -12206,10 +12536,10 @@ var ContextMenuLabel = React43.forwardRef(({ className, inset, ...props }, ref)
12206
12536
  }
12207
12537
  ));
12208
12538
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
12209
- var ContextMenuSeparator = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
12539
+ var ContextMenuSeparator = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx75(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
12210
12540
  ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
12211
12541
  var ContextMenuShortcut = ({ className, ...props }) => {
12212
- return /* @__PURE__ */ jsx74("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
12542
+ return /* @__PURE__ */ jsx75("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
12213
12543
  };
12214
12544
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
12215
12545
 
@@ -12222,19 +12552,19 @@ import { Controller, FormProvider, useFormContext } from "react-hook-form";
12222
12552
  import * as React44 from "react";
12223
12553
  import * as LabelPrimitive from "@radix-ui/react-label";
12224
12554
  import { cva as cva4 } from "class-variance-authority";
12225
- import { jsx as jsx75 } from "react/jsx-runtime";
12555
+ import { jsx as jsx76 } from "react/jsx-runtime";
12226
12556
  var labelVariants = cva4("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
12227
- var Label4 = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx75(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
12557
+ var Label4 = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx76(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
12228
12558
  Label4.displayName = LabelPrimitive.Root.displayName;
12229
12559
 
12230
12560
  // src/components/ui/form.tsx
12231
- import { jsx as jsx76 } from "react/jsx-runtime";
12561
+ import { jsx as jsx77 } from "react/jsx-runtime";
12232
12562
  var Form = FormProvider;
12233
12563
  var FormFieldContext = React45.createContext({});
12234
12564
  var FormField = ({
12235
12565
  ...props
12236
12566
  }) => {
12237
- return /* @__PURE__ */ jsx76(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx76(Controller, { ...props }) });
12567
+ return /* @__PURE__ */ jsx77(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx77(Controller, { ...props }) });
12238
12568
  };
12239
12569
  var useFormField = () => {
12240
12570
  const fieldContext = React45.useContext(FormFieldContext);
@@ -12258,19 +12588,19 @@ var FormItemContext = React45.createContext({});
12258
12588
  var FormItem = React45.forwardRef(
12259
12589
  ({ className, ...props }, ref) => {
12260
12590
  const id = React45.useId();
12261
- return /* @__PURE__ */ jsx76(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx76("div", { ref, className: cn("space-y-2", className), ...props }) });
12591
+ return /* @__PURE__ */ jsx77(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx77("div", { ref, className: cn("space-y-2", className), ...props }) });
12262
12592
  }
12263
12593
  );
12264
12594
  FormItem.displayName = "FormItem";
12265
12595
  var FormLabel = React45.forwardRef(({ className, ...props }, ref) => {
12266
12596
  const { error, formItemId } = useFormField();
12267
- return /* @__PURE__ */ jsx76(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
12597
+ return /* @__PURE__ */ jsx77(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
12268
12598
  });
12269
12599
  FormLabel.displayName = "FormLabel";
12270
12600
  var FormControl = React45.forwardRef(
12271
12601
  ({ ...props }, ref) => {
12272
12602
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
12273
- return /* @__PURE__ */ jsx76(
12603
+ return /* @__PURE__ */ jsx77(
12274
12604
  Slot3,
12275
12605
  {
12276
12606
  ref,
@@ -12286,7 +12616,7 @@ FormControl.displayName = "FormControl";
12286
12616
  var FormDescription = React45.forwardRef(
12287
12617
  ({ className, ...props }, ref) => {
12288
12618
  const { formDescriptionId } = useFormField();
12289
- return /* @__PURE__ */ jsx76("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
12619
+ return /* @__PURE__ */ jsx77("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
12290
12620
  }
12291
12621
  );
12292
12622
  FormDescription.displayName = "FormDescription";
@@ -12297,17 +12627,17 @@ var FormMessage = React45.forwardRef(
12297
12627
  if (!body) {
12298
12628
  return null;
12299
12629
  }
12300
- return /* @__PURE__ */ jsx76("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
12630
+ return /* @__PURE__ */ jsx77("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
12301
12631
  }
12302
12632
  );
12303
12633
  FormMessage.displayName = "FormMessage";
12304
12634
 
12305
12635
  // src/components/ui/glass-card.tsx
12306
12636
  import * as React46 from "react";
12307
- import { jsx as jsx77 } from "react/jsx-runtime";
12637
+ import { jsx as jsx78 } from "react/jsx-runtime";
12308
12638
  var GlassCard = React46.forwardRef(
12309
12639
  ({ className, ...props }, ref) => {
12310
- return /* @__PURE__ */ jsx77("div", { ref, className: cn("glass-card", className), ...props });
12640
+ return /* @__PURE__ */ jsx78("div", { ref, className: cn("glass-card", className), ...props });
12311
12641
  }
12312
12642
  );
12313
12643
  GlassCard.displayName = "GlassCard";
@@ -12315,10 +12645,10 @@ GlassCard.displayName = "GlassCard";
12315
12645
  // src/components/ui/hover-card.tsx
12316
12646
  import * as React47 from "react";
12317
12647
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
12318
- import { jsx as jsx78 } from "react/jsx-runtime";
12648
+ import { jsx as jsx79 } from "react/jsx-runtime";
12319
12649
  var HoverCard = HoverCardPrimitive.Root;
12320
12650
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
12321
- var HoverCardContent = React47.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx78(
12651
+ var HoverCardContent = React47.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx79(
12322
12652
  HoverCardPrimitive.Content,
12323
12653
  {
12324
12654
  ref,
@@ -12337,9 +12667,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
12337
12667
  import * as React48 from "react";
12338
12668
  import { OTPInput, OTPInputContext } from "input-otp";
12339
12669
  import { Dot } from "lucide-react";
12340
- import { jsx as jsx79, jsxs as jsxs49 } from "react/jsx-runtime";
12670
+ import { jsx as jsx80, jsxs as jsxs50 } from "react/jsx-runtime";
12341
12671
  var InputOTP = React48.forwardRef(
12342
- ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx79(
12672
+ ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx80(
12343
12673
  OTPInput,
12344
12674
  {
12345
12675
  ref,
@@ -12351,13 +12681,13 @@ var InputOTP = React48.forwardRef(
12351
12681
  );
12352
12682
  InputOTP.displayName = "InputOTP";
12353
12683
  var InputOTPGroup = React48.forwardRef(
12354
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx79("div", { ref, className: cn("flex items-center", className), ...props })
12684
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx80("div", { ref, className: cn("flex items-center", className), ...props })
12355
12685
  );
12356
12686
  InputOTPGroup.displayName = "InputOTPGroup";
12357
12687
  var InputOTPSlot = React48.forwardRef(({ index, className, ...props }, ref) => {
12358
12688
  const inputOTPContext = React48.useContext(OTPInputContext);
12359
12689
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
12360
- return /* @__PURE__ */ jsxs49(
12690
+ return /* @__PURE__ */ jsxs50(
12361
12691
  "div",
12362
12692
  {
12363
12693
  ref,
@@ -12369,14 +12699,14 @@ var InputOTPSlot = React48.forwardRef(({ index, className, ...props }, ref) => {
12369
12699
  ...props,
12370
12700
  children: [
12371
12701
  char,
12372
- hasFakeCaret && /* @__PURE__ */ jsx79("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx79("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
12702
+ hasFakeCaret && /* @__PURE__ */ jsx80("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx80("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
12373
12703
  ]
12374
12704
  }
12375
12705
  );
12376
12706
  });
12377
12707
  InputOTPSlot.displayName = "InputOTPSlot";
12378
12708
  var InputOTPSeparator = React48.forwardRef(
12379
- ({ ...props }, ref) => /* @__PURE__ */ jsx79("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx79(Dot, {}) })
12709
+ ({ ...props }, ref) => /* @__PURE__ */ jsx80("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx80(Dot, {}) })
12380
12710
  );
12381
12711
  InputOTPSeparator.displayName = "InputOTPSeparator";
12382
12712
 
@@ -12384,13 +12714,13 @@ InputOTPSeparator.displayName = "InputOTPSeparator";
12384
12714
  import * as React49 from "react";
12385
12715
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
12386
12716
  import { Check as Check8, ChevronRight as ChevronRight7, Circle as Circle4 } from "lucide-react";
12387
- import { jsx as jsx80, jsxs as jsxs50 } from "react/jsx-runtime";
12717
+ import { jsx as jsx81, jsxs as jsxs51 } from "react/jsx-runtime";
12388
12718
  var MenubarMenu = MenubarPrimitive.Menu;
12389
12719
  var MenubarGroup = MenubarPrimitive.Group;
12390
12720
  var MenubarPortal = MenubarPrimitive.Portal;
12391
12721
  var MenubarSub = MenubarPrimitive.Sub;
12392
12722
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
12393
- var Menubar = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80(
12723
+ var Menubar = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81(
12394
12724
  MenubarPrimitive.Root,
12395
12725
  {
12396
12726
  ref,
@@ -12399,7 +12729,7 @@ var Menubar = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__
12399
12729
  }
12400
12730
  ));
12401
12731
  Menubar.displayName = MenubarPrimitive.Root.displayName;
12402
- var MenubarTrigger = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80(
12732
+ var MenubarTrigger = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81(
12403
12733
  MenubarPrimitive.Trigger,
12404
12734
  {
12405
12735
  ref,
@@ -12411,7 +12741,7 @@ var MenubarTrigger = React49.forwardRef(({ className, ...props }, ref) => /* @__
12411
12741
  }
12412
12742
  ));
12413
12743
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
12414
- var MenubarSubTrigger = React49.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs50(
12744
+ var MenubarSubTrigger = React49.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs51(
12415
12745
  MenubarPrimitive.SubTrigger,
12416
12746
  {
12417
12747
  ref,
@@ -12423,12 +12753,12 @@ var MenubarSubTrigger = React49.forwardRef(({ className, inset, children, ...pro
12423
12753
  ...props,
12424
12754
  children: [
12425
12755
  children,
12426
- /* @__PURE__ */ jsx80(ChevronRight7, { className: "ml-auto h-4 w-4" })
12756
+ /* @__PURE__ */ jsx81(ChevronRight7, { className: "ml-auto h-4 w-4" })
12427
12757
  ]
12428
12758
  }
12429
12759
  ));
12430
12760
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
12431
- var MenubarSubContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80(
12761
+ var MenubarSubContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81(
12432
12762
  MenubarPrimitive.SubContent,
12433
12763
  {
12434
12764
  ref,
@@ -12440,7 +12770,7 @@ var MenubarSubContent = React49.forwardRef(({ className, ...props }, ref) => /*
12440
12770
  }
12441
12771
  ));
12442
12772
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
12443
- var MenubarContent = React49.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx80(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx80(
12773
+ var MenubarContent = React49.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx81(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx81(
12444
12774
  MenubarPrimitive.Content,
12445
12775
  {
12446
12776
  ref,
@@ -12455,7 +12785,7 @@ var MenubarContent = React49.forwardRef(({ className, align = "start", alignOffs
12455
12785
  }
12456
12786
  ) }));
12457
12787
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
12458
- var MenubarItem = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx80(
12788
+ var MenubarItem = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx81(
12459
12789
  MenubarPrimitive.Item,
12460
12790
  {
12461
12791
  ref,
@@ -12468,7 +12798,7 @@ var MenubarItem = React49.forwardRef(({ className, inset, ...props }, ref) => /*
12468
12798
  }
12469
12799
  ));
12470
12800
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
12471
- var MenubarCheckboxItem = React49.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs50(
12801
+ var MenubarCheckboxItem = React49.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs51(
12472
12802
  MenubarPrimitive.CheckboxItem,
12473
12803
  {
12474
12804
  ref,
@@ -12479,13 +12809,13 @@ var MenubarCheckboxItem = React49.forwardRef(({ className, children, checked, ..
12479
12809
  checked,
12480
12810
  ...props,
12481
12811
  children: [
12482
- /* @__PURE__ */ jsx80("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx80(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx80(Check8, { className: "h-4 w-4" }) }) }),
12812
+ /* @__PURE__ */ jsx81("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx81(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx81(Check8, { className: "h-4 w-4" }) }) }),
12483
12813
  children
12484
12814
  ]
12485
12815
  }
12486
12816
  ));
12487
12817
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
12488
- var MenubarRadioItem = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs50(
12818
+ var MenubarRadioItem = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs51(
12489
12819
  MenubarPrimitive.RadioItem,
12490
12820
  {
12491
12821
  ref,
@@ -12495,13 +12825,13 @@ var MenubarRadioItem = React49.forwardRef(({ className, children, ...props }, re
12495
12825
  ),
12496
12826
  ...props,
12497
12827
  children: [
12498
- /* @__PURE__ */ jsx80("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx80(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx80(Circle4, { className: "h-2 w-2 fill-current" }) }) }),
12828
+ /* @__PURE__ */ jsx81("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx81(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx81(Circle4, { className: "h-2 w-2 fill-current" }) }) }),
12499
12829
  children
12500
12830
  ]
12501
12831
  }
12502
12832
  ));
12503
12833
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
12504
- var MenubarLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx80(
12834
+ var MenubarLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx81(
12505
12835
  MenubarPrimitive.Label,
12506
12836
  {
12507
12837
  ref,
@@ -12510,10 +12840,10 @@ var MenubarLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /
12510
12840
  }
12511
12841
  ));
12512
12842
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
12513
- var MenubarSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
12843
+ var MenubarSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
12514
12844
  MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
12515
12845
  var MenubarShortcut = ({ className, ...props }) => {
12516
- return /* @__PURE__ */ jsx80("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
12846
+ return /* @__PURE__ */ jsx81("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
12517
12847
  };
12518
12848
  MenubarShortcut.displayname = "MenubarShortcut";
12519
12849
 
@@ -12522,8 +12852,8 @@ import * as React50 from "react";
12522
12852
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
12523
12853
  import { cva as cva5 } from "class-variance-authority";
12524
12854
  import { ChevronDown as ChevronDown7 } from "lucide-react";
12525
- import { jsx as jsx81, jsxs as jsxs51 } from "react/jsx-runtime";
12526
- var NavigationMenu = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs51(
12855
+ import { jsx as jsx82, jsxs as jsxs52 } from "react/jsx-runtime";
12856
+ var NavigationMenu = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(
12527
12857
  NavigationMenuPrimitive.Root,
12528
12858
  {
12529
12859
  ref,
@@ -12531,12 +12861,12 @@ var NavigationMenu = React50.forwardRef(({ className, children, ...props }, ref)
12531
12861
  ...props,
12532
12862
  children: [
12533
12863
  children,
12534
- /* @__PURE__ */ jsx81(NavigationMenuViewport, {})
12864
+ /* @__PURE__ */ jsx82(NavigationMenuViewport, {})
12535
12865
  ]
12536
12866
  }
12537
12867
  ));
12538
12868
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
12539
- var NavigationMenuList = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81(
12869
+ var NavigationMenuList = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx82(
12540
12870
  NavigationMenuPrimitive.List,
12541
12871
  {
12542
12872
  ref,
@@ -12549,7 +12879,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
12549
12879
  var navigationMenuTriggerStyle = cva5(
12550
12880
  "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"
12551
12881
  );
12552
- var NavigationMenuTrigger = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs51(
12882
+ var NavigationMenuTrigger = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(
12553
12883
  NavigationMenuPrimitive.Trigger,
12554
12884
  {
12555
12885
  ref,
@@ -12558,7 +12888,7 @@ var NavigationMenuTrigger = React50.forwardRef(({ className, children, ...props
12558
12888
  children: [
12559
12889
  children,
12560
12890
  " ",
12561
- /* @__PURE__ */ jsx81(
12891
+ /* @__PURE__ */ jsx82(
12562
12892
  ChevronDown7,
12563
12893
  {
12564
12894
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
@@ -12569,7 +12899,7 @@ var NavigationMenuTrigger = React50.forwardRef(({ className, children, ...props
12569
12899
  }
12570
12900
  ));
12571
12901
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
12572
- var NavigationMenuContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81(
12902
+ var NavigationMenuContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx82(
12573
12903
  NavigationMenuPrimitive.Content,
12574
12904
  {
12575
12905
  ref,
@@ -12582,7 +12912,7 @@ var NavigationMenuContent = React50.forwardRef(({ className, ...props }, ref) =>
12582
12912
  ));
12583
12913
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
12584
12914
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
12585
- var NavigationMenuViewport = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx81(
12915
+ var NavigationMenuViewport = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx82("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx82(
12586
12916
  NavigationMenuPrimitive.Viewport,
12587
12917
  {
12588
12918
  className: cn(
@@ -12594,7 +12924,7 @@ var NavigationMenuViewport = React50.forwardRef(({ className, ...props }, ref) =
12594
12924
  }
12595
12925
  ) }));
12596
12926
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
12597
- var NavigationMenuIndicator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81(
12927
+ var NavigationMenuIndicator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx82(
12598
12928
  NavigationMenuPrimitive.Indicator,
12599
12929
  {
12600
12930
  ref,
@@ -12603,7 +12933,7 @@ var NavigationMenuIndicator = React50.forwardRef(({ className, ...props }, ref)
12603
12933
  className
12604
12934
  ),
12605
12935
  ...props,
12606
- children: /* @__PURE__ */ jsx81("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
12936
+ children: /* @__PURE__ */ jsx82("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
12607
12937
  }
12608
12938
  ));
12609
12939
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
@@ -12611,8 +12941,8 @@ NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayN
12611
12941
  // src/components/ui/pagination.tsx
12612
12942
  import * as React51 from "react";
12613
12943
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight8, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
12614
- import { jsx as jsx82, jsxs as jsxs52 } from "react/jsx-runtime";
12615
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx82(
12944
+ import { jsx as jsx83, jsxs as jsxs53 } from "react/jsx-runtime";
12945
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx83(
12616
12946
  "nav",
12617
12947
  {
12618
12948
  role: "navigation",
@@ -12623,12 +12953,12 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx82(
12623
12953
  );
12624
12954
  Pagination.displayName = "Pagination";
12625
12955
  var PaginationContent = React51.forwardRef(
12626
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx82("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
12956
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx83("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
12627
12957
  );
12628
12958
  PaginationContent.displayName = "PaginationContent";
12629
- var PaginationItem = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx82("li", { ref, className: cn("", className), ...props }));
12959
+ var PaginationItem = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx83("li", { ref, className: cn("", className), ...props }));
12630
12960
  PaginationItem.displayName = "PaginationItem";
12631
- var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx82(
12961
+ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx83(
12632
12962
  "a",
12633
12963
  {
12634
12964
  "aria-current": isActive ? "page" : void 0,
@@ -12643,29 +12973,29 @@ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @_
12643
12973
  }
12644
12974
  );
12645
12975
  PaginationLink.displayName = "PaginationLink";
12646
- var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs52(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 pl-2.5", className), ...props, children: [
12647
- /* @__PURE__ */ jsx82(ChevronLeft2, { className: "h-4 w-4" }),
12648
- /* @__PURE__ */ jsx82("span", { children: "Previous" })
12976
+ var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs53(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 pl-2.5", className), ...props, children: [
12977
+ /* @__PURE__ */ jsx83(ChevronLeft2, { className: "h-4 w-4" }),
12978
+ /* @__PURE__ */ jsx83("span", { children: "Previous" })
12649
12979
  ] });
12650
12980
  PaginationPrevious.displayName = "PaginationPrevious";
12651
- var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs52(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pr-2.5", className), ...props, children: [
12652
- /* @__PURE__ */ jsx82("span", { children: "Next" }),
12653
- /* @__PURE__ */ jsx82(ChevronRight8, { className: "h-4 w-4" })
12981
+ var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs53(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pr-2.5", className), ...props, children: [
12982
+ /* @__PURE__ */ jsx83("span", { children: "Next" }),
12983
+ /* @__PURE__ */ jsx83(ChevronRight8, { className: "h-4 w-4" })
12654
12984
  ] });
12655
12985
  PaginationNext.displayName = "PaginationNext";
12656
- var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs52("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
12657
- /* @__PURE__ */ jsx82(MoreHorizontal2, { className: "h-4 w-4" }),
12658
- /* @__PURE__ */ jsx82("span", { className: "sr-only", children: "More pages" })
12986
+ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs53("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
12987
+ /* @__PURE__ */ jsx83(MoreHorizontal2, { className: "h-4 w-4" }),
12988
+ /* @__PURE__ */ jsx83("span", { className: "sr-only", children: "More pages" })
12659
12989
  ] });
12660
12990
  PaginationEllipsis.displayName = "PaginationEllipsis";
12661
12991
 
12662
12992
  // src/components/ui/popover.tsx
12663
12993
  import * as React52 from "react";
12664
12994
  import * as PopoverPrimitive from "@radix-ui/react-popover";
12665
- import { jsx as jsx83 } from "react/jsx-runtime";
12995
+ import { jsx as jsx84 } from "react/jsx-runtime";
12666
12996
  var Popover = PopoverPrimitive.Root;
12667
12997
  var PopoverTrigger = PopoverPrimitive.Trigger;
12668
- var PopoverContent = React52.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx83(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx83(
12998
+ var PopoverContent = React52.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx84(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx84(
12669
12999
  PopoverPrimitive.Content,
12670
13000
  {
12671
13001
  ref,
@@ -12684,13 +13014,13 @@ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
12684
13014
  import * as React53 from "react";
12685
13015
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
12686
13016
  import { Circle as Circle5 } from "lucide-react";
12687
- import { jsx as jsx84 } from "react/jsx-runtime";
13017
+ import { jsx as jsx85 } from "react/jsx-runtime";
12688
13018
  var RadioGroup4 = React53.forwardRef(({ className, ...props }, ref) => {
12689
- return /* @__PURE__ */ jsx84(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
13019
+ return /* @__PURE__ */ jsx85(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
12690
13020
  });
12691
13021
  RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
12692
13022
  var RadioGroupItem = React53.forwardRef(({ className, ...props }, ref) => {
12693
- return /* @__PURE__ */ jsx84(
13023
+ return /* @__PURE__ */ jsx85(
12694
13024
  RadioGroupPrimitive.Item,
12695
13025
  {
12696
13026
  ref,
@@ -12699,7 +13029,7 @@ var RadioGroupItem = React53.forwardRef(({ className, ...props }, ref) => {
12699
13029
  className
12700
13030
  ),
12701
13031
  ...props,
12702
- children: /* @__PURE__ */ jsx84(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx84(Circle5, { className: "h-2.5 w-2.5 fill-current text-current" }) })
13032
+ children: /* @__PURE__ */ jsx85(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx85(Circle5, { className: "h-2.5 w-2.5 fill-current text-current" }) })
12703
13033
  }
12704
13034
  );
12705
13035
  });
@@ -12708,8 +13038,8 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
12708
13038
  // src/components/ui/resizable.tsx
12709
13039
  import { GripVertical } from "lucide-react";
12710
13040
  import * as ResizablePrimitive from "react-resizable-panels";
12711
- import { jsx as jsx85 } from "react/jsx-runtime";
12712
- var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx85(
13041
+ import { jsx as jsx86 } from "react/jsx-runtime";
13042
+ var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx86(
12713
13043
  ResizablePrimitive.PanelGroup,
12714
13044
  {
12715
13045
  className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
@@ -12721,7 +13051,7 @@ var ResizableHandle = ({
12721
13051
  withHandle,
12722
13052
  className,
12723
13053
  ...props
12724
- }) => /* @__PURE__ */ jsx85(
13054
+ }) => /* @__PURE__ */ jsx86(
12725
13055
  ResizablePrimitive.PanelResizeHandle,
12726
13056
  {
12727
13057
  className: cn(
@@ -12729,15 +13059,15 @@ var ResizableHandle = ({
12729
13059
  className
12730
13060
  ),
12731
13061
  ...props,
12732
- children: withHandle && /* @__PURE__ */ jsx85("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx85(GripVertical, { className: "h-2.5 w-2.5" }) })
13062
+ children: withHandle && /* @__PURE__ */ jsx86("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx86(GripVertical, { className: "h-2.5 w-2.5" }) })
12733
13063
  }
12734
13064
  );
12735
13065
 
12736
13066
  // src/components/ui/separator.tsx
12737
13067
  import * as React54 from "react";
12738
13068
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
12739
- import { jsx as jsx86 } from "react/jsx-runtime";
12740
- var Separator5 = React54.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx86(
13069
+ import { jsx as jsx87 } from "react/jsx-runtime";
13070
+ var Separator5 = React54.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx87(
12741
13071
  SeparatorPrimitive.Root,
12742
13072
  {
12743
13073
  ref,
@@ -12754,12 +13084,12 @@ import * as SheetPrimitive from "@radix-ui/react-dialog";
12754
13084
  import { cva as cva6 } from "class-variance-authority";
12755
13085
  import { X as X7 } from "lucide-react";
12756
13086
  import * as React55 from "react";
12757
- import { jsx as jsx87, jsxs as jsxs53 } from "react/jsx-runtime";
13087
+ import { jsx as jsx88, jsxs as jsxs54 } from "react/jsx-runtime";
12758
13088
  var Sheet = SheetPrimitive.Root;
12759
13089
  var SheetTrigger = SheetPrimitive.Trigger;
12760
13090
  var SheetClose = SheetPrimitive.Close;
12761
13091
  var SheetPortal = SheetPrimitive.Portal;
12762
- var SheetOverlay = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx87(
13092
+ var SheetOverlay = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
12763
13093
  SheetPrimitive.Overlay,
12764
13094
  {
12765
13095
  className: cn(
@@ -12796,11 +13126,11 @@ var SheetContent = React55.forwardRef(
12796
13126
  closeButtonClassName,
12797
13127
  closeButtonLabel = "Close",
12798
13128
  ...props
12799
- }, ref) => /* @__PURE__ */ jsxs53(SheetPortal, { children: [
12800
- /* @__PURE__ */ jsx87(SheetOverlay, {}),
12801
- /* @__PURE__ */ jsxs53(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
13129
+ }, ref) => /* @__PURE__ */ jsxs54(SheetPortal, { children: [
13130
+ /* @__PURE__ */ jsx88(SheetOverlay, {}),
13131
+ /* @__PURE__ */ jsxs54(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
12802
13132
  children,
12803
- showCloseButton ? /* @__PURE__ */ jsxs53(
13133
+ showCloseButton ? /* @__PURE__ */ jsxs54(
12804
13134
  SheetPrimitive.Close,
12805
13135
  {
12806
13136
  className: cn(
@@ -12808,8 +13138,8 @@ var SheetContent = React55.forwardRef(
12808
13138
  closeButtonClassName
12809
13139
  ),
12810
13140
  children: [
12811
- /* @__PURE__ */ jsx87(X7, { className: "h-4 w-4" }),
12812
- /* @__PURE__ */ jsx87("span", { className: "sr-only", children: closeButtonLabel })
13141
+ /* @__PURE__ */ jsx88(X7, { className: "h-4 w-4" }),
13142
+ /* @__PURE__ */ jsx88("span", { className: "sr-only", children: closeButtonLabel })
12813
13143
  ]
12814
13144
  }
12815
13145
  ) : null
@@ -12817,13 +13147,13 @@ var SheetContent = React55.forwardRef(
12817
13147
  ] })
12818
13148
  );
12819
13149
  SheetContent.displayName = SheetPrimitive.Content.displayName;
12820
- var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx87("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
13150
+ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx88("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
12821
13151
  SheetHeader.displayName = "SheetHeader";
12822
- var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx87("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
13152
+ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx88("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
12823
13153
  SheetFooter.displayName = "SheetFooter";
12824
- var SheetTitle = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx87(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
13154
+ var SheetTitle = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
12825
13155
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
12826
- var SheetDescription = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx87(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
13156
+ var SheetDescription = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
12827
13157
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
12828
13158
 
12829
13159
  // src/components/ui/sidebar.tsx
@@ -12850,7 +13180,7 @@ function useIsMobile() {
12850
13180
  }
12851
13181
 
12852
13182
  // src/components/ui/sidebar.tsx
12853
- import { jsx as jsx88, jsxs as jsxs54 } from "react/jsx-runtime";
13183
+ import { jsx as jsx89, jsxs as jsxs55 } from "react/jsx-runtime";
12854
13184
  var SIDEBAR_COOKIE_NAME = "sidebar:state";
12855
13185
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
12856
13186
  var SIDEBAR_WIDTH = "16rem";
@@ -12908,7 +13238,7 @@ var SidebarProvider = React57.forwardRef(({ defaultOpen = true, open: openProp,
12908
13238
  }),
12909
13239
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
12910
13240
  );
12911
- return /* @__PURE__ */ jsx88(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx88(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx88(
13241
+ return /* @__PURE__ */ jsx89(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx89(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx89(
12912
13242
  "div",
12913
13243
  {
12914
13244
  style: {
@@ -12927,7 +13257,7 @@ SidebarProvider.displayName = "SidebarProvider";
12927
13257
  var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
12928
13258
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
12929
13259
  if (collapsible === "none") {
12930
- return /* @__PURE__ */ jsx88(
13260
+ return /* @__PURE__ */ jsx89(
12931
13261
  "div",
12932
13262
  {
12933
13263
  className: cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground", className),
@@ -12938,7 +13268,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
12938
13268
  );
12939
13269
  }
12940
13270
  if (isMobile) {
12941
- return /* @__PURE__ */ jsx88(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx88(
13271
+ return /* @__PURE__ */ jsx89(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx89(
12942
13272
  SheetContent,
12943
13273
  {
12944
13274
  "data-sidebar": "sidebar",
@@ -12948,11 +13278,11 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
12948
13278
  "--sidebar-width": SIDEBAR_WIDTH_MOBILE
12949
13279
  },
12950
13280
  side,
12951
- children: /* @__PURE__ */ jsx88("div", { className: "flex h-full w-full flex-col", children })
13281
+ children: /* @__PURE__ */ jsx89("div", { className: "flex h-full w-full flex-col", children })
12952
13282
  }
12953
13283
  ) });
12954
13284
  }
12955
- return /* @__PURE__ */ jsxs54(
13285
+ return /* @__PURE__ */ jsxs55(
12956
13286
  "div",
12957
13287
  {
12958
13288
  ref,
@@ -12962,7 +13292,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
12962
13292
  "data-variant": variant,
12963
13293
  "data-side": side,
12964
13294
  children: [
12965
- /* @__PURE__ */ jsx88(
13295
+ /* @__PURE__ */ jsx89(
12966
13296
  "div",
12967
13297
  {
12968
13298
  className: cn(
@@ -12973,7 +13303,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
12973
13303
  )
12974
13304
  }
12975
13305
  ),
12976
- /* @__PURE__ */ jsx88(
13306
+ /* @__PURE__ */ jsx89(
12977
13307
  "div",
12978
13308
  {
12979
13309
  className: cn(
@@ -12984,7 +13314,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
12984
13314
  className
12985
13315
  ),
12986
13316
  ...props,
12987
- children: /* @__PURE__ */ jsx88(
13317
+ children: /* @__PURE__ */ jsx89(
12988
13318
  "div",
12989
13319
  {
12990
13320
  "data-sidebar": "sidebar",
@@ -13002,7 +13332,7 @@ Sidebar.displayName = "Sidebar";
13002
13332
  var SidebarTrigger = React57.forwardRef(
13003
13333
  ({ className, onClick, ...props }, ref) => {
13004
13334
  const { toggleSidebar } = useSidebar();
13005
- return /* @__PURE__ */ jsxs54(
13335
+ return /* @__PURE__ */ jsxs55(
13006
13336
  Button,
13007
13337
  {
13008
13338
  ref,
@@ -13016,8 +13346,8 @@ var SidebarTrigger = React57.forwardRef(
13016
13346
  },
13017
13347
  ...props,
13018
13348
  children: [
13019
- /* @__PURE__ */ jsx88(PanelLeft, {}),
13020
- /* @__PURE__ */ jsx88("span", { className: "sr-only", children: "Toggle Sidebar" })
13349
+ /* @__PURE__ */ jsx89(PanelLeft, {}),
13350
+ /* @__PURE__ */ jsx89("span", { className: "sr-only", children: "Toggle Sidebar" })
13021
13351
  ]
13022
13352
  }
13023
13353
  );
@@ -13027,7 +13357,7 @@ SidebarTrigger.displayName = "SidebarTrigger";
13027
13357
  var SidebarRail = React57.forwardRef(
13028
13358
  ({ className, ...props }, ref) => {
13029
13359
  const { toggleSidebar } = useSidebar();
13030
- return /* @__PURE__ */ jsx88(
13360
+ return /* @__PURE__ */ jsx89(
13031
13361
  "button",
13032
13362
  {
13033
13363
  ref,
@@ -13052,7 +13382,7 @@ var SidebarRail = React57.forwardRef(
13052
13382
  );
13053
13383
  SidebarRail.displayName = "SidebarRail";
13054
13384
  var SidebarInset = React57.forwardRef(({ className, ...props }, ref) => {
13055
- return /* @__PURE__ */ jsx88(
13385
+ return /* @__PURE__ */ jsx89(
13056
13386
  "main",
13057
13387
  {
13058
13388
  ref,
@@ -13068,7 +13398,7 @@ var SidebarInset = React57.forwardRef(({ className, ...props }, ref) => {
13068
13398
  SidebarInset.displayName = "SidebarInset";
13069
13399
  var SidebarInput = React57.forwardRef(
13070
13400
  ({ className, ...props }, ref) => {
13071
- return /* @__PURE__ */ jsx88(
13401
+ return /* @__PURE__ */ jsx89(
13072
13402
  Input,
13073
13403
  {
13074
13404
  ref,
@@ -13084,16 +13414,16 @@ var SidebarInput = React57.forwardRef(
13084
13414
  );
13085
13415
  SidebarInput.displayName = "SidebarInput";
13086
13416
  var SidebarHeader = React57.forwardRef(({ className, ...props }, ref) => {
13087
- return /* @__PURE__ */ jsx88("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
13417
+ return /* @__PURE__ */ jsx89("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
13088
13418
  });
13089
13419
  SidebarHeader.displayName = "SidebarHeader";
13090
13420
  var SidebarFooter = React57.forwardRef(({ className, ...props }, ref) => {
13091
- return /* @__PURE__ */ jsx88("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
13421
+ return /* @__PURE__ */ jsx89("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
13092
13422
  });
13093
13423
  SidebarFooter.displayName = "SidebarFooter";
13094
13424
  var SidebarSeparator = React57.forwardRef(
13095
13425
  ({ className, ...props }, ref) => {
13096
- return /* @__PURE__ */ jsx88(
13426
+ return /* @__PURE__ */ jsx89(
13097
13427
  Separator5,
13098
13428
  {
13099
13429
  ref,
@@ -13106,7 +13436,7 @@ var SidebarSeparator = React57.forwardRef(
13106
13436
  );
13107
13437
  SidebarSeparator.displayName = "SidebarSeparator";
13108
13438
  var SidebarContent = React57.forwardRef(({ className, ...props }, ref) => {
13109
- return /* @__PURE__ */ jsx88(
13439
+ return /* @__PURE__ */ jsx89(
13110
13440
  "div",
13111
13441
  {
13112
13442
  ref,
@@ -13121,7 +13451,7 @@ var SidebarContent = React57.forwardRef(({ className, ...props }, ref) => {
13121
13451
  });
13122
13452
  SidebarContent.displayName = "SidebarContent";
13123
13453
  var SidebarGroup = React57.forwardRef(({ className, ...props }, ref) => {
13124
- return /* @__PURE__ */ jsx88(
13454
+ return /* @__PURE__ */ jsx89(
13125
13455
  "div",
13126
13456
  {
13127
13457
  ref,
@@ -13135,7 +13465,7 @@ SidebarGroup.displayName = "SidebarGroup";
13135
13465
  var SidebarGroupLabel = React57.forwardRef(
13136
13466
  ({ className, asChild = false, ...props }, ref) => {
13137
13467
  const Comp = asChild ? Slot4 : "div";
13138
- return /* @__PURE__ */ jsx88(
13468
+ return /* @__PURE__ */ jsx89(
13139
13469
  Comp,
13140
13470
  {
13141
13471
  ref,
@@ -13154,7 +13484,7 @@ SidebarGroupLabel.displayName = "SidebarGroupLabel";
13154
13484
  var SidebarGroupAction = React57.forwardRef(
13155
13485
  ({ className, asChild = false, ...props }, ref) => {
13156
13486
  const Comp = asChild ? Slot4 : "button";
13157
- return /* @__PURE__ */ jsx88(
13487
+ return /* @__PURE__ */ jsx89(
13158
13488
  Comp,
13159
13489
  {
13160
13490
  ref,
@@ -13173,12 +13503,12 @@ var SidebarGroupAction = React57.forwardRef(
13173
13503
  );
13174
13504
  SidebarGroupAction.displayName = "SidebarGroupAction";
13175
13505
  var SidebarGroupContent = React57.forwardRef(
13176
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx88("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
13506
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
13177
13507
  );
13178
13508
  SidebarGroupContent.displayName = "SidebarGroupContent";
13179
- var SidebarMenu = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
13509
+ var SidebarMenu = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx89("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
13180
13510
  SidebarMenu.displayName = "SidebarMenu";
13181
- var SidebarMenuItem = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
13511
+ var SidebarMenuItem = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx89("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
13182
13512
  SidebarMenuItem.displayName = "SidebarMenuItem";
13183
13513
  var sidebarMenuButtonVariants = cva7(
13184
13514
  "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",
@@ -13203,7 +13533,7 @@ var sidebarMenuButtonVariants = cva7(
13203
13533
  var SidebarMenuButton = React57.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
13204
13534
  const Comp = asChild ? Slot4 : "button";
13205
13535
  const { isMobile, state } = useSidebar();
13206
- const button = /* @__PURE__ */ jsx88(
13536
+ const button = /* @__PURE__ */ jsx89(
13207
13537
  Comp,
13208
13538
  {
13209
13539
  ref,
@@ -13222,15 +13552,15 @@ var SidebarMenuButton = React57.forwardRef(({ asChild = false, isActive = false,
13222
13552
  children: tooltip
13223
13553
  };
13224
13554
  }
13225
- return /* @__PURE__ */ jsxs54(Tooltip, { children: [
13226
- /* @__PURE__ */ jsx88(TooltipTrigger, { asChild: true, children: button }),
13227
- /* @__PURE__ */ jsx88(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
13555
+ return /* @__PURE__ */ jsxs55(Tooltip, { children: [
13556
+ /* @__PURE__ */ jsx89(TooltipTrigger, { asChild: true, children: button }),
13557
+ /* @__PURE__ */ jsx89(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
13228
13558
  ] });
13229
13559
  });
13230
13560
  SidebarMenuButton.displayName = "SidebarMenuButton";
13231
13561
  var SidebarMenuAction = React57.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
13232
13562
  const Comp = asChild ? Slot4 : "button";
13233
- return /* @__PURE__ */ jsx88(
13563
+ return /* @__PURE__ */ jsx89(
13234
13564
  Comp,
13235
13565
  {
13236
13566
  ref,
@@ -13252,7 +13582,7 @@ var SidebarMenuAction = React57.forwardRef(({ className, asChild = false, showOn
13252
13582
  });
13253
13583
  SidebarMenuAction.displayName = "SidebarMenuAction";
13254
13584
  var SidebarMenuBadge = React57.forwardRef(
13255
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
13585
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89(
13256
13586
  "div",
13257
13587
  {
13258
13588
  ref,
@@ -13275,7 +13605,7 @@ var SidebarMenuSkeleton = React57.forwardRef(({ className, showIcon = false, ...
13275
13605
  const width = React57.useMemo(() => {
13276
13606
  return `${Math.floor(Math.random() * 40) + 50}%`;
13277
13607
  }, []);
13278
- return /* @__PURE__ */ jsxs54(
13608
+ return /* @__PURE__ */ jsxs55(
13279
13609
  "div",
13280
13610
  {
13281
13611
  ref,
@@ -13283,8 +13613,8 @@ var SidebarMenuSkeleton = React57.forwardRef(({ className, showIcon = false, ...
13283
13613
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
13284
13614
  ...props,
13285
13615
  children: [
13286
- showIcon && /* @__PURE__ */ jsx88(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
13287
- /* @__PURE__ */ jsx88(
13616
+ showIcon && /* @__PURE__ */ jsx89(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
13617
+ /* @__PURE__ */ jsx89(
13288
13618
  Skeleton,
13289
13619
  {
13290
13620
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -13300,7 +13630,7 @@ var SidebarMenuSkeleton = React57.forwardRef(({ className, showIcon = false, ...
13300
13630
  });
13301
13631
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
13302
13632
  var SidebarMenuSub = React57.forwardRef(
13303
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
13633
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89(
13304
13634
  "ul",
13305
13635
  {
13306
13636
  ref,
@@ -13315,11 +13645,11 @@ var SidebarMenuSub = React57.forwardRef(
13315
13645
  )
13316
13646
  );
13317
13647
  SidebarMenuSub.displayName = "SidebarMenuSub";
13318
- var SidebarMenuSubItem = React57.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx88("li", { ref, ...props }));
13648
+ var SidebarMenuSubItem = React57.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx89("li", { ref, ...props }));
13319
13649
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
13320
13650
  var SidebarMenuSubButton = React57.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
13321
13651
  const Comp = asChild ? Slot4 : "a";
13322
- return /* @__PURE__ */ jsx88(
13652
+ return /* @__PURE__ */ jsx89(
13323
13653
  Comp,
13324
13654
  {
13325
13655
  ref,
@@ -13343,16 +13673,16 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
13343
13673
  // src/components/ui/slider.tsx
13344
13674
  import * as React58 from "react";
13345
13675
  import * as SliderPrimitive from "@radix-ui/react-slider";
13346
- import { jsx as jsx89, jsxs as jsxs55 } from "react/jsx-runtime";
13347
- var Slider = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs55(
13676
+ import { jsx as jsx90, jsxs as jsxs56 } from "react/jsx-runtime";
13677
+ var Slider = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs56(
13348
13678
  SliderPrimitive.Root,
13349
13679
  {
13350
13680
  ref,
13351
13681
  className: cn("relative flex w-full touch-none select-none items-center", className),
13352
13682
  ...props,
13353
13683
  children: [
13354
- /* @__PURE__ */ jsx89(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx89(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
13355
- /* @__PURE__ */ jsx89(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" })
13684
+ /* @__PURE__ */ jsx90(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx90(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
13685
+ /* @__PURE__ */ jsx90(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" })
13356
13686
  ]
13357
13687
  }
13358
13688
  ));
@@ -13361,8 +13691,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
13361
13691
  // src/components/ui/switch.tsx
13362
13692
  import * as React59 from "react";
13363
13693
  import * as SwitchPrimitives2 from "@radix-ui/react-switch";
13364
- import { jsx as jsx90 } from "react/jsx-runtime";
13365
- var Switch2 = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx90(
13694
+ import { jsx as jsx91 } from "react/jsx-runtime";
13695
+ var Switch2 = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
13366
13696
  SwitchPrimitives2.Root,
13367
13697
  {
13368
13698
  className: cn(
@@ -13371,7 +13701,7 @@ var Switch2 = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__
13371
13701
  ),
13372
13702
  ...props,
13373
13703
  ref,
13374
- children: /* @__PURE__ */ jsx90(
13704
+ children: /* @__PURE__ */ jsx91(
13375
13705
  SwitchPrimitives2.Thumb,
13376
13706
  {
13377
13707
  className: cn(
@@ -13385,25 +13715,25 @@ Switch2.displayName = SwitchPrimitives2.Root.displayName;
13385
13715
 
13386
13716
  // src/components/ui/table.tsx
13387
13717
  import * as React60 from "react";
13388
- import { jsx as jsx91 } from "react/jsx-runtime";
13718
+ import { jsx as jsx92 } from "react/jsx-runtime";
13389
13719
  var Table = React60.forwardRef(
13390
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx91("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
13720
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx92("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
13391
13721
  );
13392
13722
  Table.displayName = "Table";
13393
13723
  var TableHeader = React60.forwardRef(
13394
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
13724
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
13395
13725
  );
13396
13726
  TableHeader.displayName = "TableHeader";
13397
13727
  var TableBody = React60.forwardRef(
13398
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
13728
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
13399
13729
  );
13400
13730
  TableBody.displayName = "TableBody";
13401
13731
  var TableFooter = React60.forwardRef(
13402
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
13732
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
13403
13733
  );
13404
13734
  TableFooter.displayName = "TableFooter";
13405
13735
  var TableRow = React60.forwardRef(
13406
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
13736
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
13407
13737
  "tr",
13408
13738
  {
13409
13739
  ref,
@@ -13414,7 +13744,7 @@ var TableRow = React60.forwardRef(
13414
13744
  );
13415
13745
  TableRow.displayName = "TableRow";
13416
13746
  var TableHead = React60.forwardRef(
13417
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
13747
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
13418
13748
  "th",
13419
13749
  {
13420
13750
  ref,
@@ -13428,11 +13758,11 @@ var TableHead = React60.forwardRef(
13428
13758
  );
13429
13759
  TableHead.displayName = "TableHead";
13430
13760
  var TableCell = React60.forwardRef(
13431
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
13761
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
13432
13762
  );
13433
13763
  TableCell.displayName = "TableCell";
13434
13764
  var TableCaption = React60.forwardRef(
13435
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx91("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
13765
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx92("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
13436
13766
  );
13437
13767
  TableCaption.displayName = "TableCaption";
13438
13768
 
@@ -13441,9 +13771,9 @@ import * as React61 from "react";
13441
13771
  import * as ToastPrimitives from "@radix-ui/react-toast";
13442
13772
  import { cva as cva8 } from "class-variance-authority";
13443
13773
  import { X as X8 } from "lucide-react";
13444
- import { jsx as jsx92 } from "react/jsx-runtime";
13774
+ import { jsx as jsx93 } from "react/jsx-runtime";
13445
13775
  var ToastProvider = ToastPrimitives.Provider;
13446
- var ToastViewport = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
13776
+ var ToastViewport = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx93(
13447
13777
  ToastPrimitives.Viewport,
13448
13778
  {
13449
13779
  ref,
@@ -13470,10 +13800,10 @@ var toastVariants = cva8(
13470
13800
  }
13471
13801
  );
13472
13802
  var Toast = React61.forwardRef(({ className, variant, ...props }, ref) => {
13473
- return /* @__PURE__ */ jsx92(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
13803
+ return /* @__PURE__ */ jsx93(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
13474
13804
  });
13475
13805
  Toast.displayName = ToastPrimitives.Root.displayName;
13476
- var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
13806
+ var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx93(
13477
13807
  ToastPrimitives.Action,
13478
13808
  {
13479
13809
  ref,
@@ -13485,7 +13815,7 @@ var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PUR
13485
13815
  }
13486
13816
  ));
13487
13817
  ToastAction.displayName = ToastPrimitives.Action.displayName;
13488
- var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ jsx92(
13818
+ var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ jsx93(
13489
13819
  ToastPrimitives.Close,
13490
13820
  {
13491
13821
  ref,
@@ -13499,31 +13829,31 @@ var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /
13499
13829
  },
13500
13830
  "toast-close": "",
13501
13831
  ...props,
13502
- children: /* @__PURE__ */ jsx92(X8, { className: "h-4 w-4" })
13832
+ children: /* @__PURE__ */ jsx93(X8, { className: "h-4 w-4" })
13503
13833
  }
13504
13834
  ));
13505
13835
  ToastClose.displayName = ToastPrimitives.Close.displayName;
13506
- var ToastTitle = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
13836
+ var ToastTitle = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx93(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
13507
13837
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
13508
- var ToastDescription = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
13838
+ var ToastDescription = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx93(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
13509
13839
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
13510
13840
 
13511
13841
  // src/components/ui/toaster.tsx
13512
- import { jsx as jsx93, jsxs as jsxs56 } from "react/jsx-runtime";
13842
+ import { jsx as jsx94, jsxs as jsxs57 } from "react/jsx-runtime";
13513
13843
  function Toaster2() {
13514
13844
  const { toasts } = useToast();
13515
- return /* @__PURE__ */ jsxs56(ToastProvider, { children: [
13845
+ return /* @__PURE__ */ jsxs57(ToastProvider, { children: [
13516
13846
  toasts.map(function({ id, title, description, action, ...props }) {
13517
- return /* @__PURE__ */ jsxs56(Toast, { ...props, children: [
13518
- /* @__PURE__ */ jsxs56("div", { className: "grid gap-1", children: [
13519
- title && /* @__PURE__ */ jsx93(ToastTitle, { children: title }),
13520
- description && /* @__PURE__ */ jsx93(ToastDescription, { children: description })
13847
+ return /* @__PURE__ */ jsxs57(Toast, { ...props, children: [
13848
+ /* @__PURE__ */ jsxs57("div", { className: "grid gap-1", children: [
13849
+ title && /* @__PURE__ */ jsx94(ToastTitle, { children: title }),
13850
+ description && /* @__PURE__ */ jsx94(ToastDescription, { children: description })
13521
13851
  ] }),
13522
13852
  action,
13523
- /* @__PURE__ */ jsx93(ToastClose, {})
13853
+ /* @__PURE__ */ jsx94(ToastClose, {})
13524
13854
  ] }, id);
13525
13855
  }),
13526
- /* @__PURE__ */ jsx93(ToastViewport, {})
13856
+ /* @__PURE__ */ jsx94(ToastViewport, {})
13527
13857
  ] });
13528
13858
  }
13529
13859
 
@@ -13531,7 +13861,7 @@ function Toaster2() {
13531
13861
  import * as React62 from "react";
13532
13862
  import * as TogglePrimitive from "@radix-ui/react-toggle";
13533
13863
  import { cva as cva9 } from "class-variance-authority";
13534
- import { jsx as jsx94 } from "react/jsx-runtime";
13864
+ import { jsx as jsx95 } from "react/jsx-runtime";
13535
13865
  var toggleVariants = cva9(
13536
13866
  "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",
13537
13867
  {
@@ -13552,22 +13882,22 @@ var toggleVariants = cva9(
13552
13882
  }
13553
13883
  }
13554
13884
  );
13555
- var Toggle = React62.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx94(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
13885
+ var Toggle = React62.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx95(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
13556
13886
  Toggle.displayName = TogglePrimitive.Root.displayName;
13557
13887
 
13558
13888
  // src/components/ui/toggle-group.tsx
13559
13889
  import * as React63 from "react";
13560
13890
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
13561
- import { jsx as jsx95 } from "react/jsx-runtime";
13891
+ import { jsx as jsx96 } from "react/jsx-runtime";
13562
13892
  var ToggleGroupContext = React63.createContext({
13563
13893
  size: "default",
13564
13894
  variant: "default"
13565
13895
  });
13566
- var ToggleGroup = React63.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx95(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ jsx95(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
13896
+ var ToggleGroup = React63.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx96(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ jsx96(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
13567
13897
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
13568
13898
  var ToggleGroupItem = React63.forwardRef(({ className, children, variant, size, ...props }, ref) => {
13569
13899
  const context = React63.useContext(ToggleGroupContext);
13570
- return /* @__PURE__ */ jsx95(
13900
+ return /* @__PURE__ */ jsx96(
13571
13901
  ToggleGroupPrimitive.Item,
13572
13902
  {
13573
13903
  ref,
@@ -13771,7 +14101,7 @@ var useLayoutModeControl = () => {
13771
14101
  };
13772
14102
 
13773
14103
  // src/lib/auth.tsx
13774
- import { createContext as createContext7, useCallback as useCallback12, useContext as useContext9, useEffect as useEffect28, useMemo as useMemo16, useRef as useRef10, useState as useState25 } from "react";
14104
+ import { createContext as createContext7, useCallback as useCallback12, useContext as useContext9, useEffect as useEffect28, useMemo as useMemo17, useRef as useRef10, useState as useState25 } from "react";
13775
14105
 
13776
14106
  // node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
13777
14107
  function __rest(s, e) {
@@ -25305,7 +25635,7 @@ function getSupabasePublic() {
25305
25635
  }
25306
25636
 
25307
25637
  // src/lib/auth.tsx
25308
- import { jsx as jsx96 } from "react/jsx-runtime";
25638
+ import { jsx as jsx97 } from "react/jsx-runtime";
25309
25639
  var STORAGE_KEYS = {
25310
25640
  accessToken: "cc_access_token",
25311
25641
  idToken: "cc_id_token",
@@ -25473,6 +25803,22 @@ var toNonEmptyString = (value) => {
25473
25803
  const trimmed = value.trim();
25474
25804
  return trimmed === "" ? void 0 : trimmed;
25475
25805
  };
25806
+ var UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
25807
+ var DEFAULT_TENANT_SLUG = "cupcode";
25808
+ var resolveTenantSlug = ({
25809
+ slugClaim,
25810
+ tenantId,
25811
+ userId
25812
+ }) => {
25813
+ const normalizedSlug = slugClaim == null ? void 0 : slugClaim.trim();
25814
+ if (normalizedSlug && normalizedSlug !== userId && !UUID_PATTERN.test(normalizedSlug)) {
25815
+ return normalizedSlug;
25816
+ }
25817
+ const normalizedTenantId = tenantId == null ? void 0 : tenantId.trim();
25818
+ if (!normalizedTenantId || normalizedTenantId === userId) return DEFAULT_TENANT_SLUG;
25819
+ if (!UUID_PATTERN.test(normalizedTenantId)) return normalizedTenantId;
25820
+ return DEFAULT_TENANT_SLUG;
25821
+ };
25476
25822
  var normalizePresenceSource = (value) => {
25477
25823
  if (typeof value !== "string") return "auto";
25478
25824
  const normalized = value.trim().toLowerCase();
@@ -25648,19 +25994,21 @@ var buildUserFromTokens = ({
25648
25994
  ]);
25649
25995
  const nickname = readFromClaims(["nickname", "nick", "https://cupcode.com/nickname"]);
25650
25996
  const email = readFromClaims(["email", "https://cupcode.com/email", "upn", "preferred_username", "preferredUsername"]);
25651
- const tenantId = readFromClaims([
25652
- "tenant_id",
25653
- "tenantId",
25997
+ const tenantSlugClaim = readFromClaims([
25654
25998
  "tenant_slug",
25655
25999
  "tenantSlug",
25656
26000
  "company_slug",
25657
26001
  "companySlug",
25658
- "company",
25659
26002
  "org_slug",
25660
26003
  "orgSlug",
25661
- "https://cupcode.com/tenant_id",
25662
26004
  "https://cupcode.com/tenant_slug"
25663
26005
  ]);
26006
+ const tenantId = readFromClaims([
26007
+ "tenant_id",
26008
+ "tenantId",
26009
+ "company",
26010
+ "https://cupcode.com/tenant_id"
26011
+ ]);
25664
26012
  const givenName = readFromClaims(["given_name", "givenName", "first_name", "firstName"]);
25665
26013
  const familyName = readFromClaims(["family_name", "familyName", "last_name", "lastName"]);
25666
26014
  const fullNameFromClaims = readFromClaims(["name", "full_name", "fullName", "https://cupcode.com/name"]);
@@ -25678,7 +26026,11 @@ var buildUserFromTokens = ({
25678
26026
  id: resolvedId,
25679
26027
  userId: resolvedId,
25680
26028
  tenantId,
25681
- tenantSlug: tenantId,
26029
+ tenantSlug: resolveTenantSlug({
26030
+ slugClaim: tenantSlugClaim,
26031
+ tenantId,
26032
+ userId: resolvedId
26033
+ }),
25682
26034
  name: derivedName,
25683
26035
  email: (email == null ? void 0 : email.includes("@")) ? email.toLowerCase() : email,
25684
26036
  picture: resolvedPicture,
@@ -26326,7 +26678,7 @@ var AuthProvider = ({ children }) => {
26326
26678
  },
26327
26679
  [setPresenceNetworkStatus]
26328
26680
  );
26329
- const value = useMemo16(
26681
+ const value = useMemo17(
26330
26682
  () => ({
26331
26683
  status,
26332
26684
  user,
@@ -26340,7 +26692,7 @@ var AuthProvider = ({ children }) => {
26340
26692
  }),
26341
26693
  [status, user, accessToken, login, logout, completeLogin, getAccessToken, presenceStatus, setPresenceStatus]
26342
26694
  );
26343
- return /* @__PURE__ */ jsx96(AuthContext.Provider, { value, children });
26695
+ return /* @__PURE__ */ jsx97(AuthContext.Provider, { value, children });
26344
26696
  };
26345
26697
  var useAuth = () => {
26346
26698
  const ctx = useContext9(AuthContext);
@@ -26527,6 +26879,7 @@ export {
26527
26879
  Label4 as Label,
26528
26880
  LoadingScreen,
26529
26881
  LoadingSpinner,
26882
+ LoginHistoryCupcode,
26530
26883
  MainLayout,
26531
26884
  MainNavbar,
26532
26885
  Menubar,
@@ -26717,6 +27070,7 @@ export {
26717
27070
  defaultSidebarGroups,
26718
27071
  ensureTelescupOidcToken,
26719
27072
  exchangeCodeForToken,
27073
+ fetchAccountsLoginHistory,
26720
27074
  generateCodeChallenge,
26721
27075
  generateCodeVerifier,
26722
27076
  generateNonce,
@@ -26730,17 +27084,22 @@ export {
26730
27084
  getTelescupOidcToken,
26731
27085
  hasPendingOidcFlow,
26732
27086
  invalidateTelescupAssetsCache,
27087
+ isLoginHistorySessionActive,
26733
27088
  isRuntimeDev,
26734
27089
  isStoredThemeMode,
26735
27090
  navigationMenuTriggerStyle,
27091
+ normalizeLoginHistorySessions,
26736
27092
  normalizeStoredThemePreference,
26737
27093
  parseAssetId,
27094
+ parseBrowserFromUserAgent,
27095
+ parseOsFromUserAgent,
26738
27096
  parseStoredThemePreference,
26739
27097
  persistThemePreferenceSelection,
26740
27098
  readStoredLayoutMode,
26741
27099
  readStoredThemeMode,
26742
27100
  reducer,
26743
27101
  refreshTokens,
27102
+ resolveAccountsApiBaseUrl,
26744
27103
  resolveAppliedThemeMode,
26745
27104
  resolveCupcodeAppVersion,
26746
27105
  resolveOidcEndpoints,