@cupcodev/ui 5.1.3 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1976,23 +1976,23 @@ var NavbarCupcode = ({
1976
1976
  {
1977
1977
  ref: navRef,
1978
1978
  className: cn(
1979
- "fixed left-2 right-2 top-[calc(max(env(safe-area-inset-top),0px)+var(--cc-navbar-top-offset,8px))] z-[200] overflow-hidden rounded-2xl",
1980
- "glass border-border/70 shadow-[var(--elevation-3)] md:left-4 md:right-4",
1979
+ "fixed left-[var(--cc-navbar-side-offset-mobile)] right-[var(--cc-navbar-side-offset-mobile)] top-[calc(max(env(safe-area-inset-top),0px)+var(--cc-navbar-top-offset,8px))] z-[200] overflow-hidden rounded-[var(--cc-navbar-radius)]",
1980
+ "border border-[hsl(var(--cc-navbar-border))] bg-[hsl(var(--cc-navbar-bg))] shadow-[var(--cc-navbar-shadow)] backdrop-blur-[var(--glass-blur-md)] md:left-[var(--cc-navbar-side-offset-desktop)] md:right-[var(--cc-navbar-side-offset-desktop)]",
1981
1981
  className
1982
1982
  ),
1983
1983
  children: /* @__PURE__ */ jsxs9("div", { className: "cc-container", children: [
1984
- /* @__PURE__ */ jsxs9("div", { className: "hidden h-16 items-center md:flex", children: [
1984
+ /* @__PURE__ */ jsxs9("div", { className: "hidden h-[var(--cc-navbar-height-desktop)] items-center md:flex", children: [
1985
1985
  /* @__PURE__ */ jsx11("div", { className: cn("flex-shrink-0", !hasItems && "mr-auto"), children: logo }),
1986
1986
  hasItems ? /* @__PURE__ */ jsx11("div", { className: "mx-auto flex items-center space-x-8", children: items.map((item, index) => {
1987
1987
  const key = `${item.label}-${index}`;
1988
1988
  const isActive = item.isActive;
1989
1989
  const baseClasses = cn(
1990
1990
  "flex items-center gap-2 text-sm font-semibold text-foreground",
1991
- "hover:text-primary transition-colors duration-200",
1991
+ "hover:text-[hsl(var(--cc-navbar-link-hover))] transition-colors duration-200",
1992
1992
  "relative after:absolute after:bottom-0 after:left-0 after:h-0.5 after:w-0",
1993
- "after:bg-primary after:transition-all after:duration-300",
1993
+ "after:bg-[hsl(var(--cc-navbar-link-hover))] after:transition-all after:duration-300",
1994
1994
  "hover:after:w-full",
1995
- isActive && "text-primary after:w-full"
1995
+ isActive && "text-[hsl(var(--cc-navbar-link-active))] after:w-full after:bg-[hsl(var(--cc-navbar-link-active))]"
1996
1996
  );
1997
1997
  const handleClick = (event) => {
1998
1998
  var _a78;
@@ -2031,7 +2031,7 @@ var NavbarCupcode = ({
2031
2031
  }) }) : null,
2032
2032
  actions && /* @__PURE__ */ jsx11("div", { className: cn("flex", !hasItems && "ml-auto"), children: actions })
2033
2033
  ] }),
2034
- hasItems ? /* @__PURE__ */ jsxs9("div", { className: "relative flex h-16 items-center md:hidden", children: [
2034
+ hasItems ? /* @__PURE__ */ jsxs9("div", { className: "relative flex h-[var(--cc-navbar-height-mobile)] items-center md:hidden", children: [
2035
2035
  /* @__PURE__ */ jsx11(
2036
2036
  "button",
2037
2037
  {
@@ -2046,7 +2046,7 @@ var NavbarCupcode = ({
2046
2046
  ),
2047
2047
  /* @__PURE__ */ jsx11("div", { className: "pointer-events-none absolute left-1/2 top-1/2 z-0 w-[min(62vw,18rem)] -translate-x-1/2 -translate-y-1/2 overflow-hidden", children: /* @__PURE__ */ jsx11("div", { className: "flex items-center justify-center", children: logo }) }),
2048
2048
  /* @__PURE__ */ jsx11("div", { className: "z-10 ml-auto flex items-center", children: actions != null ? actions : /* @__PURE__ */ jsx11("span", { className: "inline-flex h-10 w-10", "aria-hidden": "true" }) })
2049
- ] }) : /* @__PURE__ */ jsxs9("div", { className: "flex h-16 items-center justify-between gap-3 md:hidden", children: [
2049
+ ] }) : /* @__PURE__ */ jsxs9("div", { className: "flex h-[var(--cc-navbar-height-mobile)] items-center justify-between gap-3 md:hidden", children: [
2050
2050
  /* @__PURE__ */ jsx11("div", { className: "min-w-0 shrink", children: logo }),
2051
2051
  /* @__PURE__ */ jsx11("div", { className: "flex items-center", children: actions != null ? actions : /* @__PURE__ */ jsx11("span", { className: "inline-flex h-10 w-10", "aria-hidden": "true" }) })
2052
2052
  ] })
@@ -2069,7 +2069,7 @@ var NavbarCupcode = ({
2069
2069
  id: mobileMenuId,
2070
2070
  ref: mobileDrawerRef,
2071
2071
  className: cn(
2072
- "glass-strong absolute inset-y-0 left-0 z-10 w-[min(84vw,22rem)] border-r border-border/70 px-3 pb-[max(env(safe-area-inset-bottom),0.75rem)] pt-[max(env(safe-area-inset-top),0.9rem)] text-foreground shadow-[var(--elevation-5)]",
2072
+ "absolute inset-y-0 left-0 z-10 w-[min(84vw,22rem)] border-r border-r-[hsl(var(--cc-navbar-drawer-border))] bg-[hsl(var(--cc-navbar-drawer-bg))] px-3 pb-[max(env(safe-area-inset-bottom),0.75rem)] pt-[max(env(safe-area-inset-top),0.9rem)] text-foreground shadow-[var(--elevation-5)] backdrop-blur-[var(--glass-blur-lg)]",
2073
2073
  "data-[state=open]:animate-in data-[state=open]:slide-in-from-left data-[state=open]:duration-300"
2074
2074
  ),
2075
2075
  "data-state": "open",
@@ -2092,7 +2092,7 @@ var NavbarCupcode = ({
2092
2092
  const isActive = item.isActive;
2093
2093
  const classes = cn(
2094
2094
  "flex min-h-11 items-center gap-2 rounded-lg px-4 py-2.5 text-sm font-semibold text-foreground transition-colors hover:bg-primary/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",
2095
- isActive && "text-primary"
2095
+ isActive && "text-[hsl(var(--cc-navbar-link-active))]"
2096
2096
  );
2097
2097
  const handleClick = (event) => {
2098
2098
  var _a78;
@@ -2396,7 +2396,7 @@ var JellyButton = forwardRef8(
2396
2396
  md: "cc-blob-cta--md",
2397
2397
  lg: "cc-blob-cta--lg"
2398
2398
  }[size];
2399
- const variantClass = variant === "secondary" || variant === "original-green" ? "cc-blob-cta--secondary" : variant === "half" ? "cc-blob-cta--half" : "cc-blob-cta--primary";
2399
+ const variantClass = variant === "primary" || variant === "original-green" ? "cc-blob-cta--primary" : variant === "secondary" || variant === "original-pink" ? "cc-blob-cta--secondary" : "cc-blob-cta--half";
2400
2400
  return /* @__PURE__ */ jsxs11(
2401
2401
  "button",
2402
2402
  {
@@ -2616,7 +2616,8 @@ var buttonVariants = cva(
2616
2616
  {
2617
2617
  variants: {
2618
2618
  variant: {
2619
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
2619
+ default: "bg-[#18b765] text-white hover:bg-[#149355]",
2620
+ primary: "bg-[#18b765] text-white hover:bg-[#149355]",
2620
2621
  destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
2621
2622
  outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
2622
2623
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
@@ -10039,7 +10040,7 @@ var UserMenuCupcode = ({
10039
10040
  return /* @__PURE__ */ jsx35("div", { className: cn("h-11 w-11 animate-pulse rounded-full bg-muted/70", className) });
10040
10041
  }
10041
10042
  if (!isAuthenticated) {
10042
- return /* @__PURE__ */ jsx35(JellyButtonOriginal, { label: loginLabel, size: "sm", className, onClick: onLogin });
10043
+ return /* @__PURE__ */ jsx35(JellyButtonOriginal, { label: loginLabel, color: "green", size: "sm", className, onClick: onLogin });
10043
10044
  }
10044
10045
  const customPanel = panels == null ? void 0 : panels[activeTab];
10045
10046
  const hasCustomPanel = typeof customPanel !== "undefined";
@@ -21886,10 +21887,490 @@ var Toaster = ({ theme, ...props }) => {
21886
21887
  );
21887
21888
  };
21888
21889
 
21890
+ // src/components/use-app-theme.ts
21891
+ import { useContext } from "react";
21892
+
21893
+ // src/components/theme-context.ts
21894
+ import { createContext } from "react";
21895
+ var ThemeContext = createContext(null);
21896
+
21897
+ // src/components/use-app-theme.ts
21898
+ function useAppTheme() {
21899
+ const context = useContext(ThemeContext);
21900
+ if (!context) {
21901
+ throw new Error("useAppTheme must be used inside ThemeProvider");
21902
+ }
21903
+ return context;
21904
+ }
21905
+
21906
+ // src/components/theme-toggle.tsx
21907
+ import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
21908
+ function ThemeToggle({ className }) {
21909
+ const { theme, toggleTheme } = useAppTheme();
21910
+ const isDark = theme === "dark";
21911
+ const handleClick = (event) => {
21912
+ toggleTheme({
21913
+ x: event.clientX,
21914
+ y: event.clientY
21915
+ });
21916
+ };
21917
+ return /* @__PURE__ */ jsxs23(
21918
+ "button",
21919
+ {
21920
+ type: "button",
21921
+ onClick: handleClick,
21922
+ "aria-label": isDark ? "Ativar modo claro" : "Ativar modo escuro",
21923
+ "aria-pressed": isDark,
21924
+ title: isDark ? "Ativar modo claro" : "Ativar modo escuro",
21925
+ className: ["cc-theme-toggle", isDark ? "is-dark" : "", className].filter(Boolean).join(" "),
21926
+ children: [
21927
+ /* @__PURE__ */ jsxs23("span", { className: "track", children: [
21928
+ /* @__PURE__ */ jsxs23("span", { className: "light-bg", children: [
21929
+ /* @__PURE__ */ jsx38("span", { className: "light-orb light-orb-1" }),
21930
+ /* @__PURE__ */ jsx38("span", { className: "light-orb light-orb-2" }),
21931
+ /* @__PURE__ */ jsx38("span", { className: "light-sweep" }),
21932
+ /* @__PURE__ */ jsx38("span", { className: "light-veil" })
21933
+ ] }),
21934
+ /* @__PURE__ */ jsx38("span", { className: "stars stars-1" }),
21935
+ /* @__PURE__ */ jsx38("span", { className: "stars stars-2" }),
21936
+ /* @__PURE__ */ jsx38("span", { className: "stars stars-3" }),
21937
+ /* @__PURE__ */ jsx38("span", { className: "cloud cloud-1" }),
21938
+ /* @__PURE__ */ jsx38("span", { className: "cloud cloud-2" }),
21939
+ /* @__PURE__ */ jsxs23("span", { className: "thumb", children: [
21940
+ /* @__PURE__ */ jsx38("span", { className: "sun-core" }),
21941
+ /* @__PURE__ */ jsx38("span", { className: "moon-cut" })
21942
+ ] })
21943
+ ] }),
21944
+ /* @__PURE__ */ jsx38("style", { children: `
21945
+ :root {
21946
+ --toggle-width: 76px;
21947
+ --toggle-height: 42px;
21948
+ --thumb-size: 30px;
21949
+ --toggle-thumb-offset: 34px;
21950
+ --duration: 560ms;
21951
+ --ease: cubic-bezier(0.22, 1, 0.36, 1);
21952
+ --dark-top: #7c5bbb;
21953
+ --dark-bottom: #3a2a58;
21954
+ }
21955
+
21956
+ .cc-theme-toggle {
21957
+ border: 0;
21958
+ background: transparent;
21959
+ padding: 0;
21960
+ cursor: pointer;
21961
+ display: inline-flex;
21962
+ align-items: center;
21963
+ justify-content: center;
21964
+ flex-shrink: 0;
21965
+ }
21966
+
21967
+ .cc-theme-toggle .track {
21968
+ position: relative;
21969
+ width: var(--toggle-width);
21970
+ height: var(--toggle-height);
21971
+ border-radius: 999px;
21972
+ overflow: hidden;
21973
+ background: linear-gradient(180deg, #f7f6fb 0%, #f1edf9 55%, #e6def5 100%);
21974
+ box-shadow:
21975
+ inset 0 1px 0 rgba(255, 255, 255, 0.92),
21976
+ inset 0 0 0 1px rgba(232, 219, 255, 0.85),
21977
+ 0 0 0 1px rgba(227, 182, 255, 0.45),
21978
+ 0 8px 24px rgba(134, 102, 182, 0.18);
21979
+ transition:
21980
+ background var(--duration) var(--ease),
21981
+ box-shadow var(--duration) var(--ease);
21982
+ }
21983
+
21984
+ .cc-theme-toggle .track::before {
21985
+ content: "";
21986
+ position: absolute;
21987
+ inset: 0;
21988
+ border-radius: inherit;
21989
+ padding: 1px;
21990
+ background: linear-gradient(
21991
+ 90deg,
21992
+ rgba(200, 106, 232, 0.95) 0%,
21993
+ rgba(199, 166, 255, 0.95) 38%,
21994
+ rgba(239, 233, 255, 0.95) 68%,
21995
+ rgba(243, 123, 175, 0.95) 100%
21996
+ );
21997
+ -webkit-mask:
21998
+ linear-gradient(#000 0 0) content-box,
21999
+ linear-gradient(#000 0 0);
22000
+ -webkit-mask-composite: xor;
22001
+ mask-composite: exclude;
22002
+ pointer-events: none;
22003
+ }
22004
+
22005
+ .cc-theme-toggle .track::after {
22006
+ content: "";
22007
+ position: absolute;
22008
+ inset: 4px;
22009
+ border-radius: inherit;
22010
+ border: 1px solid rgba(255, 255, 255, 0.72);
22011
+ box-shadow: inset 0 0 0 1px rgba(217, 204, 248, 0.38);
22012
+ pointer-events: none;
22013
+ }
22014
+
22015
+ .cc-theme-toggle .light-bg {
22016
+ position: absolute;
22017
+ inset: 0;
22018
+ border-radius: inherit;
22019
+ overflow: hidden;
22020
+ opacity: 1;
22021
+ transition: opacity 240ms ease;
22022
+ z-index: 0;
22023
+ }
22024
+
22025
+ .cc-theme-toggle .light-orb {
22026
+ position: absolute;
22027
+ border-radius: 999px;
22028
+ filter: blur(10px);
22029
+ will-change: transform, opacity;
22030
+ }
22031
+
22032
+ .cc-theme-toggle .light-orb-1 {
22033
+ width: 48px;
22034
+ height: 28px;
22035
+ left: -8px;
22036
+ bottom: -1px;
22037
+ background: radial-gradient(
22038
+ ellipse at center,
22039
+ rgba(241, 138, 195, 0.58) 0%,
22040
+ rgba(232, 167, 208, 0.24) 58%,
22041
+ rgba(255, 255, 255, 0) 100%
22042
+ );
22043
+ animation: cc-theme-light-flow-pink 6.4s ease-in-out infinite;
22044
+ }
22045
+
22046
+ .cc-theme-toggle .light-orb-2 {
22047
+ width: 52px;
22048
+ height: 30px;
22049
+ right: -10px;
22050
+ top: -3px;
22051
+ background: radial-gradient(
22052
+ ellipse at center,
22053
+ rgba(200, 141, 255, 0.34) 0%,
22054
+ rgba(217, 184, 255, 0.14) 60%,
22055
+ rgba(255, 255, 255, 0) 100%
22056
+ );
22057
+ animation: cc-theme-light-flow-purple 6.4s ease-in-out infinite;
22058
+ }
22059
+
22060
+ .cc-theme-toggle .light-sweep {
22061
+ position: absolute;
22062
+ left: -44px;
22063
+ bottom: 5px;
22064
+ width: 42px;
22065
+ height: 4px;
22066
+ border-radius: 999px;
22067
+ background: linear-gradient(
22068
+ 90deg,
22069
+ rgba(255, 122, 200, 0) 0%,
22070
+ rgba(217, 108, 255, 0.65) 35%,
22071
+ rgba(183, 124, 255, 0.8) 70%,
22072
+ rgba(255, 255, 255, 0) 100%
22073
+ );
22074
+ filter: blur(2px);
22075
+ opacity: 0.9;
22076
+ animation: cc-theme-light-sweep 4.3s linear infinite;
22077
+ }
22078
+
22079
+ .cc-theme-toggle .light-veil {
22080
+ position: absolute;
22081
+ inset: 0;
22082
+ background: rgba(255, 255, 255, 0.16);
22083
+ animation: cc-theme-light-veil 5.8s ease-in-out infinite;
22084
+ }
22085
+
22086
+ .cc-theme-toggle.is-dark .track {
22087
+ background: linear-gradient(180deg, var(--dark-top) 0%, var(--dark-bottom) 100%);
22088
+ box-shadow:
22089
+ inset 0 2px 8px rgba(255, 255, 255, 0.06),
22090
+ inset 0 -4px 12px rgba(0, 0, 0, 0.28),
22091
+ 0 8px 24px rgba(58, 42, 88, 0.3);
22092
+ }
22093
+
22094
+ .cc-theme-toggle.is-dark .track::before,
22095
+ .cc-theme-toggle.is-dark .track::after,
22096
+ .cc-theme-toggle.is-dark .light-bg {
22097
+ opacity: 0;
22098
+ }
22099
+
22100
+ .cc-theme-toggle .thumb {
22101
+ position: absolute;
22102
+ top: 6px;
22103
+ left: 6px;
22104
+ width: var(--thumb-size);
22105
+ height: var(--thumb-size);
22106
+ border-radius: 50%;
22107
+ background: linear-gradient(180deg, #ffd76a 0%, #ffb238 100%);
22108
+ box-shadow:
22109
+ 0 4px 10px rgba(255, 176, 56, 0.35),
22110
+ inset 0 2px 4px rgba(255, 255, 255, 0.5);
22111
+ transition:
22112
+ transform var(--duration) var(--ease),
22113
+ background var(--duration) var(--ease),
22114
+ box-shadow var(--duration) var(--ease);
22115
+ z-index: 3;
22116
+ overflow: hidden;
22117
+ }
22118
+
22119
+ .cc-theme-toggle.is-dark .thumb {
22120
+ transform: translateX(var(--toggle-thumb-offset));
22121
+ background: linear-gradient(180deg, #f5f7ff 0%, #cfd8ef 100%);
22122
+ box-shadow:
22123
+ 0 4px 12px rgba(194, 208, 255, 0.25),
22124
+ inset 0 2px 4px rgba(255, 255, 255, 0.8);
22125
+ }
22126
+
22127
+ .cc-theme-toggle .sun-core {
22128
+ position: absolute;
22129
+ inset: 0;
22130
+ border-radius: 50%;
22131
+ }
22132
+
22133
+ .cc-theme-toggle .moon-cut {
22134
+ position: absolute;
22135
+ width: 22px;
22136
+ height: 22px;
22137
+ border-radius: 50%;
22138
+ background: linear-gradient(180deg, var(--dark-top) 0%, var(--dark-bottom) 100%);
22139
+ top: 4px;
22140
+ left: 12px;
22141
+ transform: scale(0.2);
22142
+ opacity: 0;
22143
+ transition:
22144
+ transform var(--duration) var(--ease),
22145
+ opacity calc(var(--duration) * 0.8) var(--ease);
22146
+ }
22147
+
22148
+ .cc-theme-toggle.is-dark .moon-cut {
22149
+ transform: scale(1);
22150
+ opacity: 1;
22151
+ }
22152
+
22153
+ .cc-theme-toggle .stars {
22154
+ position: absolute;
22155
+ border-radius: 50%;
22156
+ background: white;
22157
+ opacity: 0;
22158
+ transform: scale(0.9);
22159
+ z-index: 1;
22160
+ }
22161
+
22162
+ .cc-theme-toggle .stars::after {
22163
+ content: "";
22164
+ position: absolute;
22165
+ inset: -3px;
22166
+ border-radius: 50%;
22167
+ background: rgba(255, 255, 255, 0.18);
22168
+ filter: blur(3px);
22169
+ }
22170
+
22171
+ .cc-theme-toggle .stars-1 {
22172
+ width: 4px;
22173
+ height: 4px;
22174
+ top: 9px;
22175
+ left: 14px;
22176
+ animation: cc-theme-star-blink-1 1.9s ease-in-out infinite;
22177
+ }
22178
+
22179
+ .cc-theme-toggle .stars-2 {
22180
+ width: 4px;
22181
+ height: 4px;
22182
+ top: 15px;
22183
+ left: 26px;
22184
+ animation: cc-theme-star-blink-2 2.3s ease-in-out infinite;
22185
+ }
22186
+
22187
+ .cc-theme-toggle .stars-3 {
22188
+ width: 3px;
22189
+ height: 3px;
22190
+ top: 26px;
22191
+ left: 20px;
22192
+ animation: cc-theme-star-blink-3 1.7s ease-in-out infinite;
22193
+ }
22194
+
22195
+ .cc-theme-toggle:not(.is-dark) .stars {
22196
+ opacity: 0;
22197
+ animation-play-state: paused;
22198
+ }
22199
+
22200
+ .cc-theme-toggle.is-dark .stars {
22201
+ animation-play-state: running;
22202
+ }
22203
+
22204
+ .cc-theme-toggle .cloud {
22205
+ position: absolute;
22206
+ background: #fff;
22207
+ border-radius: 999px;
22208
+ transition: opacity 320ms ease;
22209
+ will-change: transform;
22210
+ }
22211
+
22212
+ .cc-theme-toggle .cloud::before,
22213
+ .cc-theme-toggle .cloud::after {
22214
+ content: "";
22215
+ position: absolute;
22216
+ background: inherit;
22217
+ border-radius: 50%;
22218
+ }
22219
+
22220
+ .cc-theme-toggle .cloud-1 {
22221
+ width: 6px;
22222
+ height: 2.5px;
22223
+ left: 58px;
22224
+ top: 11px;
22225
+ box-shadow: 3.5px 0 0 0 #fff;
22226
+ z-index: 2;
22227
+ animation: cc-theme-cloud-float-small 4.8s ease-in-out infinite;
22228
+ }
22229
+
22230
+ .cc-theme-toggle .cloud-1::before {
22231
+ width: 3px;
22232
+ height: 3px;
22233
+ left: 0.5px;
22234
+ top: -1.5px;
22235
+ }
22236
+
22237
+ .cc-theme-toggle .cloud-1::after {
22238
+ width: 4px;
22239
+ height: 4px;
22240
+ left: 2.5px;
22241
+ top: -2.5px;
22242
+ }
22243
+
22244
+ .cc-theme-toggle .cloud-2 {
22245
+ width: 18px;
22246
+ height: 7px;
22247
+ left: 40px;
22248
+ top: 23px;
22249
+ box-shadow: 12px 0 0 0 #fff;
22250
+ z-index: 2;
22251
+ animation: cc-theme-cloud-float-large 9.6s ease-in-out infinite;
22252
+ }
22253
+
22254
+ .cc-theme-toggle .cloud-2::before {
22255
+ width: 10px;
22256
+ height: 10px;
22257
+ left: 2px;
22258
+ top: -5px;
22259
+ }
22260
+
22261
+ .cc-theme-toggle .cloud-2::after {
22262
+ width: 13px;
22263
+ height: 13px;
22264
+ left: 9px;
22265
+ top: -9px;
22266
+ }
22267
+
22268
+ .cc-theme-toggle.is-dark .cloud {
22269
+ opacity: 0;
22270
+ animation-play-state: paused;
22271
+ }
22272
+
22273
+ .cc-theme-toggle:focus-visible .track {
22274
+ outline: 3px solid rgba(99, 102, 241, 0.45);
22275
+ outline-offset: 4px;
22276
+ }
22277
+
22278
+ @keyframes cc-theme-light-flow-pink {
22279
+ 0% { transform: translateX(-8px) translateY(0px); opacity: 0.7; }
22280
+ 25% { transform: translateX(4px) translateY(-1px); opacity: 0.48; }
22281
+ 50% { transform: translateX(18px) translateY(-3px); opacity: 0.22; }
22282
+ 75% { transform: translateX(30px) translateY(-5px); opacity: 0.12; }
22283
+ 100% { transform: translateX(-8px) translateY(0px); opacity: 0.7; }
22284
+ }
22285
+
22286
+ @keyframes cc-theme-light-flow-purple {
22287
+ 0% { transform: translateX(0px) translateY(0px); opacity: 0.22; }
22288
+ 25% { transform: translateX(-12px) translateY(0px); opacity: 0.34; }
22289
+ 50% { transform: translateX(-24px) translateY(2px); opacity: 0.46; }
22290
+ 75% { transform: translateX(-34px) translateY(5px); opacity: 0.24; }
22291
+ 100% { transform: translateX(0px) translateY(0px); opacity: 0.22; }
22292
+ }
22293
+
22294
+ @keyframes cc-theme-light-sweep {
22295
+ 0% { transform: translateX(0); opacity: 0; }
22296
+ 25% { opacity: 0.95; }
22297
+ 60% { opacity: 0.72; }
22298
+ 100% { transform: translateX(124px); opacity: 0; }
22299
+ }
22300
+
22301
+ @keyframes cc-theme-light-veil {
22302
+ 0%, 100% { opacity: 0.18; }
22303
+ 30% { opacity: 0.1; }
22304
+ 60% { opacity: 0.16; }
22305
+ 80% { opacity: 0.22; }
22306
+ }
22307
+
22308
+ @keyframes cc-theme-cloud-float-small {
22309
+ 0% { transform: translateX(0); }
22310
+ 50% { transform: translateX(-12px); }
22311
+ 100% { transform: translateX(0); }
22312
+ }
22313
+
22314
+ @keyframes cc-theme-cloud-float-large {
22315
+ 0% { transform: translateX(0); }
22316
+ 50% { transform: translateX(-18px); }
22317
+ 100% { transform: translateX(0); }
22318
+ }
22319
+
22320
+ @keyframes cc-theme-star-blink-1 {
22321
+ 0%, 100% { opacity: 0.35; transform: scale(0.9); }
22322
+ 50% { opacity: 1; transform: scale(1.08); }
22323
+ }
22324
+
22325
+ @keyframes cc-theme-star-blink-2 {
22326
+ 0%, 100% { opacity: 0.25; transform: scale(0.85); }
22327
+ 45% { opacity: 0.95; transform: scale(1.05); }
22328
+ }
22329
+
22330
+ @keyframes cc-theme-star-blink-3 {
22331
+ 0%, 100% { opacity: 0.3; transform: scale(0.9); }
22332
+ 55% { opacity: 1; transform: scale(1.12); }
22333
+ }
22334
+ ` })
22335
+ ]
22336
+ }
22337
+ );
22338
+ }
22339
+
21889
22340
  // src/lib/accountsAuth.ts
21890
22341
  var normalizeBaseUrl2 = (value) => value.replace(/\/+$/, "");
22342
+ var AUTH_REQUEST_TIMEOUT_MS = 8e3;
22343
+ var LOCAL_BROWSER_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
22344
+ var isLocalBrowserOrigin = () => {
22345
+ if (typeof window === "undefined") return false;
22346
+ return LOCAL_BROWSER_HOSTNAMES.has(window.location.hostname);
22347
+ };
22348
+ var getLocalRedirectUri = () => {
22349
+ if (typeof window === "undefined") {
22350
+ return "http://localhost:8080/auth/callback";
22351
+ }
22352
+ const port = window.location.port || "8080";
22353
+ return `${window.location.protocol}//localhost:${port}/auth/callback`;
22354
+ };
22355
+ var fetchWithTimeout = async (input, init, timeoutMs = AUTH_REQUEST_TIMEOUT_MS) => {
22356
+ const controller = new AbortController();
22357
+ const timeoutId = window.setTimeout(() => controller.abort(), timeoutMs);
22358
+ try {
22359
+ return await fetch(input, {
22360
+ ...init,
22361
+ signal: controller.signal
22362
+ });
22363
+ } catch (error) {
22364
+ if (error.name === "AbortError") {
22365
+ throw new Error("Timeout ao consultar o Accounts.");
22366
+ }
22367
+ throw error;
22368
+ } finally {
22369
+ window.clearTimeout(timeoutId);
22370
+ }
22371
+ };
21891
22372
  var getAccountsConfig = () => {
21892
- var _a78, _b7, _c;
22373
+ var _a78, _b7;
21893
22374
  const baseUrl = normalizeBaseUrl2(
21894
22375
  (_a78 = getRuntimeEnv("VITE_ACCOUNTS_BASE_URL")) != null ? _a78 : "https://accounts.cupcode.com.br"
21895
22376
  );
@@ -21897,12 +22378,14 @@ var getAccountsConfig = () => {
21897
22378
  if (!clientId) {
21898
22379
  throw new Error("VITE_ACCOUNTS_CLIENT_ID \xE9 obrigat\xF3rio para login.");
21899
22380
  }
21900
- const redirectUri = (_b7 = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI")) != null ? _b7 : `${window.location.origin}/auth/callback`;
22381
+ const runtimeRedirectUri = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI");
22382
+ const fallbackRedirectUri = typeof window === "undefined" ? "http://localhost:8080/auth/callback" : `${window.location.origin}/auth/callback`;
22383
+ const redirectUri = runtimeRedirectUri != null ? runtimeRedirectUri : isLocalBrowserOrigin() ? getLocalRedirectUri() : fallbackRedirectUri;
21901
22384
  return {
21902
22385
  baseUrl,
21903
22386
  clientId,
21904
22387
  redirectUri,
21905
- scope: (_c = getRuntimeEnv("VITE_ACCOUNTS_SCOPE")) != null ? _c : "openid profile email",
22388
+ scope: (_b7 = getRuntimeEnv("VITE_ACCOUNTS_SCOPE")) != null ? _b7 : "openid profile email",
21906
22389
  audience: getRuntimeEnv("VITE_ACCOUNTS_AUDIENCE"),
21907
22390
  authUrl: getRuntimeEnv("VITE_ACCOUNTS_AUTH_URL"),
21908
22391
  tokenUrl: getRuntimeEnv("VITE_ACCOUNTS_TOKEN_URL"),
@@ -21928,7 +22411,7 @@ var resolveOidcEndpoints = async (config) => {
21928
22411
  };
21929
22412
  }
21930
22413
  const discoveryUrl = `${normalizeBaseUrl2(config.baseUrl)}/.well-known/openid-configuration`;
21931
- const response = await fetch(discoveryUrl);
22414
+ const response = await fetchWithTimeout(discoveryUrl);
21932
22415
  if (!response.ok) {
21933
22416
  throw new Error("Falha ao resolver configura\xE7\xE3o OIDC do accounts.");
21934
22417
  }
@@ -22019,7 +22502,7 @@ var exchangeCodeForToken = async (config, tokenUrl, code, verifier) => {
22019
22502
  redirect_uri: config.redirectUri,
22020
22503
  code_verifier: verifier
22021
22504
  });
22022
- const response = await fetch(tokenUrl, {
22505
+ const response = await fetchWithTimeout(tokenUrl, {
22023
22506
  method: "POST",
22024
22507
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
22025
22508
  body
@@ -22066,7 +22549,7 @@ var decodeJwt = (token) => {
22066
22549
  };
22067
22550
 
22068
22551
  // src/components/cupcode/MainNavbar.tsx
22069
- import { Fragment as Fragment5, jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
22552
+ import { Fragment as Fragment5, jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
22070
22553
  var parsePositiveInteger = (rawValue, fallback) => {
22071
22554
  const parsed = Number(rawValue);
22072
22555
  if (!Number.isFinite(parsed) || parsed <= 0) return fallback;
@@ -24027,8 +24510,8 @@ var MainNavbar = ({
24027
24510
  }, [currentPathname, onNavigate, showNavItems]);
24028
24511
  const resolvedLogo = useMemo9(() => {
24029
24512
  if (logo !== void 0) return logo;
24030
- return /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-[15px]", children: [
24031
- /* @__PURE__ */ jsx38(
24513
+ return /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-[15px]", children: [
24514
+ /* @__PURE__ */ jsx39(
24032
24515
  TelescupImage,
24033
24516
  {
24034
24517
  apiId: "be574751-cf1b-499a-8473-360b4115b447",
@@ -24039,7 +24522,7 @@ var MainNavbar = ({
24039
24522
  className: "h-10 w-auto"
24040
24523
  }
24041
24524
  ),
24042
- /* @__PURE__ */ jsx38(
24525
+ /* @__PURE__ */ jsx39(
24043
24526
  TelescupImage,
24044
24527
  {
24045
24528
  apiId: "3b913721-2eda-48fd-8d76-1a53055a337f",
@@ -24274,61 +24757,64 @@ var MainNavbar = ({
24274
24757
  },
24275
24758
  [authEmail, currentUserId, resolvedSenderId]
24276
24759
  );
24277
- return /* @__PURE__ */ jsx38(Fragment5, { children: /* @__PURE__ */ jsx38(
24760
+ return /* @__PURE__ */ jsx39(Fragment5, { children: /* @__PURE__ */ jsx39(
24278
24761
  NavbarCupcode,
24279
24762
  {
24280
24763
  logo: resolvedLogo,
24281
24764
  items,
24282
24765
  className,
24283
- actions: /* @__PURE__ */ jsx38("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx38(
24284
- UserMenuCupcode,
24285
- {
24286
- isAuthenticated: resolvedAuthStatus === "authenticated",
24287
- isLoading: resolvedAuthStatus === "loading",
24288
- loginLabel: ctaLabel,
24289
- displayName: authUser == null ? void 0 : authUser.name,
24290
- username: (_c = authUser == null ? void 0 : authUser.preferredUsername) != null ? _c : authUser == null ? void 0 : authUser.nickname,
24291
- email: authUser == null ? void 0 : authUser.email,
24292
- avatarUrl: resolvedProfileAvatarUrl,
24293
- roleLabel: authUser == null ? void 0 : authUser.jobTitle,
24294
- status: presenceStatus,
24295
- onStatusChange: onPresenceStatusChange,
24296
- chatUsers,
24297
- chatMessages,
24298
- chatReactions,
24299
- chatMessageLogs,
24300
- currentChatUserId: effectiveCurrentUserId,
24301
- chatUnreadCount,
24302
- chatUnreadByUser,
24303
- isChatSuperAdmin,
24304
- isChatLoading,
24305
- isChatSending,
24306
- chatError,
24307
- onChatSendMessage: handleChatSendMessage,
24308
- onChatMarkConversationRead: handleChatMarkConversationRead,
24309
- onChatToggleReaction: handleChatToggleReaction,
24310
- onChatEditMessage: handleChatEditMessage,
24311
- onChatDeleteMessage: handleChatDeleteMessage,
24312
- onChatViewMessageData: handleChatViewMessageData,
24313
- onChatOpenUserProfile: handleChatOpenUserProfile,
24314
- onChatSendEmail: handleChatSendEmail,
24315
- onChatAddToAgenda: handleChatAddToAgenda,
24316
- onLogin: handleCtaClick,
24317
- onLogout: handleLogoutClick,
24318
- onOpenAccount: handleOpenAccounts,
24319
- onOpenProfile: handleOpenAccountsProfile,
24320
- onOpenBilling: handleOpenAccountsBilling,
24321
- onOpenTasks: handleOpenMcTasks,
24322
- onProfileAvatarChange: handleProfileAvatarChange,
24323
- language: accountsLanguage,
24324
- onLanguageChange: handleLanguageChange,
24325
- recentActivity: accountsRecentActivity,
24326
- isRecentActivityLoading: isAccountsActivityLoading,
24327
- telescupBaseUrl: resolvedTelescupBaseUrl,
24328
- getTelescupAccessToken,
24329
- appVersion
24330
- }
24331
- ) })
24766
+ actions: /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
24767
+ /* @__PURE__ */ jsx39(ThemeToggle, {}),
24768
+ /* @__PURE__ */ jsx39(
24769
+ UserMenuCupcode,
24770
+ {
24771
+ isAuthenticated: resolvedAuthStatus === "authenticated",
24772
+ isLoading: resolvedAuthStatus === "loading",
24773
+ loginLabel: ctaLabel,
24774
+ displayName: authUser == null ? void 0 : authUser.name,
24775
+ username: (_c = authUser == null ? void 0 : authUser.preferredUsername) != null ? _c : authUser == null ? void 0 : authUser.nickname,
24776
+ email: authUser == null ? void 0 : authUser.email,
24777
+ avatarUrl: resolvedProfileAvatarUrl,
24778
+ roleLabel: authUser == null ? void 0 : authUser.jobTitle,
24779
+ status: presenceStatus,
24780
+ onStatusChange: onPresenceStatusChange,
24781
+ chatUsers,
24782
+ chatMessages,
24783
+ chatReactions,
24784
+ chatMessageLogs,
24785
+ currentChatUserId: effectiveCurrentUserId,
24786
+ chatUnreadCount,
24787
+ chatUnreadByUser,
24788
+ isChatSuperAdmin,
24789
+ isChatLoading,
24790
+ isChatSending,
24791
+ chatError,
24792
+ onChatSendMessage: handleChatSendMessage,
24793
+ onChatMarkConversationRead: handleChatMarkConversationRead,
24794
+ onChatToggleReaction: handleChatToggleReaction,
24795
+ onChatEditMessage: handleChatEditMessage,
24796
+ onChatDeleteMessage: handleChatDeleteMessage,
24797
+ onChatViewMessageData: handleChatViewMessageData,
24798
+ onChatOpenUserProfile: handleChatOpenUserProfile,
24799
+ onChatSendEmail: handleChatSendEmail,
24800
+ onChatAddToAgenda: handleChatAddToAgenda,
24801
+ onLogin: handleCtaClick,
24802
+ onLogout: handleLogoutClick,
24803
+ onOpenAccount: handleOpenAccounts,
24804
+ onOpenProfile: handleOpenAccountsProfile,
24805
+ onOpenBilling: handleOpenAccountsBilling,
24806
+ onOpenTasks: handleOpenMcTasks,
24807
+ onProfileAvatarChange: handleProfileAvatarChange,
24808
+ language: accountsLanguage,
24809
+ onLanguageChange: handleLanguageChange,
24810
+ recentActivity: accountsRecentActivity,
24811
+ isRecentActivityLoading: isAccountsActivityLoading,
24812
+ telescupBaseUrl: resolvedTelescupBaseUrl,
24813
+ getTelescupAccessToken,
24814
+ appVersion
24815
+ }
24816
+ )
24817
+ ] })
24332
24818
  }
24333
24819
  ) });
24334
24820
  };
@@ -24340,10 +24826,10 @@ import { useEffect as useEffect15, useMemo as useMemo10, useRef as useRef11, use
24340
24826
  import { NavLink, useLocation } from "react-router-dom";
24341
24827
 
24342
24828
  // src/components/layout/DsNavbarLogo.tsx
24343
- import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
24829
+ import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
24344
24830
  var DsNavbarLogo = () => {
24345
- return /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-[15px]", children: [
24346
- /* @__PURE__ */ jsx39(
24831
+ return /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-[15px]", children: [
24832
+ /* @__PURE__ */ jsx40(
24347
24833
  TelescupImage,
24348
24834
  {
24349
24835
  apiId: "be574751-cf1b-499a-8473-360b4115b447",
@@ -24354,7 +24840,7 @@ var DsNavbarLogo = () => {
24354
24840
  className: "h-10 w-auto"
24355
24841
  }
24356
24842
  ),
24357
- /* @__PURE__ */ jsx39(
24843
+ /* @__PURE__ */ jsx40(
24358
24844
  TelescupImage,
24359
24845
  {
24360
24846
  apiId: "3b913721-2eda-48fd-8d76-1a53055a337f",
@@ -24368,7 +24854,7 @@ var DsNavbarLogo = () => {
24368
24854
  ] });
24369
24855
  };
24370
24856
  var DsNavbarCompactLogo = () => {
24371
- return /* @__PURE__ */ jsx39(
24857
+ return /* @__PURE__ */ jsx40(
24372
24858
  TelescupImage,
24373
24859
  {
24374
24860
  apiId: "be574751-cf1b-499a-8473-360b4115b447",
@@ -24425,13 +24911,13 @@ var buildSidebarGroupsFromNavItems = (items, defaultGroupLabel = "Principal") =>
24425
24911
  var defaultSidebarGroups = buildSidebarGroupsFromNavItems(getMainNavItems());
24426
24912
 
24427
24913
  // src/components/layout/sidebar.tsx
24428
- import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
24914
+ import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
24429
24915
  var findGroupByRoute = (groups, pathname) => {
24430
24916
  var _a78, _b7;
24431
24917
  return (_b7 = (_a78 = groups.find((group) => group.items.some((item) => item.route === pathname))) == null ? void 0 : _a78.label) != null ? _b7 : null;
24432
24918
  };
24433
- var IconFallback = () => /* @__PURE__ */ jsx40(Circle2, { className: "h-3 w-3 opacity-80", "aria-hidden": "true" });
24434
- 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, {}) });
24919
+ var IconFallback = () => /* @__PURE__ */ jsx41(Circle2, { className: "h-3 w-3 opacity-80", "aria-hidden": "true" });
24920
+ var IconSlot = ({ icon, className }) => /* @__PURE__ */ jsx41("span", { className: cn("inline-flex items-center justify-center [&>svg]:h-4 [&>svg]:w-4", className), children: icon != null ? icon : /* @__PURE__ */ jsx41(IconFallback, {}) });
24435
24921
  var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24436
24922
  const location = useLocation();
24437
24923
  const navScrollRef = useRef11(null);
@@ -24452,8 +24938,8 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24452
24938
  })).filter((group) => group.items.length > 0);
24453
24939
  }, [normalizedQuery, resolvedGroups]);
24454
24940
  const visibleGroups = isCollapsed ? resolvedGroups : filteredGroups;
24455
- const resolvedExpandedLogo = logo != null ? logo : /* @__PURE__ */ jsx40(DsNavbarLogo, {});
24456
- const resolvedCollapsedLogo = collapsedLogo != null ? collapsedLogo : /* @__PURE__ */ jsx40(DsNavbarCompactLogo, {});
24941
+ const resolvedExpandedLogo = logo != null ? logo : /* @__PURE__ */ jsx41(DsNavbarLogo, {});
24942
+ const resolvedCollapsedLogo = collapsedLogo != null ? collapsedLogo : /* @__PURE__ */ jsx41(DsNavbarCompactLogo, {});
24457
24943
  useEffect15(() => {
24458
24944
  if (!openGroup && resolvedGroups.length > 0) {
24459
24945
  setOpenGroup(resolvedGroups[0].label);
@@ -24493,17 +24979,17 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24493
24979
  window.cancelAnimationFrame(frame);
24494
24980
  };
24495
24981
  }, [location.pathname]);
24496
- return /* @__PURE__ */ jsx40(
24982
+ return /* @__PURE__ */ jsx41(
24497
24983
  motion.aside,
24498
24984
  {
24499
24985
  className: "fixed left-0 top-0 h-full z-30 p-2 overflow-hidden",
24500
24986
  animate: { width: isCollapsed ? 76 : 320 },
24501
24987
  transition: { duration: 0.25, ease: "easeInOut" },
24502
- children: /* @__PURE__ */ jsxs25("div", { className: "h-full rounded-r-2xl border border-l-0 border-white/15 bg-background/40 p-3 shadow-[0_24px_44px_-30px_rgba(58,42,88,0.7)] backdrop-blur-xl [transform:translateZ(0)] flex flex-col overflow-hidden", children: [
24503
- /* @__PURE__ */ jsx40("div", { className: cn("mb-3 flex min-h-11 items-center", isCollapsed ? "justify-center" : "justify-start px-1"), children: isCollapsed ? resolvedCollapsedLogo : resolvedExpandedLogo }),
24504
- !isCollapsed ? /* @__PURE__ */ jsxs25("div", { className: "relative mb-3", children: [
24505
- /* @__PURE__ */ jsx40(Search2, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-ink/65" }),
24506
- /* @__PURE__ */ jsx40(
24988
+ children: /* @__PURE__ */ jsxs26("div", { className: "h-full rounded-r-2xl border border-l-0 border-white/15 bg-background/40 p-3 shadow-[0_24px_44px_-30px_rgba(58,42,88,0.7)] backdrop-blur-xl [transform:translateZ(0)] flex flex-col overflow-hidden", children: [
24989
+ /* @__PURE__ */ jsx41("div", { className: cn("mb-3 flex min-h-11 items-center", isCollapsed ? "justify-center" : "justify-start px-1"), children: isCollapsed ? resolvedCollapsedLogo : resolvedExpandedLogo }),
24990
+ !isCollapsed ? /* @__PURE__ */ jsxs26("div", { className: "relative mb-3", children: [
24991
+ /* @__PURE__ */ jsx41(Search2, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-ink/65" }),
24992
+ /* @__PURE__ */ jsx41(
24507
24993
  "input",
24508
24994
  {
24509
24995
  type: "search",
@@ -24514,9 +25000,9 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24514
25000
  }
24515
25001
  )
24516
25002
  ] }) : null,
24517
- /* @__PURE__ */ jsx40("div", { ref: navScrollRef, className: "cc-scrollbar cc-scrollbar-purple flex-1 overflow-y-auto overflow-x-hidden pr-1", children: isCollapsed ? /* @__PURE__ */ jsx40("div", { className: "flex flex-col items-center gap-2", children: resolvedGroups.map((group) => {
25003
+ /* @__PURE__ */ jsx41("div", { ref: navScrollRef, className: "cc-scrollbar cc-scrollbar-purple flex-1 overflow-y-auto overflow-x-hidden pr-1", children: isCollapsed ? /* @__PURE__ */ jsx41("div", { className: "flex flex-col items-center gap-2", children: resolvedGroups.map((group) => {
24518
25004
  const isActiveGroup = (activeGroup != null ? activeGroup : openGroup) === group.label;
24519
- return /* @__PURE__ */ jsx40(
25005
+ return /* @__PURE__ */ jsx41(
24520
25006
  "button",
24521
25007
  {
24522
25008
  type: "button",
@@ -24529,14 +25015,14 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24529
25015
  isActiveGroup ? "bg-cupcode-purple shadow-md text-white" : "bg-white/10 hover:bg-[rgba(151,90,182,0.30)] text-ink"
24530
25016
  ),
24531
25017
  "aria-label": `Abrir grupo ${group.label}`,
24532
- children: /* @__PURE__ */ jsx40(IconSlot, { icon: group.icon, className: cn("[&>svg]:h-5 [&>svg]:w-5", isActiveGroup && "text-white") })
25018
+ children: /* @__PURE__ */ jsx41(IconSlot, { icon: group.icon, className: cn("[&>svg]:h-5 [&>svg]:w-5", isActiveGroup && "text-white") })
24533
25019
  },
24534
25020
  group.id
24535
25021
  );
24536
- }) }) : /* @__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) => {
25022
+ }) }) : /* @__PURE__ */ jsx41("div", { className: "space-y-2", children: visibleGroups.length === 0 ? /* @__PURE__ */ jsx41("p", { className: "rounded-xl bg-white/20 px-3 py-3 text-xs text-ink-muted", children: "Nenhum item encontrado." }) : visibleGroups.map((group) => {
24537
25023
  const isOpen = openGroup === group.label;
24538
- return /* @__PURE__ */ jsxs25("section", { className: "rounded-xl bg-white/14", children: [
24539
- /* @__PURE__ */ jsxs25(
25024
+ return /* @__PURE__ */ jsxs26("section", { className: "rounded-xl bg-white/14", children: [
25025
+ /* @__PURE__ */ jsxs26(
24540
25026
  "button",
24541
25027
  {
24542
25028
  type: "button",
@@ -24544,13 +25030,13 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24544
25030
  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)]",
24545
25031
  "aria-expanded": isOpen,
24546
25032
  children: [
24547
- /* @__PURE__ */ jsx40(IconSlot, { icon: group.icon, className: "h-8 w-8 rounded-xl bg-white/55 text-ink" }),
24548
- /* @__PURE__ */ jsx40("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-ink/80", children: group.label }),
24549
- /* @__PURE__ */ jsx40(ChevronDown4, { className: cn("ml-auto h-4 w-4 text-ink/65 transition-transform", isOpen && "rotate-90") })
25033
+ /* @__PURE__ */ jsx41(IconSlot, { icon: group.icon, className: "h-8 w-8 rounded-xl bg-white/55 text-ink" }),
25034
+ /* @__PURE__ */ jsx41("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-ink/80", children: group.label }),
25035
+ /* @__PURE__ */ jsx41(ChevronDown4, { className: cn("ml-auto h-4 w-4 text-ink/65 transition-transform", isOpen && "rotate-90") })
24550
25036
  ]
24551
25037
  }
24552
25038
  ),
24553
- /* @__PURE__ */ jsx40(AnimatePresence, { initial: false, children: isOpen ? /* @__PURE__ */ jsx40(
25039
+ /* @__PURE__ */ jsx41(AnimatePresence, { initial: false, children: isOpen ? /* @__PURE__ */ jsx41(
24554
25040
  motion.div,
24555
25041
  {
24556
25042
  initial: { height: 0 },
@@ -24558,9 +25044,9 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24558
25044
  exit: { height: 0 },
24559
25045
  transition: { duration: 0.2, ease: "easeInOut" },
24560
25046
  className: "overflow-hidden",
24561
- children: /* @__PURE__ */ jsx40("nav", { className: "space-y-1 pb-2", children: group.items.map((item) => {
25047
+ children: /* @__PURE__ */ jsx41("nav", { className: "space-y-1 pb-2", children: group.items.map((item) => {
24562
25048
  const isActive = location.pathname === item.route;
24563
- return /* @__PURE__ */ jsxs25(
25049
+ return /* @__PURE__ */ jsxs26(
24564
25050
  NavLink,
24565
25051
  {
24566
25052
  to: item.route,
@@ -24569,7 +25055,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24569
25055
  isActive && "bg-white/40 font-medium text-ink"
24570
25056
  ),
24571
25057
  children: [
24572
- /* @__PURE__ */ jsx40(
25058
+ /* @__PURE__ */ jsx41(
24573
25059
  IconSlot,
24574
25060
  {
24575
25061
  icon: item.icon,
@@ -24579,7 +25065,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24579
25065
  )
24580
25066
  }
24581
25067
  ),
24582
- /* @__PURE__ */ jsx40("span", { className: cn("truncate", isActive && "font-medium"), children: item.label })
25068
+ /* @__PURE__ */ jsx41("span", { className: cn("truncate", isActive && "font-medium"), children: item.label })
24583
25069
  ]
24584
25070
  },
24585
25071
  item.id
@@ -24595,7 +25081,7 @@ var AppSidebar = ({ isCollapsed, onToggle, groups, logo, collapsedLogo }) => {
24595
25081
  };
24596
25082
 
24597
25083
  // src/components/layout/main-layout.tsx
24598
- import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
25084
+ import { jsx as jsx42, jsxs as jsxs27 } from "react/jsx-runtime";
24599
25085
  var SIDEBAR_COLLAPSED_WIDTH = 76;
24600
25086
  var SIDEBAR_EXPANDED_WIDTH = 320;
24601
25087
  var SIDEBAR_COLLAPSED_STORAGE_KEY = "cc-layout-sidebar-collapsed";
@@ -24634,8 +25120,8 @@ var MainLayout = ({
24634
25120
  () => cn(navbarOffsetClassName, navbarProps == null ? void 0 : navbarProps.className),
24635
25121
  [navbarOffsetClassName, navbarProps == null ? void 0 : navbarProps.className]
24636
25122
  );
24637
- return /* @__PURE__ */ jsxs26("div", { className: cn("relative min-h-screen", className), children: [
24638
- /* @__PURE__ */ jsx41(
25123
+ return /* @__PURE__ */ jsxs27("div", { className: cn("relative min-h-screen", className), children: [
25124
+ /* @__PURE__ */ jsx42(
24639
25125
  AppSidebar,
24640
25126
  {
24641
25127
  isCollapsed: sidebarCollapsed,
@@ -24644,7 +25130,7 @@ var MainLayout = ({
24644
25130
  collapsedLogo: sidebarCollapsedLogo
24645
25131
  }
24646
25132
  ),
24647
- /* @__PURE__ */ jsx41(
25133
+ /* @__PURE__ */ jsx42(
24648
25134
  MainNavbar,
24649
25135
  {
24650
25136
  ...navbarProps,
@@ -24652,7 +25138,7 @@ var MainLayout = ({
24652
25138
  className: mergedNavbarClassName
24653
25139
  }
24654
25140
  ),
24655
- /* @__PURE__ */ jsx41(
25141
+ /* @__PURE__ */ jsx42(
24656
25142
  "div",
24657
25143
  {
24658
25144
  className: "fixed z-[210]",
@@ -24660,14 +25146,14 @@ var MainLayout = ({
24660
25146
  left: contentMarginLeft - 22,
24661
25147
  top: "calc(max(env(safe-area-inset-top), 0px) + 18px)"
24662
25148
  },
24663
- children: /* @__PURE__ */ jsx41(
25149
+ children: /* @__PURE__ */ jsx42(
24664
25150
  "button",
24665
25151
  {
24666
25152
  type: "button",
24667
25153
  onClick: toggleSidebar,
24668
25154
  "aria-label": sidebarCollapsed ? "Expandir sidebar" : "Recolher sidebar",
24669
25155
  className: "inline-flex h-20 w-11 items-center justify-center rounded-[22px] border border-white/20 bg-[hsla(258,34%,34%,0.4)] text-white/90 shadow-[0_12px_28px_-16px_rgba(0,0,0,0.75)] backdrop-blur-xl transition-colors duration-200 hover:bg-[hsla(258,38%,38%,0.52)]",
24670
- children: /* @__PURE__ */ jsx41(
25156
+ children: /* @__PURE__ */ jsx42(
24671
25157
  ChevronRight2,
24672
25158
  {
24673
25159
  className: cn(
@@ -24680,7 +25166,7 @@ var MainLayout = ({
24680
25166
  )
24681
25167
  }
24682
25168
  ),
24683
- /* @__PURE__ */ jsx41(
25169
+ /* @__PURE__ */ jsx42(
24684
25170
  "main",
24685
25171
  {
24686
25172
  className: cn("relative min-h-screen pt-24", contentClassName),
@@ -24697,7 +25183,7 @@ var MainLayout = ({
24697
25183
  // src/components/cupcode/ErrorBoundary.tsx
24698
25184
  import React24 from "react";
24699
25185
  import { AlertTriangle } from "lucide-react";
24700
- import { jsx as jsx42, jsxs as jsxs27 } from "react/jsx-runtime";
25186
+ import { jsx as jsx43, jsxs as jsxs28 } from "react/jsx-runtime";
24701
25187
  var ErrorBoundary = class extends React24.Component {
24702
25188
  constructor(props) {
24703
25189
  super(props);
@@ -24717,17 +25203,17 @@ var ErrorBoundary = class extends React24.Component {
24717
25203
  if (this.props.fallback) {
24718
25204
  return this.props.fallback;
24719
25205
  }
24720
- 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__ */ jsxs27("div", { className: "max-w-md w-full glass rounded-xl p-8 text-center animate-scale-in", children: [
24721
- /* @__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" }) }) }),
24722
- /* @__PURE__ */ jsx42("h2", { className: "text-2xl font-display font-bold text-foreground mb-3", children: "Algo deu errado" }),
24723
- /* @__PURE__ */ jsx42("p", { className: "text-muted-foreground mb-6", children: "Desculpe, encontramos um erro inesperado. Por favor, tente novamente." }),
24724
- this.state.error && /* @__PURE__ */ jsxs27("details", { className: "mb-6 text-left", children: [
24725
- /* @__PURE__ */ jsx42("summary", { className: "cursor-pointer text-sm text-muted-foreground hover:text-foreground", children: "Detalhes t\xE9cnicos" }),
24726
- /* @__PURE__ */ jsx42("pre", { className: "mt-2 p-3 bg-muted rounded-md text-xs overflow-x-auto", children: this.state.error.message })
25206
+ return /* @__PURE__ */ jsx43("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: [
25207
+ /* @__PURE__ */ jsx43("div", { className: "mb-6 flex justify-center", children: /* @__PURE__ */ jsx43("div", { className: "p-4 rounded-full bg-destructive/10", children: /* @__PURE__ */ jsx43(AlertTriangle, { className: "w-12 h-12 text-destructive" }) }) }),
25208
+ /* @__PURE__ */ jsx43("h2", { className: "text-2xl font-display font-bold text-foreground mb-3", children: "Algo deu errado" }),
25209
+ /* @__PURE__ */ jsx43("p", { className: "text-muted-foreground mb-6", children: "Desculpe, encontramos um erro inesperado. Por favor, tente novamente." }),
25210
+ this.state.error && /* @__PURE__ */ jsxs28("details", { className: "mb-6 text-left", children: [
25211
+ /* @__PURE__ */ jsx43("summary", { className: "cursor-pointer text-sm text-muted-foreground hover:text-foreground", children: "Detalhes t\xE9cnicos" }),
25212
+ /* @__PURE__ */ jsx43("pre", { className: "mt-2 p-3 bg-muted rounded-md text-xs overflow-x-auto", children: this.state.error.message })
24727
25213
  ] }),
24728
- /* @__PURE__ */ jsxs27("div", { className: "flex gap-3 justify-center", children: [
24729
- /* @__PURE__ */ jsx42(JellyButton, { onClick: this.handleReset, variant: "primary", children: "Tentar novamente" }),
24730
- /* @__PURE__ */ jsx42(JellyButton, { onClick: () => window.location.href = "/", variant: "secondary", children: "Ir para in\xEDcio" })
25214
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-3 justify-center", children: [
25215
+ /* @__PURE__ */ jsx43(JellyButton, { onClick: this.handleReset, variant: "primary", children: "Tentar novamente" }),
25216
+ /* @__PURE__ */ jsx43(JellyButton, { onClick: () => window.location.href = "/", variant: "secondary", children: "Ir para in\xEDcio" })
24731
25217
  ] })
24732
25218
  ] }) });
24733
25219
  }
@@ -24737,7 +25223,7 @@ var ErrorBoundary = class extends React24.Component {
24737
25223
 
24738
25224
  // src/components/cupcode/EyebrowCupcode.tsx
24739
25225
  import { forwardRef as forwardRef20 } from "react";
24740
- import { jsx as jsx43 } from "react/jsx-runtime";
25226
+ import { jsx as jsx44 } from "react/jsx-runtime";
24741
25227
  var Eyebrow = forwardRef20(
24742
25228
  ({ variant = "galaxy", glow = false, className, children, ...props }, ref) => {
24743
25229
  const baseClasses = cn(
@@ -24753,7 +25239,7 @@ var Eyebrow = forwardRef20(
24753
25239
  purple: "bg-cupcode-purple text-white shadow-[0_0_20px_rgba(124,91,187,0.4)]",
24754
25240
  outline: "border-2 border-cupcode-purple text-cupcode-purple bg-transparent"
24755
25241
  };
24756
- return /* @__PURE__ */ jsx43(
25242
+ return /* @__PURE__ */ jsx44(
24757
25243
  "div",
24758
25244
  {
24759
25245
  ref,
@@ -24767,7 +25253,7 @@ var Eyebrow = forwardRef20(
24767
25253
  Eyebrow.displayName = "Eyebrow";
24768
25254
 
24769
25255
  // src/components/cupcode/HeroTitle.tsx
24770
- import { jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
25256
+ import { jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
24771
25257
  var HeroTitle = ({
24772
25258
  eyebrow,
24773
25259
  smallPrefix,
@@ -24781,25 +25267,25 @@ var HeroTitle = ({
24781
25267
  3: "h3"
24782
25268
  };
24783
25269
  const Tag = headingTagMap[level];
24784
- return /* @__PURE__ */ jsxs28("div", { className: cn("space-y-3", className), children: [
24785
- eyebrow && /* @__PURE__ */ jsx44("span", { className: "span-destaque animate-fade-in", children: eyebrow }),
24786
- /* @__PURE__ */ jsxs28(Tag, { className: "font-display font-bold leading-tight animate-slide-up", children: [
24787
- smallPrefix && /* @__PURE__ */ jsx44("small", { className: "block text-base font-normal opacity-70 mb-1", children: smallPrefix }),
24788
- /* @__PURE__ */ jsx44("b", { className: "block bg-gradient-to-r from-cupcode-hover to-cupcode-purple bg-clip-text text-transparent", children: strong })
25270
+ return /* @__PURE__ */ jsxs29("div", { className: cn("space-y-3", className), children: [
25271
+ eyebrow && /* @__PURE__ */ jsx45("span", { className: "span-destaque animate-fade-in", children: eyebrow }),
25272
+ /* @__PURE__ */ jsxs29(Tag, { className: "font-display font-bold leading-tight animate-slide-up", children: [
25273
+ smallPrefix && /* @__PURE__ */ jsx45("small", { className: "block text-base font-normal opacity-70 mb-1", children: smallPrefix }),
25274
+ /* @__PURE__ */ jsx45("b", { className: "block bg-gradient-to-r from-cupcode-hover to-cupcode-purple bg-clip-text text-transparent", children: strong })
24789
25275
  ] })
24790
25276
  ] });
24791
25277
  };
24792
25278
 
24793
25279
  // src/components/cupcode/InputField.tsx
24794
25280
  import * as React25 from "react";
24795
- import { jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
25281
+ import { jsx as jsx46, jsxs as jsxs30 } from "react/jsx-runtime";
24796
25282
  var InputField = React25.forwardRef(
24797
25283
  ({ className, type, label, error, leftIcon, rightIcon, ...props }, ref) => {
24798
- return /* @__PURE__ */ jsxs29("div", { className: "cc-stack space-2 w-full", children: [
24799
- label && /* @__PURE__ */ jsx45("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
24800
- /* @__PURE__ */ jsxs29("div", { className: "relative", children: [
24801
- leftIcon && /* @__PURE__ */ jsx45("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: leftIcon }),
24802
- /* @__PURE__ */ jsx45(
25284
+ return /* @__PURE__ */ jsxs30("div", { className: "cc-stack space-2 w-full", children: [
25285
+ label && /* @__PURE__ */ jsx46("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25286
+ /* @__PURE__ */ jsxs30("div", { className: "relative", children: [
25287
+ leftIcon && /* @__PURE__ */ jsx46("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: leftIcon }),
25288
+ /* @__PURE__ */ jsx46(
24803
25289
  "input",
24804
25290
  {
24805
25291
  type,
@@ -24821,16 +25307,16 @@ var InputField = React25.forwardRef(
24821
25307
  ...props
24822
25308
  }
24823
25309
  ),
24824
- rightIcon && /* @__PURE__ */ jsx45("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: rightIcon })
25310
+ rightIcon && /* @__PURE__ */ jsx46("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-cupcode-purple opacity-60", children: rightIcon })
24825
25311
  ] }),
24826
- error && /* @__PURE__ */ jsx45("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25312
+ error && /* @__PURE__ */ jsx46("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
24827
25313
  ] });
24828
25314
  }
24829
25315
  );
24830
25316
  InputField.displayName = "InputField";
24831
25317
 
24832
25318
  // src/components/cupcode/LoadingSpinner.tsx
24833
- import { jsx as jsx46 } from "react/jsx-runtime";
25319
+ import { jsx as jsx47 } from "react/jsx-runtime";
24834
25320
  var sizes = {
24835
25321
  sm: "h-4 w-4 border-2",
24836
25322
  md: "h-8 w-8 border-3",
@@ -24840,7 +25326,7 @@ var LoadingSpinner = ({
24840
25326
  size = "md",
24841
25327
  className
24842
25328
  }) => {
24843
- return /* @__PURE__ */ jsx46(
25329
+ return /* @__PURE__ */ jsx47(
24844
25330
  "div",
24845
25331
  {
24846
25332
  className: cn(
@@ -24850,12 +25336,12 @@ var LoadingSpinner = ({
24850
25336
  ),
24851
25337
  role: "status",
24852
25338
  "aria-label": "Loading",
24853
- children: /* @__PURE__ */ jsx46("span", { className: "sr-only", children: "Loading..." })
25339
+ children: /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Loading..." })
24854
25340
  }
24855
25341
  );
24856
25342
  };
24857
25343
  var Skeleton2 = ({ className }) => {
24858
- return /* @__PURE__ */ jsx46(
25344
+ return /* @__PURE__ */ jsx47(
24859
25345
  "div",
24860
25346
  {
24861
25347
  className: cn(
@@ -24866,7 +25352,7 @@ var Skeleton2 = ({ className }) => {
24866
25352
  );
24867
25353
  };
24868
25354
  var SkeletonText = ({ lines = 3 }) => {
24869
- return /* @__PURE__ */ jsx46("div", { className: "space-y-2", children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx46(
25355
+ return /* @__PURE__ */ jsx47("div", { className: "space-y-2", children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx47(
24870
25356
  Skeleton2,
24871
25357
  {
24872
25358
  className: cn(
@@ -24879,7 +25365,7 @@ var SkeletonText = ({ lines = 3 }) => {
24879
25365
  };
24880
25366
 
24881
25367
  // src/components/cupcode/LoadingScreen.tsx
24882
- import { jsx as jsx47, jsxs as jsxs30 } from "react/jsx-runtime";
25368
+ import { jsx as jsx48, jsxs as jsxs31 } from "react/jsx-runtime";
24883
25369
  var LoadingScreen = ({
24884
25370
  message = "Carregando...",
24885
25371
  fullScreen = true,
@@ -24887,28 +25373,28 @@ var LoadingScreen = ({
24887
25373
  }) => {
24888
25374
  const containerClasses = fullScreen ? "fixed inset-0 z-50 flex items-center justify-center bg-background" : "flex items-center justify-center p-12";
24889
25375
  if (variant === "minimal") {
24890
- return /* @__PURE__ */ jsx47("div", { className: containerClasses, children: /* @__PURE__ */ jsx47(LoadingSpinner, { size: "lg" }) });
25376
+ return /* @__PURE__ */ jsx48("div", { className: containerClasses, children: /* @__PURE__ */ jsx48(LoadingSpinner, { size: "lg" }) });
24891
25377
  }
24892
25378
  if (variant === "galaxy") {
24893
- return /* @__PURE__ */ jsx47("div", { className: cn(containerClasses, "cc-gradient-galaxy"), children: /* @__PURE__ */ jsxs30("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-4 animate-scale-in", children: [
24894
- /* @__PURE__ */ jsxs30("div", { className: "relative", children: [
24895
- /* @__PURE__ */ jsx47(LoadingSpinner, { size: "lg" }),
24896
- /* @__PURE__ */ jsx47("div", { className: "absolute inset-0 blur-2xl bg-cupcode-hover/30 animate-pulse-scale" })
25379
+ 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: [
25380
+ /* @__PURE__ */ jsxs31("div", { className: "relative", children: [
25381
+ /* @__PURE__ */ jsx48(LoadingSpinner, { size: "lg" }),
25382
+ /* @__PURE__ */ jsx48("div", { className: "absolute inset-0 blur-2xl bg-cupcode-hover/30 animate-pulse-scale" })
24897
25383
  ] }),
24898
- message && /* @__PURE__ */ jsx47("p", { className: "text-white font-semibold text-lg animate-pulse", children: message })
25384
+ message && /* @__PURE__ */ jsx48("p", { className: "text-white font-semibold text-lg animate-pulse", children: message })
24899
25385
  ] }) });
24900
25386
  }
24901
- return /* @__PURE__ */ jsx47("div", { className: containerClasses, children: /* @__PURE__ */ jsxs30("div", { className: "glass rounded-2xl p-8 flex flex-col items-center space-y-6 animate-scale-in max-w-sm", children: [
24902
- /* @__PURE__ */ jsxs30("div", { className: "relative", children: [
24903
- /* @__PURE__ */ jsx47("div", { className: "w-20 h-20 rounded-full cc-gradient-animated flex items-center justify-center", children: /* @__PURE__ */ jsx47("div", { className: "w-16 h-16 rounded-full bg-background flex items-center justify-center", children: /* @__PURE__ */ jsx47(LoadingSpinner, { size: "md" }) }) }),
24904
- /* @__PURE__ */ jsx47("div", { className: "absolute inset-0 blur-xl bg-cupcode-purple/20 animate-pulse-scale -z-10" })
25387
+ 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: [
25388
+ /* @__PURE__ */ jsxs31("div", { className: "relative", children: [
25389
+ /* @__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" }) }) }),
25390
+ /* @__PURE__ */ jsx48("div", { className: "absolute inset-0 blur-xl bg-cupcode-purple/20 animate-pulse-scale -z-10" })
24905
25391
  ] }),
24906
- message && /* @__PURE__ */ jsxs30("div", { className: "text-center space-y-2", children: [
24907
- /* @__PURE__ */ jsx47("p", { className: "font-bold text-lg cc-text-gradient-galaxy", children: message }),
24908
- /* @__PURE__ */ jsxs30("div", { className: "flex gap-1 justify-center", children: [
24909
- /* @__PURE__ */ jsx47("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "0ms" } }),
24910
- /* @__PURE__ */ jsx47("div", { className: "w-2 h-2 rounded-full bg-cupcode-purple animate-bounce", style: { animationDelay: "150ms" } }),
24911
- /* @__PURE__ */ jsx47("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "300ms" } })
25392
+ message && /* @__PURE__ */ jsxs31("div", { className: "text-center space-y-2", children: [
25393
+ /* @__PURE__ */ jsx48("p", { className: "font-bold text-lg cc-text-gradient-galaxy", children: message }),
25394
+ /* @__PURE__ */ jsxs31("div", { className: "flex gap-1 justify-center", children: [
25395
+ /* @__PURE__ */ jsx48("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "0ms" } }),
25396
+ /* @__PURE__ */ jsx48("div", { className: "w-2 h-2 rounded-full bg-cupcode-purple animate-bounce", style: { animationDelay: "150ms" } }),
25397
+ /* @__PURE__ */ jsx48("div", { className: "w-2 h-2 rounded-full bg-cupcode-hover animate-bounce", style: { animationDelay: "300ms" } })
24912
25398
  ] })
24913
25399
  ] })
24914
25400
  ] }) });
@@ -24918,12 +25404,12 @@ var LoadingScreen = ({
24918
25404
  import * as React26 from "react";
24919
25405
  import * as DialogPrimitive3 from "@radix-ui/react-dialog";
24920
25406
  import { X as X5 } from "lucide-react";
24921
- import { jsx as jsx48, jsxs as jsxs31 } from "react/jsx-runtime";
25407
+ import { jsx as jsx49, jsxs as jsxs32 } from "react/jsx-runtime";
24922
25408
  var Modal = DialogPrimitive3.Root;
24923
25409
  var ModalTrigger = DialogPrimitive3.Trigger;
24924
25410
  var ModalPortal = DialogPrimitive3.Portal;
24925
25411
  var ModalClose = DialogPrimitive3.Close;
24926
- var ModalOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
25412
+ var ModalOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
24927
25413
  DialogPrimitive3.Overlay,
24928
25414
  {
24929
25415
  ref,
@@ -24943,9 +25429,9 @@ var ModalContent = React26.forwardRef(({ className, children, size = "md", ...pr
24943
25429
  lg: "max-w-lg",
24944
25430
  xl: "max-w-xl"
24945
25431
  };
24946
- return /* @__PURE__ */ jsxs31(ModalPortal, { children: [
24947
- /* @__PURE__ */ jsx48(ModalOverlay, {}),
24948
- /* @__PURE__ */ jsxs31(
25432
+ return /* @__PURE__ */ jsxs32(ModalPortal, { children: [
25433
+ /* @__PURE__ */ jsx49(ModalOverlay, {}),
25434
+ /* @__PURE__ */ jsxs32(
24949
25435
  DialogPrimitive3.Content,
24950
25436
  {
24951
25437
  ref,
@@ -24960,9 +25446,9 @@ var ModalContent = React26.forwardRef(({ className, children, size = "md", ...pr
24960
25446
  ...props,
24961
25447
  children: [
24962
25448
  children,
24963
- /* @__PURE__ */ jsxs31(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: [
24964
- /* @__PURE__ */ jsx48(X5, { className: "h-4 w-4" }),
24965
- /* @__PURE__ */ jsx48("span", { className: "sr-only", children: "Close" })
25449
+ /* @__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: [
25450
+ /* @__PURE__ */ jsx49(X5, { className: "h-4 w-4" }),
25451
+ /* @__PURE__ */ jsx49("span", { className: "sr-only", children: "Close" })
24966
25452
  ] })
24967
25453
  ]
24968
25454
  }
@@ -24973,7 +25459,7 @@ ModalContent.displayName = DialogPrimitive3.Content.displayName;
24973
25459
  var ModalHeader = ({
24974
25460
  className,
24975
25461
  ...props
24976
- }) => /* @__PURE__ */ jsx48(
25462
+ }) => /* @__PURE__ */ jsx49(
24977
25463
  "div",
24978
25464
  {
24979
25465
  className: cn("flex flex-col space-y-2 text-center sm:text-left mb-4", className),
@@ -24984,7 +25470,7 @@ ModalHeader.displayName = "ModalHeader";
24984
25470
  var ModalFooter = ({
24985
25471
  className,
24986
25472
  ...props
24987
- }) => /* @__PURE__ */ jsx48(
25473
+ }) => /* @__PURE__ */ jsx49(
24988
25474
  "div",
24989
25475
  {
24990
25476
  className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 mt-6", className),
@@ -24992,7 +25478,7 @@ var ModalFooter = ({
24992
25478
  }
24993
25479
  );
24994
25480
  ModalFooter.displayName = "ModalFooter";
24995
- var ModalTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
25481
+ var ModalTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
24996
25482
  DialogPrimitive3.Title,
24997
25483
  {
24998
25484
  ref,
@@ -25001,7 +25487,7 @@ var ModalTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE
25001
25487
  }
25002
25488
  ));
25003
25489
  ModalTitle.displayName = DialogPrimitive3.Title.displayName;
25004
- var ModalDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
25490
+ var ModalDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
25005
25491
  DialogPrimitive3.Description,
25006
25492
  {
25007
25493
  ref,
@@ -25013,7 +25499,7 @@ ModalDescription.displayName = DialogPrimitive3.Description.displayName;
25013
25499
 
25014
25500
  // src/components/cupcode/ParticleSystem.tsx
25015
25501
  import { useEffect as useEffect17, useRef as useRef12 } from "react";
25016
- import { jsx as jsx49 } from "react/jsx-runtime";
25502
+ import { jsx as jsx50 } from "react/jsx-runtime";
25017
25503
  function ParticleSystem({
25018
25504
  count: count2 = 50,
25019
25505
  variant = "stars",
@@ -25085,7 +25571,7 @@ function ParticleSystem({
25085
25571
  cancelAnimationFrame(animationId);
25086
25572
  };
25087
25573
  }, [count2, variant]);
25088
- return /* @__PURE__ */ jsx49(
25574
+ return /* @__PURE__ */ jsx50(
25089
25575
  "canvas",
25090
25576
  {
25091
25577
  ref: canvasRef,
@@ -25096,7 +25582,7 @@ function ParticleSystem({
25096
25582
 
25097
25583
  // src/components/cupcode/PricingCard.tsx
25098
25584
  import { Check as Check4 } from "lucide-react";
25099
- import { jsx as jsx50, jsxs as jsxs32 } from "react/jsx-runtime";
25585
+ import { jsx as jsx51, jsxs as jsxs33 } from "react/jsx-runtime";
25100
25586
  function PricingCard({
25101
25587
  title,
25102
25588
  price,
@@ -25108,7 +25594,7 @@ function PricingCard({
25108
25594
  buttonText = "Escolher plano",
25109
25595
  className
25110
25596
  }) {
25111
- return /* @__PURE__ */ jsxs32(
25597
+ return /* @__PURE__ */ jsxs33(
25112
25598
  CardGlass,
25113
25599
  {
25114
25600
  className: cn(
@@ -25118,17 +25604,17 @@ function PricingCard({
25118
25604
  className
25119
25605
  ),
25120
25606
  children: [
25121
- highlighted && /* @__PURE__ */ jsx50("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsx50("span", { className: "bg-cupcode-purple text-white text-xs font-bold px-4 py-1 rounded-pill", children: "POPULAR" }) }),
25122
- /* @__PURE__ */ jsxs32("div", { className: "text-center mb-6", children: [
25123
- /* @__PURE__ */ jsx50("h3", { className: "text-2xl font-display font-bold text-foreground mb-2", children: title }),
25124
- description && /* @__PURE__ */ jsx50("p", { className: "text-sm text-muted-foreground", children: description })
25607
+ 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" }) }),
25608
+ /* @__PURE__ */ jsxs33("div", { className: "text-center mb-6", children: [
25609
+ /* @__PURE__ */ jsx51("h3", { className: "text-2xl font-display font-bold text-foreground mb-2", children: title }),
25610
+ description && /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground", children: description })
25125
25611
  ] }),
25126
- /* @__PURE__ */ jsx50("div", { className: "text-center mb-8", children: /* @__PURE__ */ jsxs32("div", { className: "flex items-baseline justify-center gap-2", children: [
25127
- /* @__PURE__ */ jsx50("span", { className: "text-5xl font-display font-bold cc-text-gradient-galaxy", children: price }),
25128
- /* @__PURE__ */ jsx50("span", { className: "text-muted-foreground", children: period })
25612
+ /* @__PURE__ */ jsx51("div", { className: "text-center mb-8", children: /* @__PURE__ */ jsxs33("div", { className: "flex items-baseline justify-center gap-2", children: [
25613
+ /* @__PURE__ */ jsx51("span", { className: "text-5xl font-display font-bold cc-text-gradient-galaxy", children: price }),
25614
+ /* @__PURE__ */ jsx51("span", { className: "text-muted-foreground", children: period })
25129
25615
  ] }) }),
25130
- /* @__PURE__ */ jsx50("ul", { className: "space-3 mb-8", children: features.map((feature, index) => /* @__PURE__ */ jsxs32("li", { className: "flex items-start gap-3", children: [
25131
- /* @__PURE__ */ jsx50(
25616
+ /* @__PURE__ */ jsx51("ul", { className: "space-3 mb-8", children: features.map((feature, index) => /* @__PURE__ */ jsxs33("li", { className: "flex items-start gap-3", children: [
25617
+ /* @__PURE__ */ jsx51(
25132
25618
  Check4,
25133
25619
  {
25134
25620
  className: cn(
@@ -25137,7 +25623,7 @@ function PricingCard({
25137
25623
  )
25138
25624
  }
25139
25625
  ),
25140
- /* @__PURE__ */ jsx50(
25626
+ /* @__PURE__ */ jsx51(
25141
25627
  "span",
25142
25628
  {
25143
25629
  className: cn(
@@ -25148,7 +25634,7 @@ function PricingCard({
25148
25634
  }
25149
25635
  )
25150
25636
  ] }, index)) }),
25151
- /* @__PURE__ */ jsx50(
25637
+ /* @__PURE__ */ jsx51(
25152
25638
  JellyButton,
25153
25639
  {
25154
25640
  onClick: onSelect,
@@ -25165,7 +25651,7 @@ function PricingCard({
25165
25651
  // src/components/cupcode/ProgressCupcode.tsx
25166
25652
  import * as React27 from "react";
25167
25653
  import * as ProgressPrimitive2 from "@radix-ui/react-progress";
25168
- import { jsx as jsx51, jsxs as jsxs33 } from "react/jsx-runtime";
25654
+ import { jsx as jsx52, jsxs as jsxs34 } from "react/jsx-runtime";
25169
25655
  var ProgressCupcode = React27.forwardRef(({ className, value, variant = "default", showLabel = false, size = "md", ...props }, ref) => {
25170
25656
  const sizeClasses2 = {
25171
25657
  sm: "h-2",
@@ -25179,15 +25665,15 @@ var ProgressCupcode = React27.forwardRef(({ className, value, variant = "default
25179
25665
  warning: "bg-warning",
25180
25666
  error: "bg-destructive"
25181
25667
  };
25182
- return /* @__PURE__ */ jsxs33("div", { className: "w-full space-y-2", children: [
25183
- showLabel && /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between text-sm", children: [
25184
- /* @__PURE__ */ jsx51("span", { className: "font-semibold text-foreground", children: "Progresso" }),
25185
- /* @__PURE__ */ jsxs33("span", { className: "text-muted-foreground", children: [
25668
+ return /* @__PURE__ */ jsxs34("div", { className: "w-full space-y-2", children: [
25669
+ showLabel && /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between text-sm", children: [
25670
+ /* @__PURE__ */ jsx52("span", { className: "font-semibold text-foreground", children: "Progresso" }),
25671
+ /* @__PURE__ */ jsxs34("span", { className: "text-muted-foreground", children: [
25186
25672
  value,
25187
25673
  "%"
25188
25674
  ] })
25189
25675
  ] }),
25190
- /* @__PURE__ */ jsx51(
25676
+ /* @__PURE__ */ jsx52(
25191
25677
  ProgressPrimitive2.Root,
25192
25678
  {
25193
25679
  ref,
@@ -25197,7 +25683,7 @@ var ProgressCupcode = React27.forwardRef(({ className, value, variant = "default
25197
25683
  className
25198
25684
  ),
25199
25685
  ...props,
25200
- children: /* @__PURE__ */ jsx51(
25686
+ children: /* @__PURE__ */ jsx52(
25201
25687
  ProgressPrimitive2.Indicator,
25202
25688
  {
25203
25689
  className: cn(
@@ -25215,7 +25701,7 @@ ProgressCupcode.displayName = "ProgressCupcode";
25215
25701
 
25216
25702
  // src/components/cupcode/ScrollbarTheme.tsx
25217
25703
  import * as React28 from "react";
25218
- import { jsx as jsx52 } from "react/jsx-runtime";
25704
+ import { jsx as jsx53 } from "react/jsx-runtime";
25219
25705
  var SCROLLBAR_COLOR_ATTR = "data-cc-scrollbar-color";
25220
25706
  var SCROLLBAR_THEME_ATTR = "data-cc-scrollbar-theme";
25221
25707
  var ScrollbarThemeProvider = ({
@@ -25254,7 +25740,7 @@ var ScrollbarThemeProvider = ({
25254
25740
  return null;
25255
25741
  };
25256
25742
  var ScrollbarArea = React28.forwardRef(
25257
- ({ color = "purple", theme = "auto", className, ...props }, ref) => /* @__PURE__ */ jsx52(
25743
+ ({ color = "purple", theme = "auto", className, ...props }, ref) => /* @__PURE__ */ jsx53(
25258
25744
  "div",
25259
25745
  {
25260
25746
  ref,
@@ -25275,11 +25761,11 @@ ScrollbarArea.displayName = "ScrollbarArea";
25275
25761
  import * as React29 from "react";
25276
25762
  import * as SelectPrimitive2 from "@radix-ui/react-select";
25277
25763
  import { Check as Check5, ChevronDown as ChevronDown5 } from "lucide-react";
25278
- import { jsx as jsx53, jsxs as jsxs34 } from "react/jsx-runtime";
25764
+ import { jsx as jsx54, jsxs as jsxs35 } from "react/jsx-runtime";
25279
25765
  var Select2 = SelectPrimitive2.Root;
25280
25766
  var SelectGroup2 = SelectPrimitive2.Group;
25281
25767
  var SelectValue2 = SelectPrimitive2.Value;
25282
- var SelectTrigger2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs34(
25768
+ var SelectTrigger2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs35(
25283
25769
  SelectPrimitive2.Trigger,
25284
25770
  {
25285
25771
  ref,
@@ -25297,12 +25783,12 @@ var SelectTrigger2 = React29.forwardRef(({ className, children, ...props }, ref)
25297
25783
  ...props,
25298
25784
  children: [
25299
25785
  children,
25300
- /* @__PURE__ */ jsx53(SelectPrimitive2.Icon, { asChild: true, children: /* @__PURE__ */ jsx53(ChevronDown5, { className: "h-4 w-4 opacity-50" }) })
25786
+ /* @__PURE__ */ jsx54(SelectPrimitive2.Icon, { asChild: true, children: /* @__PURE__ */ jsx54(ChevronDown5, { className: "h-4 w-4 opacity-50" }) })
25301
25787
  ]
25302
25788
  }
25303
25789
  ));
25304
25790
  SelectTrigger2.displayName = SelectPrimitive2.Trigger.displayName;
25305
- var SelectContent2 = React29.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx53(SelectPrimitive2.Portal, { children: /* @__PURE__ */ jsx53(
25791
+ var SelectContent2 = React29.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx54(SelectPrimitive2.Portal, { children: /* @__PURE__ */ jsx54(
25306
25792
  SelectPrimitive2.Content,
25307
25793
  {
25308
25794
  ref,
@@ -25319,7 +25805,7 @@ var SelectContent2 = React29.forwardRef(({ className, children, position = "popp
25319
25805
  ),
25320
25806
  position,
25321
25807
  ...props,
25322
- children: /* @__PURE__ */ jsx53(
25808
+ children: /* @__PURE__ */ jsx54(
25323
25809
  SelectPrimitive2.Viewport,
25324
25810
  {
25325
25811
  className: cn(
@@ -25332,7 +25818,7 @@ var SelectContent2 = React29.forwardRef(({ className, children, position = "popp
25332
25818
  }
25333
25819
  ) }));
25334
25820
  SelectContent2.displayName = SelectPrimitive2.Content.displayName;
25335
- var SelectItem2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs34(
25821
+ var SelectItem2 = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs35(
25336
25822
  SelectPrimitive2.Item,
25337
25823
  {
25338
25824
  ref,
@@ -25345,8 +25831,8 @@ var SelectItem2 = React29.forwardRef(({ className, children, ...props }, ref) =>
25345
25831
  ),
25346
25832
  ...props,
25347
25833
  children: [
25348
- /* @__PURE__ */ jsx53("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx53(SelectPrimitive2.ItemIndicator, { children: /* @__PURE__ */ jsx53(Check5, { className: "h-4 w-4 text-cupcode-purple" }) }) }),
25349
- /* @__PURE__ */ jsx53(SelectPrimitive2.ItemText, { children })
25834
+ /* @__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" }) }) }),
25835
+ /* @__PURE__ */ jsx54(SelectPrimitive2.ItemText, { children })
25350
25836
  ]
25351
25837
  }
25352
25838
  ));
@@ -25360,21 +25846,21 @@ var SelectField = ({
25360
25846
  options,
25361
25847
  disabled
25362
25848
  }) => {
25363
- return /* @__PURE__ */ jsxs34("div", { className: "cc-stack space-2 w-full", children: [
25364
- label && /* @__PURE__ */ jsx53("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25365
- /* @__PURE__ */ jsxs34(Select2, { value, onValueChange, disabled, children: [
25366
- /* @__PURE__ */ jsx53(SelectTrigger2, { children: /* @__PURE__ */ jsx53(SelectValue2, { placeholder }) }),
25367
- /* @__PURE__ */ jsx53(SelectContent2, { children: /* @__PURE__ */ jsx53(SelectGroup2, { children: options.map((option) => /* @__PURE__ */ jsx53(SelectItem2, { value: option.value, children: option.label }, option.value)) }) })
25849
+ return /* @__PURE__ */ jsxs35("div", { className: "cc-stack space-2 w-full", children: [
25850
+ label && /* @__PURE__ */ jsx54("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25851
+ /* @__PURE__ */ jsxs35(Select2, { value, onValueChange, disabled, children: [
25852
+ /* @__PURE__ */ jsx54(SelectTrigger2, { children: /* @__PURE__ */ jsx54(SelectValue2, { placeholder }) }),
25853
+ /* @__PURE__ */ jsx54(SelectContent2, { children: /* @__PURE__ */ jsx54(SelectGroup2, { children: options.map((option) => /* @__PURE__ */ jsx54(SelectItem2, { value: option.value, children: option.label }, option.value)) }) })
25368
25854
  ] }),
25369
- error && /* @__PURE__ */ jsx53("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25855
+ error && /* @__PURE__ */ jsx54("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25370
25856
  ] });
25371
25857
  };
25372
25858
 
25373
25859
  // src/components/cupcode/SwitchField.tsx
25374
25860
  import * as React30 from "react";
25375
25861
  import * as SwitchPrimitives2 from "@radix-ui/react-switch";
25376
- import { jsx as jsx54, jsxs as jsxs35 } from "react/jsx-runtime";
25377
- var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx54(
25862
+ import { jsx as jsx55, jsxs as jsxs36 } from "react/jsx-runtime";
25863
+ var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx55(
25378
25864
  SwitchPrimitives2.Root,
25379
25865
  {
25380
25866
  className: cn(
@@ -25389,7 +25875,7 @@ var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__
25389
25875
  ),
25390
25876
  ...props,
25391
25877
  ref,
25392
- children: /* @__PURE__ */ jsx54(
25878
+ children: /* @__PURE__ */ jsx55(
25393
25879
  SwitchPrimitives2.Thumb,
25394
25880
  {
25395
25881
  className: cn(
@@ -25405,21 +25891,21 @@ var Switch2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__
25405
25891
  ));
25406
25892
  Switch2.displayName = SwitchPrimitives2.Root.displayName;
25407
25893
  var SwitchField = ({ label, description, ...props }) => {
25408
- return /* @__PURE__ */ jsxs35("div", { className: "flex items-center justify-between space-x-4", children: [
25409
- /* @__PURE__ */ jsxs35("div", { className: "cc-stack space-1 flex-1", children: [
25410
- label && /* @__PURE__ */ jsx54("label", { className: "text-sm font-semibold text-cupcode-ink cursor-pointer", children: label }),
25411
- description && /* @__PURE__ */ jsx54("p", { className: "text-xs text-muted-foreground", children: description })
25894
+ return /* @__PURE__ */ jsxs36("div", { className: "flex items-center justify-between space-x-4", children: [
25895
+ /* @__PURE__ */ jsxs36("div", { className: "cc-stack space-1 flex-1", children: [
25896
+ label && /* @__PURE__ */ jsx55("label", { className: "text-sm font-semibold text-cupcode-ink cursor-pointer", children: label }),
25897
+ description && /* @__PURE__ */ jsx55("p", { className: "text-xs text-muted-foreground", children: description })
25412
25898
  ] }),
25413
- /* @__PURE__ */ jsx54(Switch2, { ...props })
25899
+ /* @__PURE__ */ jsx55(Switch2, { ...props })
25414
25900
  ] });
25415
25901
  };
25416
25902
 
25417
25903
  // src/components/cupcode/TabsCupcode.tsx
25418
25904
  import * as React31 from "react";
25419
25905
  import * as TabsPrimitive2 from "@radix-ui/react-tabs";
25420
- import { jsx as jsx55 } from "react/jsx-runtime";
25906
+ import { jsx as jsx56 } from "react/jsx-runtime";
25421
25907
  var Tabs2 = TabsPrimitive2.Root;
25422
- var TabsList2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx55(
25908
+ var TabsList2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx56(
25423
25909
  TabsPrimitive2.List,
25424
25910
  {
25425
25911
  ref,
@@ -25432,7 +25918,7 @@ var TabsList2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
25432
25918
  }
25433
25919
  ));
25434
25920
  TabsList2.displayName = TabsPrimitive2.List.displayName;
25435
- var TabsTrigger2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx55(
25921
+ var TabsTrigger2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx56(
25436
25922
  TabsPrimitive2.Trigger,
25437
25923
  {
25438
25924
  ref,
@@ -25454,7 +25940,7 @@ var TabsTrigger2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PU
25454
25940
  }
25455
25941
  ));
25456
25942
  TabsTrigger2.displayName = TabsPrimitive2.Trigger.displayName;
25457
- var TabsContent2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx55(
25943
+ var TabsContent2 = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx56(
25458
25944
  TabsPrimitive2.Content,
25459
25945
  {
25460
25946
  ref,
@@ -25471,12 +25957,12 @@ TabsContent2.displayName = TabsPrimitive2.Content.displayName;
25471
25957
 
25472
25958
  // src/components/cupcode/TextareaField.tsx
25473
25959
  import * as React32 from "react";
25474
- import { jsx as jsx56, jsxs as jsxs36 } from "react/jsx-runtime";
25960
+ import { jsx as jsx57, jsxs as jsxs37 } from "react/jsx-runtime";
25475
25961
  var TextareaField = React32.forwardRef(
25476
25962
  ({ className, label, error, ...props }, ref) => {
25477
- return /* @__PURE__ */ jsxs36("div", { className: "cc-stack space-2 w-full", children: [
25478
- label && /* @__PURE__ */ jsx56("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25479
- /* @__PURE__ */ jsx56(
25963
+ return /* @__PURE__ */ jsxs37("div", { className: "cc-stack space-2 w-full", children: [
25964
+ label && /* @__PURE__ */ jsx57("label", { className: "text-sm font-semibold text-cupcode-ink", children: label }),
25965
+ /* @__PURE__ */ jsx57(
25480
25966
  "textarea",
25481
25967
  {
25482
25968
  className: cn(
@@ -25496,7 +25982,7 @@ var TextareaField = React32.forwardRef(
25496
25982
  ...props
25497
25983
  }
25498
25984
  ),
25499
- error && /* @__PURE__ */ jsx56("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25985
+ error && /* @__PURE__ */ jsx57("p", { className: "text-xs font-medium text-destructive animate-fade-in", children: error })
25500
25986
  ] });
25501
25987
  }
25502
25988
  );
@@ -25505,7 +25991,7 @@ TextareaField.displayName = "TextareaField";
25505
25991
  // src/components/cupcode/ThemeToggle.tsx
25506
25992
  import * as React33 from "react";
25507
25993
  import { Moon as Moon2, Sun as Sun2 } from "lucide-react";
25508
- import { jsx as jsx57, jsxs as jsxs37 } from "react/jsx-runtime";
25994
+ import { jsx as jsx58, jsxs as jsxs38 } from "react/jsx-runtime";
25509
25995
  var THEME_STORAGE_KEY2 = "cupcode-theme";
25510
25996
  function isThemeMode(value) {
25511
25997
  return value === "light" || value === "dark";
@@ -25545,7 +26031,7 @@ function resolveTheme(defaultTheme) {
25545
26031
  }
25546
26032
  return defaultTheme;
25547
26033
  }
25548
- var ThemeToggle = ({
26034
+ var ThemeToggle2 = ({
25549
26035
  className,
25550
26036
  theme,
25551
26037
  defaultTheme = "light",
@@ -25577,7 +26063,7 @@ var ThemeToggle = ({
25577
26063
  return () => observer.disconnect();
25578
26064
  }, [defaultTheme, isControlled]);
25579
26065
  if (!mounted) {
25580
- return /* @__PURE__ */ jsx57("div", { className: cn("w-10 h-10 rounded-lg bg-muted", className) });
26066
+ return /* @__PURE__ */ jsx58("div", { className: cn("w-10 h-10 rounded-lg bg-muted", className) });
25581
26067
  }
25582
26068
  const handleToggle = () => {
25583
26069
  const nextTheme = activeTheme === "dark" ? "light" : "dark";
@@ -25586,7 +26072,7 @@ var ThemeToggle = ({
25586
26072
  }
25587
26073
  onThemeChange == null ? void 0 : onThemeChange(nextTheme);
25588
26074
  };
25589
- return /* @__PURE__ */ jsxs37(
26075
+ return /* @__PURE__ */ jsxs38(
25590
26076
  "button",
25591
26077
  {
25592
26078
  onClick: handleToggle,
@@ -25599,9 +26085,9 @@ var ThemeToggle = ({
25599
26085
  ),
25600
26086
  "aria-label": "Toggle theme",
25601
26087
  children: [
25602
- /* @__PURE__ */ jsx57(Sun2, { className: "h-5 w-5 text-cupcode-purple rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
25603
- /* @__PURE__ */ jsx57(Moon2, { className: "absolute h-5 w-5 text-cupcode-hover rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
25604
- /* @__PURE__ */ jsxs37("span", { className: "sr-only", children: [
26088
+ /* @__PURE__ */ jsx58(Sun2, { className: "h-5 w-5 text-cupcode-purple rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
26089
+ /* @__PURE__ */ jsx58(Moon2, { className: "absolute h-5 w-5 text-cupcode-hover rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
26090
+ /* @__PURE__ */ jsxs38("span", { className: "sr-only", children: [
25605
26091
  "Current theme: ",
25606
26092
  activeTheme
25607
26093
  ] })
@@ -25610,12 +26096,145 @@ var ThemeToggle = ({
25610
26096
  );
25611
26097
  };
25612
26098
 
26099
+ // src/components/theme-provider.tsx
26100
+ import {
26101
+ useCallback as useCallback8,
26102
+ useEffect as useEffect20,
26103
+ useMemo as useMemo12,
26104
+ useState as useState17
26105
+ } from "react";
26106
+ import { flushSync } from "react-dom";
26107
+ import { jsx as jsx59 } from "react/jsx-runtime";
26108
+ var STORAGE_KEY2 = "cupcode-theme";
26109
+ var LEGACY_STORAGE_KEY = "theme";
26110
+ function getPreferredTheme() {
26111
+ if (typeof window === "undefined") {
26112
+ return "light";
26113
+ }
26114
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
26115
+ }
26116
+ function getStoredTheme() {
26117
+ var _a78;
26118
+ if (typeof window === "undefined") {
26119
+ return null;
26120
+ }
26121
+ const storedTheme = (_a78 = window.localStorage.getItem(STORAGE_KEY2)) != null ? _a78 : window.localStorage.getItem(LEGACY_STORAGE_KEY);
26122
+ return storedTheme === "light" || storedTheme === "dark" ? storedTheme : null;
26123
+ }
26124
+ function applyThemeToRoot(theme) {
26125
+ const root = document.documentElement;
26126
+ root.classList.toggle("dark", theme === "dark");
26127
+ root.classList.toggle("light", theme === "light");
26128
+ root.dataset.theme = theme;
26129
+ root.style.colorScheme = theme;
26130
+ }
26131
+ function persistTheme(theme) {
26132
+ window.localStorage.setItem(STORAGE_KEY2, theme);
26133
+ window.localStorage.setItem(LEGACY_STORAGE_KEY, theme);
26134
+ }
26135
+ function ThemeProvider({ children }) {
26136
+ const [theme, setThemeState] = useState17(() => {
26137
+ var _a78;
26138
+ return (_a78 = getStoredTheme()) != null ? _a78 : getPreferredTheme();
26139
+ });
26140
+ const [mounted, setMounted] = useState17(false);
26141
+ useEffect20(() => {
26142
+ var _a78;
26143
+ const initialTheme = (_a78 = getStoredTheme()) != null ? _a78 : getPreferredTheme();
26144
+ setThemeState(initialTheme);
26145
+ applyThemeToRoot(initialTheme);
26146
+ setMounted(true);
26147
+ }, []);
26148
+ useEffect20(() => {
26149
+ if (!mounted) {
26150
+ return;
26151
+ }
26152
+ persistTheme(theme);
26153
+ applyThemeToRoot(theme);
26154
+ }, [mounted, theme]);
26155
+ useEffect20(() => {
26156
+ if (typeof window === "undefined") {
26157
+ return;
26158
+ }
26159
+ const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
26160
+ const handleChange = () => {
26161
+ if (getStoredTheme()) {
26162
+ return;
26163
+ }
26164
+ const nextTheme = mediaQuery.matches ? "dark" : "light";
26165
+ setThemeState(nextTheme);
26166
+ applyThemeToRoot(nextTheme);
26167
+ };
26168
+ mediaQuery.addEventListener("change", handleChange);
26169
+ return () => mediaQuery.removeEventListener("change", handleChange);
26170
+ }, []);
26171
+ const setTheme = useCallback8((nextTheme) => {
26172
+ setThemeState(nextTheme);
26173
+ }, []);
26174
+ const toggleTheme = useCallback8((coords) => {
26175
+ var _a78;
26176
+ const documentWithTransition = document;
26177
+ const prefersReducedMotion = window.matchMedia(
26178
+ "(prefers-reduced-motion: reduce)"
26179
+ ).matches;
26180
+ const supportsTransition = typeof documentWithTransition.startViewTransition === "function";
26181
+ const flipTheme = () => {
26182
+ setThemeState(
26183
+ (currentTheme) => currentTheme === "light" ? "dark" : "light"
26184
+ );
26185
+ };
26186
+ if (coords) {
26187
+ document.documentElement.style.setProperty("--theme-x", `${coords.x}px`);
26188
+ document.documentElement.style.setProperty("--theme-y", `${coords.y}px`);
26189
+ }
26190
+ if (!supportsTransition || prefersReducedMotion) {
26191
+ flipTheme();
26192
+ return;
26193
+ }
26194
+ (_a78 = documentWithTransition.startViewTransition) == null ? void 0 : _a78.call(documentWithTransition, () => {
26195
+ flushSync(() => {
26196
+ flipTheme();
26197
+ });
26198
+ });
26199
+ }, []);
26200
+ const value = useMemo12(
26201
+ () => ({
26202
+ theme,
26203
+ setTheme,
26204
+ toggleTheme
26205
+ }),
26206
+ [theme, setTheme, toggleTheme]
26207
+ );
26208
+ return /* @__PURE__ */ jsx59(ThemeContext.Provider, { value, children });
26209
+ }
26210
+ function ThemeScript() {
26211
+ const script = `
26212
+ (() => {
26213
+ const storageKey = "${STORAGE_KEY2}";
26214
+ const legacyStorageKey = "${LEGACY_STORAGE_KEY}";
26215
+ const storedTheme = localStorage.getItem(storageKey) ?? localStorage.getItem(legacyStorageKey);
26216
+ const theme =
26217
+ storedTheme === "light" || storedTheme === "dark"
26218
+ ? storedTheme
26219
+ : window.matchMedia("(prefers-color-scheme: dark)").matches
26220
+ ? "dark"
26221
+ : "light";
26222
+ const root = document.documentElement;
26223
+ root.classList.toggle("dark", theme === "dark");
26224
+ root.classList.toggle("light", theme === "light");
26225
+ root.dataset.theme = theme;
26226
+ root.style.colorScheme = theme;
26227
+ })();
26228
+ `;
26229
+ return /* @__PURE__ */ jsx59("script", { dangerouslySetInnerHTML: { __html: script } });
26230
+ }
26231
+
25613
26232
  // src/components/cupcode/TimelineCupcode.tsx
25614
- import { jsx as jsx58, jsxs as jsxs38 } from "react/jsx-runtime";
26233
+ import { jsx as jsx60, jsxs as jsxs39 } from "react/jsx-runtime";
25615
26234
  function Timeline({ items, variant = "vertical", className }) {
25616
26235
  if (variant === "horizontal") {
25617
- return /* @__PURE__ */ jsx58("div", { className: cn("flex items-start gap-4 overflow-x-auto pb-4", className), children: items.map((item, index) => /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-center min-w-[200px]", children: [
25618
- /* @__PURE__ */ jsx58(
26236
+ 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: [
26237
+ /* @__PURE__ */ jsx60(
25619
26238
  "div",
25620
26239
  {
25621
26240
  className: cn(
@@ -25623,27 +26242,27 @@ function Timeline({ items, variant = "vertical", className }) {
25623
26242
  "transition-all duration-300",
25624
26243
  item.active ? "cc-gradient-galaxy text-white elevation-3 scale-110" : "bg-muted text-muted-foreground"
25625
26244
  ),
25626
- children: item.icon || /* @__PURE__ */ jsx58("span", { className: "text-sm font-bold", children: index + 1 })
26245
+ children: item.icon || /* @__PURE__ */ jsx60("span", { className: "text-sm font-bold", children: index + 1 })
25627
26246
  }
25628
26247
  ),
25629
- index < items.length - 1 && /* @__PURE__ */ jsx58("div", { className: cn(
26248
+ index < items.length - 1 && /* @__PURE__ */ jsx60("div", { className: cn(
25630
26249
  "h-1 w-full mb-3",
25631
26250
  item.active ? "bg-cupcode-purple" : "bg-muted"
25632
26251
  ) }),
25633
- /* @__PURE__ */ jsxs38("div", { className: "text-center", children: [
25634
- /* @__PURE__ */ jsx58("h4", { className: cn(
26252
+ /* @__PURE__ */ jsxs39("div", { className: "text-center", children: [
26253
+ /* @__PURE__ */ jsx60("h4", { className: cn(
25635
26254
  "font-display font-semibold mb-1",
25636
26255
  item.active ? "text-cupcode-purple" : "text-foreground"
25637
26256
  ), children: item.title }),
25638
- item.description && /* @__PURE__ */ jsx58("p", { className: "text-sm text-muted-foreground", children: item.description }),
25639
- item.date && /* @__PURE__ */ jsx58("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
26257
+ item.description && /* @__PURE__ */ jsx60("p", { className: "text-sm text-muted-foreground", children: item.description }),
26258
+ item.date && /* @__PURE__ */ jsx60("p", { className: "text-xs text-muted-foreground mt-1", children: item.date })
25640
26259
  ] })
25641
26260
  ] }, item.id)) });
25642
26261
  }
25643
- return /* @__PURE__ */ jsxs38("div", { className: cn("relative space-6", className), children: [
25644
- /* @__PURE__ */ jsx58("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
25645
- items.map((item, index) => /* @__PURE__ */ jsxs38("div", { className: "relative flex gap-6 pb-8 last:pb-0", children: [
25646
- /* @__PURE__ */ jsx58(
26262
+ return /* @__PURE__ */ jsxs39("div", { className: cn("relative space-6", className), children: [
26263
+ /* @__PURE__ */ jsx60("div", { className: "absolute left-6 top-0 bottom-0 w-0.5 bg-muted" }),
26264
+ items.map((item, index) => /* @__PURE__ */ jsxs39("div", { className: "relative flex gap-6 pb-8 last:pb-0", children: [
26265
+ /* @__PURE__ */ jsx60(
25647
26266
  "div",
25648
26267
  {
25649
26268
  className: cn(
@@ -25651,16 +26270,16 @@ function Timeline({ items, variant = "vertical", className }) {
25651
26270
  "transition-all duration-300",
25652
26271
  item.active ? "cc-gradient-galaxy text-white elevation-3" : "bg-muted text-muted-foreground"
25653
26272
  ),
25654
- children: item.icon || /* @__PURE__ */ jsx58("span", { className: "text-sm font-bold", children: index + 1 })
26273
+ children: item.icon || /* @__PURE__ */ jsx60("span", { className: "text-sm font-bold", children: index + 1 })
25655
26274
  }
25656
26275
  ),
25657
- /* @__PURE__ */ jsxs38("div", { className: "flex-1 pt-1", children: [
25658
- /* @__PURE__ */ jsx58("h4", { className: cn(
26276
+ /* @__PURE__ */ jsxs39("div", { className: "flex-1 pt-1", children: [
26277
+ /* @__PURE__ */ jsx60("h4", { className: cn(
25659
26278
  "font-display font-semibold mb-1",
25660
26279
  item.active ? "text-cupcode-purple" : "text-foreground"
25661
26280
  ), children: item.title }),
25662
- item.description && /* @__PURE__ */ jsx58("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
25663
- item.date && /* @__PURE__ */ jsx58("p", { className: "text-xs text-muted-foreground", children: item.date })
26281
+ item.description && /* @__PURE__ */ jsx60("p", { className: "text-sm text-muted-foreground mb-2", children: item.description }),
26282
+ item.date && /* @__PURE__ */ jsx60("p", { className: "text-xs text-muted-foreground", children: item.date })
25664
26283
  ] })
25665
26284
  ] }, item.id))
25666
26285
  ] });
@@ -25668,7 +26287,7 @@ function Timeline({ items, variant = "vertical", className }) {
25668
26287
 
25669
26288
  // src/components/cupcode/ToastCupcode.tsx
25670
26289
  import { X as X6, CheckCircle, AlertCircle, Info as Info2, AlertTriangle as AlertTriangle2 } from "lucide-react";
25671
- import { jsx as jsx59, jsxs as jsxs39 } from "react/jsx-runtime";
26290
+ import { jsx as jsx61, jsxs as jsxs40 } from "react/jsx-runtime";
25672
26291
  var variantStyles2 = {
25673
26292
  success: {
25674
26293
  gradient: "from-success/20 to-success/5",
@@ -25703,7 +26322,7 @@ var ToastCupcode = ({
25703
26322
  }) => {
25704
26323
  const style = variantStyles2[variant];
25705
26324
  const Icon3 = style.icon;
25706
- return /* @__PURE__ */ jsx59(
26325
+ return /* @__PURE__ */ jsx61(
25707
26326
  "div",
25708
26327
  {
25709
26328
  className: cn(
@@ -25715,18 +26334,18 @@ var ToastCupcode = ({
25715
26334
  "min-w-[300px] max-w-[420px]",
25716
26335
  "animate-slide-up"
25717
26336
  ),
25718
- children: /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-3", children: [
25719
- /* @__PURE__ */ jsx59(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
25720
- /* @__PURE__ */ jsxs39("div", { className: "flex-1 space-y-1", children: [
25721
- /* @__PURE__ */ jsx59("p", { className: "text-sm font-semibold text-cupcode-ink", children: title }),
25722
- description && /* @__PURE__ */ jsx59("p", { className: "text-xs text-cupcode-ink/70", children: description })
26337
+ children: /* @__PURE__ */ jsxs40("div", { className: "flex items-start gap-3", children: [
26338
+ /* @__PURE__ */ jsx61(Icon3, { className: cn("h-5 w-5 shrink-0 mt-0.5", style.iconColor) }),
26339
+ /* @__PURE__ */ jsxs40("div", { className: "flex-1 space-y-1", children: [
26340
+ /* @__PURE__ */ jsx61("p", { className: "text-sm font-semibold text-cupcode-ink", children: title }),
26341
+ description && /* @__PURE__ */ jsx61("p", { className: "text-xs text-cupcode-ink/70", children: description })
25723
26342
  ] }),
25724
- onClose && /* @__PURE__ */ jsx59(
26343
+ onClose && /* @__PURE__ */ jsx61(
25725
26344
  "button",
25726
26345
  {
25727
26346
  onClick: onClose,
25728
26347
  className: "shrink-0 rounded-md p-1 hover:bg-cupcode-ink/10 transition-colors",
25729
- children: /* @__PURE__ */ jsx59(X6, { className: "h-4 w-4 text-cupcode-ink/50" })
26348
+ children: /* @__PURE__ */ jsx61(X6, { className: "h-4 w-4 text-cupcode-ink/50" })
25730
26349
  }
25731
26350
  )
25732
26351
  ] })
@@ -25735,12 +26354,12 @@ var ToastCupcode = ({
25735
26354
  };
25736
26355
 
25737
26356
  // src/components/cupcode/VideoWatchButton.tsx
25738
- import React34 from "react";
25739
- import { jsx as jsx60, jsxs as jsxs40 } from "react/jsx-runtime";
25740
- var PlayGlyph = () => /* @__PURE__ */ jsx60("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", className: "h-[18px] w-[18px]", children: /* @__PURE__ */ jsx60("path", { d: "M6 4.5L13.5 9L6 13.5V4.5Z", fill: "currentColor" }) });
25741
- var VideoWatchButton = React34.forwardRef(
25742
- ({ className, label = "Watch now", type = "button", "aria-label": ariaLabel, ...props }, ref) => {
25743
- return /* @__PURE__ */ jsxs40(
26357
+ import React35 from "react";
26358
+ import { jsx as jsx62, jsxs as jsxs41 } from "react/jsx-runtime";
26359
+ 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" }) });
26360
+ var VideoWatchButton = React35.forwardRef(
26361
+ ({ className, label = "Assistir", type = "button", "aria-label": ariaLabel, ...props }, ref) => {
26362
+ return /* @__PURE__ */ jsxs41(
25744
26363
  "button",
25745
26364
  {
25746
26365
  ref,
@@ -25749,18 +26368,18 @@ var VideoWatchButton = React34.forwardRef(
25749
26368
  className: cn("cc-video-watch-btn", className),
25750
26369
  ...props,
25751
26370
  children: [
25752
- /* @__PURE__ */ jsxs40("span", { className: "cc-video-watch-btn__bg", children: [
25753
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ jsx60(PlayGlyph, {}) }),
25754
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__label", children: label }),
25755
- /* @__PURE__ */ jsxs40("span", { className: "cc-video-watch-btn__mask", "aria-hidden": "true", children: [
25756
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
25757
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
25758
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
25759
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
25760
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
26371
+ /* @__PURE__ */ jsxs41("span", { className: "cc-video-watch-btn__bg", children: [
26372
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__icon", children: /* @__PURE__ */ jsx62(PlayGlyph, {}) }),
26373
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__label", children: label }),
26374
+ /* @__PURE__ */ jsxs41("span", { className: "cc-video-watch-btn__mask", "aria-hidden": "true", children: [
26375
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--1" }),
26376
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--2" }),
26377
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--3" }),
26378
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--4" }),
26379
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__blob cc-video-watch-btn__blob--5" })
25761
26380
  ] })
25762
26381
  ] }),
25763
- /* @__PURE__ */ jsx60("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
26382
+ /* @__PURE__ */ jsx62("span", { className: "cc-video-watch-btn__glow", "aria-hidden": "true" })
25764
26383
  ]
25765
26384
  }
25766
26385
  );
@@ -25769,13 +26388,13 @@ var VideoWatchButton = React34.forwardRef(
25769
26388
  VideoWatchButton.displayName = "VideoWatchButton";
25770
26389
 
25771
26390
  // src/components/cupcode/TooltipCupcode.tsx
25772
- import * as React35 from "react";
26391
+ import * as React36 from "react";
25773
26392
  import * as TooltipPrimitive2 from "@radix-ui/react-tooltip";
25774
- import { jsx as jsx61 } from "react/jsx-runtime";
26393
+ import { jsx as jsx63 } from "react/jsx-runtime";
25775
26394
  var TooltipProvider2 = TooltipPrimitive2.Provider;
25776
26395
  var TooltipCupcode = TooltipPrimitive2.Root;
25777
26396
  var TooltipTrigger2 = TooltipPrimitive2.Trigger;
25778
- var TooltipContent2 = React35.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx61(
26397
+ var TooltipContent2 = React36.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx63(
25779
26398
  TooltipPrimitive2.Content,
25780
26399
  {
25781
26400
  ref,
@@ -25796,14 +26415,14 @@ var TooltipContent2 = React35.forwardRef(({ className, sideOffset = 4, ...props
25796
26415
  TooltipContent2.displayName = TooltipPrimitive2.Content.displayName;
25797
26416
 
25798
26417
  // src/components/ui/accordion.tsx
25799
- import * as React36 from "react";
26418
+ import * as React37 from "react";
25800
26419
  import * as AccordionPrimitive2 from "@radix-ui/react-accordion";
25801
26420
  import { ChevronDown as ChevronDown6 } from "lucide-react";
25802
- import { jsx as jsx62, jsxs as jsxs41 } from "react/jsx-runtime";
26421
+ import { jsx as jsx64, jsxs as jsxs42 } from "react/jsx-runtime";
25803
26422
  var Accordion = AccordionPrimitive2.Root;
25804
- var AccordionItem2 = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx62(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
26423
+ var AccordionItem2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx64(AccordionPrimitive2.Item, { ref, className: cn("border-b", className), ...props }));
25805
26424
  AccordionItem2.displayName = "AccordionItem";
25806
- var AccordionTrigger2 = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx62(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs41(
26425
+ var AccordionTrigger2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx64(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs42(
25807
26426
  AccordionPrimitive2.Trigger,
25808
26427
  {
25809
26428
  ref,
@@ -25814,26 +26433,26 @@ var AccordionTrigger2 = React36.forwardRef(({ className, children, ...props }, r
25814
26433
  ...props,
25815
26434
  children: [
25816
26435
  children,
25817
- /* @__PURE__ */ jsx62(ChevronDown6, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
26436
+ /* @__PURE__ */ jsx64(ChevronDown6, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
25818
26437
  ]
25819
26438
  }
25820
26439
  ) }));
25821
26440
  AccordionTrigger2.displayName = AccordionPrimitive2.Trigger.displayName;
25822
- var AccordionContent2 = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx62(
26441
+ var AccordionContent2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx64(
25823
26442
  AccordionPrimitive2.Content,
25824
26443
  {
25825
26444
  ref,
25826
26445
  className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
25827
26446
  ...props,
25828
- children: /* @__PURE__ */ jsx62("div", { className: cn("pb-4 pt-0", className), children })
26447
+ children: /* @__PURE__ */ jsx64("div", { className: cn("pb-4 pt-0", className), children })
25829
26448
  }
25830
26449
  ));
25831
26450
  AccordionContent2.displayName = AccordionPrimitive2.Content.displayName;
25832
26451
 
25833
26452
  // src/components/ui/alert.tsx
25834
- import * as React37 from "react";
26453
+ import * as React38 from "react";
25835
26454
  import { cva as cva3 } from "class-variance-authority";
25836
- import { jsx as jsx63 } from "react/jsx-runtime";
26455
+ import { jsx as jsx65 } from "react/jsx-runtime";
25837
26456
  var alertVariants = cva3(
25838
26457
  "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
25839
26458
  {
@@ -25848,14 +26467,14 @@ var alertVariants = cva3(
25848
26467
  }
25849
26468
  }
25850
26469
  );
25851
- var Alert = React37.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx63("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
26470
+ var Alert = React38.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx65("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
25852
26471
  Alert.displayName = "Alert";
25853
- var AlertTitle = React37.forwardRef(
25854
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx63("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
26472
+ var AlertTitle = React38.forwardRef(
26473
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx65("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
25855
26474
  );
25856
26475
  AlertTitle.displayName = "AlertTitle";
25857
- var AlertDescription = React37.forwardRef(
25858
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx63("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
26476
+ var AlertDescription = React38.forwardRef(
26477
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx65("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
25859
26478
  );
25860
26479
  AlertDescription.displayName = "AlertDescription";
25861
26480
 
@@ -25864,14 +26483,14 @@ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
25864
26483
  var AspectRatio = AspectRatioPrimitive.Root;
25865
26484
 
25866
26485
  // src/components/ui/breadcrumb.tsx
25867
- import * as React38 from "react";
26486
+ import * as React39 from "react";
25868
26487
  import { Slot as Slot2 } from "@radix-ui/react-slot";
25869
26488
  import { ChevronRight as ChevronRight3, MoreHorizontal } from "lucide-react";
25870
- import { jsx as jsx64, jsxs as jsxs42 } from "react/jsx-runtime";
25871
- var Breadcrumb = React38.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx64("nav", { ref, "aria-label": "breadcrumb", ...props }));
26489
+ import { jsx as jsx66, jsxs as jsxs43 } from "react/jsx-runtime";
26490
+ var Breadcrumb = React39.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx66("nav", { ref, "aria-label": "breadcrumb", ...props }));
25872
26491
  Breadcrumb.displayName = "Breadcrumb";
25873
- var BreadcrumbList = React38.forwardRef(
25874
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx64(
26492
+ var BreadcrumbList = React39.forwardRef(
26493
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx66(
25875
26494
  "ol",
25876
26495
  {
25877
26496
  ref,
@@ -25884,17 +26503,17 @@ var BreadcrumbList = React38.forwardRef(
25884
26503
  )
25885
26504
  );
25886
26505
  BreadcrumbList.displayName = "BreadcrumbList";
25887
- var BreadcrumbItem = React38.forwardRef(
25888
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx64("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
26506
+ var BreadcrumbItem = React39.forwardRef(
26507
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
25889
26508
  );
25890
26509
  BreadcrumbItem.displayName = "BreadcrumbItem";
25891
- var BreadcrumbLink = React38.forwardRef(({ asChild, className, ...props }, ref) => {
26510
+ var BreadcrumbLink = React39.forwardRef(({ asChild, className, ...props }, ref) => {
25892
26511
  const Comp = asChild ? Slot2 : "a";
25893
- return /* @__PURE__ */ jsx64(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
26512
+ return /* @__PURE__ */ jsx66(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
25894
26513
  });
25895
26514
  BreadcrumbLink.displayName = "BreadcrumbLink";
25896
- var BreadcrumbPage = React38.forwardRef(
25897
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx64(
26515
+ var BreadcrumbPage = React39.forwardRef(
26516
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx66(
25898
26517
  "span",
25899
26518
  {
25900
26519
  ref,
@@ -25907,9 +26526,9 @@ var BreadcrumbPage = React38.forwardRef(
25907
26526
  )
25908
26527
  );
25909
26528
  BreadcrumbPage.displayName = "BreadcrumbPage";
25910
- var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx64("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ jsx64(ChevronRight3, {}) });
26529
+ var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx66("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children != null ? children : /* @__PURE__ */ jsx66(ChevronRight3, {}) });
25911
26530
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
25912
- var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs42(
26531
+ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs43(
25913
26532
  "span",
25914
26533
  {
25915
26534
  role: "presentation",
@@ -25917,8 +26536,8 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs42(
25917
26536
  className: cn("flex h-9 w-9 items-center justify-center", className),
25918
26537
  ...props,
25919
26538
  children: [
25920
- /* @__PURE__ */ jsx64(MoreHorizontal, { className: "h-4 w-4" }),
25921
- /* @__PURE__ */ jsx64("span", { className: "sr-only", children: "More" })
26539
+ /* @__PURE__ */ jsx66(MoreHorizontal, { className: "h-4 w-4" }),
26540
+ /* @__PURE__ */ jsx66("span", { className: "sr-only", children: "More" })
25922
26541
  ]
25923
26542
  }
25924
26543
  );
@@ -25927,9 +26546,9 @@ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
25927
26546
  // src/components/ui/calendar.tsx
25928
26547
  import { ChevronLeft, ChevronRight as ChevronRight4 } from "lucide-react";
25929
26548
  import { DayPicker } from "react-day-picker";
25930
- import { jsx as jsx65 } from "react/jsx-runtime";
26549
+ import { jsx as jsx67 } from "react/jsx-runtime";
25931
26550
  function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
25932
- return /* @__PURE__ */ jsx65(
26551
+ return /* @__PURE__ */ jsx67(
25933
26552
  DayPicker,
25934
26553
  {
25935
26554
  showOutsideDays,
@@ -25964,9 +26583,9 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
25964
26583
  components: {
25965
26584
  Chevron: ({ orientation, className: className2, ...chevronProps }) => {
25966
26585
  if (orientation === "left") {
25967
- return /* @__PURE__ */ jsx65(ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
26586
+ return /* @__PURE__ */ jsx67(ChevronLeft, { className: cn("h-4 w-4", className2), ...chevronProps });
25968
26587
  }
25969
- return /* @__PURE__ */ jsx65(ChevronRight4, { className: cn("h-4 w-4", className2), ...chevronProps });
26588
+ return /* @__PURE__ */ jsx67(ChevronRight4, { className: cn("h-4 w-4", className2), ...chevronProps });
25970
26589
  }
25971
26590
  },
25972
26591
  ...props
@@ -25976,45 +26595,45 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
25976
26595
  Calendar.displayName = "Calendar";
25977
26596
 
25978
26597
  // src/components/ui/card.tsx
25979
- import * as React39 from "react";
25980
- import { jsx as jsx66 } from "react/jsx-runtime";
25981
- var Card = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
26598
+ import * as React40 from "react";
26599
+ import { jsx as jsx68 } from "react/jsx-runtime";
26600
+ var Card = React40.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx68("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props }));
25982
26601
  Card.displayName = "Card";
25983
- var CardHeader = React39.forwardRef(
25984
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
26602
+ var CardHeader = React40.forwardRef(
26603
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
25985
26604
  );
25986
26605
  CardHeader.displayName = "CardHeader";
25987
- var CardTitle = React39.forwardRef(
25988
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
26606
+ var CardTitle = React40.forwardRef(
26607
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
25989
26608
  );
25990
26609
  CardTitle.displayName = "CardTitle";
25991
- var CardDescription = React39.forwardRef(
25992
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
26610
+ var CardDescription = React40.forwardRef(
26611
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
25993
26612
  );
25994
26613
  CardDescription.displayName = "CardDescription";
25995
- var CardContent = React39.forwardRef(
25996
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("p-6 pt-0", className), ...props })
26614
+ var CardContent = React40.forwardRef(
26615
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68("div", { ref, className: cn("p-6 pt-0", className), ...props })
25997
26616
  );
25998
26617
  CardContent.displayName = "CardContent";
25999
- var CardFooter = React39.forwardRef(
26000
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx66("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
26618
+ var CardFooter = React40.forwardRef(
26619
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx68("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
26001
26620
  );
26002
26621
  CardFooter.displayName = "CardFooter";
26003
26622
 
26004
26623
  // src/components/ui/carousel.tsx
26005
- import * as React40 from "react";
26624
+ import * as React41 from "react";
26006
26625
  import useEmblaCarousel from "embla-carousel-react";
26007
26626
  import { ArrowLeft, ArrowRight } from "lucide-react";
26008
- import { jsx as jsx67, jsxs as jsxs43 } from "react/jsx-runtime";
26009
- var CarouselContext = React40.createContext(null);
26627
+ import { jsx as jsx69, jsxs as jsxs44 } from "react/jsx-runtime";
26628
+ var CarouselContext = React41.createContext(null);
26010
26629
  function useCarousel() {
26011
- const context = React40.useContext(CarouselContext);
26630
+ const context = React41.useContext(CarouselContext);
26012
26631
  if (!context) {
26013
26632
  throw new Error("useCarousel must be used within a <Carousel />");
26014
26633
  }
26015
26634
  return context;
26016
26635
  }
26017
- var Carousel = React40.forwardRef(
26636
+ var Carousel = React41.forwardRef(
26018
26637
  ({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
26019
26638
  const [carouselRef, api] = useEmblaCarousel(
26020
26639
  {
@@ -26023,22 +26642,22 @@ var Carousel = React40.forwardRef(
26023
26642
  },
26024
26643
  plugins
26025
26644
  );
26026
- const [canScrollPrev, setCanScrollPrev] = React40.useState(false);
26027
- const [canScrollNext, setCanScrollNext] = React40.useState(false);
26028
- const onSelect = React40.useCallback((api2) => {
26645
+ const [canScrollPrev, setCanScrollPrev] = React41.useState(false);
26646
+ const [canScrollNext, setCanScrollNext] = React41.useState(false);
26647
+ const onSelect = React41.useCallback((api2) => {
26029
26648
  if (!api2) {
26030
26649
  return;
26031
26650
  }
26032
26651
  setCanScrollPrev(api2.canScrollPrev());
26033
26652
  setCanScrollNext(api2.canScrollNext());
26034
26653
  }, []);
26035
- const scrollPrev = React40.useCallback(() => {
26654
+ const scrollPrev = React41.useCallback(() => {
26036
26655
  api == null ? void 0 : api.scrollPrev();
26037
26656
  }, [api]);
26038
- const scrollNext = React40.useCallback(() => {
26657
+ const scrollNext = React41.useCallback(() => {
26039
26658
  api == null ? void 0 : api.scrollNext();
26040
26659
  }, [api]);
26041
- const handleKeyDown = React40.useCallback(
26660
+ const handleKeyDown = React41.useCallback(
26042
26661
  (event) => {
26043
26662
  if (event.key === "ArrowLeft") {
26044
26663
  event.preventDefault();
@@ -26050,13 +26669,13 @@ var Carousel = React40.forwardRef(
26050
26669
  },
26051
26670
  [scrollPrev, scrollNext]
26052
26671
  );
26053
- React40.useEffect(() => {
26672
+ React41.useEffect(() => {
26054
26673
  if (!api || !setApi) {
26055
26674
  return;
26056
26675
  }
26057
26676
  setApi(api);
26058
26677
  }, [api, setApi]);
26059
- React40.useEffect(() => {
26678
+ React41.useEffect(() => {
26060
26679
  if (!api) {
26061
26680
  return;
26062
26681
  }
@@ -26067,7 +26686,7 @@ var Carousel = React40.forwardRef(
26067
26686
  api == null ? void 0 : api.off("select", onSelect);
26068
26687
  };
26069
26688
  }, [api, onSelect]);
26070
- return /* @__PURE__ */ jsx67(
26689
+ return /* @__PURE__ */ jsx69(
26071
26690
  CarouselContext.Provider,
26072
26691
  {
26073
26692
  value: {
@@ -26080,7 +26699,7 @@ var Carousel = React40.forwardRef(
26080
26699
  canScrollPrev,
26081
26700
  canScrollNext
26082
26701
  },
26083
- children: /* @__PURE__ */ jsx67(
26702
+ children: /* @__PURE__ */ jsx69(
26084
26703
  "div",
26085
26704
  {
26086
26705
  ref,
@@ -26097,10 +26716,10 @@ var Carousel = React40.forwardRef(
26097
26716
  }
26098
26717
  );
26099
26718
  Carousel.displayName = "Carousel";
26100
- var CarouselContent = React40.forwardRef(
26719
+ var CarouselContent = React41.forwardRef(
26101
26720
  ({ className, ...props }, ref) => {
26102
26721
  const { carouselRef, orientation } = useCarousel();
26103
- return /* @__PURE__ */ jsx67("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx67(
26722
+ return /* @__PURE__ */ jsx69("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx69(
26104
26723
  "div",
26105
26724
  {
26106
26725
  ref,
@@ -26111,10 +26730,10 @@ var CarouselContent = React40.forwardRef(
26111
26730
  }
26112
26731
  );
26113
26732
  CarouselContent.displayName = "CarouselContent";
26114
- var CarouselItem = React40.forwardRef(
26733
+ var CarouselItem = React41.forwardRef(
26115
26734
  ({ className, ...props }, ref) => {
26116
26735
  const { orientation } = useCarousel();
26117
- return /* @__PURE__ */ jsx67(
26736
+ return /* @__PURE__ */ jsx69(
26118
26737
  "div",
26119
26738
  {
26120
26739
  ref,
@@ -26127,10 +26746,10 @@ var CarouselItem = React40.forwardRef(
26127
26746
  }
26128
26747
  );
26129
26748
  CarouselItem.displayName = "CarouselItem";
26130
- var CarouselPrevious = React40.forwardRef(
26749
+ var CarouselPrevious = React41.forwardRef(
26131
26750
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
26132
26751
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
26133
- return /* @__PURE__ */ jsxs43(
26752
+ return /* @__PURE__ */ jsxs44(
26134
26753
  Button,
26135
26754
  {
26136
26755
  ref,
@@ -26145,18 +26764,18 @@ var CarouselPrevious = React40.forwardRef(
26145
26764
  onClick: scrollPrev,
26146
26765
  ...props,
26147
26766
  children: [
26148
- /* @__PURE__ */ jsx67(ArrowLeft, { className: "h-4 w-4" }),
26149
- /* @__PURE__ */ jsx67("span", { className: "sr-only", children: "Previous slide" })
26767
+ /* @__PURE__ */ jsx69(ArrowLeft, { className: "h-4 w-4" }),
26768
+ /* @__PURE__ */ jsx69("span", { className: "sr-only", children: "Previous slide" })
26150
26769
  ]
26151
26770
  }
26152
26771
  );
26153
26772
  }
26154
26773
  );
26155
26774
  CarouselPrevious.displayName = "CarouselPrevious";
26156
- var CarouselNext = React40.forwardRef(
26775
+ var CarouselNext = React41.forwardRef(
26157
26776
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
26158
26777
  const { orientation, scrollNext, canScrollNext } = useCarousel();
26159
- return /* @__PURE__ */ jsxs43(
26778
+ return /* @__PURE__ */ jsxs44(
26160
26779
  Button,
26161
26780
  {
26162
26781
  ref,
@@ -26171,8 +26790,8 @@ var CarouselNext = React40.forwardRef(
26171
26790
  onClick: scrollNext,
26172
26791
  ...props,
26173
26792
  children: [
26174
- /* @__PURE__ */ jsx67(ArrowRight, { className: "h-4 w-4" }),
26175
- /* @__PURE__ */ jsx67("span", { className: "sr-only", children: "Next slide" })
26793
+ /* @__PURE__ */ jsx69(ArrowRight, { className: "h-4 w-4" }),
26794
+ /* @__PURE__ */ jsx69("span", { className: "sr-only", children: "Next slide" })
26176
26795
  ]
26177
26796
  }
26178
26797
  );
@@ -26181,22 +26800,22 @@ var CarouselNext = React40.forwardRef(
26181
26800
  CarouselNext.displayName = "CarouselNext";
26182
26801
 
26183
26802
  // src/components/ui/chart.tsx
26184
- import * as React41 from "react";
26803
+ import * as React42 from "react";
26185
26804
  import * as RechartsPrimitive from "recharts";
26186
- import { Fragment as Fragment6, jsx as jsx68, jsxs as jsxs44 } from "react/jsx-runtime";
26805
+ import { Fragment as Fragment6, jsx as jsx70, jsxs as jsxs45 } from "react/jsx-runtime";
26187
26806
  var THEMES = { light: "", dark: ".dark" };
26188
- var ChartContext = React41.createContext(null);
26807
+ var ChartContext = React42.createContext(null);
26189
26808
  function useChart() {
26190
- const context = React41.useContext(ChartContext);
26809
+ const context = React42.useContext(ChartContext);
26191
26810
  if (!context) {
26192
26811
  throw new Error("useChart must be used within a <ChartContainer />");
26193
26812
  }
26194
26813
  return context;
26195
26814
  }
26196
- var ChartContainer = React41.forwardRef(({ id, className, children, config, ...props }, ref) => {
26197
- const uniqueId = React41.useId();
26815
+ var ChartContainer = React42.forwardRef(({ id, className, children, config, ...props }, ref) => {
26816
+ const uniqueId = React42.useId();
26198
26817
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
26199
- return /* @__PURE__ */ jsx68(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs44(
26818
+ return /* @__PURE__ */ jsx70(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs45(
26200
26819
  "div",
26201
26820
  {
26202
26821
  "data-chart": chartId,
@@ -26207,8 +26826,8 @@ var ChartContainer = React41.forwardRef(({ id, className, children, config, ...p
26207
26826
  ),
26208
26827
  ...props,
26209
26828
  children: [
26210
- /* @__PURE__ */ jsx68(ChartStyle, { id: chartId, config }),
26211
- /* @__PURE__ */ jsx68(RechartsPrimitive.ResponsiveContainer, { children })
26829
+ /* @__PURE__ */ jsx70(ChartStyle, { id: chartId, config }),
26830
+ /* @__PURE__ */ jsx70(RechartsPrimitive.ResponsiveContainer, { children })
26212
26831
  ]
26213
26832
  }
26214
26833
  ) });
@@ -26219,7 +26838,7 @@ var ChartStyle = ({ id, config }) => {
26219
26838
  if (!colorConfig.length) {
26220
26839
  return null;
26221
26840
  }
26222
- return /* @__PURE__ */ jsx68(
26841
+ return /* @__PURE__ */ jsx70(
26223
26842
  "style",
26224
26843
  {
26225
26844
  dangerouslySetInnerHTML: {
@@ -26239,7 +26858,7 @@ ${colorConfig.map(([key, itemConfig]) => {
26239
26858
  );
26240
26859
  };
26241
26860
  var ChartTooltip = RechartsPrimitive.Tooltip;
26242
- var ChartTooltipContent = React41.forwardRef(
26861
+ var ChartTooltipContent = React42.forwardRef(
26243
26862
  ({
26244
26863
  active,
26245
26864
  payload,
@@ -26256,7 +26875,7 @@ var ChartTooltipContent = React41.forwardRef(
26256
26875
  labelKey
26257
26876
  }, ref) => {
26258
26877
  const { config } = useChart();
26259
- const tooltipLabel = React41.useMemo(() => {
26878
+ const tooltipLabel = React42.useMemo(() => {
26260
26879
  var _a78;
26261
26880
  if (hideLabel || !(payload == null ? void 0 : payload.length)) {
26262
26881
  return null;
@@ -26266,18 +26885,18 @@ var ChartTooltipContent = React41.forwardRef(
26266
26885
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26267
26886
  const value = !labelKey && typeof label === "string" ? ((_a78 = config[label]) == null ? void 0 : _a78.label) || label : itemConfig == null ? void 0 : itemConfig.label;
26268
26887
  if (labelFormatter) {
26269
- return /* @__PURE__ */ jsx68("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
26888
+ return /* @__PURE__ */ jsx70("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
26270
26889
  }
26271
26890
  if (!value) {
26272
26891
  return null;
26273
26892
  }
26274
- return /* @__PURE__ */ jsx68("div", { className: cn("font-medium", labelClassName), children: value });
26893
+ return /* @__PURE__ */ jsx70("div", { className: cn("font-medium", labelClassName), children: value });
26275
26894
  }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
26276
26895
  if (!active || !(payload == null ? void 0 : payload.length)) {
26277
26896
  return null;
26278
26897
  }
26279
26898
  const nestLabel = payload.length === 1 && indicator !== "dot";
26280
- return /* @__PURE__ */ jsxs44(
26899
+ return /* @__PURE__ */ jsxs45(
26281
26900
  "div",
26282
26901
  {
26283
26902
  ref,
@@ -26287,19 +26906,19 @@ var ChartTooltipContent = React41.forwardRef(
26287
26906
  ),
26288
26907
  children: [
26289
26908
  !nestLabel ? tooltipLabel : null,
26290
- /* @__PURE__ */ jsx68("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
26909
+ /* @__PURE__ */ jsx70("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
26291
26910
  const key = `${nameKey || item.name || item.dataKey || "value"}`;
26292
26911
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26293
26912
  const indicatorColor = color || item.payload.fill || item.color;
26294
- return /* @__PURE__ */ jsx68(
26913
+ return /* @__PURE__ */ jsx70(
26295
26914
  "div",
26296
26915
  {
26297
26916
  className: cn(
26298
26917
  "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
26299
26918
  indicator === "dot" && "items-center"
26300
26919
  ),
26301
- children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs44(Fragment6, { children: [
26302
- (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx68(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx68(
26920
+ children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs45(Fragment6, { children: [
26921
+ (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx70(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx70(
26303
26922
  "div",
26304
26923
  {
26305
26924
  className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
@@ -26314,7 +26933,7 @@ var ChartTooltipContent = React41.forwardRef(
26314
26933
  }
26315
26934
  }
26316
26935
  ),
26317
- /* @__PURE__ */ jsxs44(
26936
+ /* @__PURE__ */ jsxs45(
26318
26937
  "div",
26319
26938
  {
26320
26939
  className: cn(
@@ -26322,11 +26941,11 @@ var ChartTooltipContent = React41.forwardRef(
26322
26941
  nestLabel ? "items-end" : "items-center"
26323
26942
  ),
26324
26943
  children: [
26325
- /* @__PURE__ */ jsxs44("div", { className: "grid gap-1.5", children: [
26944
+ /* @__PURE__ */ jsxs45("div", { className: "grid gap-1.5", children: [
26326
26945
  nestLabel ? tooltipLabel : null,
26327
- /* @__PURE__ */ jsx68("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
26946
+ /* @__PURE__ */ jsx70("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
26328
26947
  ] }),
26329
- item.value && /* @__PURE__ */ jsx68("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
26948
+ item.value && /* @__PURE__ */ jsx70("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
26330
26949
  ]
26331
26950
  }
26332
26951
  )
@@ -26342,12 +26961,12 @@ var ChartTooltipContent = React41.forwardRef(
26342
26961
  );
26343
26962
  ChartTooltipContent.displayName = "ChartTooltip";
26344
26963
  var ChartLegend = RechartsPrimitive.Legend;
26345
- var ChartLegendContent = React41.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
26964
+ var ChartLegendContent = React42.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
26346
26965
  const { config } = useChart();
26347
26966
  if (!(payload == null ? void 0 : payload.length)) {
26348
26967
  return null;
26349
26968
  }
26350
- return /* @__PURE__ */ jsx68(
26969
+ return /* @__PURE__ */ jsx70(
26351
26970
  "div",
26352
26971
  {
26353
26972
  ref,
@@ -26355,12 +26974,12 @@ var ChartLegendContent = React41.forwardRef(({ className, hideIcon = false, payl
26355
26974
  children: payload.map((item) => {
26356
26975
  const key = `${nameKey || item.dataKey || "value"}`;
26357
26976
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
26358
- return /* @__PURE__ */ jsxs44(
26977
+ return /* @__PURE__ */ jsxs45(
26359
26978
  "div",
26360
26979
  {
26361
26980
  className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
26362
26981
  children: [
26363
- (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ jsx68(itemConfig.icon, {}) : /* @__PURE__ */ jsx68(
26982
+ (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ jsx70(itemConfig.icon, {}) : /* @__PURE__ */ jsx70(
26364
26983
  "div",
26365
26984
  {
26366
26985
  className: "h-2 w-2 shrink-0 rounded-[2px]",
@@ -26394,11 +27013,11 @@ function getPayloadConfigFromPayload(config, payload, key) {
26394
27013
  }
26395
27014
 
26396
27015
  // src/components/ui/checkbox.tsx
26397
- import * as React42 from "react";
27016
+ import * as React43 from "react";
26398
27017
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
26399
27018
  import { Check as Check6 } from "lucide-react";
26400
- import { jsx as jsx69 } from "react/jsx-runtime";
26401
- var Checkbox = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx69(
27019
+ import { jsx as jsx71 } from "react/jsx-runtime";
27020
+ var Checkbox = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
26402
27021
  CheckboxPrimitive.Root,
26403
27022
  {
26404
27023
  ref,
@@ -26407,7 +27026,7 @@ var Checkbox = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26407
27026
  className
26408
27027
  ),
26409
27028
  ...props,
26410
- children: /* @__PURE__ */ jsx69(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx69(Check6, { className: "h-4 w-4" }) })
27029
+ children: /* @__PURE__ */ jsx71(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx71(Check6, { className: "h-4 w-4" }) })
26411
27030
  }
26412
27031
  ));
26413
27032
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
@@ -26419,11 +27038,11 @@ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
26419
27038
  var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
26420
27039
 
26421
27040
  // src/components/ui/command.tsx
26422
- import * as React43 from "react";
27041
+ import * as React44 from "react";
26423
27042
  import { Command as CommandPrimitive } from "cmdk";
26424
27043
  import { Search as Search3 } from "lucide-react";
26425
- import { jsx as jsx70, jsxs as jsxs45 } from "react/jsx-runtime";
26426
- var Command = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27044
+ import { jsx as jsx72, jsxs as jsxs46 } from "react/jsx-runtime";
27045
+ var Command = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(
26427
27046
  CommandPrimitive,
26428
27047
  {
26429
27048
  ref,
@@ -26436,11 +27055,11 @@ var Command = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26436
27055
  ));
26437
27056
  Command.displayName = CommandPrimitive.displayName;
26438
27057
  var CommandDialog = ({ children, ...props }) => {
26439
- return /* @__PURE__ */ jsx70(Dialog, { ...props, children: /* @__PURE__ */ jsx70(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx70(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
27058
+ return /* @__PURE__ */ jsx72(Dialog, { ...props, children: /* @__PURE__ */ jsx72(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx72(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
26440
27059
  };
26441
- var CommandInput = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs45("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
26442
- /* @__PURE__ */ jsx70(Search3, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
26443
- /* @__PURE__ */ jsx70(
27060
+ var CommandInput = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs46("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
27061
+ /* @__PURE__ */ jsx72(Search3, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
27062
+ /* @__PURE__ */ jsx72(
26444
27063
  CommandPrimitive.Input,
26445
27064
  {
26446
27065
  ref,
@@ -26453,7 +27072,7 @@ var CommandInput = React43.forwardRef(({ className, ...props }, ref) => /* @__PU
26453
27072
  )
26454
27073
  ] }));
26455
27074
  CommandInput.displayName = CommandPrimitive.Input.displayName;
26456
- var CommandList = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27075
+ var CommandList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(
26457
27076
  CommandPrimitive.List,
26458
27077
  {
26459
27078
  ref,
@@ -26462,9 +27081,9 @@ var CommandList = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
26462
27081
  }
26463
27082
  ));
26464
27083
  CommandList.displayName = CommandPrimitive.List.displayName;
26465
- var CommandEmpty = React43.forwardRef((props, ref) => /* @__PURE__ */ jsx70(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
27084
+ var CommandEmpty = React44.forwardRef((props, ref) => /* @__PURE__ */ jsx72(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
26466
27085
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
26467
- var CommandGroup = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27086
+ var CommandGroup = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(
26468
27087
  CommandPrimitive.Group,
26469
27088
  {
26470
27089
  ref,
@@ -26476,9 +27095,9 @@ var CommandGroup = React43.forwardRef(({ className, ...props }, ref) => /* @__PU
26476
27095
  }
26477
27096
  ));
26478
27097
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
26479
- var CommandSeparator = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
27098
+ var CommandSeparator = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
26480
27099
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
26481
- var CommandItem = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx70(
27100
+ var CommandItem = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(
26482
27101
  CommandPrimitive.Item,
26483
27102
  {
26484
27103
  ref,
@@ -26491,22 +27110,22 @@ var CommandItem = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
26491
27110
  ));
26492
27111
  CommandItem.displayName = CommandPrimitive.Item.displayName;
26493
27112
  var CommandShortcut = ({ className, ...props }) => {
26494
- return /* @__PURE__ */ jsx70("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27113
+ return /* @__PURE__ */ jsx72("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26495
27114
  };
26496
27115
  CommandShortcut.displayName = "CommandShortcut";
26497
27116
 
26498
27117
  // src/components/ui/context-menu.tsx
26499
- import * as React44 from "react";
27118
+ import * as React45 from "react";
26500
27119
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
26501
27120
  import { Check as Check7, ChevronRight as ChevronRight5, Circle as Circle3 } from "lucide-react";
26502
- import { jsx as jsx71, jsxs as jsxs46 } from "react/jsx-runtime";
27121
+ import { jsx as jsx73, jsxs as jsxs47 } from "react/jsx-runtime";
26503
27122
  var ContextMenu = ContextMenuPrimitive.Root;
26504
27123
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
26505
27124
  var ContextMenuGroup = ContextMenuPrimitive.Group;
26506
27125
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
26507
27126
  var ContextMenuSub = ContextMenuPrimitive.Sub;
26508
27127
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
26509
- var ContextMenuSubTrigger = React44.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
27128
+ var ContextMenuSubTrigger = React45.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs47(
26510
27129
  ContextMenuPrimitive.SubTrigger,
26511
27130
  {
26512
27131
  ref,
@@ -26518,12 +27137,12 @@ var ContextMenuSubTrigger = React44.forwardRef(({ className, inset, children, ..
26518
27137
  ...props,
26519
27138
  children: [
26520
27139
  children,
26521
- /* @__PURE__ */ jsx71(ChevronRight5, { className: "ml-auto h-4 w-4" })
27140
+ /* @__PURE__ */ jsx73(ChevronRight5, { className: "ml-auto h-4 w-4" })
26522
27141
  ]
26523
27142
  }
26524
27143
  ));
26525
27144
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
26526
- var ContextMenuSubContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(
27145
+ var ContextMenuSubContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(
26527
27146
  ContextMenuPrimitive.SubContent,
26528
27147
  {
26529
27148
  ref,
@@ -26535,7 +27154,7 @@ var ContextMenuSubContent = React44.forwardRef(({ className, ...props }, ref) =>
26535
27154
  }
26536
27155
  ));
26537
27156
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
26538
- var ContextMenuContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx71(
27157
+ var ContextMenuContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx73(
26539
27158
  ContextMenuPrimitive.Content,
26540
27159
  {
26541
27160
  ref,
@@ -26547,7 +27166,7 @@ var ContextMenuContent = React44.forwardRef(({ className, ...props }, ref) => /*
26547
27166
  }
26548
27167
  ) }));
26549
27168
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
26550
- var ContextMenuItem = React44.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx71(
27169
+ var ContextMenuItem = React45.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx73(
26551
27170
  ContextMenuPrimitive.Item,
26552
27171
  {
26553
27172
  ref,
@@ -26560,7 +27179,7 @@ var ContextMenuItem = React44.forwardRef(({ className, inset, ...props }, ref) =
26560
27179
  }
26561
27180
  ));
26562
27181
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
26563
- var ContextMenuCheckboxItem = React44.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs46(
27182
+ var ContextMenuCheckboxItem = React45.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs47(
26564
27183
  ContextMenuPrimitive.CheckboxItem,
26565
27184
  {
26566
27185
  ref,
@@ -26571,13 +27190,13 @@ var ContextMenuCheckboxItem = React44.forwardRef(({ className, children, checked
26571
27190
  checked,
26572
27191
  ...props,
26573
27192
  children: [
26574
- /* @__PURE__ */ jsx71("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx71(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx71(Check7, { className: "h-4 w-4" }) }) }),
27193
+ /* @__PURE__ */ jsx73("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx73(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx73(Check7, { className: "h-4 w-4" }) }) }),
26575
27194
  children
26576
27195
  ]
26577
27196
  }
26578
27197
  ));
26579
27198
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
26580
- var ContextMenuRadioItem = React44.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
27199
+ var ContextMenuRadioItem = React45.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs47(
26581
27200
  ContextMenuPrimitive.RadioItem,
26582
27201
  {
26583
27202
  ref,
@@ -26587,13 +27206,13 @@ var ContextMenuRadioItem = React44.forwardRef(({ className, children, ...props }
26587
27206
  ),
26588
27207
  ...props,
26589
27208
  children: [
26590
- /* @__PURE__ */ jsx71("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx71(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx71(Circle3, { className: "h-2 w-2 fill-current" }) }) }),
27209
+ /* @__PURE__ */ jsx73("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx73(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx73(Circle3, { className: "h-2 w-2 fill-current" }) }) }),
26591
27210
  children
26592
27211
  ]
26593
27212
  }
26594
27213
  ));
26595
27214
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
26596
- var ContextMenuLabel = React44.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx71(
27215
+ var ContextMenuLabel = React45.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx73(
26597
27216
  ContextMenuPrimitive.Label,
26598
27217
  {
26599
27218
  ref,
@@ -26602,39 +27221,39 @@ var ContextMenuLabel = React44.forwardRef(({ className, inset, ...props }, ref)
26602
27221
  }
26603
27222
  ));
26604
27223
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
26605
- var ContextMenuSeparator = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx71(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
27224
+ var ContextMenuSeparator = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx73(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
26606
27225
  ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
26607
27226
  var ContextMenuShortcut = ({ className, ...props }) => {
26608
- return /* @__PURE__ */ jsx71("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27227
+ return /* @__PURE__ */ jsx73("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26609
27228
  };
26610
27229
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
26611
27230
 
26612
27231
  // src/components/ui/form.tsx
26613
- import * as React46 from "react";
27232
+ import * as React47 from "react";
26614
27233
  import { Slot as Slot3 } from "@radix-ui/react-slot";
26615
27234
  import { Controller, FormProvider, useFormContext } from "react-hook-form";
26616
27235
 
26617
27236
  // src/components/ui/label.tsx
26618
- import * as React45 from "react";
27237
+ import * as React46 from "react";
26619
27238
  import * as LabelPrimitive from "@radix-ui/react-label";
26620
27239
  import { cva as cva4 } from "class-variance-authority";
26621
- import { jsx as jsx72 } from "react/jsx-runtime";
27240
+ import { jsx as jsx74 } from "react/jsx-runtime";
26622
27241
  var labelVariants = cva4("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
26623
- var Label4 = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx72(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
27242
+ var Label4 = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
26624
27243
  Label4.displayName = LabelPrimitive.Root.displayName;
26625
27244
 
26626
27245
  // src/components/ui/form.tsx
26627
- import { jsx as jsx73 } from "react/jsx-runtime";
27246
+ import { jsx as jsx75 } from "react/jsx-runtime";
26628
27247
  var Form = FormProvider;
26629
- var FormFieldContext = React46.createContext({});
27248
+ var FormFieldContext = React47.createContext({});
26630
27249
  var FormField = ({
26631
27250
  ...props
26632
27251
  }) => {
26633
- return /* @__PURE__ */ jsx73(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx73(Controller, { ...props }) });
27252
+ return /* @__PURE__ */ jsx75(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx75(Controller, { ...props }) });
26634
27253
  };
26635
27254
  var useFormField = () => {
26636
- const fieldContext = React46.useContext(FormFieldContext);
26637
- const itemContext = React46.useContext(FormItemContext);
27255
+ const fieldContext = React47.useContext(FormFieldContext);
27256
+ const itemContext = React47.useContext(FormItemContext);
26638
27257
  const { getFieldState, formState } = useFormContext();
26639
27258
  const fieldState = getFieldState(fieldContext.name, formState);
26640
27259
  if (!fieldContext) {
@@ -26650,23 +27269,23 @@ var useFormField = () => {
26650
27269
  ...fieldState
26651
27270
  };
26652
27271
  };
26653
- var FormItemContext = React46.createContext({});
26654
- var FormItem = React46.forwardRef(
27272
+ var FormItemContext = React47.createContext({});
27273
+ var FormItem = React47.forwardRef(
26655
27274
  ({ className, ...props }, ref) => {
26656
- const id = React46.useId();
26657
- return /* @__PURE__ */ jsx73(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx73("div", { ref, className: cn("space-y-2", className), ...props }) });
27275
+ const id = React47.useId();
27276
+ return /* @__PURE__ */ jsx75(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx75("div", { ref, className: cn("space-y-2", className), ...props }) });
26658
27277
  }
26659
27278
  );
26660
27279
  FormItem.displayName = "FormItem";
26661
- var FormLabel = React46.forwardRef(({ className, ...props }, ref) => {
27280
+ var FormLabel = React47.forwardRef(({ className, ...props }, ref) => {
26662
27281
  const { error, formItemId } = useFormField();
26663
- return /* @__PURE__ */ jsx73(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
27282
+ return /* @__PURE__ */ jsx75(Label4, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
26664
27283
  });
26665
27284
  FormLabel.displayName = "FormLabel";
26666
- var FormControl = React46.forwardRef(
27285
+ var FormControl = React47.forwardRef(
26667
27286
  ({ ...props }, ref) => {
26668
27287
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
26669
- return /* @__PURE__ */ jsx73(
27288
+ return /* @__PURE__ */ jsx75(
26670
27289
  Slot3,
26671
27290
  {
26672
27291
  ref,
@@ -26679,42 +27298,42 @@ var FormControl = React46.forwardRef(
26679
27298
  }
26680
27299
  );
26681
27300
  FormControl.displayName = "FormControl";
26682
- var FormDescription = React46.forwardRef(
27301
+ var FormDescription = React47.forwardRef(
26683
27302
  ({ className, ...props }, ref) => {
26684
27303
  const { formDescriptionId } = useFormField();
26685
- return /* @__PURE__ */ jsx73("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
27304
+ return /* @__PURE__ */ jsx75("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
26686
27305
  }
26687
27306
  );
26688
27307
  FormDescription.displayName = "FormDescription";
26689
- var FormMessage = React46.forwardRef(
27308
+ var FormMessage = React47.forwardRef(
26690
27309
  ({ className, children, ...props }, ref) => {
26691
27310
  const { error, formMessageId } = useFormField();
26692
27311
  const body = error ? String(error == null ? void 0 : error.message) : children;
26693
27312
  if (!body) {
26694
27313
  return null;
26695
27314
  }
26696
- return /* @__PURE__ */ jsx73("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
27315
+ return /* @__PURE__ */ jsx75("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
26697
27316
  }
26698
27317
  );
26699
27318
  FormMessage.displayName = "FormMessage";
26700
27319
 
26701
27320
  // src/components/ui/glass-card.tsx
26702
- import * as React47 from "react";
26703
- import { jsx as jsx74 } from "react/jsx-runtime";
26704
- var GlassCard = React47.forwardRef(
27321
+ import * as React48 from "react";
27322
+ import { jsx as jsx76 } from "react/jsx-runtime";
27323
+ var GlassCard = React48.forwardRef(
26705
27324
  ({ className, ...props }, ref) => {
26706
- return /* @__PURE__ */ jsx74("div", { ref, className: cn("glass-card", className), ...props });
27325
+ return /* @__PURE__ */ jsx76("div", { ref, className: cn("glass-card", className), ...props });
26707
27326
  }
26708
27327
  );
26709
27328
  GlassCard.displayName = "GlassCard";
26710
27329
 
26711
27330
  // src/components/ui/hover-card.tsx
26712
- import * as React48 from "react";
27331
+ import * as React49 from "react";
26713
27332
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
26714
- import { jsx as jsx75 } from "react/jsx-runtime";
27333
+ import { jsx as jsx77 } from "react/jsx-runtime";
26715
27334
  var HoverCard = HoverCardPrimitive.Root;
26716
27335
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
26717
- var HoverCardContent = React48.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx75(
27336
+ var HoverCardContent = React49.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx77(
26718
27337
  HoverCardPrimitive.Content,
26719
27338
  {
26720
27339
  ref,
@@ -26730,12 +27349,12 @@ var HoverCardContent = React48.forwardRef(({ className, align = "center", sideOf
26730
27349
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
26731
27350
 
26732
27351
  // src/components/ui/input-otp.tsx
26733
- import * as React49 from "react";
27352
+ import * as React50 from "react";
26734
27353
  import { OTPInput, OTPInputContext } from "input-otp";
26735
27354
  import { Dot } from "lucide-react";
26736
- import { jsx as jsx76, jsxs as jsxs47 } from "react/jsx-runtime";
26737
- var InputOTP = React49.forwardRef(
26738
- ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx76(
27355
+ import { jsx as jsx78, jsxs as jsxs48 } from "react/jsx-runtime";
27356
+ var InputOTP = React50.forwardRef(
27357
+ ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx78(
26739
27358
  OTPInput,
26740
27359
  {
26741
27360
  ref,
@@ -26746,14 +27365,14 @@ var InputOTP = React49.forwardRef(
26746
27365
  )
26747
27366
  );
26748
27367
  InputOTP.displayName = "InputOTP";
26749
- var InputOTPGroup = React49.forwardRef(
26750
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx76("div", { ref, className: cn("flex items-center", className), ...props })
27368
+ var InputOTPGroup = React50.forwardRef(
27369
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx78("div", { ref, className: cn("flex items-center", className), ...props })
26751
27370
  );
26752
27371
  InputOTPGroup.displayName = "InputOTPGroup";
26753
- var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
26754
- const inputOTPContext = React49.useContext(OTPInputContext);
27372
+ var InputOTPSlot = React50.forwardRef(({ index, className, ...props }, ref) => {
27373
+ const inputOTPContext = React50.useContext(OTPInputContext);
26755
27374
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
26756
- return /* @__PURE__ */ jsxs47(
27375
+ return /* @__PURE__ */ jsxs48(
26757
27376
  "div",
26758
27377
  {
26759
27378
  ref,
@@ -26765,28 +27384,28 @@ var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
26765
27384
  ...props,
26766
27385
  children: [
26767
27386
  char,
26768
- hasFakeCaret && /* @__PURE__ */ jsx76("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx76("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
27387
+ hasFakeCaret && /* @__PURE__ */ jsx78("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx78("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
26769
27388
  ]
26770
27389
  }
26771
27390
  );
26772
27391
  });
26773
27392
  InputOTPSlot.displayName = "InputOTPSlot";
26774
- var InputOTPSeparator = React49.forwardRef(
26775
- ({ ...props }, ref) => /* @__PURE__ */ jsx76("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx76(Dot, {}) })
27393
+ var InputOTPSeparator = React50.forwardRef(
27394
+ ({ ...props }, ref) => /* @__PURE__ */ jsx78("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx78(Dot, {}) })
26776
27395
  );
26777
27396
  InputOTPSeparator.displayName = "InputOTPSeparator";
26778
27397
 
26779
27398
  // src/components/ui/menubar.tsx
26780
- import * as React50 from "react";
27399
+ import * as React51 from "react";
26781
27400
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
26782
27401
  import { Check as Check8, ChevronRight as ChevronRight6, Circle as Circle4 } from "lucide-react";
26783
- import { jsx as jsx77, jsxs as jsxs48 } from "react/jsx-runtime";
27402
+ import { jsx as jsx79, jsxs as jsxs49 } from "react/jsx-runtime";
26784
27403
  var MenubarMenu = MenubarPrimitive.Menu;
26785
27404
  var MenubarGroup = MenubarPrimitive.Group;
26786
27405
  var MenubarPortal = MenubarPrimitive.Portal;
26787
27406
  var MenubarSub = MenubarPrimitive.Sub;
26788
27407
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
26789
- var Menubar = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
27408
+ var Menubar = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79(
26790
27409
  MenubarPrimitive.Root,
26791
27410
  {
26792
27411
  ref,
@@ -26795,7 +27414,7 @@ var Menubar = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__
26795
27414
  }
26796
27415
  ));
26797
27416
  Menubar.displayName = MenubarPrimitive.Root.displayName;
26798
- var MenubarTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
27417
+ var MenubarTrigger = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79(
26799
27418
  MenubarPrimitive.Trigger,
26800
27419
  {
26801
27420
  ref,
@@ -26807,7 +27426,7 @@ var MenubarTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__
26807
27426
  }
26808
27427
  ));
26809
27428
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
26810
- var MenubarSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
27429
+ var MenubarSubTrigger = React51.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
26811
27430
  MenubarPrimitive.SubTrigger,
26812
27431
  {
26813
27432
  ref,
@@ -26819,12 +27438,12 @@ var MenubarSubTrigger = React50.forwardRef(({ className, inset, children, ...pro
26819
27438
  ...props,
26820
27439
  children: [
26821
27440
  children,
26822
- /* @__PURE__ */ jsx77(ChevronRight6, { className: "ml-auto h-4 w-4" })
27441
+ /* @__PURE__ */ jsx79(ChevronRight6, { className: "ml-auto h-4 w-4" })
26823
27442
  ]
26824
27443
  }
26825
27444
  ));
26826
27445
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
26827
- var MenubarSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
27446
+ var MenubarSubContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79(
26828
27447
  MenubarPrimitive.SubContent,
26829
27448
  {
26830
27449
  ref,
@@ -26836,7 +27455,7 @@ var MenubarSubContent = React50.forwardRef(({ className, ...props }, ref) => /*
26836
27455
  }
26837
27456
  ));
26838
27457
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
26839
- var MenubarContent = React50.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx77(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx77(
27458
+ var MenubarContent = React51.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx79(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx79(
26840
27459
  MenubarPrimitive.Content,
26841
27460
  {
26842
27461
  ref,
@@ -26851,7 +27470,7 @@ var MenubarContent = React50.forwardRef(({ className, align = "start", alignOffs
26851
27470
  }
26852
27471
  ) }));
26853
27472
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
26854
- var MenubarItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx77(
27473
+ var MenubarItem = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx79(
26855
27474
  MenubarPrimitive.Item,
26856
27475
  {
26857
27476
  ref,
@@ -26864,7 +27483,7 @@ var MenubarItem = React50.forwardRef(({ className, inset, ...props }, ref) => /*
26864
27483
  }
26865
27484
  ));
26866
27485
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
26867
- var MenubarCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs48(
27486
+ var MenubarCheckboxItem = React51.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs49(
26868
27487
  MenubarPrimitive.CheckboxItem,
26869
27488
  {
26870
27489
  ref,
@@ -26875,13 +27494,13 @@ var MenubarCheckboxItem = React50.forwardRef(({ className, children, checked, ..
26875
27494
  checked,
26876
27495
  ...props,
26877
27496
  children: [
26878
- /* @__PURE__ */ jsx77("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx77(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx77(Check8, { className: "h-4 w-4" }) }) }),
27497
+ /* @__PURE__ */ jsx79("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx79(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx79(Check8, { className: "h-4 w-4" }) }) }),
26879
27498
  children
26880
27499
  ]
26881
27500
  }
26882
27501
  ));
26883
27502
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
26884
- var MenubarRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs48(
27503
+ var MenubarRadioItem = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
26885
27504
  MenubarPrimitive.RadioItem,
26886
27505
  {
26887
27506
  ref,
@@ -26891,13 +27510,13 @@ var MenubarRadioItem = React50.forwardRef(({ className, children, ...props }, re
26891
27510
  ),
26892
27511
  ...props,
26893
27512
  children: [
26894
- /* @__PURE__ */ jsx77("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx77(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx77(Circle4, { className: "h-2 w-2 fill-current" }) }) }),
27513
+ /* @__PURE__ */ jsx79("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx79(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx79(Circle4, { className: "h-2 w-2 fill-current" }) }) }),
26895
27514
  children
26896
27515
  ]
26897
27516
  }
26898
27517
  ));
26899
27518
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
26900
- var MenubarLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx77(
27519
+ var MenubarLabel = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx79(
26901
27520
  MenubarPrimitive.Label,
26902
27521
  {
26903
27522
  ref,
@@ -26906,20 +27525,20 @@ var MenubarLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /
26906
27525
  }
26907
27526
  ));
26908
27527
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
26909
- var MenubarSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
27528
+ var MenubarSeparator = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
26910
27529
  MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
26911
27530
  var MenubarShortcut = ({ className, ...props }) => {
26912
- return /* @__PURE__ */ jsx77("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
27531
+ return /* @__PURE__ */ jsx79("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
26913
27532
  };
26914
27533
  MenubarShortcut.displayname = "MenubarShortcut";
26915
27534
 
26916
27535
  // src/components/ui/navigation-menu.tsx
26917
- import * as React51 from "react";
27536
+ import * as React52 from "react";
26918
27537
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
26919
27538
  import { cva as cva5 } from "class-variance-authority";
26920
27539
  import { ChevronDown as ChevronDown7 } from "lucide-react";
26921
- import { jsx as jsx78, jsxs as jsxs49 } from "react/jsx-runtime";
26922
- var NavigationMenu = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
27540
+ import { jsx as jsx80, jsxs as jsxs50 } from "react/jsx-runtime";
27541
+ var NavigationMenu = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs50(
26923
27542
  NavigationMenuPrimitive.Root,
26924
27543
  {
26925
27544
  ref,
@@ -26927,12 +27546,12 @@ var NavigationMenu = React51.forwardRef(({ className, children, ...props }, ref)
26927
27546
  ...props,
26928
27547
  children: [
26929
27548
  children,
26930
- /* @__PURE__ */ jsx78(NavigationMenuViewport, {})
27549
+ /* @__PURE__ */ jsx80(NavigationMenuViewport, {})
26931
27550
  ]
26932
27551
  }
26933
27552
  ));
26934
27553
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
26935
- var NavigationMenuList = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
27554
+ var NavigationMenuList = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80(
26936
27555
  NavigationMenuPrimitive.List,
26937
27556
  {
26938
27557
  ref,
@@ -26945,7 +27564,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
26945
27564
  var navigationMenuTriggerStyle = cva5(
26946
27565
  "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
26947
27566
  );
26948
- var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs49(
27567
+ var NavigationMenuTrigger = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs50(
26949
27568
  NavigationMenuPrimitive.Trigger,
26950
27569
  {
26951
27570
  ref,
@@ -26954,7 +27573,7 @@ var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props
26954
27573
  children: [
26955
27574
  children,
26956
27575
  " ",
26957
- /* @__PURE__ */ jsx78(
27576
+ /* @__PURE__ */ jsx80(
26958
27577
  ChevronDown7,
26959
27578
  {
26960
27579
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
@@ -26965,7 +27584,7 @@ var NavigationMenuTrigger = React51.forwardRef(({ className, children, ...props
26965
27584
  }
26966
27585
  ));
26967
27586
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
26968
- var NavigationMenuContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
27587
+ var NavigationMenuContent = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80(
26969
27588
  NavigationMenuPrimitive.Content,
26970
27589
  {
26971
27590
  ref,
@@ -26978,7 +27597,7 @@ var NavigationMenuContent = React51.forwardRef(({ className, ...props }, ref) =>
26978
27597
  ));
26979
27598
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
26980
27599
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
26981
- var NavigationMenuViewport = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx78(
27600
+ var NavigationMenuViewport = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx80(
26982
27601
  NavigationMenuPrimitive.Viewport,
26983
27602
  {
26984
27603
  className: cn(
@@ -26990,7 +27609,7 @@ var NavigationMenuViewport = React51.forwardRef(({ className, ...props }, ref) =
26990
27609
  }
26991
27610
  ) }));
26992
27611
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
26993
- var NavigationMenuIndicator = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
27612
+ var NavigationMenuIndicator = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx80(
26994
27613
  NavigationMenuPrimitive.Indicator,
26995
27614
  {
26996
27615
  ref,
@@ -26999,16 +27618,16 @@ var NavigationMenuIndicator = React51.forwardRef(({ className, ...props }, ref)
26999
27618
  className
27000
27619
  ),
27001
27620
  ...props,
27002
- children: /* @__PURE__ */ jsx78("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
27621
+ children: /* @__PURE__ */ jsx80("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
27003
27622
  }
27004
27623
  ));
27005
27624
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
27006
27625
 
27007
27626
  // src/components/ui/pagination.tsx
27008
- import * as React52 from "react";
27627
+ import * as React53 from "react";
27009
27628
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight7, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
27010
- import { jsx as jsx79, jsxs as jsxs50 } from "react/jsx-runtime";
27011
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx79(
27629
+ import { jsx as jsx81, jsxs as jsxs51 } from "react/jsx-runtime";
27630
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx81(
27012
27631
  "nav",
27013
27632
  {
27014
27633
  role: "navigation",
@@ -27018,13 +27637,13 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx79(
27018
27637
  }
27019
27638
  );
27020
27639
  Pagination.displayName = "Pagination";
27021
- var PaginationContent = React52.forwardRef(
27022
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx79("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
27640
+ var PaginationContent = React53.forwardRef(
27641
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx81("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
27023
27642
  );
27024
27643
  PaginationContent.displayName = "PaginationContent";
27025
- var PaginationItem = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx79("li", { ref, className: cn("", className), ...props }));
27644
+ var PaginationItem = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx81("li", { ref, className: cn("", className), ...props }));
27026
27645
  PaginationItem.displayName = "PaginationItem";
27027
- var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx79(
27646
+ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx81(
27028
27647
  "a",
27029
27648
  {
27030
27649
  "aria-current": isActive ? "page" : void 0,
@@ -27039,29 +27658,29 @@ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @_
27039
27658
  }
27040
27659
  );
27041
27660
  PaginationLink.displayName = "PaginationLink";
27042
- var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs50(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 pl-2.5", className), ...props, children: [
27043
- /* @__PURE__ */ jsx79(ChevronLeft2, { className: "h-4 w-4" }),
27044
- /* @__PURE__ */ jsx79("span", { children: "Previous" })
27661
+ var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs51(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 pl-2.5", className), ...props, children: [
27662
+ /* @__PURE__ */ jsx81(ChevronLeft2, { className: "h-4 w-4" }),
27663
+ /* @__PURE__ */ jsx81("span", { children: "Previous" })
27045
27664
  ] });
27046
27665
  PaginationPrevious.displayName = "PaginationPrevious";
27047
- var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs50(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pr-2.5", className), ...props, children: [
27048
- /* @__PURE__ */ jsx79("span", { children: "Next" }),
27049
- /* @__PURE__ */ jsx79(ChevronRight7, { className: "h-4 w-4" })
27666
+ var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs51(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pr-2.5", className), ...props, children: [
27667
+ /* @__PURE__ */ jsx81("span", { children: "Next" }),
27668
+ /* @__PURE__ */ jsx81(ChevronRight7, { className: "h-4 w-4" })
27050
27669
  ] });
27051
27670
  PaginationNext.displayName = "PaginationNext";
27052
- var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs50("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
27053
- /* @__PURE__ */ jsx79(MoreHorizontal2, { className: "h-4 w-4" }),
27054
- /* @__PURE__ */ jsx79("span", { className: "sr-only", children: "More pages" })
27671
+ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs51("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
27672
+ /* @__PURE__ */ jsx81(MoreHorizontal2, { className: "h-4 w-4" }),
27673
+ /* @__PURE__ */ jsx81("span", { className: "sr-only", children: "More pages" })
27055
27674
  ] });
27056
27675
  PaginationEllipsis.displayName = "PaginationEllipsis";
27057
27676
 
27058
27677
  // src/components/ui/popover.tsx
27059
- import * as React53 from "react";
27678
+ import * as React54 from "react";
27060
27679
  import * as PopoverPrimitive from "@radix-ui/react-popover";
27061
- import { jsx as jsx80 } from "react/jsx-runtime";
27680
+ import { jsx as jsx82 } from "react/jsx-runtime";
27062
27681
  var Popover = PopoverPrimitive.Root;
27063
27682
  var PopoverTrigger = PopoverPrimitive.Trigger;
27064
- var PopoverContent = React53.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx80(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx80(
27683
+ var PopoverContent = React54.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx82(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx82(
27065
27684
  PopoverPrimitive.Content,
27066
27685
  {
27067
27686
  ref,
@@ -27077,16 +27696,16 @@ var PopoverContent = React53.forwardRef(({ className, align = "center", sideOffs
27077
27696
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
27078
27697
 
27079
27698
  // src/components/ui/radio-group.tsx
27080
- import * as React54 from "react";
27699
+ import * as React55 from "react";
27081
27700
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
27082
27701
  import { Circle as Circle5 } from "lucide-react";
27083
- import { jsx as jsx81 } from "react/jsx-runtime";
27084
- var RadioGroup4 = React54.forwardRef(({ className, ...props }, ref) => {
27085
- return /* @__PURE__ */ jsx81(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
27702
+ import { jsx as jsx83 } from "react/jsx-runtime";
27703
+ var RadioGroup4 = React55.forwardRef(({ className, ...props }, ref) => {
27704
+ return /* @__PURE__ */ jsx83(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
27086
27705
  });
27087
27706
  RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
27088
- var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
27089
- return /* @__PURE__ */ jsx81(
27707
+ var RadioGroupItem = React55.forwardRef(({ className, ...props }, ref) => {
27708
+ return /* @__PURE__ */ jsx83(
27090
27709
  RadioGroupPrimitive.Item,
27091
27710
  {
27092
27711
  ref,
@@ -27095,7 +27714,7 @@ var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
27095
27714
  className
27096
27715
  ),
27097
27716
  ...props,
27098
- children: /* @__PURE__ */ jsx81(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx81(Circle5, { className: "h-2.5 w-2.5 fill-current text-current" }) })
27717
+ children: /* @__PURE__ */ jsx83(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx83(Circle5, { className: "h-2.5 w-2.5 fill-current text-current" }) })
27099
27718
  }
27100
27719
  );
27101
27720
  });
@@ -27104,8 +27723,8 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
27104
27723
  // src/components/ui/resizable.tsx
27105
27724
  import { GripVertical } from "lucide-react";
27106
27725
  import * as ResizablePrimitive from "react-resizable-panels";
27107
- import { jsx as jsx82 } from "react/jsx-runtime";
27108
- var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx82(
27726
+ import { jsx as jsx84 } from "react/jsx-runtime";
27727
+ var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx84(
27109
27728
  ResizablePrimitive.PanelGroup,
27110
27729
  {
27111
27730
  className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
@@ -27117,7 +27736,7 @@ var ResizableHandle = ({
27117
27736
  withHandle,
27118
27737
  className,
27119
27738
  ...props
27120
- }) => /* @__PURE__ */ jsx82(
27739
+ }) => /* @__PURE__ */ jsx84(
27121
27740
  ResizablePrimitive.PanelResizeHandle,
27122
27741
  {
27123
27742
  className: cn(
@@ -27125,15 +27744,15 @@ var ResizableHandle = ({
27125
27744
  className
27126
27745
  ),
27127
27746
  ...props,
27128
- children: withHandle && /* @__PURE__ */ jsx82("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx82(GripVertical, { className: "h-2.5 w-2.5" }) })
27747
+ children: withHandle && /* @__PURE__ */ jsx84("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx84(GripVertical, { className: "h-2.5 w-2.5" }) })
27129
27748
  }
27130
27749
  );
27131
27750
 
27132
27751
  // src/components/ui/separator.tsx
27133
- import * as React55 from "react";
27752
+ import * as React56 from "react";
27134
27753
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
27135
- import { jsx as jsx83 } from "react/jsx-runtime";
27136
- var Separator5 = React55.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx83(
27754
+ import { jsx as jsx85 } from "react/jsx-runtime";
27755
+ var Separator5 = React56.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx85(
27137
27756
  SeparatorPrimitive.Root,
27138
27757
  {
27139
27758
  ref,
@@ -27149,13 +27768,13 @@ Separator5.displayName = SeparatorPrimitive.Root.displayName;
27149
27768
  import * as SheetPrimitive from "@radix-ui/react-dialog";
27150
27769
  import { cva as cva6 } from "class-variance-authority";
27151
27770
  import { X as X7 } from "lucide-react";
27152
- import * as React56 from "react";
27153
- import { jsx as jsx84, jsxs as jsxs51 } from "react/jsx-runtime";
27771
+ import * as React57 from "react";
27772
+ import { jsx as jsx86, jsxs as jsxs52 } from "react/jsx-runtime";
27154
27773
  var Sheet = SheetPrimitive.Root;
27155
27774
  var SheetTrigger = SheetPrimitive.Trigger;
27156
27775
  var SheetClose = SheetPrimitive.Close;
27157
27776
  var SheetPortal = SheetPrimitive.Portal;
27158
- var SheetOverlay = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx84(
27777
+ var SheetOverlay = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx86(
27159
27778
  SheetPrimitive.Overlay,
27160
27779
  {
27161
27780
  className: cn(
@@ -27183,7 +27802,7 @@ var sheetVariants = cva6(
27183
27802
  }
27184
27803
  }
27185
27804
  );
27186
- var SheetContent = React56.forwardRef(
27805
+ var SheetContent = React57.forwardRef(
27187
27806
  ({
27188
27807
  side = "right",
27189
27808
  className,
@@ -27192,11 +27811,11 @@ var SheetContent = React56.forwardRef(
27192
27811
  closeButtonClassName,
27193
27812
  closeButtonLabel = "Close",
27194
27813
  ...props
27195
- }, ref) => /* @__PURE__ */ jsxs51(SheetPortal, { children: [
27196
- /* @__PURE__ */ jsx84(SheetOverlay, {}),
27197
- /* @__PURE__ */ jsxs51(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
27814
+ }, ref) => /* @__PURE__ */ jsxs52(SheetPortal, { children: [
27815
+ /* @__PURE__ */ jsx86(SheetOverlay, {}),
27816
+ /* @__PURE__ */ jsxs52(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
27198
27817
  children,
27199
- showCloseButton ? /* @__PURE__ */ jsxs51(
27818
+ showCloseButton ? /* @__PURE__ */ jsxs52(
27200
27819
  SheetPrimitive.Close,
27201
27820
  {
27202
27821
  className: cn(
@@ -27204,8 +27823,8 @@ var SheetContent = React56.forwardRef(
27204
27823
  closeButtonClassName
27205
27824
  ),
27206
27825
  children: [
27207
- /* @__PURE__ */ jsx84(X7, { className: "h-4 w-4" }),
27208
- /* @__PURE__ */ jsx84("span", { className: "sr-only", children: closeButtonLabel })
27826
+ /* @__PURE__ */ jsx86(X7, { className: "h-4 w-4" }),
27827
+ /* @__PURE__ */ jsx86("span", { className: "sr-only", children: closeButtonLabel })
27209
27828
  ]
27210
27829
  }
27211
27830
  ) : null
@@ -27213,27 +27832,27 @@ var SheetContent = React56.forwardRef(
27213
27832
  ] })
27214
27833
  );
27215
27834
  SheetContent.displayName = SheetPrimitive.Content.displayName;
27216
- var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx84("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
27835
+ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx86("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
27217
27836
  SheetHeader.displayName = "SheetHeader";
27218
- var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx84("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
27837
+ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx86("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
27219
27838
  SheetFooter.displayName = "SheetFooter";
27220
- var SheetTitle = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx84(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
27839
+ var SheetTitle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx86(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
27221
27840
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
27222
- var SheetDescription = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx84(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
27841
+ var SheetDescription = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx86(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
27223
27842
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
27224
27843
 
27225
27844
  // src/components/ui/sidebar.tsx
27226
- import * as React58 from "react";
27845
+ import * as React59 from "react";
27227
27846
  import { Slot as Slot4 } from "@radix-ui/react-slot";
27228
27847
  import { cva as cva7 } from "class-variance-authority";
27229
27848
  import { PanelLeft as PanelLeft2 } from "lucide-react";
27230
27849
 
27231
27850
  // src/hooks/use-mobile.tsx
27232
- import * as React57 from "react";
27851
+ import * as React58 from "react";
27233
27852
  var MOBILE_BREAKPOINT = 768;
27234
27853
  function useIsMobile() {
27235
- const [isMobile, setIsMobile] = React57.useState(void 0);
27236
- React57.useEffect(() => {
27854
+ const [isMobile, setIsMobile] = React58.useState(void 0);
27855
+ React58.useEffect(() => {
27237
27856
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
27238
27857
  const onChange = () => {
27239
27858
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -27246,27 +27865,27 @@ function useIsMobile() {
27246
27865
  }
27247
27866
 
27248
27867
  // src/components/ui/sidebar.tsx
27249
- import { jsx as jsx85, jsxs as jsxs52 } from "react/jsx-runtime";
27868
+ import { jsx as jsx87, jsxs as jsxs53 } from "react/jsx-runtime";
27250
27869
  var SIDEBAR_COOKIE_NAME = "sidebar:state";
27251
27870
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
27252
27871
  var SIDEBAR_WIDTH = "16rem";
27253
27872
  var SIDEBAR_WIDTH_MOBILE = "18rem";
27254
27873
  var SIDEBAR_WIDTH_ICON = "3rem";
27255
27874
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
27256
- var SidebarContext = React58.createContext(null);
27875
+ var SidebarContext = React59.createContext(null);
27257
27876
  function useSidebar() {
27258
- const context = React58.useContext(SidebarContext);
27877
+ const context = React59.useContext(SidebarContext);
27259
27878
  if (!context) {
27260
27879
  throw new Error("useSidebar must be used within a SidebarProvider.");
27261
27880
  }
27262
27881
  return context;
27263
27882
  }
27264
- var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
27883
+ var SidebarProvider = React59.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
27265
27884
  const isMobile = useIsMobile();
27266
- const [openMobile, setOpenMobile] = React58.useState(false);
27267
- const [_open, _setOpen] = React58.useState(defaultOpen);
27885
+ const [openMobile, setOpenMobile] = React59.useState(false);
27886
+ const [_open, _setOpen] = React59.useState(defaultOpen);
27268
27887
  const open = openProp != null ? openProp : _open;
27269
- const setOpen = React58.useCallback(
27888
+ const setOpen = React59.useCallback(
27270
27889
  (value) => {
27271
27890
  const openState = typeof value === "function" ? value(open) : value;
27272
27891
  if (setOpenProp) {
@@ -27278,10 +27897,10 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27278
27897
  },
27279
27898
  [setOpenProp, open]
27280
27899
  );
27281
- const toggleSidebar = React58.useCallback(() => {
27900
+ const toggleSidebar = React59.useCallback(() => {
27282
27901
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
27283
27902
  }, [isMobile, setOpen, setOpenMobile]);
27284
- React58.useEffect(() => {
27903
+ React59.useEffect(() => {
27285
27904
  const handleKeyDown = (event) => {
27286
27905
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
27287
27906
  event.preventDefault();
@@ -27292,7 +27911,7 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27292
27911
  return () => window.removeEventListener("keydown", handleKeyDown);
27293
27912
  }, [toggleSidebar]);
27294
27913
  const state = open ? "expanded" : "collapsed";
27295
- const contextValue = React58.useMemo(
27914
+ const contextValue = React59.useMemo(
27296
27915
  () => ({
27297
27916
  state,
27298
27917
  open,
@@ -27304,7 +27923,7 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27304
27923
  }),
27305
27924
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
27306
27925
  );
27307
- return /* @__PURE__ */ jsx85(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx85(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx85(
27926
+ return /* @__PURE__ */ jsx87(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx87(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx87(
27308
27927
  "div",
27309
27928
  {
27310
27929
  style: {
@@ -27320,10 +27939,10 @@ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp,
27320
27939
  ) }) });
27321
27940
  });
27322
27941
  SidebarProvider.displayName = "SidebarProvider";
27323
- var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
27942
+ var Sidebar = React59.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
27324
27943
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
27325
27944
  if (collapsible === "none") {
27326
- return /* @__PURE__ */ jsx85(
27945
+ return /* @__PURE__ */ jsx87(
27327
27946
  "div",
27328
27947
  {
27329
27948
  className: cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground", className),
@@ -27334,7 +27953,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27334
27953
  );
27335
27954
  }
27336
27955
  if (isMobile) {
27337
- return /* @__PURE__ */ jsx85(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx85(
27956
+ return /* @__PURE__ */ jsx87(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx87(
27338
27957
  SheetContent,
27339
27958
  {
27340
27959
  "data-sidebar": "sidebar",
@@ -27344,11 +27963,11 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27344
27963
  "--sidebar-width": SIDEBAR_WIDTH_MOBILE
27345
27964
  },
27346
27965
  side,
27347
- children: /* @__PURE__ */ jsx85("div", { className: "flex h-full w-full flex-col", children })
27966
+ children: /* @__PURE__ */ jsx87("div", { className: "flex h-full w-full flex-col", children })
27348
27967
  }
27349
27968
  ) });
27350
27969
  }
27351
- return /* @__PURE__ */ jsxs52(
27970
+ return /* @__PURE__ */ jsxs53(
27352
27971
  "div",
27353
27972
  {
27354
27973
  ref,
@@ -27358,7 +27977,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27358
27977
  "data-variant": variant,
27359
27978
  "data-side": side,
27360
27979
  children: [
27361
- /* @__PURE__ */ jsx85(
27980
+ /* @__PURE__ */ jsx87(
27362
27981
  "div",
27363
27982
  {
27364
27983
  className: cn(
@@ -27369,7 +27988,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27369
27988
  )
27370
27989
  }
27371
27990
  ),
27372
- /* @__PURE__ */ jsx85(
27991
+ /* @__PURE__ */ jsx87(
27373
27992
  "div",
27374
27993
  {
27375
27994
  className: cn(
@@ -27380,7 +27999,7 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27380
27999
  className
27381
28000
  ),
27382
28001
  ...props,
27383
- children: /* @__PURE__ */ jsx85(
28002
+ children: /* @__PURE__ */ jsx87(
27384
28003
  "div",
27385
28004
  {
27386
28005
  "data-sidebar": "sidebar",
@@ -27395,10 +28014,10 @@ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsi
27395
28014
  );
27396
28015
  });
27397
28016
  Sidebar.displayName = "Sidebar";
27398
- var SidebarTrigger = React58.forwardRef(
28017
+ var SidebarTrigger = React59.forwardRef(
27399
28018
  ({ className, onClick, ...props }, ref) => {
27400
28019
  const { toggleSidebar } = useSidebar();
27401
- return /* @__PURE__ */ jsxs52(
28020
+ return /* @__PURE__ */ jsxs53(
27402
28021
  Button,
27403
28022
  {
27404
28023
  ref,
@@ -27412,18 +28031,18 @@ var SidebarTrigger = React58.forwardRef(
27412
28031
  },
27413
28032
  ...props,
27414
28033
  children: [
27415
- /* @__PURE__ */ jsx85(PanelLeft2, {}),
27416
- /* @__PURE__ */ jsx85("span", { className: "sr-only", children: "Toggle Sidebar" })
28034
+ /* @__PURE__ */ jsx87(PanelLeft2, {}),
28035
+ /* @__PURE__ */ jsx87("span", { className: "sr-only", children: "Toggle Sidebar" })
27417
28036
  ]
27418
28037
  }
27419
28038
  );
27420
28039
  }
27421
28040
  );
27422
28041
  SidebarTrigger.displayName = "SidebarTrigger";
27423
- var SidebarRail = React58.forwardRef(
28042
+ var SidebarRail = React59.forwardRef(
27424
28043
  ({ className, ...props }, ref) => {
27425
28044
  const { toggleSidebar } = useSidebar();
27426
- return /* @__PURE__ */ jsx85(
28045
+ return /* @__PURE__ */ jsx87(
27427
28046
  "button",
27428
28047
  {
27429
28048
  ref,
@@ -27447,8 +28066,8 @@ var SidebarRail = React58.forwardRef(
27447
28066
  }
27448
28067
  );
27449
28068
  SidebarRail.displayName = "SidebarRail";
27450
- var SidebarInset = React58.forwardRef(({ className, ...props }, ref) => {
27451
- return /* @__PURE__ */ jsx85(
28069
+ var SidebarInset = React59.forwardRef(({ className, ...props }, ref) => {
28070
+ return /* @__PURE__ */ jsx87(
27452
28071
  "main",
27453
28072
  {
27454
28073
  ref,
@@ -27462,9 +28081,9 @@ var SidebarInset = React58.forwardRef(({ className, ...props }, ref) => {
27462
28081
  );
27463
28082
  });
27464
28083
  SidebarInset.displayName = "SidebarInset";
27465
- var SidebarInput = React58.forwardRef(
28084
+ var SidebarInput = React59.forwardRef(
27466
28085
  ({ className, ...props }, ref) => {
27467
- return /* @__PURE__ */ jsx85(
28086
+ return /* @__PURE__ */ jsx87(
27468
28087
  Input,
27469
28088
  {
27470
28089
  ref,
@@ -27479,17 +28098,17 @@ var SidebarInput = React58.forwardRef(
27479
28098
  }
27480
28099
  );
27481
28100
  SidebarInput.displayName = "SidebarInput";
27482
- var SidebarHeader = React58.forwardRef(({ className, ...props }, ref) => {
27483
- return /* @__PURE__ */ jsx85("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
28101
+ var SidebarHeader = React59.forwardRef(({ className, ...props }, ref) => {
28102
+ return /* @__PURE__ */ jsx87("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
27484
28103
  });
27485
28104
  SidebarHeader.displayName = "SidebarHeader";
27486
- var SidebarFooter = React58.forwardRef(({ className, ...props }, ref) => {
27487
- return /* @__PURE__ */ jsx85("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
28105
+ var SidebarFooter = React59.forwardRef(({ className, ...props }, ref) => {
28106
+ return /* @__PURE__ */ jsx87("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
27488
28107
  });
27489
28108
  SidebarFooter.displayName = "SidebarFooter";
27490
- var SidebarSeparator = React58.forwardRef(
28109
+ var SidebarSeparator = React59.forwardRef(
27491
28110
  ({ className, ...props }, ref) => {
27492
- return /* @__PURE__ */ jsx85(
28111
+ return /* @__PURE__ */ jsx87(
27493
28112
  Separator5,
27494
28113
  {
27495
28114
  ref,
@@ -27501,8 +28120,8 @@ var SidebarSeparator = React58.forwardRef(
27501
28120
  }
27502
28121
  );
27503
28122
  SidebarSeparator.displayName = "SidebarSeparator";
27504
- var SidebarContent = React58.forwardRef(({ className, ...props }, ref) => {
27505
- return /* @__PURE__ */ jsx85(
28123
+ var SidebarContent = React59.forwardRef(({ className, ...props }, ref) => {
28124
+ return /* @__PURE__ */ jsx87(
27506
28125
  "div",
27507
28126
  {
27508
28127
  ref,
@@ -27516,8 +28135,8 @@ var SidebarContent = React58.forwardRef(({ className, ...props }, ref) => {
27516
28135
  );
27517
28136
  });
27518
28137
  SidebarContent.displayName = "SidebarContent";
27519
- var SidebarGroup = React58.forwardRef(({ className, ...props }, ref) => {
27520
- return /* @__PURE__ */ jsx85(
28138
+ var SidebarGroup = React59.forwardRef(({ className, ...props }, ref) => {
28139
+ return /* @__PURE__ */ jsx87(
27521
28140
  "div",
27522
28141
  {
27523
28142
  ref,
@@ -27528,10 +28147,10 @@ var SidebarGroup = React58.forwardRef(({ className, ...props }, ref) => {
27528
28147
  );
27529
28148
  });
27530
28149
  SidebarGroup.displayName = "SidebarGroup";
27531
- var SidebarGroupLabel = React58.forwardRef(
28150
+ var SidebarGroupLabel = React59.forwardRef(
27532
28151
  ({ className, asChild = false, ...props }, ref) => {
27533
28152
  const Comp = asChild ? Slot4 : "div";
27534
- return /* @__PURE__ */ jsx85(
28153
+ return /* @__PURE__ */ jsx87(
27535
28154
  Comp,
27536
28155
  {
27537
28156
  ref,
@@ -27547,10 +28166,10 @@ var SidebarGroupLabel = React58.forwardRef(
27547
28166
  }
27548
28167
  );
27549
28168
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
27550
- var SidebarGroupAction = React58.forwardRef(
28169
+ var SidebarGroupAction = React59.forwardRef(
27551
28170
  ({ className, asChild = false, ...props }, ref) => {
27552
28171
  const Comp = asChild ? Slot4 : "button";
27553
- return /* @__PURE__ */ jsx85(
28172
+ return /* @__PURE__ */ jsx87(
27554
28173
  Comp,
27555
28174
  {
27556
28175
  ref,
@@ -27568,13 +28187,13 @@ var SidebarGroupAction = React58.forwardRef(
27568
28187
  }
27569
28188
  );
27570
28189
  SidebarGroupAction.displayName = "SidebarGroupAction";
27571
- var SidebarGroupContent = React58.forwardRef(
27572
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx85("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
28190
+ var SidebarGroupContent = React59.forwardRef(
28191
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
27573
28192
  );
27574
28193
  SidebarGroupContent.displayName = "SidebarGroupContent";
27575
- var SidebarMenu = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx85("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
28194
+ var SidebarMenu = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx87("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
27576
28195
  SidebarMenu.displayName = "SidebarMenu";
27577
- var SidebarMenuItem = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx85("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
28196
+ var SidebarMenuItem = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx87("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
27578
28197
  SidebarMenuItem.displayName = "SidebarMenuItem";
27579
28198
  var sidebarMenuButtonVariants = cva7(
27580
28199
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
@@ -27596,10 +28215,10 @@ var sidebarMenuButtonVariants = cva7(
27596
28215
  }
27597
28216
  }
27598
28217
  );
27599
- var SidebarMenuButton = React58.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
28218
+ var SidebarMenuButton = React59.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
27600
28219
  const Comp = asChild ? Slot4 : "button";
27601
28220
  const { isMobile, state } = useSidebar();
27602
- const button = /* @__PURE__ */ jsx85(
28221
+ const button = /* @__PURE__ */ jsx87(
27603
28222
  Comp,
27604
28223
  {
27605
28224
  ref,
@@ -27618,15 +28237,15 @@ var SidebarMenuButton = React58.forwardRef(({ asChild = false, isActive = false,
27618
28237
  children: tooltip
27619
28238
  };
27620
28239
  }
27621
- return /* @__PURE__ */ jsxs52(Tooltip, { children: [
27622
- /* @__PURE__ */ jsx85(TooltipTrigger, { asChild: true, children: button }),
27623
- /* @__PURE__ */ jsx85(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
28240
+ return /* @__PURE__ */ jsxs53(Tooltip, { children: [
28241
+ /* @__PURE__ */ jsx87(TooltipTrigger, { asChild: true, children: button }),
28242
+ /* @__PURE__ */ jsx87(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
27624
28243
  ] });
27625
28244
  });
27626
28245
  SidebarMenuButton.displayName = "SidebarMenuButton";
27627
- var SidebarMenuAction = React58.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
28246
+ var SidebarMenuAction = React59.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
27628
28247
  const Comp = asChild ? Slot4 : "button";
27629
- return /* @__PURE__ */ jsx85(
28248
+ return /* @__PURE__ */ jsx87(
27630
28249
  Comp,
27631
28250
  {
27632
28251
  ref,
@@ -27647,8 +28266,8 @@ var SidebarMenuAction = React58.forwardRef(({ className, asChild = false, showOn
27647
28266
  );
27648
28267
  });
27649
28268
  SidebarMenuAction.displayName = "SidebarMenuAction";
27650
- var SidebarMenuBadge = React58.forwardRef(
27651
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx85(
28269
+ var SidebarMenuBadge = React59.forwardRef(
28270
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx87(
27652
28271
  "div",
27653
28272
  {
27654
28273
  ref,
@@ -27667,11 +28286,11 @@ var SidebarMenuBadge = React58.forwardRef(
27667
28286
  )
27668
28287
  );
27669
28288
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
27670
- var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...props }, ref) => {
27671
- const width = React58.useMemo(() => {
28289
+ var SidebarMenuSkeleton = React59.forwardRef(({ className, showIcon = false, ...props }, ref) => {
28290
+ const width = React59.useMemo(() => {
27672
28291
  return `${Math.floor(Math.random() * 40) + 50}%`;
27673
28292
  }, []);
27674
- return /* @__PURE__ */ jsxs52(
28293
+ return /* @__PURE__ */ jsxs53(
27675
28294
  "div",
27676
28295
  {
27677
28296
  ref,
@@ -27679,8 +28298,8 @@ var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...
27679
28298
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
27680
28299
  ...props,
27681
28300
  children: [
27682
- showIcon && /* @__PURE__ */ jsx85(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
27683
- /* @__PURE__ */ jsx85(
28301
+ showIcon && /* @__PURE__ */ jsx87(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
28302
+ /* @__PURE__ */ jsx87(
27684
28303
  Skeleton,
27685
28304
  {
27686
28305
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -27695,8 +28314,8 @@ var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...
27695
28314
  );
27696
28315
  });
27697
28316
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
27698
- var SidebarMenuSub = React58.forwardRef(
27699
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx85(
28317
+ var SidebarMenuSub = React59.forwardRef(
28318
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx87(
27700
28319
  "ul",
27701
28320
  {
27702
28321
  ref,
@@ -27711,11 +28330,11 @@ var SidebarMenuSub = React58.forwardRef(
27711
28330
  )
27712
28331
  );
27713
28332
  SidebarMenuSub.displayName = "SidebarMenuSub";
27714
- var SidebarMenuSubItem = React58.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx85("li", { ref, ...props }));
28333
+ var SidebarMenuSubItem = React59.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx87("li", { ref, ...props }));
27715
28334
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
27716
- var SidebarMenuSubButton = React58.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
28335
+ var SidebarMenuSubButton = React59.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
27717
28336
  const Comp = asChild ? Slot4 : "a";
27718
- return /* @__PURE__ */ jsx85(
28337
+ return /* @__PURE__ */ jsx87(
27719
28338
  Comp,
27720
28339
  {
27721
28340
  ref,
@@ -27737,44 +28356,44 @@ var SidebarMenuSubButton = React58.forwardRef(({ asChild = false, size = "md", i
27737
28356
  SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
27738
28357
 
27739
28358
  // src/components/ui/slider.tsx
27740
- import * as React59 from "react";
28359
+ import * as React60 from "react";
27741
28360
  import * as SliderPrimitive from "@radix-ui/react-slider";
27742
- import { jsx as jsx86, jsxs as jsxs53 } from "react/jsx-runtime";
27743
- var Slider = React59.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs53(
28361
+ import { jsx as jsx88, jsxs as jsxs54 } from "react/jsx-runtime";
28362
+ var Slider = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs54(
27744
28363
  SliderPrimitive.Root,
27745
28364
  {
27746
28365
  ref,
27747
28366
  className: cn("relative flex w-full touch-none select-none items-center", className),
27748
28367
  ...props,
27749
28368
  children: [
27750
- /* @__PURE__ */ jsx86(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx86(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
27751
- /* @__PURE__ */ jsx86(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
28369
+ /* @__PURE__ */ jsx88(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx88(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
28370
+ /* @__PURE__ */ jsx88(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
27752
28371
  ]
27753
28372
  }
27754
28373
  ));
27755
28374
  Slider.displayName = SliderPrimitive.Root.displayName;
27756
28375
 
27757
28376
  // src/components/ui/table.tsx
27758
- import * as React60 from "react";
27759
- import { jsx as jsx87 } from "react/jsx-runtime";
27760
- var Table = React60.forwardRef(
27761
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx87("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
28377
+ import * as React61 from "react";
28378
+ import { jsx as jsx89 } from "react/jsx-runtime";
28379
+ var Table = React61.forwardRef(
28380
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx89("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
27762
28381
  );
27763
28382
  Table.displayName = "Table";
27764
- var TableHeader = React60.forwardRef(
27765
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
28383
+ var TableHeader = React61.forwardRef(
28384
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
27766
28385
  );
27767
28386
  TableHeader.displayName = "TableHeader";
27768
- var TableBody = React60.forwardRef(
27769
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
28387
+ var TableBody = React61.forwardRef(
28388
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
27770
28389
  );
27771
28390
  TableBody.displayName = "TableBody";
27772
- var TableFooter = React60.forwardRef(
27773
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
28391
+ var TableFooter = React61.forwardRef(
28392
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
27774
28393
  );
27775
28394
  TableFooter.displayName = "TableFooter";
27776
- var TableRow = React60.forwardRef(
27777
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87(
28395
+ var TableRow = React61.forwardRef(
28396
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89(
27778
28397
  "tr",
27779
28398
  {
27780
28399
  ref,
@@ -27784,8 +28403,8 @@ var TableRow = React60.forwardRef(
27784
28403
  )
27785
28404
  );
27786
28405
  TableRow.displayName = "TableRow";
27787
- var TableHead = React60.forwardRef(
27788
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87(
28406
+ var TableHead = React61.forwardRef(
28407
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89(
27789
28408
  "th",
27790
28409
  {
27791
28410
  ref,
@@ -27798,23 +28417,23 @@ var TableHead = React60.forwardRef(
27798
28417
  )
27799
28418
  );
27800
28419
  TableHead.displayName = "TableHead";
27801
- var TableCell = React60.forwardRef(
27802
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
28420
+ var TableCell = React61.forwardRef(
28421
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
27803
28422
  );
27804
28423
  TableCell.displayName = "TableCell";
27805
- var TableCaption = React60.forwardRef(
27806
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx87("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
28424
+ var TableCaption = React61.forwardRef(
28425
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx89("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
27807
28426
  );
27808
28427
  TableCaption.displayName = "TableCaption";
27809
28428
 
27810
28429
  // src/components/ui/toast.tsx
27811
- import * as React61 from "react";
28430
+ import * as React62 from "react";
27812
28431
  import * as ToastPrimitives from "@radix-ui/react-toast";
27813
28432
  import { cva as cva8 } from "class-variance-authority";
27814
28433
  import { X as X8 } from "lucide-react";
27815
- import { jsx as jsx88 } from "react/jsx-runtime";
28434
+ import { jsx as jsx90 } from "react/jsx-runtime";
27816
28435
  var ToastProvider = ToastPrimitives.Provider;
27817
- var ToastViewport = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
28436
+ var ToastViewport = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx90(
27818
28437
  ToastPrimitives.Viewport,
27819
28438
  {
27820
28439
  ref,
@@ -27840,11 +28459,11 @@ var toastVariants = cva8(
27840
28459
  }
27841
28460
  }
27842
28461
  );
27843
- var Toast = React61.forwardRef(({ className, variant, ...props }, ref) => {
27844
- return /* @__PURE__ */ jsx88(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
28462
+ var Toast = React62.forwardRef(({ className, variant, ...props }, ref) => {
28463
+ return /* @__PURE__ */ jsx90(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
27845
28464
  });
27846
28465
  Toast.displayName = ToastPrimitives.Root.displayName;
27847
- var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(
28466
+ var ToastAction = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx90(
27848
28467
  ToastPrimitives.Action,
27849
28468
  {
27850
28469
  ref,
@@ -27856,7 +28475,7 @@ var ToastAction = React61.forwardRef(({ className, ...props }, ref) => /* @__PUR
27856
28475
  }
27857
28476
  ));
27858
28477
  ToastAction.displayName = ToastPrimitives.Action.displayName;
27859
- var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ jsx88(
28478
+ var ToastClose = React62.forwardRef(({ className, onClick, ...props }, ref) => /* @__PURE__ */ jsx90(
27860
28479
  ToastPrimitives.Close,
27861
28480
  {
27862
28481
  ref,
@@ -27870,39 +28489,39 @@ var ToastClose = React61.forwardRef(({ className, onClick, ...props }, ref) => /
27870
28489
  },
27871
28490
  "toast-close": "",
27872
28491
  ...props,
27873
- children: /* @__PURE__ */ jsx88(X8, { className: "h-4 w-4" })
28492
+ children: /* @__PURE__ */ jsx90(X8, { className: "h-4 w-4" })
27874
28493
  }
27875
28494
  ));
27876
28495
  ToastClose.displayName = ToastPrimitives.Close.displayName;
27877
- var ToastTitle = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
28496
+ var ToastTitle = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx90(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
27878
28497
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
27879
- var ToastDescription = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx88(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
28498
+ var ToastDescription = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx90(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
27880
28499
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
27881
28500
 
27882
28501
  // src/components/ui/toaster.tsx
27883
- import { jsx as jsx89, jsxs as jsxs54 } from "react/jsx-runtime";
28502
+ import { jsx as jsx91, jsxs as jsxs55 } from "react/jsx-runtime";
27884
28503
  function Toaster2() {
27885
28504
  const { toasts } = useToast();
27886
- return /* @__PURE__ */ jsxs54(ToastProvider, { children: [
28505
+ return /* @__PURE__ */ jsxs55(ToastProvider, { children: [
27887
28506
  toasts.map(function({ id, title, description, action, ...props }) {
27888
- return /* @__PURE__ */ jsxs54(Toast, { ...props, children: [
27889
- /* @__PURE__ */ jsxs54("div", { className: "grid gap-1", children: [
27890
- title && /* @__PURE__ */ jsx89(ToastTitle, { children: title }),
27891
- description && /* @__PURE__ */ jsx89(ToastDescription, { children: description })
28507
+ return /* @__PURE__ */ jsxs55(Toast, { ...props, children: [
28508
+ /* @__PURE__ */ jsxs55("div", { className: "grid gap-1", children: [
28509
+ title && /* @__PURE__ */ jsx91(ToastTitle, { children: title }),
28510
+ description && /* @__PURE__ */ jsx91(ToastDescription, { children: description })
27892
28511
  ] }),
27893
28512
  action,
27894
- /* @__PURE__ */ jsx89(ToastClose, {})
28513
+ /* @__PURE__ */ jsx91(ToastClose, {})
27895
28514
  ] }, id);
27896
28515
  }),
27897
- /* @__PURE__ */ jsx89(ToastViewport, {})
28516
+ /* @__PURE__ */ jsx91(ToastViewport, {})
27898
28517
  ] });
27899
28518
  }
27900
28519
 
27901
28520
  // src/components/ui/toggle.tsx
27902
- import * as React62 from "react";
28521
+ import * as React63 from "react";
27903
28522
  import * as TogglePrimitive from "@radix-ui/react-toggle";
27904
28523
  import { cva as cva9 } from "class-variance-authority";
27905
- import { jsx as jsx90 } from "react/jsx-runtime";
28524
+ import { jsx as jsx92 } from "react/jsx-runtime";
27906
28525
  var toggleVariants = cva9(
27907
28526
  "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
27908
28527
  {
@@ -27923,22 +28542,22 @@ var toggleVariants = cva9(
27923
28542
  }
27924
28543
  }
27925
28544
  );
27926
- var Toggle = React62.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx90(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
28545
+ var Toggle = React63.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx92(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
27927
28546
  Toggle.displayName = TogglePrimitive.Root.displayName;
27928
28547
 
27929
28548
  // src/components/ui/toggle-group.tsx
27930
- import * as React63 from "react";
28549
+ import * as React64 from "react";
27931
28550
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
27932
- import { jsx as jsx91 } from "react/jsx-runtime";
27933
- var ToggleGroupContext = React63.createContext({
28551
+ import { jsx as jsx93 } from "react/jsx-runtime";
28552
+ var ToggleGroupContext = React64.createContext({
27934
28553
  size: "default",
27935
28554
  variant: "default"
27936
28555
  });
27937
- var ToggleGroup = React63.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx91(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ jsx91(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
28556
+ var ToggleGroup = React64.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx93(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ jsx93(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
27938
28557
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
27939
- var ToggleGroupItem = React63.forwardRef(({ className, children, variant, size, ...props }, ref) => {
27940
- const context = React63.useContext(ToggleGroupContext);
27941
- return /* @__PURE__ */ jsx91(
28558
+ var ToggleGroupItem = React64.forwardRef(({ className, children, variant, size, ...props }, ref) => {
28559
+ const context = React64.useContext(ToggleGroupContext);
28560
+ return /* @__PURE__ */ jsx93(
27942
28561
  ToggleGroupPrimitive.Item,
27943
28562
  {
27944
28563
  ref,
@@ -27957,11 +28576,11 @@ var ToggleGroupItem = React63.forwardRef(({ className, children, variant, size,
27957
28576
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
27958
28577
 
27959
28578
  // src/hooks/useActiveSection.ts
27960
- import { useEffect as useEffect23, useState as useState20 } from "react";
28579
+ import { useEffect as useEffect24, useState as useState21 } from "react";
27961
28580
  var useActiveSection = (sectionIds, offset = 180) => {
27962
28581
  var _a78;
27963
- const [activeId, setActiveId] = useState20((_a78 = sectionIds[0]) != null ? _a78 : "");
27964
- useEffect23(() => {
28582
+ const [activeId, setActiveId] = useState21((_a78 = sectionIds[0]) != null ? _a78 : "");
28583
+ useEffect24(() => {
27965
28584
  if (!sectionIds.length || typeof window === "undefined") return;
27966
28585
  const update = () => {
27967
28586
  let nextActive = sectionIds[0];
@@ -27993,7 +28612,7 @@ function slugify(value) {
27993
28612
  }
27994
28613
 
27995
28614
  // src/lib/layoutMode.ts
27996
- import { useCallback as useCallback10, useEffect as useEffect24, useState as useState21 } from "react";
28615
+ import { useCallback as useCallback11, useEffect as useEffect25, useState as useState22 } from "react";
27997
28616
  var LAYOUT_MODE_STORAGE_KEY = "cc-layout-preview-mode";
27998
28617
  var LAYOUT_MODE_CHANGE_EVENT = "cc-layout-mode-change";
27999
28618
  var normalizeLayoutMode = (value) => {
@@ -28016,8 +28635,8 @@ var writeStoredLayoutMode = (mode) => {
28016
28635
  window.dispatchEvent(new CustomEvent(LAYOUT_MODE_CHANGE_EVENT, { detail: mode }));
28017
28636
  };
28018
28637
  var useLayoutMode = () => {
28019
- const [mode, setMode] = useState21(readStoredLayoutMode);
28020
- useEffect24(() => {
28638
+ const [mode, setMode] = useState22(readStoredLayoutMode);
28639
+ useEffect25(() => {
28021
28640
  if (typeof window === "undefined") return void 0;
28022
28641
  const handleStorage = (event) => {
28023
28642
  if (event.key !== LAYOUT_MODE_STORAGE_KEY) return;
@@ -28039,15 +28658,15 @@ var useLayoutMode = () => {
28039
28658
  };
28040
28659
  var useLayoutModeControl = () => {
28041
28660
  const mode = useLayoutMode();
28042
- const setMode = useCallback10((nextMode) => {
28661
+ const setMode = useCallback11((nextMode) => {
28043
28662
  writeStoredLayoutMode(nextMode);
28044
28663
  }, []);
28045
28664
  return { mode, setMode };
28046
28665
  };
28047
28666
 
28048
28667
  // src/lib/auth.tsx
28049
- import { createContext as createContext6, useCallback as useCallback11, useContext as useContext7, useEffect as useEffect25, useMemo as useMemo14, useRef as useRef13, useState as useState22 } from "react";
28050
- import { jsx as jsx92 } from "react/jsx-runtime";
28668
+ import { createContext as createContext7, useCallback as useCallback12, useContext as useContext8, useEffect as useEffect26, useMemo as useMemo15, useRef as useRef13, useState as useState23 } from "react";
28669
+ import { jsx as jsx94 } from "react/jsx-runtime";
28051
28670
  var STORAGE_KEYS = {
28052
28671
  accessToken: "cc_access_token",
28053
28672
  idToken: "cc_id_token",
@@ -28127,6 +28746,39 @@ var PRESENCE_HEARTBEAT_INTERVAL_MS = parsePositiveInteger2(
28127
28746
  );
28128
28747
  var INACTIVITY_CHECK_INTERVAL_MS = 3e4;
28129
28748
  var SILENT_AUTH_ERRORS = /* @__PURE__ */ new Set(["login_required", "interaction_required", "consent_required", "account_selection_required"]);
28749
+ var PROTECTED_ROUTE_PREFIXES = ["/layout-preview", "/componentes", "/docs", "/animacoes"];
28750
+ var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
28751
+ var isTruthyEnvFlag = (value) => {
28752
+ if (!value) return false;
28753
+ const normalized = value.trim().toLowerCase();
28754
+ return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
28755
+ };
28756
+ var isProtectedRoute = (pathname) => {
28757
+ return PROTECTED_ROUTE_PREFIXES.some((prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`));
28758
+ };
28759
+ var shouldAttemptSilentLoginForPath = (pathname) => {
28760
+ const override = getRuntimeEnv("VITE_ACCOUNTS_SILENT_AUTH");
28761
+ if (typeof override === "string") {
28762
+ return isTruthyEnvFlag(override);
28763
+ }
28764
+ return isProtectedRoute(pathname);
28765
+ };
28766
+ var isSilentAuthRedirectCompatible = () => {
28767
+ if (typeof window === "undefined") return true;
28768
+ const configuredRedirectUri = getRuntimeEnv("VITE_ACCOUNTS_REDIRECT_URI");
28769
+ if (!configuredRedirectUri) return true;
28770
+ try {
28771
+ const currentUrl = new URL(window.location.href);
28772
+ const redirectUrl = new URL(configuredRedirectUri, window.location.origin);
28773
+ if (redirectUrl.origin === currentUrl.origin) {
28774
+ return true;
28775
+ }
28776
+ const usesLoopbackHosts = LOOPBACK_HOSTNAMES.has(redirectUrl.hostname) && LOOPBACK_HOSTNAMES.has(currentUrl.hostname);
28777
+ return usesLoopbackHosts && redirectUrl.protocol === currentUrl.protocol && redirectUrl.port === currentUrl.port;
28778
+ } catch (e) {
28779
+ return true;
28780
+ }
28781
+ };
28130
28782
  var DEFAULT_PRESENCE_STATUS = "online";
28131
28783
  var PRESENCE_STATUS_VALUES2 = [
28132
28784
  "online",
@@ -28206,7 +28858,7 @@ var readStoredPresenceSource = () => {
28206
28858
  if (isPresenceSource(stored)) return stored;
28207
28859
  return "auto";
28208
28860
  };
28209
- var AuthContext = createContext6(void 0);
28861
+ var AuthContext = createContext7(void 0);
28210
28862
  var readStoredToken = () => {
28211
28863
  const accessToken = sessionStorage.getItem(STORAGE_KEYS.accessToken);
28212
28864
  const idToken = sessionStorage.getItem(STORAGE_KEYS.idToken);
@@ -28325,17 +28977,17 @@ var buildUserFromTokens = ({
28325
28977
  };
28326
28978
  };
28327
28979
  var AuthProvider = ({ children }) => {
28328
- const [status, setStatus] = useState22("loading");
28329
- const [accessToken, setAccessToken] = useState22(null);
28330
- const [user, setUser] = useState22(null);
28331
- const [presenceStatus, setPresenceStatusState] = useState22(() => readStoredPresence());
28980
+ const [status, setStatus] = useState23("loading");
28981
+ const [accessToken, setAccessToken] = useState23(null);
28982
+ const [user, setUser] = useState23(null);
28983
+ const [presenceStatus, setPresenceStatusState] = useState23(() => readStoredPresence());
28332
28984
  const presenceStatusRef = useRef13(readStoredPresence());
28333
28985
  const presenceSourceRef = useRef13(readStoredPresenceSource());
28334
28986
  const lastActivityAtRef = useRef13(Date.now());
28335
28987
  const lastActivityBroadcastAtRef = useRef13(0);
28336
28988
  const resolvedPresenceIdentityKeyRef = useRef13(null);
28337
28989
  const resolvedPresenceUserIdRef = useRef13(null);
28338
- const storePresenceStatus = useCallback11((nextStatus, source) => {
28990
+ const storePresenceStatus = useCallback12((nextStatus, source) => {
28339
28991
  setPresenceStatusState(nextStatus);
28340
28992
  presenceStatusRef.current = nextStatus;
28341
28993
  sessionStorage.setItem(STORAGE_KEYS.presence, nextStatus);
@@ -28345,7 +28997,7 @@ var AuthProvider = ({ children }) => {
28345
28997
  localStorage.setItem(LOCAL_STORAGE_KEYS.presenceSource, source);
28346
28998
  }
28347
28999
  }, []);
28348
- const resolvePresenceUserId = useCallback11(async (targetUser) => {
29000
+ const resolvePresenceUserId = useCallback12(async (targetUser) => {
28349
29001
  var _a78, _b7, _c, _d;
28350
29002
  const sub = toNonEmptyString(targetUser == null ? void 0 : targetUser.sub);
28351
29003
  const id = toNonEmptyString(targetUser == null ? void 0 : targetUser.id);
@@ -28383,7 +29035,7 @@ var AuthProvider = ({ children }) => {
28383
29035
  resolvedPresenceUserIdRef.current = fallbackUserId;
28384
29036
  return fallbackUserId;
28385
29037
  }, []);
28386
- const syncPresenceFromRecord = useCallback11(
29038
+ const syncPresenceFromRecord = useCallback12(
28387
29039
  (rawRow) => {
28388
29040
  var _a78, _b7, _c;
28389
29041
  if (!rawRow) return;
@@ -28398,7 +29050,7 @@ var AuthProvider = ({ children }) => {
28398
29050
  },
28399
29051
  [storePresenceStatus]
28400
29052
  );
28401
- const persistPresenceLegacy = useCallback11(
29053
+ const persistPresenceLegacy = useCallback12(
28402
29054
  async (nextStatus, source, targetUser, options) => {
28403
29055
  const userId = await resolvePresenceUserId(targetUser != null ? targetUser : user);
28404
29056
  if (!userId) return false;
@@ -28433,7 +29085,7 @@ var AuthProvider = ({ children }) => {
28433
29085
  },
28434
29086
  [resolvePresenceUserId, syncPresenceFromRecord, user]
28435
29087
  );
28436
- const executePresenceRpc = useCallback11(
29088
+ const executePresenceRpc = useCallback12(
28437
29089
  async (fnName, payload, options) => {
28438
29090
  const supabase = getSupabase();
28439
29091
  if (!supabase) {
@@ -28461,7 +29113,7 @@ var AuthProvider = ({ children }) => {
28461
29113
  },
28462
29114
  [persistPresenceLegacy, syncPresenceFromRecord]
28463
29115
  );
28464
- const touchPresence = useCallback11(
29116
+ const touchPresence = useCallback12(
28465
29117
  async (options) => {
28466
29118
  var _a78;
28467
29119
  const targetUser = (_a78 = options == null ? void 0 : options.targetUser) != null ? _a78 : user;
@@ -28492,7 +29144,7 @@ var AuthProvider = ({ children }) => {
28492
29144
  },
28493
29145
  [executePresenceRpc, resolvePresenceUserId, user]
28494
29146
  );
28495
- const markPresenceIdle = useCallback11(
29147
+ const markPresenceIdle = useCallback12(
28496
29148
  async (targetUser) => {
28497
29149
  const resolvedTargetUser = targetUser != null ? targetUser : user;
28498
29150
  const userId = await resolvePresenceUserId(resolvedTargetUser);
@@ -28517,7 +29169,7 @@ var AuthProvider = ({ children }) => {
28517
29169
  },
28518
29170
  [executePresenceRpc, resolvePresenceUserId, user]
28519
29171
  );
28520
- const setPresenceNetworkStatus = useCallback11(
29172
+ const setPresenceNetworkStatus = useCallback12(
28521
29173
  async (nextStatus, source, targetUser) => {
28522
29174
  const resolvedTargetUser = targetUser != null ? targetUser : user;
28523
29175
  const userId = await resolvePresenceUserId(resolvedTargetUser);
@@ -28543,7 +29195,7 @@ var AuthProvider = ({ children }) => {
28543
29195
  },
28544
29196
  [executePresenceRpc, resolvePresenceUserId, user]
28545
29197
  );
28546
- const loadPresenceFromDatabase = useCallback11(
29198
+ const loadPresenceFromDatabase = useCallback12(
28547
29199
  async (targetUser) => {
28548
29200
  const userId = await resolvePresenceUserId(targetUser);
28549
29201
  if (!userId) return;
@@ -28577,7 +29229,7 @@ var AuthProvider = ({ children }) => {
28577
29229
  },
28578
29230
  [resolvePresenceUserId, syncPresenceFromRecord, touchPresence]
28579
29231
  );
28580
- const clearAuthFlowState = useCallback11((options) => {
29232
+ const clearAuthFlowState = useCallback12((options) => {
28581
29233
  sessionStorage.removeItem(STORAGE_KEYS.state);
28582
29234
  sessionStorage.removeItem(STORAGE_KEYS.verifier);
28583
29235
  sessionStorage.removeItem(STORAGE_KEYS.nonce);
@@ -28587,7 +29239,7 @@ var AuthProvider = ({ children }) => {
28587
29239
  sessionStorage.removeItem(STORAGE_KEYS.silentCheckDone);
28588
29240
  }
28589
29241
  }, []);
28590
- const startAuthorization = useCallback11(
29242
+ const startAuthorization = useCallback12(
28591
29243
  async (options) => {
28592
29244
  var _a78, _b7;
28593
29245
  const config = getAccountsConfig();
@@ -28613,7 +29265,7 @@ var AuthProvider = ({ children }) => {
28613
29265
  },
28614
29266
  []
28615
29267
  );
28616
- const attemptSilentLogin = useCallback11(async () => {
29268
+ const attemptSilentLogin = useCallback12(async () => {
28617
29269
  if (typeof window === "undefined") return false;
28618
29270
  if (window.location.pathname.startsWith("/auth/callback")) return false;
28619
29271
  if (sessionStorage.getItem(STORAGE_KEYS.silentCheckDone) === "1") return false;
@@ -28624,7 +29276,7 @@ var AuthProvider = ({ children }) => {
28624
29276
  });
28625
29277
  return true;
28626
29278
  }, [startAuthorization]);
28627
- useEffect25(() => {
29279
+ useEffect26(() => {
28628
29280
  let cancelled = false;
28629
29281
  const initializeAuth = async () => {
28630
29282
  var _a78;
@@ -28648,9 +29300,13 @@ var AuthProvider = ({ children }) => {
28648
29300
  sessionStorage.removeItem(STORAGE_KEYS.presence);
28649
29301
  sessionStorage.removeItem(STORAGE_KEYS.presenceSource);
28650
29302
  localStorage.removeItem(LOCAL_STORAGE_KEYS.presenceSource);
29303
+ const pathname = typeof window === "undefined" ? "/" : window.location.pathname;
29304
+ const shouldAttemptSilentLogin = shouldAttemptSilentLoginForPath(pathname) && isSilentAuthRedirectCompatible();
28651
29305
  try {
28652
- const redirected = await attemptSilentLogin();
28653
- if (redirected || cancelled) return;
29306
+ if (shouldAttemptSilentLogin) {
29307
+ const redirected = await attemptSilentLogin();
29308
+ if (redirected || cancelled) return;
29309
+ }
28654
29310
  } catch (error) {
28655
29311
  if (isRuntimeDev()) {
28656
29312
  console.warn("[auth] Falha na verifica\xE7\xE3o silenciosa de sess\xE3o:", error.message);
@@ -28665,7 +29321,7 @@ var AuthProvider = ({ children }) => {
28665
29321
  cancelled = true;
28666
29322
  };
28667
29323
  }, [attemptSilentLogin]);
28668
- useEffect25(() => {
29324
+ useEffect26(() => {
28669
29325
  var _a78;
28670
29326
  if (status !== "authenticated") return;
28671
29327
  if (user) return;
@@ -28678,15 +29334,15 @@ var AuthProvider = ({ children }) => {
28678
29334
  if (!hydratedUser) return;
28679
29335
  setUser(hydratedUser);
28680
29336
  }, [status, user]);
28681
- useEffect25(() => {
29337
+ useEffect26(() => {
28682
29338
  resolvedPresenceIdentityKeyRef.current = null;
28683
29339
  resolvedPresenceUserIdRef.current = null;
28684
29340
  }, [user == null ? void 0 : user.email, user == null ? void 0 : user.id, user == null ? void 0 : user.sub, user == null ? void 0 : user.userId]);
28685
- useEffect25(() => {
29341
+ useEffect26(() => {
28686
29342
  if (status !== "authenticated") return;
28687
29343
  void loadPresenceFromDatabase(user);
28688
29344
  }, [loadPresenceFromDatabase, status, user]);
28689
- useEffect25(() => {
29345
+ useEffect26(() => {
28690
29346
  if (status !== "authenticated") return;
28691
29347
  const supabase = getSupabase();
28692
29348
  if (!supabase) return;
@@ -28723,7 +29379,7 @@ var AuthProvider = ({ children }) => {
28723
29379
  }
28724
29380
  };
28725
29381
  }, [resolvePresenceUserId, status, storePresenceStatus, syncPresenceFromRecord, user]);
28726
- useEffect25(() => {
29382
+ useEffect26(() => {
28727
29383
  if (status !== "authenticated") return;
28728
29384
  const registerActivity = () => {
28729
29385
  lastActivityAtRef.current = Date.now();
@@ -28772,13 +29428,13 @@ var AuthProvider = ({ children }) => {
28772
29428
  document.removeEventListener("visibilitychange", onVisibility);
28773
29429
  };
28774
29430
  }, [markPresenceIdle, status, touchPresence]);
28775
- const login = useCallback11(async (redirectTo) => {
29431
+ const login = useCallback12(async (redirectTo) => {
28776
29432
  await startAuthorization({
28777
29433
  mode: "interactive",
28778
29434
  redirectTo: redirectTo != null ? redirectTo : window.location.pathname + window.location.search + window.location.hash
28779
29435
  });
28780
29436
  }, [startAuthorization]);
28781
- const completeLogin = useCallback11(async () => {
29437
+ const completeLogin = useCallback12(async () => {
28782
29438
  var _a78;
28783
29439
  const params = new URLSearchParams(window.location.search);
28784
29440
  const redirectTo = (_a78 = sessionStorage.getItem(STORAGE_KEYS.redirect)) != null ? _a78 : "/";
@@ -28848,7 +29504,7 @@ var AuthProvider = ({ children }) => {
28848
29504
  return { ok: false, error: err.message };
28849
29505
  }
28850
29506
  }, [clearAuthFlowState]);
28851
- const logout = useCallback11(async () => {
29507
+ const logout = useCallback12(async () => {
28852
29508
  var _a78;
28853
29509
  const config = getAccountsConfig();
28854
29510
  const { logoutUrl } = await resolveOidcEndpoints(config);
@@ -28867,13 +29523,13 @@ var AuthProvider = ({ children }) => {
28867
29523
  window.location.assign(url);
28868
29524
  }
28869
29525
  }, [setPresenceNetworkStatus, storePresenceStatus, user]);
28870
- const getAccessToken = useCallback11(async () => {
29526
+ const getAccessToken = useCallback12(async () => {
28871
29527
  const stored = readStoredToken();
28872
29528
  if (stored == null ? void 0 : stored.accessToken) return stored.accessToken;
28873
29529
  if (accessToken) return accessToken;
28874
29530
  throw new Error("Usu\xE1rio n\xE3o autenticado.");
28875
29531
  }, [accessToken]);
28876
- const setPresenceStatus = useCallback11(
29532
+ const setPresenceStatus = useCallback12(
28877
29533
  async (nextStatus) => {
28878
29534
  if (!isUserPresenceStatus(nextStatus) || nextStatus === "offline") return;
28879
29535
  const now = Date.now();
@@ -28884,7 +29540,7 @@ var AuthProvider = ({ children }) => {
28884
29540
  },
28885
29541
  [setPresenceNetworkStatus]
28886
29542
  );
28887
- const value = useMemo14(
29543
+ const value = useMemo15(
28888
29544
  () => ({
28889
29545
  status,
28890
29546
  user,
@@ -28898,10 +29554,10 @@ var AuthProvider = ({ children }) => {
28898
29554
  }),
28899
29555
  [status, user, accessToken, login, logout, completeLogin, getAccessToken, presenceStatus, setPresenceStatus]
28900
29556
  );
28901
- return /* @__PURE__ */ jsx92(AuthContext.Provider, { value, children });
29557
+ return /* @__PURE__ */ jsx94(AuthContext.Provider, { value, children });
28902
29558
  };
28903
29559
  var useAuth = () => {
28904
- const ctx = useContext7(AuthContext);
29560
+ const ctx = useContext8(AuthContext);
28905
29561
  if (!ctx) {
28906
29562
  throw new Error("useAuth deve ser usado dentro de AuthProvider.");
28907
29563
  }
@@ -28927,6 +29583,7 @@ export {
28927
29583
  AlertDialogTitle,
28928
29584
  AlertDialogTrigger,
28929
29585
  AlertTitle,
29586
+ ThemeToggle as AnimatedThemeToggle,
28930
29587
  AppSidebar,
28931
29588
  AspectRatio,
28932
29589
  AuthProvider,
@@ -29215,7 +29872,9 @@ export {
29215
29872
  TelescupVideo,
29216
29873
  Textarea,
29217
29874
  TextareaField,
29218
- ThemeToggle,
29875
+ ThemeProvider,
29876
+ ThemeScript,
29877
+ ThemeToggle2 as ThemeToggle,
29219
29878
  Timeline,
29220
29879
  Toast,
29221
29880
  ToastAction,
@@ -29275,6 +29934,7 @@ export {
29275
29934
  toast,
29276
29935
  toggleVariants,
29277
29936
  useActiveSection,
29937
+ useAppTheme,
29278
29938
  useAuth,
29279
29939
  useBreakpoint,
29280
29940
  useFormField,