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