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