@nrivera-iimp/ui-kit-iimp 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,155 +1,155 @@
1
- # @nrivera-iimp/ui-kit-iimp 🚀
2
-
3
- Sistema de diseño premium para las verticales de **ProExplo**, **WMC** y **Gess**. Basado en shadcn/ui y Tailwind CSS.
4
-
5
- Este paquete proporciona una base sólida, accesible y altamente personalizable para todas las aplicaciones web del IIMP, con un motor de theming dinámico integrado.
6
-
7
- ---
8
-
9
- ## 🛠️ Instalación
10
-
11
- Abre tu terminal en la carpeta del proyecto y ejecuta:
12
-
13
- ```bash
14
- npm install @nrivera-iimp/ui-kit-iimp lucide-react clsx tailwind-merge next-themes
15
- ```
16
-
17
- ### Requisitos Previos
18
- - **Node.js**: 18.0 o superior
19
- - **Next.js**: 13.0+ (App Router recomendado)
20
- - **Tailwind CSS**: Configurado en el proyecto
21
-
22
- ---
23
-
24
- ## ⚙️ Configuración Paso a Paso
25
-
26
- ### 1. Agregar el Preset de Tailwind
27
- Modifica tu archivo `tailwind.config.ts` (o `.js`) para importar nuestro preset. Esto incluirá automáticamente todos los colores corporativos y animaciones.
28
-
29
- ```tsx
30
- // tailwind.config.ts
31
- import { iimpPreset } from "@nrivera-iimp/ui-kit-iimp/preset";
32
-
33
- export default {
34
- // El preset añade las variables HSL y la configuración de shadcn/ui
35
- presets: [iimpPreset],
36
- content: [
37
- "./{src/,}app/**/*.{ts,tsx,js,jsx}",
38
- "./node_modules/@nrivera-iimp/ui-kit-iimp/dist/**/*.{js,mjs}"
39
- ],
40
- // ... resto de tu configuración
41
- }
42
- ```
43
-
44
- ### 2. Importar Estilos Globales
45
- En tu archivo `app/globals.css`, añade la importación de nuestros estilos.
46
-
47
- **Si usas Tailwind v4**, es crucial añadir el `@source` para que Tailwind escanee los componentes dentro de `node_modules`.
48
-
49
- ```css
50
- @import "tailwindcss";
51
- @import "@nrivera-iimp/ui-kit-iimp/styles.css";
52
-
53
- /* ⚡️ CRUCIAL PARA TAILWIND v4 ⚡️ */
54
- /* Esto permite que Tailwind encuentre las clases CSS dentro del paquete */
55
- @source "../node_modules/@nrivera-iimp/ui-kit-iimp/dist";
56
- ```
57
-
58
- ### 3. Script Anti-Flash (Crucial)
59
- Para evitar el parpadeo blanco y asegurar que los colores de la vertical carguen instantáneamente, añade este script en el `<head>` de tu `app/layout.tsx`.
60
-
61
- ```tsx
62
- // app/layout.tsx
63
- export default function RootLayout({ children }) {
64
- return (
65
- <html lang="es" suppressHydrationWarning>
66
- <head>
67
- <script
68
- dangerouslySetInnerHTML={{
69
- __html: `
70
- (function() {
71
- try {
72
- const saved = localStorage.getItem('iimp-vertical');
73
- const urlParams = new URLSearchParams(window.location.search);
74
- const themeParam = urlParams.get('theme');
75
-
76
- // Vertical por defecto: 'proexplo', 'wmc' o 'gess'
77
- const vertical = themeParam || saved || 'proexplo';
78
-
79
- // Aplicar clase y atributo para el motor de HSL
80
- document.documentElement.classList.add('vert-' + vertical);
81
- document.documentElement.setAttribute('data-vertical', vertical);
82
- } catch (e) {}
83
- })();
84
- `,
85
- }}
86
- />
87
- </head>
88
- <body>{children}</body>
89
- </html>
90
- );
91
- }
92
- ```
93
-
94
- ### 4. Configurar el VerticalProvider
95
- Envuelve tu aplicación con el provider en el layout raíz para gestionar el estado de las verticales y el modo oscuro.
96
-
97
- ```tsx
98
- import { VerticalProvider } from "@nrivera-iimp/ui-kit-iimp";
99
- import { ThemeProvider } from "next-themes";
100
-
101
- export default function RootLayout({ children }) {
102
- return (
103
- <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
104
- <VerticalProvider defaultVertical="proexplo">
105
- {children}
106
- </VerticalProvider>
107
- </ThemeProvider>
108
- );
109
- }
110
- ```
111
-
112
- ---
113
-
114
- ## 🎨 Theming y Verticales
115
-
116
- El sistema utiliza un **HSL Engine** que inyecta variables dinámicamente.
117
-
118
- ### Verticales Disponibles:
119
- - `proexplo`: Naranja IIMP (Enfoque en eventos y minería).
120
- - `wmc`: Azul Corporativo (World Mining Congress).
121
- - `gess`: Verde Sostenibilidad (Gestión Social).
122
-
123
- ### URL Theming (Dinámico)
124
- Puedes forzar el cambio de tema para un cliente específico enviando un parámetro en la URL. El sistema lo detectará, lo guardará en `localStorage` y limpiará la URL automáticamente.
125
-
126
- **Ejemplo:** `www.tu-sitio.com?theme=wmc`
127
-
128
- ---
129
-
130
- ## 🌓 Dark Mode
131
- El kit tiene soporte nativo para modo oscuro utilizando la clase `.dark` en el HTML.
132
- - Utiliza los prefijos `dark:` de Tailwind para estilos específicos.
133
- - El `VerticalProvider` ya maneja las variables de contraste optimizadas para fondos oscuros.
134
-
135
- ---
136
-
137
- ## 📦 Uso de Componentes
138
-
139
- ```tsx
140
- import { Button, Card, CardHeader, CardTitle } from "@nrivera-iimp/ui-kit-iimp";
141
-
142
- export default function MiPagina() {
143
- return (
144
- <Card>
145
- <CardHeader>
146
- <CardTitle>Hola IIMP</CardTitle>
147
- </CardHeader>
148
- <Button variant="default">Click aquí</Button>
149
- </Card>
150
- );
151
- }
152
- ```
153
-
154
- ---
155
- © 2026 Instituto de Ingenieros de Minas del Perú. Excelencia en Minería.
1
+ # @nrivera-iimp/ui-kit-iimp 🚀
2
+
3
+ Sistema de diseño premium para las verticales de **ProExplo**, **WMC** y **Gess**. Basado en shadcn/ui y Tailwind CSS.
4
+
5
+ Este paquete proporciona una base sólida, accesible y altamente personalizable para todas las aplicaciones web del IIMP, con un motor de theming dinámico integrado.
6
+
7
+ ---
8
+
9
+ ## 🛠️ Instalación
10
+
11
+ Abre tu terminal en la carpeta del proyecto y ejecuta:
12
+
13
+ ```bash
14
+ npm install @nrivera-iimp/ui-kit-iimp lucide-react clsx tailwind-merge next-themes
15
+ ```
16
+
17
+ ### Requisitos Previos
18
+ - **Node.js**: 18.0 o superior
19
+ - **Next.js**: 13.0+ (App Router recomendado)
20
+ - **Tailwind CSS**: Configurado en el proyecto
21
+
22
+ ---
23
+
24
+ ## ⚙️ Configuración Paso a Paso
25
+
26
+ ### 1. Agregar el Preset de Tailwind
27
+ Modifica tu archivo `tailwind.config.ts` (o `.js`) para importar nuestro preset. Esto incluirá automáticamente todos los colores corporativos y animaciones.
28
+
29
+ ```tsx
30
+ // tailwind.config.ts
31
+ import { iimpPreset } from "@nrivera-iimp/ui-kit-iimp/preset";
32
+
33
+ export default {
34
+ // El preset añade las variables HSL y la configuración de shadcn/ui
35
+ presets: [iimpPreset],
36
+ content: [
37
+ "./{src/,}app/**/*.{ts,tsx,js,jsx}",
38
+ "./node_modules/@nrivera-iimp/ui-kit-iimp/dist/**/*.{js,mjs}"
39
+ ],
40
+ // ... resto de tu configuración
41
+ }
42
+ ```
43
+
44
+ ### 2. Importar Estilos Globales
45
+ En tu archivo `app/globals.css`, añade la importación de nuestros estilos.
46
+
47
+ **Si usas Tailwind v4**, es crucial añadir el `@source` para que Tailwind escanee los componentes dentro de `node_modules`.
48
+
49
+ ```css
50
+ @import "tailwindcss";
51
+ @import "@nrivera-iimp/ui-kit-iimp/styles.css";
52
+
53
+ /* ⚡️ CRUCIAL PARA TAILWIND v4 ⚡️ */
54
+ /* Esto permite que Tailwind encuentre las clases CSS dentro del paquete */
55
+ @source "../node_modules/@nrivera-iimp/ui-kit-iimp/dist";
56
+ ```
57
+
58
+ ### 3. Script Anti-Flash (Crucial)
59
+ Para evitar el parpadeo blanco y asegurar que los colores de la vertical carguen instantáneamente, añade este script en el `<head>` de tu `app/layout.tsx`.
60
+
61
+ ```tsx
62
+ // app/layout.tsx
63
+ export default function RootLayout({ children }) {
64
+ return (
65
+ <html lang="es" suppressHydrationWarning>
66
+ <head>
67
+ <script
68
+ dangerouslySetInnerHTML={{
69
+ __html: `
70
+ (function() {
71
+ try {
72
+ const saved = localStorage.getItem('iimp-vertical');
73
+ const urlParams = new URLSearchParams(window.location.search);
74
+ const themeParam = urlParams.get('theme');
75
+
76
+ // Vertical por defecto: 'proexplo', 'wmc' o 'gess'
77
+ const vertical = themeParam || saved || 'proexplo';
78
+
79
+ // Aplicar clase y atributo para el motor de HSL
80
+ document.documentElement.classList.add('vert-' + vertical);
81
+ document.documentElement.setAttribute('data-vertical', vertical);
82
+ } catch (e) {}
83
+ })();
84
+ `,
85
+ }}
86
+ />
87
+ </head>
88
+ <body>{children}</body>
89
+ </html>
90
+ );
91
+ }
92
+ ```
93
+
94
+ ### 4. Configurar el VerticalProvider
95
+ Envuelve tu aplicación con el provider en el layout raíz para gestionar el estado de las verticales y el modo oscuro.
96
+
97
+ ```tsx
98
+ import { VerticalProvider } from "@nrivera-iimp/ui-kit-iimp";
99
+ import { ThemeProvider } from "next-themes";
100
+
101
+ export default function RootLayout({ children }) {
102
+ return (
103
+ <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
104
+ <VerticalProvider defaultVertical="proexplo">
105
+ {children}
106
+ </VerticalProvider>
107
+ </ThemeProvider>
108
+ );
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ## 🎨 Theming y Verticales
115
+
116
+ El sistema utiliza un **HSL Engine** que inyecta variables dinámicamente.
117
+
118
+ ### Verticales Disponibles:
119
+ - `proexplo`: Naranja IIMP (Enfoque en eventos y minería).
120
+ - `wmc`: Azul Corporativo (World Mining Congress).
121
+ - `gess`: Verde Sostenibilidad (Gestión Social).
122
+
123
+ ### URL Theming (Dinámico)
124
+ Puedes forzar el cambio de tema para un cliente específico enviando un parámetro en la URL. El sistema lo detectará, lo guardará en `localStorage` y limpiará la URL automáticamente.
125
+
126
+ **Ejemplo:** `www.tu-sitio.com?theme=wmc`
127
+
128
+ ---
129
+
130
+ ## 🌓 Dark Mode
131
+ El kit tiene soporte nativo para modo oscuro utilizando la clase `.dark` en el HTML.
132
+ - Utiliza los prefijos `dark:` de Tailwind para estilos específicos.
133
+ - El `VerticalProvider` ya maneja las variables de contraste optimizadas para fondos oscuros.
134
+
135
+ ---
136
+
137
+ ## 📦 Uso de Componentes
138
+
139
+ ```tsx
140
+ import { Button, Card, CardHeader, CardTitle } from "@nrivera-iimp/ui-kit-iimp";
141
+
142
+ export default function MiPagina() {
143
+ return (
144
+ <Card>
145
+ <CardHeader>
146
+ <CardTitle>Hola IIMP</CardTitle>
147
+ </CardHeader>
148
+ <Button variant="default">Click aquí</Button>
149
+ </Card>
150
+ );
151
+ }
152
+ ```
153
+
154
+ ---
155
+ © 2026 Instituto de Ingenieros de Minas del Perú. Excelencia en Minería.
package/dist/index.d.ts CHANGED
@@ -1,44 +1,46 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as React from 'react';
3
- import * as class_variance_authority_types from 'class-variance-authority/types';
4
- import { VariantProps } from 'class-variance-authority';
5
- import * as SeparatorPrimitive from '@radix-ui/react-separator';
6
- import * as TabsPrimitive from '@radix-ui/react-tabs';
7
-
8
- type Vertical = "proexplo" | "wmc" | "gess";
9
- interface VerticalContextType {
10
- vertical: Vertical;
11
- setVertical: (vertical: Vertical) => void;
12
- }
13
- declare function VerticalProvider({ children, defaultVertical }: {
14
- children: React.ReactNode;
15
- defaultVertical?: Vertical;
16
- }): react_jsx_runtime.JSX.Element;
17
- declare const useVertical: () => VerticalContextType;
18
-
19
- declare const buttonVariants: (props?: ({
20
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
21
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
22
- } & class_variance_authority_types.ClassProp) | undefined) => string;
23
- interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
24
- asChild?: boolean;
25
- }
26
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
27
-
28
- declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
29
- declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
30
- declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
31
- declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
32
- declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
33
- declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
34
-
35
- declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
36
-
37
- declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
38
- declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
39
- declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
40
- declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
41
-
42
- declare function IIMPLogo(): react_jsx_runtime.JSX.Element;
43
-
44
- export { Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, IIMPLogo, Separator, Tabs, TabsContent, TabsList, TabsTrigger, type Vertical, VerticalProvider, buttonVariants, useVertical };
1
+ export * from "@/components/vertical-provider";
2
+ export * from "@/components/vertical-switcher";
3
+ export * from "@/components/ui/accordion";
4
+ export * from "@/components/ui/alert";
5
+ export * from "@/components/ui/alert-dialog";
6
+ export * from "@/components/ui/aspect-ratio";
7
+ export * from "@/components/ui/avatar";
8
+ export * from "@/components/ui/badge";
9
+ export * from "@/components/ui/breadcrumb";
10
+ export * from "@/components/ui/button";
11
+ export * from "@/components/ui/calendar";
12
+ export * from "@/components/ui/card";
13
+ export * from "@/components/ui/checkbox";
14
+ export * from "@/components/ui/collapsible";
15
+ export * from "@/components/ui/command";
16
+ export * from "@/components/ui/context-menu";
17
+ export * from "@/components/ui/dialog";
18
+ export * from "@/components/ui/drawer";
19
+ export * from "@/components/ui/dropdown-menu";
20
+ export * from "@/components/ui/form";
21
+ export * from "@/components/ui/hover-card";
22
+ export * from "@/components/ui/input";
23
+ export * from "@/components/ui/label";
24
+ export * from "@/components/ui/menubar";
25
+ export * from "@/components/ui/navigation-menu";
26
+ export * from "@/components/ui/pagination";
27
+ export * from "@/components/ui/popover";
28
+ export * from "@/components/ui/progress";
29
+ export * from "@/components/ui/radio-group";
30
+ export * from "@/components/ui/resizable";
31
+ export * from "@/components/ui/scroll-area";
32
+ export * from "@/components/ui/select";
33
+ export * from "@/components/ui/separator";
34
+ export * from "@/components/ui/sheet";
35
+ export * from "@/components/ui/skeleton";
36
+ export * from "@/components/ui/slider";
37
+ export * from "@/components/ui/sonner";
38
+ export * from "@/components/ui/switch";
39
+ export * from "@/components/ui/table";
40
+ export * from "@/components/ui/tabs";
41
+ export * from "@/components/ui/textarea";
42
+ export * from "@/components/ui/toggle";
43
+ export * from "@/components/ui/toggle-group";
44
+ export * from "@/components/ui/tooltip";
45
+ export { IIMPLogo } from "@/components/iimp-logo";
46
+ export type { Vertical } from "@/components/vertical-provider";
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }'use client';
2
- "use client";var _react = require('react'); var i = _interopRequireWildcard(_react); var x = _interopRequireWildcard(_react); var l = _interopRequireWildcard(_react); var V = _interopRequireWildcard(_react); var d = _interopRequireWildcard(_react); var k = _interopRequireWildcard(_react);var _navigation = require('next/navigation');var _jsxruntime = require('react/jsx-runtime');var b=i.createContext(void 0);function U({setVerticalState:e}){let r=_navigation.useRouter.call(void 0, ),t=_navigation.useSearchParams.call(void 0, ),s=_navigation.usePathname.call(void 0, );return i.useEffect(()=>{let c=t.get("theme");if(c&&["proexplo","wmc","gess"].includes(c)){e(c),localStorage.setItem("iimp-vertical",c);let o=new URLSearchParams(t.toString());o.delete("theme");let p=o.toString(),I=p?`${s}?${p}`:s;r.replace(I)}},[t,s,r,e]),null}function Z({children:e,defaultVertical:r="gess"}){let[t,s]=i.useState(r);i.useEffect(()=>{let o=localStorage.getItem("iimp-vertical");o&&["proexplo","wmc","gess"].includes(o)&&s(o)},[]);let c=o=>{s(o),localStorage.setItem("iimp-vertical",o)};return i.useEffect(()=>{let o=window.document.documentElement;o.classList.remove("vert-proexplo","vert-wmc","vert-gess"),o.classList.add(`vert-${t}`),o.setAttribute("data-vertical",t)},[t]),_jsxruntime.jsxs.call(void 0, b.Provider,{value:{vertical:t,setVertical:c},children:[_jsxruntime.jsx.call(void 0, i.Suspense,{fallback:null,children:_jsxruntime.jsx.call(void 0, U,{setVerticalState:s})}),e]})}var R=()=>{let e=i.useContext(b);if(!e)throw new Error("useVertical must be used within a VerticalProvider");return e};var _reactslot = require('@radix-ui/react-slot');var _classvarianceauthority = require('class-variance-authority');var _clsx = require('clsx');var _tailwindmerge = require('tailwind-merge');function a(...e){return _tailwindmerge.twMerge.call(void 0, _clsx.clsx.call(void 0, e))}var T=_classvarianceauthority.cva.call(void 0, "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),h= exports.Button =x.forwardRef(({className:e,variant:r,size:t,asChild:s=!1,...c},o)=>_jsxruntime.jsx.call(void 0, s?_reactslot.Slot:"button",{className:a(T({variant:r,size:t,className:e})),ref:o,...c}));h.displayName="Button";var y=l.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, "div",{ref:t,className:a("rounded-xl border bg-card text-card-foreground shadow",e),...r}));y.displayName="Card";var C=l.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, "div",{ref:t,className:a("flex flex-col space-y-1.5 p-6",e),...r}));C.displayName="CardHeader";var P=l.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, "div",{ref:t,className:a("font-semibold leading-none tracking-tight",e),...r}));P.displayName="CardTitle";var w=l.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, "div",{ref:t,className:a("text-sm text-muted-foreground",e),...r}));w.displayName="CardDescription";var L=l.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, "div",{ref:t,className:a("p-6 pt-0",e),...r}));L.displayName="CardContent";var N=l.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, "div",{ref:t,className:a("flex items-center p-6 pt-0",e),...r}));N.displayName="CardFooter";var _reactseparator = require('@radix-ui/react-separator'); var f = _interopRequireWildcard(_reactseparator);var M=V.forwardRef(({className:e,orientation:r="horizontal",decorative:t=!0,...s},c)=>_jsxruntime.jsx.call(void 0, f.Root,{ref:c,decorative:t,orientation:r,className:a("shrink-0 bg-border",r==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...s}));M.displayName=f.Root.displayName;var _reacttabs = require('@radix-ui/react-tabs'); var n = _interopRequireWildcard(_reacttabs);var J=n.Root,H= exports.TabsList =d.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, n.List,{ref:t,className:a("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...r}));H.displayName=n.List.displayName;var E=d.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, n.Trigger,{ref:t,className:a("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all 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=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...r}));E.displayName=n.Trigger.displayName;var S=d.forwardRef(({className:e,...r},t)=>_jsxruntime.jsx.call(void 0, n.Content,{ref:t,className:a("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r}));S.displayName=n.Content.displayName;var _link = require('next/link'); var _link2 = _interopRequireDefault(_link);var _image = require('next/image'); var _image2 = _interopRequireDefault(_image);function X(){let{vertical:e}=R(),r=k.useMemo(()=>{switch(e){case"proexplo":return"/logos/logo-iimp.png";case"wmc":return"/logos/logo-wmc.png";case"gess":return"/logos/logo-gess.png";default:return"/logos/logo-iimp.png"}},[e]);return _jsxruntime.jsxs.call(void 0, _link2.default,{href:"/",className:"flex items-center gap-3 group cursor-pointer transition-transform hover:scale-[1.02]",children:[_jsxruntime.jsx.call(void 0, "div",{className:"relative h-10 w-24",children:_jsxruntime.jsx.call(void 0, _image2.default,{src:r,alt:"IIMP Logo",fill:!0,className:"object-contain",priority:!0})}),_jsxruntime.jsxs.call(void 0, "span",{className:"text-lg font-black tracking-tighter text-foreground uppercase hidden sm:block",children:["IIMP ",_jsxruntime.jsx.call(void 0, "span",{className:"text-primary",children:"UI-KIT"})]})]})}exports.Button = h; exports.Card = y; exports.CardContent = L; exports.CardDescription = w; exports.CardFooter = N; exports.CardHeader = C; exports.CardTitle = P; exports.IIMPLogo = X; exports.Separator = M; exports.Tabs = J; exports.TabsContent = S; exports.TabsList = H; exports.TabsTrigger = E; exports.VerticalProvider = Z; exports.buttonVariants = T; exports.useVertical = R;
1
+ 'use client';
2
+ "use strict";"use client";var Jr=Object.create;var We=Object.defineProperty;var Qr=Object.getOwnPropertyDescriptor;var Yr=Object.getOwnPropertyNames;var Zr=Object.getPrototypeOf,jr=Object.prototype.hasOwnProperty;var ei=(e,t)=>{for(var o in t)We(e,o,{get:t[o],enumerable:!0})},yt=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Yr(t))!jr.call(e,n)&&n!==o&&We(e,n,{get:()=>t[n],enumerable:!(r=Qr(t,n))||r.enumerable});return e};var i=(e,t,o)=>(o=e!=null?Jr(Zr(e)):{},yt(t||!e||!e.__esModule?We(o,"default",{value:e,enumerable:!0}):o,e)),ti=e=>yt(We({},"__esModule",{value:!0}),e);var dn={};ei(dn,{Accordion:()=>ii,AccordionContent:()=>Tt,AccordionItem:()=>Ct,AccordionTrigger:()=>Mt,Alert:()=>Dt,AlertDescription:()=>Lt,AlertDialog:()=>si,AlertDialogAction:()=>Bt,AlertDialogCancel:()=>Ot,AlertDialogContent:()=>Vt,AlertDialogDescription:()=>Gt,AlertDialogFooter:()=>Ft,AlertDialogHeader:()=>zt,AlertDialogOverlay:()=>et,AlertDialogPortal:()=>Wt,AlertDialogTitle:()=>_t,AlertDialogTrigger:()=>mi,AlertTitle:()=>It,AspectRatio:()=>li,Avatar:()=>$t,AvatarFallback:()=>Xt,AvatarImage:()=>qt,Badge:()=>di,Breadcrumb:()=>Zt,BreadcrumbEllipsis:()=>ro,BreadcrumbItem:()=>eo,BreadcrumbLink:()=>to,BreadcrumbList:()=>jt,BreadcrumbPage:()=>oo,BreadcrumbSeparator:()=>ao,Button:()=>_e,Calendar:()=>ci,CalendarDayButton:()=>io,Card:()=>no,CardContent:()=>co,CardDescription:()=>lo,CardFooter:()=>po,CardHeader:()=>so,CardTitle:()=>mo,Checkbox:()=>vo,Collapsible:()=>pi,CollapsibleContent:()=>ui,CollapsibleTrigger:()=>fi,Command:()=>at,CommandDialog:()=>Ri,CommandEmpty:()=>Co,CommandGroup:()=>Mo,CommandInput:()=>wo,CommandItem:()=>So,CommandList:()=>No,CommandSeparator:()=>To,CommandShortcut:()=>Do,ContextMenu:()=>Pi,ContextMenuCheckboxItem:()=>Ao,ContextMenuContent:()=>Eo,ContextMenuGroup:()=>yi,ContextMenuItem:()=>ko,ContextMenuLabel:()=>Wo,ContextMenuPortal:()=>xi,ContextMenuRadioGroup:()=>wi,ContextMenuRadioItem:()=>Ho,ContextMenuSeparator:()=>Vo,ContextMenuShortcut:()=>zo,ContextMenuSub:()=>hi,ContextMenuSubContent:()=>Lo,ContextMenuSubTrigger:()=>Io,ContextMenuTrigger:()=>bi,Dialog:()=>tt,DialogClose:()=>gi,DialogContent:()=>qe,DialogDescription:()=>xo,DialogFooter:()=>bo,DialogHeader:()=>Po,DialogOverlay:()=>ot,DialogPortal:()=>Ro,DialogTitle:()=>yo,DialogTrigger:()=>vi,Drawer:()=>Fo,DrawerClose:()=>Ci,DrawerContent:()=>Go,DrawerDescription:()=>$o,DrawerFooter:()=>Oo,DrawerHeader:()=>Bo,DrawerOverlay:()=>rt,DrawerPortal:()=>_o,DrawerTitle:()=>Uo,DrawerTrigger:()=>Ni,DropdownMenu:()=>Mi,DropdownMenuCheckboxItem:()=>Qo,DropdownMenuContent:()=>Ko,DropdownMenuGroup:()=>Si,DropdownMenuItem:()=>Jo,DropdownMenuLabel:()=>Zo,DropdownMenuPortal:()=>Di,DropdownMenuRadioGroup:()=>Li,DropdownMenuRadioItem:()=>Yo,DropdownMenuSeparator:()=>jo,DropdownMenuShortcut:()=>ea,DropdownMenuSub:()=>Ii,DropdownMenuSubContent:()=>Xo,DropdownMenuSubTrigger:()=>qo,DropdownMenuTrigger:()=>Ti,Form:()=>ki,FormControl:()=>la,FormDescription:()=>da,FormField:()=>Ai,FormItem:()=>sa,FormLabel:()=>ma,FormMessage:()=>ca,HoverCard:()=>Hi,HoverCardContent:()=>fa,HoverCardTrigger:()=>Wi,IIMPLogo:()=>Kr,Input:()=>ga,Label:()=>Xe,Menubar:()=>Pa,MenubarCheckboxItem:()=>Na,MenubarContent:()=>ha,MenubarGroup:()=>zi,MenubarItem:()=>wa,MenubarLabel:()=>Ma,MenubarMenu:()=>Vi,MenubarPortal:()=>Fi,MenubarRadioGroup:()=>_i,MenubarRadioItem:()=>Ca,MenubarSeparator:()=>Ta,MenubarShortcut:()=>Sa,MenubarSub:()=>Gi,MenubarSubContent:()=>xa,MenubarSubTrigger:()=>ya,MenubarTrigger:()=>ba,NavigationMenu:()=>La,NavigationMenuContent:()=>Ha,NavigationMenuIndicator:()=>Wa,NavigationMenuItem:()=>Bi,NavigationMenuLink:()=>Oi,NavigationMenuList:()=>Ea,NavigationMenuTrigger:()=>Aa,NavigationMenuViewport:()=>nt,Pagination:()=>Va,PaginationContent:()=>za,PaginationEllipsis:()=>Ba,PaginationItem:()=>Fa,PaginationLink:()=>Ke,PaginationNext:()=>Ga,PaginationPrevious:()=>_a,Popover:()=>Ui,PopoverAnchor:()=>qi,PopoverContent:()=>Ua,PopoverTrigger:()=>$i,Progress:()=>qa,RadioGroup:()=>Ka,RadioGroupItem:()=>Ja,ResizableHandle:()=>Ji,ResizablePanel:()=>Ki,ResizablePanelGroup:()=>Xi,ScrollArea:()=>Ya,ScrollBar:()=>pt,Select:()=>Qi,SelectContent:()=>ja,SelectGroup:()=>Yi,SelectItem:()=>tr,SelectLabel:()=>er,SelectScrollDownButton:()=>ut,SelectScrollUpButton:()=>ft,SelectSeparator:()=>or,SelectTrigger:()=>Za,SelectValue:()=>Zi,Separator:()=>rr,Sheet:()=>ji,SheetClose:()=>tn,SheetContent:()=>lr,SheetDescription:()=>fr,SheetFooter:()=>cr,SheetHeader:()=>dr,SheetOverlay:()=>gt,SheetPortal:()=>mr,SheetTitle:()=>pr,SheetTrigger:()=>en,Skeleton:()=>an,Slider:()=>gr,Switch:()=>xr,Table:()=>hr,TableBody:()=>Nr,TableCaption:()=>Dr,TableCell:()=>Sr,TableFooter:()=>Cr,TableHead:()=>Tr,TableHeader:()=>wr,TableRow:()=>Mr,Tabs:()=>nn,TabsContent:()=>Er,TabsList:()=>Ir,TabsTrigger:()=>Lr,Textarea:()=>Ar,Toaster:()=>rn,Toggle:()=>zr,ToggleGroup:()=>Gr,ToggleGroupItem:()=>Br,Tooltip:()=>mn,TooltipContent:()=>Ur,TooltipProvider:()=>sn,TooltipTrigger:()=>ln,VerticalProvider:()=>ai,VerticalSwitcher:()=>ri,badgeVariants:()=>Jt,buttonVariants:()=>_,navigationMenuTriggerStyle:()=>ka,toggleVariants:()=>Ye,useFormField:()=>Ie,useVertical:()=>Ne});module.exports=ti(dn);var T=i(require("react")),de=require("next/navigation"),we=require("react/jsx-runtime"),xt=T.createContext(void 0);function oi({setVerticalState:e}){let t=(0,de.useRouter)(),o=(0,de.useSearchParams)(),r=(0,de.usePathname)();return T.useEffect(()=>{let n=o.get("theme");if(n&&["proexplo","wmc","gess"].includes(n)){e(n),localStorage.setItem("iimp-vertical",n);let c=new URLSearchParams(o.toString());c.delete("theme");let H=c.toString(),je=H?`${r}?${H}`:r;t.replace(je)}},[o,r,t,e]),null}function ai({children:e,defaultVertical:t="gess"}){let[o,r]=T.useState(t);T.useEffect(()=>{let c=localStorage.getItem("iimp-vertical");c&&["proexplo","wmc","gess"].includes(c)&&r(c)},[]);let n=c=>{r(c),localStorage.setItem("iimp-vertical",c)};return T.useEffect(()=>{let c=window.document.documentElement;c.classList.remove("vert-proexplo","vert-wmc","vert-gess"),c.classList.add(`vert-${o}`),c.setAttribute("data-vertical",o)},[o]),(0,we.jsxs)(xt.Provider,{value:{vertical:o,setVertical:n},children:[(0,we.jsx)(T.Suspense,{fallback:null,children:(0,we.jsx)(oi,{setVerticalState:r})}),e]})}var Ne=()=>{let e=T.useContext(xt);if(!e)throw new Error("useVertical must be used within a VerticalProvider");return e};var ht=require("clsx"),wt=require("tailwind-merge");function a(...e){return(0,wt.twMerge)((0,ht.clsx)(e))}var Ce=require("react/jsx-runtime");function ri(){let{vertical:e,setVertical:t}=Ne();return(0,Ce.jsx)("div",{className:"flex items-center gap-1 p-1 bg-muted/50 border rounded-full backdrop-blur-sm",children:[{id:"proexplo",name:"ProExplo",color:"bg-[#ea7317]"},{id:"wmc",name:"WMC",color:"bg-[#00b3dc]"},{id:"gess",name:"Gess",color:"bg-[#1c8840]"}].map(r=>(0,Ce.jsxs)("button",{onClick:()=>t(r.id),className:a("relative flex items-center gap-2 px-3 py-1.5 text-xs font-semibold transition-all rounded-full",e===r.id?"bg-background shadow-sm text-foreground":"text-muted-foreground hover:text-foreground hover:bg-background/50"),children:[(0,Ce.jsx)("span",{className:a("h-2 w-2 rounded-full",r.color)}),r.name]},r.id))})}var Ve=i(require("react")),S=i(require("@radix-ui/react-accordion")),Nt=require("lucide-react");var Q=require("react/jsx-runtime"),ii=S.Root,Ct=Ve.forwardRef(({className:e,...t},o)=>(0,Q.jsx)(S.Item,{ref:o,className:a("border-b",e),...t}));Ct.displayName="AccordionItem";var Mt=Ve.forwardRef(({className:e,children:t,...o},r)=>(0,Q.jsx)(S.Header,{className:"flex",children:(0,Q.jsxs)(S.Trigger,{ref:r,className:a("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...o,children:[t,(0,Q.jsx)(Nt.ChevronDown,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));Mt.displayName=S.Trigger.displayName;var Tt=Ve.forwardRef(({className:e,children:t,...o},r)=>(0,Q.jsx)(S.Content,{ref:r,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...o,children:(0,Q.jsx)("div",{className:a("pb-4 pt-0",e),children:t})}));Tt.displayName=S.Content.displayName;var ze=i(require("react")),St=require("class-variance-authority");var Fe=require("react/jsx-runtime"),ni=(0,St.cva)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Dt=ze.forwardRef(({className:e,variant:t,...o},r)=>(0,Fe.jsx)("div",{ref:r,role:"alert",className:a(ni({variant:t}),e),...o}));Dt.displayName="Alert";var It=ze.forwardRef(({className:e,...t},o)=>(0,Fe.jsx)("h5",{ref:o,className:a("mb-1 font-medium leading-none tracking-tight",e),...t}));It.displayName="AlertTitle";var Lt=ze.forwardRef(({className:e,...t},o)=>(0,Fe.jsx)("div",{ref:o,className:a("text-sm [&_p]:leading-relaxed",e),...t}));Lt.displayName="AlertDescription";var te=i(require("react")),u=i(require("@radix-ui/react-alert-dialog"));var Et=i(require("react")),kt=require("@radix-ui/react-slot"),At=require("class-variance-authority");var Ht=require("react/jsx-runtime"),_=(0,At.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),_e=Et.forwardRef(({className:e,variant:t,size:o,asChild:r=!1,...n},c)=>(0,Ht.jsx)(r?kt.Slot:"button",{className:a(_({variant:t,size:o,className:e})),ref:c,...n}));_e.displayName="Button";var D=require("react/jsx-runtime"),si=u.Root,mi=u.Trigger,Wt=u.Portal,et=te.forwardRef(({className:e,...t},o)=>(0,D.jsx)(u.Overlay,{className:a("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:o}));et.displayName=u.Overlay.displayName;var Vt=te.forwardRef(({className:e,...t},o)=>(0,D.jsxs)(Wt,{children:[(0,D.jsx)(et,{}),(0,D.jsx)(u.Content,{ref:o,className:a("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));Vt.displayName=u.Content.displayName;var zt=({className:e,...t})=>(0,D.jsx)("div",{className:a("flex flex-col space-y-2 text-center sm:text-left",e),...t});zt.displayName="AlertDialogHeader";var Ft=({className:e,...t})=>(0,D.jsx)("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Ft.displayName="AlertDialogFooter";var _t=te.forwardRef(({className:e,...t},o)=>(0,D.jsx)(u.Title,{ref:o,className:a("text-lg font-semibold",e),...t}));_t.displayName=u.Title.displayName;var Gt=te.forwardRef(({className:e,...t},o)=>(0,D.jsx)(u.Description,{ref:o,className:a("text-sm text-muted-foreground",e),...t}));Gt.displayName=u.Description.displayName;var Bt=te.forwardRef(({className:e,...t},o)=>(0,D.jsx)(u.Action,{ref:o,className:a(_(),e),...t}));Bt.displayName=u.Action.displayName;var Ot=te.forwardRef(({className:e,...t},o)=>(0,D.jsx)(u.Cancel,{ref:o,className:a(_({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));Ot.displayName=u.Cancel.displayName;var Ut=i(require("@radix-ui/react-aspect-ratio")),li=Ut.Root;var Ge=i(require("react")),O=i(require("@radix-ui/react-avatar"));var Be=require("react/jsx-runtime"),$t=Ge.forwardRef(({className:e,...t},o)=>(0,Be.jsx)(O.Root,{ref:o,className:a("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));$t.displayName=O.Root.displayName;var qt=Ge.forwardRef(({className:e,...t},o)=>(0,Be.jsx)(O.Image,{ref:o,className:a("aspect-square h-full w-full",e),...t}));qt.displayName=O.Image.displayName;var Xt=Ge.forwardRef(({className:e,...t},o)=>(0,Be.jsx)(O.Fallback,{ref:o,className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));Xt.displayName=O.Fallback.displayName;var Kt=require("class-variance-authority");var Qt=require("react/jsx-runtime"),Jt=(0,Kt.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function di({className:e,variant:t,...o}){return(0,Qt.jsx)("div",{className:a(Jt({variant:t}),e),...o})}var ce=i(require("react")),Yt=require("@radix-ui/react-slot"),Oe=require("lucide-react");var I=require("react/jsx-runtime"),Zt=ce.forwardRef(({...e},t)=>(0,I.jsx)("nav",{ref:t,"aria-label":"breadcrumb",...e}));Zt.displayName="Breadcrumb";var jt=ce.forwardRef(({className:e,...t},o)=>(0,I.jsx)("ol",{ref:o,className:a("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...t}));jt.displayName="BreadcrumbList";var eo=ce.forwardRef(({className:e,...t},o)=>(0,I.jsx)("li",{ref:o,className:a("inline-flex items-center gap-1.5",e),...t}));eo.displayName="BreadcrumbItem";var to=ce.forwardRef(({asChild:e,className:t,...o},r)=>(0,I.jsx)(e?Yt.Slot:"a",{ref:r,className:a("transition-colors hover:text-foreground",t),...o}));to.displayName="BreadcrumbLink";var oo=ce.forwardRef(({className:e,...t},o)=>(0,I.jsx)("span",{ref:o,role:"link","aria-disabled":"true","aria-current":"page",className:a("font-normal text-foreground",e),...t}));oo.displayName="BreadcrumbPage";var ao=({children:e,className:t,...o})=>(0,I.jsx)("li",{role:"presentation","aria-hidden":"true",className:a("[&>svg]:w-3.5 [&>svg]:h-3.5",t),...o,children:e??(0,I.jsx)(Oe.ChevronRight,{})});ao.displayName="BreadcrumbSeparator";var ro=({className:e,...t})=>(0,I.jsxs)("span",{role:"presentation","aria-hidden":"true",className:a("flex h-9 w-9 items-center justify-center",e),...t,children:[(0,I.jsx)(Oe.MoreHorizontal,{className:"h-4 w-4"}),(0,I.jsx)("span",{className:"sr-only",children:"More"})]});ro.displayName="BreadcrumbElipssis";var Ue=i(require("react")),pe=require("lucide-react"),Me=require("react-day-picker");var U=require("react/jsx-runtime");function ci({className:e,classNames:t,showOutsideDays:o=!0,captionLayout:r="label",buttonVariant:n="ghost",formatters:c,components:H,...je}){let f=(0,Me.getDefaultClassNames)();return(0,U.jsx)(Me.DayPicker,{showOutsideDays:o,className:a("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:B=>B.toLocaleString("default",{month:"short"}),...c},classNames:{root:a("w-fit",f.root),months:a("relative flex flex-col gap-4 md:flex-row",f.months),month:a("flex w-full flex-col gap-4",f.month),nav:a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",f.nav),button_previous:a(_({variant:n}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",f.button_previous),button_next:a(_({variant:n}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",f.button_next),month_caption:a("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",f.month_caption),dropdowns:a("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",f.dropdowns),dropdown_root:a("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",f.dropdown_root),dropdown:a("bg-popover absolute inset-0 opacity-0",f.dropdown),caption_label:a("select-none font-medium",r==="label"?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",f.caption_label),table:"w-full border-collapse",weekdays:a("flex",f.weekdays),weekday:a("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",f.weekday),week:a("mt-2 flex w-full",f.week),week_number_header:a("w-[--cell-size] select-none",f.week_number_header),week_number:a("text-muted-foreground select-none text-[0.8rem]",f.week_number),day:a("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",f.day),range_start:a("bg-accent rounded-l-md",f.range_start),range_middle:a("rounded-none",f.range_middle),range_end:a("bg-accent rounded-r-md",f.range_end),today:a("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",f.today),outside:a("text-muted-foreground aria-selected:text-muted-foreground",f.outside),disabled:a("text-muted-foreground opacity-50",f.disabled),hidden:a("invisible",f.hidden),...t},components:{Root:({className:B,rootRef:le,...he})=>(0,U.jsx)("div",{"data-slot":"calendar",ref:le,className:a(B),...he}),Chevron:({className:B,orientation:le,...he})=>le==="left"?(0,U.jsx)(pe.ChevronLeftIcon,{className:a("size-4",B),...he}):le==="right"?(0,U.jsx)(pe.ChevronRightIcon,{className:a("size-4",B),...he}):(0,U.jsx)(pe.ChevronDownIcon,{className:a("size-4",B),...he}),DayButton:io,WeekNumber:({children:B,...le})=>(0,U.jsx)("td",{...le,children:(0,U.jsx)("div",{className:"flex size-[--cell-size] items-center justify-center text-center",children:B})}),...H},...je})}function io({className:e,day:t,modifiers:o,...r}){let n=(0,Me.getDefaultClassNames)(),c=Ue.useRef(null);return Ue.useEffect(()=>{o.focused&&c.current?.focus()},[o.focused]),(0,U.jsx)(_e,{ref:c,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":o.selected&&!o.range_start&&!o.range_end&&!o.range_middle,"data-range-start":o.range_start,"data-range-end":o.range_end,"data-range-middle":o.range_middle,className:a("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",n.day,e),...r})}var oe=i(require("react"));var ae=require("react/jsx-runtime"),no=oe.forwardRef(({className:e,...t},o)=>(0,ae.jsx)("div",{ref:o,className:a("rounded-xl border bg-card text-card-foreground shadow",e),...t}));no.displayName="Card";var so=oe.forwardRef(({className:e,...t},o)=>(0,ae.jsx)("div",{ref:o,className:a("flex flex-col space-y-1.5 p-6",e),...t}));so.displayName="CardHeader";var mo=oe.forwardRef(({className:e,...t},o)=>(0,ae.jsx)("div",{ref:o,className:a("font-semibold leading-none tracking-tight",e),...t}));mo.displayName="CardTitle";var lo=oe.forwardRef(({className:e,...t},o)=>(0,ae.jsx)("div",{ref:o,className:a("text-sm text-muted-foreground",e),...t}));lo.displayName="CardDescription";var co=oe.forwardRef(({className:e,...t},o)=>(0,ae.jsx)("div",{ref:o,className:a("p-6 pt-0",e),...t}));co.displayName="CardContent";var po=oe.forwardRef(({className:e,...t},o)=>(0,ae.jsx)("div",{ref:o,className:a("flex items-center p-6 pt-0",e),...t}));po.displayName="CardFooter";var fo=i(require("react")),Te=i(require("@radix-ui/react-checkbox")),uo=require("lucide-react");var $e=require("react/jsx-runtime"),vo=fo.forwardRef(({className:e,...t},o)=>(0,$e.jsx)(Te.Root,{ref:o,className:a("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:(0,$e.jsx)(Te.Indicator,{className:a("grid place-content-center text-current"),children:(0,$e.jsx)(uo.Check,{className:"h-4 w-4"})})}));vo.displayName=Te.Root.displayName;var fe=i(require("@radix-ui/react-collapsible")),pi=fe.Root,fi=fe.CollapsibleTrigger,ui=fe.CollapsibleContent;var Y=i(require("react")),h=require("cmdk"),ho=require("lucide-react");var Se=i(require("react")),g=i(require("@radix-ui/react-dialog")),go=require("lucide-react");var C=require("react/jsx-runtime"),tt=g.Root,vi=g.Trigger,Ro=g.Portal,gi=g.Close,ot=Se.forwardRef(({className:e,...t},o)=>(0,C.jsx)(g.Overlay,{ref:o,className:a("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));ot.displayName=g.Overlay.displayName;var qe=Se.forwardRef(({className:e,children:t,...o},r)=>(0,C.jsxs)(Ro,{children:[(0,C.jsx)(ot,{}),(0,C.jsxs)(g.Content,{ref:r,className:a("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...o,children:[t,(0,C.jsxs)(g.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,C.jsx)(go.X,{className:"h-4 w-4"}),(0,C.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));qe.displayName=g.Content.displayName;var Po=({className:e,...t})=>(0,C.jsx)("div",{className:a("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Po.displayName="DialogHeader";var bo=({className:e,...t})=>(0,C.jsx)("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});bo.displayName="DialogFooter";var yo=Se.forwardRef(({className:e,...t},o)=>(0,C.jsx)(g.Title,{ref:o,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));yo.displayName=g.Title.displayName;var xo=Se.forwardRef(({className:e,...t},o)=>(0,C.jsx)(g.Description,{ref:o,className:a("text-sm text-muted-foreground",e),...t}));xo.displayName=g.Description.displayName;var x=require("react/jsx-runtime"),at=Y.forwardRef(({className:e,...t},o)=>(0,x.jsx)(h.Command,{ref:o,className:a("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));at.displayName=h.Command.displayName;var Ri=({children:e,...t})=>(0,x.jsx)(tt,{...t,children:(0,x.jsx)(qe,{className:"overflow-hidden p-0",children:(0,x.jsx)(at,{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:e})})}),wo=Y.forwardRef(({className:e,...t},o)=>(0,x.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,x.jsx)(ho.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,x.jsx)(h.Command.Input,{ref:o,className:a("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));wo.displayName=h.Command.Input.displayName;var No=Y.forwardRef(({className:e,...t},o)=>(0,x.jsx)(h.Command.List,{ref:o,className:a("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));No.displayName=h.Command.List.displayName;var Co=Y.forwardRef((e,t)=>(0,x.jsx)(h.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));Co.displayName=h.Command.Empty.displayName;var Mo=Y.forwardRef(({className:e,...t},o)=>(0,x.jsx)(h.Command.Group,{ref:o,className:a("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));Mo.displayName=h.Command.Group.displayName;var To=Y.forwardRef(({className:e,...t},o)=>(0,x.jsx)(h.Command.Separator,{ref:o,className:a("-mx-1 h-px bg-border",e),...t}));To.displayName=h.Command.Separator.displayName;var So=Y.forwardRef(({className:e,...t},o)=>(0,x.jsx)(h.Command.Item,{ref:o,className:a("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));So.displayName=h.Command.Item.displayName;var Do=({className:e,...t})=>(0,x.jsx)("span",{className:a("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});Do.displayName="CommandShortcut";var $=i(require("react")),m=i(require("@radix-ui/react-context-menu")),ue=require("lucide-react");var b=require("react/jsx-runtime"),Pi=m.Root,bi=m.Trigger,yi=m.Group,xi=m.Portal,hi=m.Sub,wi=m.RadioGroup,Io=$.forwardRef(({className:e,inset:t,children:o,...r},n)=>(0,b.jsxs)(m.SubTrigger,{ref:n,className:a("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...r,children:[o,(0,b.jsx)(ue.ChevronRight,{className:"ml-auto h-4 w-4"})]}));Io.displayName=m.SubTrigger.displayName;var Lo=$.forwardRef(({className:e,...t},o)=>(0,b.jsx)(m.SubContent,{ref:o,className:a("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t}));Lo.displayName=m.SubContent.displayName;var Eo=$.forwardRef(({className:e,...t},o)=>(0,b.jsx)(m.Portal,{children:(0,b.jsx)(m.Content,{ref:o,className:a("z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t})}));Eo.displayName=m.Content.displayName;var ko=$.forwardRef(({className:e,inset:t,...o},r)=>(0,b.jsx)(m.Item,{ref:r,className:a("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...o}));ko.displayName=m.Item.displayName;var Ao=$.forwardRef(({className:e,children:t,checked:o,...r},n)=>(0,b.jsxs)(m.CheckboxItem,{ref:n,className:a("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...r,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(m.ItemIndicator,{children:(0,b.jsx)(ue.Check,{className:"h-4 w-4"})})}),t]}));Ao.displayName=m.CheckboxItem.displayName;var Ho=$.forwardRef(({className:e,children:t,...o},r)=>(0,b.jsxs)(m.RadioItem,{ref:r,className:a("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(m.ItemIndicator,{children:(0,b.jsx)(ue.Circle,{className:"h-4 w-4 fill-current"})})}),t]}));Ho.displayName=m.RadioItem.displayName;var Wo=$.forwardRef(({className:e,inset:t,...o},r)=>(0,b.jsx)(m.Label,{ref:r,className:a("px-2 py-1.5 text-sm font-semibold text-foreground",t&&"pl-8",e),...o}));Wo.displayName=m.Label.displayName;var Vo=$.forwardRef(({className:e,...t},o)=>(0,b.jsx)(m.Separator,{ref:o,className:a("-mx-1 my-1 h-px bg-border",e),...t}));Vo.displayName=m.Separator.displayName;var zo=({className:e,...t})=>(0,b.jsx)("span",{className:a("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});zo.displayName="ContextMenuShortcut";var De=i(require("react")),E=require("vaul");var L=require("react/jsx-runtime"),Fo=({shouldScaleBackground:e=!0,...t})=>(0,L.jsx)(E.Drawer.Root,{shouldScaleBackground:e,...t});Fo.displayName="Drawer";var Ni=E.Drawer.Trigger,_o=E.Drawer.Portal,Ci=E.Drawer.Close,rt=De.forwardRef(({className:e,...t},o)=>(0,L.jsx)(E.Drawer.Overlay,{ref:o,className:a("fixed inset-0 z-50 bg-black/80",e),...t}));rt.displayName=E.Drawer.Overlay.displayName;var Go=De.forwardRef(({className:e,children:t,...o},r)=>(0,L.jsxs)(_o,{children:[(0,L.jsx)(rt,{}),(0,L.jsxs)(E.Drawer.Content,{ref:r,className:a("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",e),...o,children:[(0,L.jsx)("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),t]})]}));Go.displayName="DrawerContent";var Bo=({className:e,...t})=>(0,L.jsx)("div",{className:a("grid gap-1.5 p-4 text-center sm:text-left",e),...t});Bo.displayName="DrawerHeader";var Oo=({className:e,...t})=>(0,L.jsx)("div",{className:a("mt-auto flex flex-col gap-2 p-4",e),...t});Oo.displayName="DrawerFooter";var Uo=De.forwardRef(({className:e,...t},o)=>(0,L.jsx)(E.Drawer.Title,{ref:o,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));Uo.displayName=E.Drawer.Title.displayName;var $o=De.forwardRef(({className:e,...t},o)=>(0,L.jsx)(E.Drawer.Description,{ref:o,className:a("text-sm text-muted-foreground",e),...t}));$o.displayName=E.Drawer.Description.displayName;var q=i(require("react")),l=i(require("@radix-ui/react-dropdown-menu")),ve=require("lucide-react");var y=require("react/jsx-runtime"),Mi=l.Root,Ti=l.Trigger,Si=l.Group,Di=l.Portal,Ii=l.Sub,Li=l.RadioGroup,qo=q.forwardRef(({className:e,inset:t,children:o,...r},n)=>(0,y.jsxs)(l.SubTrigger,{ref:n,className:a("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...r,children:[o,(0,y.jsx)(ve.ChevronRight,{className:"ml-auto"})]}));qo.displayName=l.SubTrigger.displayName;var Xo=q.forwardRef(({className:e,...t},o)=>(0,y.jsx)(l.SubContent,{ref:o,className:a("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...t}));Xo.displayName=l.SubContent.displayName;var Ko=q.forwardRef(({className:e,sideOffset:t=4,...o},r)=>(0,y.jsx)(l.Portal,{children:(0,y.jsx)(l.Content,{ref:r,sideOffset:t,className:a("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md transition-all duration-100","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...o})}));Ko.displayName=l.Content.displayName;var Jo=q.forwardRef(({className:e,inset:t,...o},r)=>(0,y.jsx)(l.Item,{ref:r,className:a("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",t&&"pl-8",e),...o}));Jo.displayName=l.Item.displayName;var Qo=q.forwardRef(({className:e,children:t,checked:o,...r},n)=>(0,y.jsxs)(l.CheckboxItem,{ref:n,className:a("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...r,children:[(0,y.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,y.jsx)(l.ItemIndicator,{children:(0,y.jsx)(ve.Check,{className:"h-4 w-4"})})}),t]}));Qo.displayName=l.CheckboxItem.displayName;var Yo=q.forwardRef(({className:e,children:t,...o},r)=>(0,y.jsxs)(l.RadioItem,{ref:r,className:a("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[(0,y.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,y.jsx)(l.ItemIndicator,{children:(0,y.jsx)(ve.Circle,{className:"h-2 w-2 fill-current"})})}),t]}));Yo.displayName=l.RadioItem.displayName;var Zo=q.forwardRef(({className:e,inset:t,...o},r)=>(0,y.jsx)(l.Label,{ref:r,className:a("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...o}));Zo.displayName=l.Label.displayName;var jo=q.forwardRef(({className:e,...t},o)=>(0,y.jsx)(l.Separator,{ref:o,className:a("-mx-1 my-1 h-px bg-muted",e),...t}));jo.displayName=l.Separator.displayName;var ea=({className:e,...t})=>(0,y.jsx)("span",{className:a("ml-auto text-xs tracking-widest opacity-60",e),...t});ea.displayName="DropdownMenuShortcut";var N=i(require("react")),ra=require("@radix-ui/react-slot"),ge=require("react-hook-form");var ta=i(require("react")),it=i(require("@radix-ui/react-label")),oa=require("class-variance-authority");var aa=require("react/jsx-runtime"),Ei=(0,oa.cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Xe=ta.forwardRef(({className:e,...t},o)=>(0,aa.jsx)(it.Root,{ref:o,className:a(Ei(),e),...t}));Xe.displayName=it.Root.displayName;var X=require("react/jsx-runtime"),ki=ge.FormProvider,ia=N.createContext(null),Ai=({...e})=>(0,X.jsx)(ia.Provider,{value:{name:e.name},children:(0,X.jsx)(ge.Controller,{...e})}),Ie=()=>{let e=N.useContext(ia),t=N.useContext(na),{getFieldState:o,formState:r}=(0,ge.useFormContext)();if(!e)throw new Error("useFormField should be used within <FormField>");if(!t)throw new Error("useFormField should be used within <FormItem>");let n=o(e.name,r),{id:c}=t;return{id:c,name:e.name,formItemId:`${c}-form-item`,formDescriptionId:`${c}-form-item-description`,formMessageId:`${c}-form-item-message`,...n}},na=N.createContext(null),sa=N.forwardRef(({className:e,...t},o)=>{let r=N.useId();return(0,X.jsx)(na.Provider,{value:{id:r},children:(0,X.jsx)("div",{ref:o,className:a("space-y-2",e),...t})})});sa.displayName="FormItem";var ma=N.forwardRef(({className:e,...t},o)=>{let{error:r,formItemId:n}=Ie();return(0,X.jsx)(Xe,{ref:o,className:a(r&&"text-destructive",e),htmlFor:n,...t})});ma.displayName="FormLabel";var la=N.forwardRef(({...e},t)=>{let{error:o,formItemId:r,formDescriptionId:n,formMessageId:c}=Ie();return(0,X.jsx)(ra.Slot,{ref:t,id:r,"aria-describedby":o?`${n} ${c}`:`${n}`,"aria-invalid":!!o,...e})});la.displayName="FormControl";var da=N.forwardRef(({className:e,...t},o)=>{let{formDescriptionId:r}=Ie();return(0,X.jsx)("p",{ref:o,id:r,className:a("text-[0.8rem] text-muted-foreground",e),...t})});da.displayName="FormDescription";var ca=N.forwardRef(({className:e,children:t,...o},r)=>{let{error:n,formMessageId:c}=Ie(),H=n?String(n?.message??""):t;return H?(0,X.jsx)("p",{ref:r,id:c,className:a("text-[0.8rem] font-medium text-destructive",e),...o,children:H}):null});ca.displayName="FormMessage";var pa=i(require("react")),re=i(require("@radix-ui/react-hover-card"));var ua=require("react/jsx-runtime"),Hi=re.Root,Wi=re.Trigger,fa=pa.forwardRef(({className:e,align:t="center",sideOffset:o=4,...r},n)=>(0,ua.jsx)(re.Content,{ref:n,align:t,sideOffset:o,className:a("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",e),...r}));fa.displayName=re.Content.displayName;var va=i(require("react"));var Ra=require("react/jsx-runtime"),ga=va.forwardRef(({className:e,type:t,...o},r)=>(0,Ra.jsx)("input",{type:t,className:a("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...o}));ga.displayName="Input";var W=i(require("react")),s=i(require("@radix-ui/react-menubar")),Re=require("lucide-react");var p=require("react/jsx-runtime");function Vi({...e}){return(0,p.jsx)(s.Menu,{...e})}function zi({...e}){return(0,p.jsx)(s.Group,{...e})}function Fi({...e}){return(0,p.jsx)(s.Portal,{...e})}function _i({...e}){return(0,p.jsx)(s.RadioGroup,{...e})}function Gi({...e}){return(0,p.jsx)(s.Sub,{"data-slot":"menubar-sub",...e})}var Pa=W.forwardRef(({className:e,...t},o)=>(0,p.jsx)(s.Root,{ref:o,className:a("flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",e),...t}));Pa.displayName=s.Root.displayName;var ba=W.forwardRef(({className:e,...t},o)=>(0,p.jsx)(s.Trigger,{ref:o,className:a("flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",e),...t}));ba.displayName=s.Trigger.displayName;var ya=W.forwardRef(({className:e,inset:t,children:o,...r},n)=>(0,p.jsxs)(s.SubTrigger,{ref:n,className:a("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...r,children:[o,(0,p.jsx)(Re.ChevronRight,{className:"ml-auto h-4 w-4"})]}));ya.displayName=s.SubTrigger.displayName;var xa=W.forwardRef(({className:e,...t},o)=>(0,p.jsx)(s.SubContent,{ref:o,className:a("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]",e),...t}));xa.displayName=s.SubContent.displayName;var ha=W.forwardRef(({className:e,align:t="start",alignOffset:o=-4,sideOffset:r=8,...n},c)=>(0,p.jsx)(s.Portal,{children:(0,p.jsx)(s.Content,{ref:c,align:t,alignOffset:o,sideOffset:r,className:a("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]",e),...n})}));ha.displayName=s.Content.displayName;var wa=W.forwardRef(({className:e,inset:t,...o},r)=>(0,p.jsx)(s.Item,{ref:r,className:a("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...o}));wa.displayName=s.Item.displayName;var Na=W.forwardRef(({className:e,children:t,checked:o,...r},n)=>(0,p.jsxs)(s.CheckboxItem,{ref:n,className:a("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...r,children:[(0,p.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,p.jsx)(s.ItemIndicator,{children:(0,p.jsx)(Re.Check,{className:"h-4 w-4"})})}),t]}));Na.displayName=s.CheckboxItem.displayName;var Ca=W.forwardRef(({className:e,children:t,...o},r)=>(0,p.jsxs)(s.RadioItem,{ref:r,className:a("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[(0,p.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,p.jsx)(s.ItemIndicator,{children:(0,p.jsx)(Re.Circle,{className:"h-4 w-4 fill-current"})})}),t]}));Ca.displayName=s.RadioItem.displayName;var Ma=W.forwardRef(({className:e,inset:t,...o},r)=>(0,p.jsx)(s.Label,{ref:r,className:a("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...o}));Ma.displayName=s.Label.displayName;var Ta=W.forwardRef(({className:e,...t},o)=>(0,p.jsx)(s.Separator,{ref:o,className:a("-mx-1 my-1 h-px bg-muted",e),...t}));Ta.displayName=s.Separator.displayName;var Sa=({className:e,...t})=>(0,p.jsx)("span",{className:a("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});Sa.displayname="MenubarShortcut";var ie=i(require("react")),v=i(require("@radix-ui/react-navigation-menu")),Da=require("class-variance-authority"),Ia=require("lucide-react");var k=require("react/jsx-runtime"),La=ie.forwardRef(({className:e,children:t,...o},r)=>(0,k.jsxs)(v.Root,{ref:r,className:a("relative z-10 flex max-w-max flex-1 items-center justify-center",e),...o,children:[t,(0,k.jsx)(nt,{})]}));La.displayName=v.Root.displayName;var Ea=ie.forwardRef(({className:e,...t},o)=>(0,k.jsx)(v.List,{ref:o,className:a("group flex flex-1 list-none items-center justify-center space-x-1",e),...t}));Ea.displayName=v.List.displayName;var Bi=v.Item,ka=(0,Da.cva)("group inline-flex h-9 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-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"),Aa=ie.forwardRef(({className:e,children:t,...o},r)=>(0,k.jsxs)(v.Trigger,{ref:r,className:a(ka(),"group",e),...o,children:[t," ",(0,k.jsx)(Ia.ChevronDown,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));Aa.displayName=v.Trigger.displayName;var Ha=ie.forwardRef(({className:e,...t},o)=>(0,k.jsx)(v.Content,{ref:o,className:a("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",e),...t}));Ha.displayName=v.Content.displayName;var Oi=v.Link,nt=ie.forwardRef(({className:e,...t},o)=>(0,k.jsx)("div",{className:a("absolute left-0 top-full flex justify-center"),children:(0,k.jsx)(v.Viewport,{className:a("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",e),ref:o,...t})}));nt.displayName=v.Viewport.displayName;var Wa=ie.forwardRef(({className:e,...t},o)=>(0,k.jsx)(v.Indicator,{ref:o,className:a("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",e),...t,children:(0,k.jsx)("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));Wa.displayName=v.Indicator.displayName;var st=i(require("react")),Pe=require("lucide-react");var w=require("react/jsx-runtime"),Va=({className:e,...t})=>(0,w.jsx)("nav",{role:"navigation","aria-label":"pagination",className:a("mx-auto flex w-full justify-center",e),...t});Va.displayName="Pagination";var za=st.forwardRef(({className:e,...t},o)=>(0,w.jsx)("ul",{ref:o,className:a("flex flex-row items-center gap-1",e),...t}));za.displayName="PaginationContent";var Fa=st.forwardRef(({className:e,...t},o)=>(0,w.jsx)("li",{ref:o,className:a("",e),...t}));Fa.displayName="PaginationItem";var Ke=({className:e,isActive:t,size:o="icon",...r})=>(0,w.jsx)("a",{"aria-current":t?"page":void 0,className:a(_({variant:t?"outline":"ghost",size:o}),e),...r});Ke.displayName="PaginationLink";var _a=({className:e,...t})=>(0,w.jsxs)(Ke,{"aria-label":"Go to previous page",size:"default",className:a("gap-1 pl-2.5",e),...t,children:[(0,w.jsx)(Pe.ChevronLeft,{className:"h-4 w-4"}),(0,w.jsx)("span",{children:"Previous"})]});_a.displayName="PaginationPrevious";var Ga=({className:e,...t})=>(0,w.jsxs)(Ke,{"aria-label":"Go to next page",size:"default",className:a("gap-1 pr-2.5",e),...t,children:[(0,w.jsx)("span",{children:"Next"}),(0,w.jsx)(Pe.ChevronRight,{className:"h-4 w-4"})]});Ga.displayName="PaginationNext";var Ba=({className:e,...t})=>(0,w.jsxs)("span",{"aria-hidden":!0,className:a("flex h-9 w-9 items-center justify-center",e),...t,children:[(0,w.jsx)(Pe.MoreHorizontal,{className:"h-4 w-4"}),(0,w.jsx)("span",{className:"sr-only",children:"More pages"})]});Ba.displayName="PaginationEllipsis";var Oa=i(require("react")),V=i(require("@radix-ui/react-popover"));var mt=require("react/jsx-runtime"),Ui=V.Root,$i=V.Trigger,qi=V.Anchor,Ua=Oa.forwardRef(({className:e,align:t="center",sideOffset:o=4,...r},n)=>(0,mt.jsx)(V.Portal,{children:(0,mt.jsx)(V.Content,{ref:n,align:t,sideOffset:o,className:a("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...r})}));Ua.displayName=V.Content.displayName;var $a=i(require("react")),Le=i(require("@radix-ui/react-progress"));var lt=require("react/jsx-runtime"),qa=$a.forwardRef(({className:e,value:t,...o},r)=>(0,lt.jsx)(Le.Root,{ref:r,className:a("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...o,children:(0,lt.jsx)(Le.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));qa.displayName=Le.Root.displayName;var dt=i(require("react")),Z=i(require("@radix-ui/react-radio-group")),Xa=require("lucide-react");var Ee=require("react/jsx-runtime"),Ka=dt.forwardRef(({className:e,...t},o)=>(0,Ee.jsx)(Z.Root,{className:a("grid gap-2",e),...t,ref:o}));Ka.displayName=Z.Root.displayName;var Ja=dt.forwardRef(({className:e,...t},o)=>(0,Ee.jsx)(Z.Item,{ref:o,className:a("aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,Ee.jsx)(Z.Indicator,{className:"flex items-center justify-center",children:(0,Ee.jsx)(Xa.Circle,{className:"h-3.5 w-3.5 fill-primary"})})}));Ja.displayName=Z.Item.displayName;var Qa=require("lucide-react"),be=require("react-resizable-panels");var ke=require("react/jsx-runtime"),Xi=({className:e,...t})=>(0,ke.jsx)(be.Group,{className:a("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),Ki=be.Panel,Ji=({withHandle:e,className:t,...o})=>(0,ke.jsx)(be.Separator,{className:a("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...o,children:e&&(0,ke.jsx)("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:(0,ke.jsx)(Qa.GripVertical,{className:"h-2.5 w-2.5"})})});var ct=i(require("react")),A=i(require("@radix-ui/react-scroll-area"));var j=require("react/jsx-runtime"),Ya=ct.forwardRef(({className:e,children:t,...o},r)=>(0,j.jsxs)(A.Root,{ref:r,className:a("relative overflow-hidden",e),...o,children:[(0,j.jsx)(A.Viewport,{className:"h-full w-full rounded-[inherit]",children:t}),(0,j.jsx)(pt,{}),(0,j.jsx)(A.Corner,{})]}));Ya.displayName=A.Root.displayName;var pt=ct.forwardRef(({className:e,orientation:t="vertical",...o},r)=>(0,j.jsx)(A.ScrollAreaScrollbar,{ref:r,orientation:t,className:a("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...o,children:(0,j.jsx)(A.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));pt.displayName=A.ScrollAreaScrollbar.displayName;var ee=i(require("react")),d=i(require("@radix-ui/react-select")),ne=require("lucide-react");var R=require("react/jsx-runtime"),Qi=d.Root,Yi=d.Group,Zi=d.Value,Za=ee.forwardRef(({className:e,children:t,...o},r)=>(0,R.jsxs)(d.Trigger,{ref:r,className:a("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...o,children:[t,(0,R.jsx)(d.Icon,{asChild:!0,children:(0,R.jsx)(ne.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));Za.displayName=d.Trigger.displayName;var ft=ee.forwardRef(({className:e,...t},o)=>(0,R.jsx)(d.ScrollUpButton,{ref:o,className:a("flex cursor-default items-center justify-center py-1",e),...t,children:(0,R.jsx)(ne.ChevronUp,{className:"h-4 w-4"})}));ft.displayName=d.ScrollUpButton.displayName;var ut=ee.forwardRef(({className:e,...t},o)=>(0,R.jsx)(d.ScrollDownButton,{ref:o,className:a("flex cursor-default items-center justify-center py-1",e),...t,children:(0,R.jsx)(ne.ChevronDown,{className:"h-4 w-4"})}));ut.displayName=d.ScrollDownButton.displayName;var ja=ee.forwardRef(({className:e,children:t,position:o="popper",...r},n)=>(0,R.jsx)(d.Portal,{children:(0,R.jsxs)(d.Content,{ref:n,className:a("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",o==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:o,...r,children:[(0,R.jsx)(ft,{}),(0,R.jsx)(d.Viewport,{className:a("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),(0,R.jsx)(ut,{})]})}));ja.displayName=d.Content.displayName;var er=ee.forwardRef(({className:e,...t},o)=>(0,R.jsx)(d.Label,{ref:o,className:a("px-2 py-1.5 text-sm font-semibold",e),...t}));er.displayName=d.Label.displayName;var tr=ee.forwardRef(({className:e,children:t,...o},r)=>(0,R.jsxs)(d.Item,{ref:r,className:a("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[(0,R.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,R.jsx)(d.ItemIndicator,{children:(0,R.jsx)(ne.Check,{className:"h-4 w-4"})})}),(0,R.jsx)(d.ItemText,{children:t})]}));tr.displayName=d.Item.displayName;var or=ee.forwardRef(({className:e,...t},o)=>(0,R.jsx)(d.Separator,{ref:o,className:a("-mx-1 my-1 h-px bg-muted",e),...t}));or.displayName=d.Separator.displayName;var ar=i(require("react")),vt=i(require("@radix-ui/react-separator"));var ir=require("react/jsx-runtime"),rr=ar.forwardRef(({className:e,orientation:t="horizontal",decorative:o=!0,...r},n)=>(0,ir.jsx)(vt.Root,{ref:n,decorative:o,orientation:t,className:a("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));rr.displayName=vt.Root.displayName;var Ae=i(require("react")),P=i(require("@radix-ui/react-dialog")),nr=require("class-variance-authority"),sr=require("lucide-react");var M=require("react/jsx-runtime"),ji=P.Root,en=P.Trigger,tn=P.Close,mr=P.Portal,gt=Ae.forwardRef(({className:e,...t},o)=>(0,M.jsx)(P.Overlay,{className:a("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:o}));gt.displayName=P.Overlay.displayName;var on=(0,nr.cva)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),lr=Ae.forwardRef(({side:e="right",className:t,children:o,...r},n)=>(0,M.jsxs)(mr,{children:[(0,M.jsx)(gt,{}),(0,M.jsxs)(P.Content,{ref:n,className:a(on({side:e}),t),...r,children:[(0,M.jsxs)(P.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,M.jsx)(sr.X,{className:"h-4 w-4"}),(0,M.jsx)("span",{className:"sr-only",children:"Close"})]}),o]})]}));lr.displayName=P.Content.displayName;var dr=({className:e,...t})=>(0,M.jsx)("div",{className:a("flex flex-col space-y-2 text-center sm:text-left",e),...t});dr.displayName="SheetHeader";var cr=({className:e,...t})=>(0,M.jsx)("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});cr.displayName="SheetFooter";var pr=Ae.forwardRef(({className:e,...t},o)=>(0,M.jsx)(P.Title,{ref:o,className:a("text-lg font-semibold text-foreground",e),...t}));pr.displayName=P.Title.displayName;var fr=Ae.forwardRef(({className:e,...t},o)=>(0,M.jsx)(P.Description,{ref:o,className:a("text-sm text-muted-foreground",e),...t}));fr.displayName=P.Description.displayName;var ur=require("react/jsx-runtime");function an({className:e,...t}){return(0,ur.jsx)("div",{className:a("animate-pulse rounded-md bg-primary/10",e),...t})}var vr=i(require("react")),K=i(require("@radix-ui/react-slider"));var ye=require("react/jsx-runtime"),gr=vr.forwardRef(({className:e,...t},o)=>(0,ye.jsxs)(K.Root,{ref:o,className:a("relative flex w-full touch-none select-none items-center",e),...t,children:[(0,ye.jsx)(K.Track,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",children:(0,ye.jsx)(K.Range,{className:"absolute h-full bg-primary"})}),(0,ye.jsx)(K.Thumb,{className:"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"})]}));gr.displayName=K.Root.displayName;var Rr=require("next-themes"),Pr=require("sonner"),br=require("react/jsx-runtime"),rn=({...e})=>{let{theme:t="system"}=(0,Rr.useTheme)();return(0,br.jsx)(Pr.Toaster,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})};var yr=i(require("react")),He=i(require("@radix-ui/react-switch"));var Rt=require("react/jsx-runtime"),xr=yr.forwardRef(({className:e,...t},o)=>(0,Rt.jsx)(He.Root,{className:a("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:o,children:(0,Rt.jsx)(He.Thumb,{className:a("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));xr.displayName=He.Root.displayName;var J=i(require("react"));var G=require("react/jsx-runtime"),hr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("div",{className:"relative w-full overflow-auto",children:(0,G.jsx)("table",{ref:o,className:a("w-full caption-bottom text-sm",e),...t})}));hr.displayName="Table";var wr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("thead",{ref:o,className:a("[&_tr]:border-b",e),...t}));wr.displayName="TableHeader";var Nr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("tbody",{ref:o,className:a("[&_tr:last-child]:border-0",e),...t}));Nr.displayName="TableBody";var Cr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("tfoot",{ref:o,className:a("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));Cr.displayName="TableFooter";var Mr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("tr",{ref:o,className:a("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Mr.displayName="TableRow";var Tr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("th",{ref:o,className:a("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Tr.displayName="TableHead";var Sr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("td",{ref:o,className:a("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Sr.displayName="TableCell";var Dr=J.forwardRef(({className:e,...t},o)=>(0,G.jsx)("caption",{ref:o,className:a("mt-4 text-sm text-muted-foreground",e),...t}));Dr.displayName="TableCaption";var Je=i(require("react")),z=i(require("@radix-ui/react-tabs"));var Qe=require("react/jsx-runtime"),nn=z.Root,Ir=Je.forwardRef(({className:e,...t},o)=>(0,Qe.jsx)(z.List,{ref:o,className:a("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));Ir.displayName=z.List.displayName;var Lr=Je.forwardRef(({className:e,...t},o)=>(0,Qe.jsx)(z.Trigger,{ref:o,className:a("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all 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=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...t}));Lr.displayName=z.Trigger.displayName;var Er=Je.forwardRef(({className:e,...t},o)=>(0,Qe.jsx)(z.Content,{ref:o,className:a("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));Er.displayName=z.Content.displayName;var kr=i(require("react"));var Hr=require("react/jsx-runtime"),Ar=kr.forwardRef(({className:e,...t},o)=>(0,Hr.jsx)("textarea",{className:a("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:o,...t}));Ar.displayName="Textarea";var Wr=i(require("react")),Pt=i(require("@radix-ui/react-toggle")),Vr=require("class-variance-authority");var Fr=require("react/jsx-runtime"),Ye=(0,Vr.cva)("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),zr=Wr.forwardRef(({className:e,variant:t,size:o,...r},n)=>(0,Fr.jsx)(Pt.Root,{ref:n,className:a(Ye({variant:t,size:o,className:e})),...r}));zr.displayName=Pt.Root.displayName;var se=i(require("react")),xe=i(require("@radix-ui/react-toggle-group"));var Ze=require("react/jsx-runtime"),_r=se.createContext({size:"default",variant:"default"}),Gr=se.forwardRef(({className:e,variant:t,size:o,children:r,...n},c)=>(0,Ze.jsx)(xe.Root,{ref:c,className:a("flex items-center justify-center gap-1",e),...n,children:(0,Ze.jsx)(_r.Provider,{value:{variant:t,size:o},children:r})}));Gr.displayName=xe.Root.displayName;var Br=se.forwardRef(({className:e,children:t,variant:o,size:r,...n},c)=>{let H=se.useContext(_r);return(0,Ze.jsx)(xe.Item,{ref:c,className:a(Ye({variant:H.variant||o,size:H.size||r}),e),...n,children:t})});Br.displayName=xe.Item.displayName;var Or=i(require("react")),F=i(require("@radix-ui/react-tooltip"));var bt=require("react/jsx-runtime"),sn=F.Provider,mn=F.Root,ln=F.Trigger,Ur=Or.forwardRef(({className:e,sideOffset:t=4,...o},r)=>(0,bt.jsx)(F.Portal,{children:(0,bt.jsx)(F.Content,{ref:r,sideOffset:t,className:a("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...o})}));Ur.displayName=F.Content.displayName;var $r=i(require("react")),qr=i(require("next/link")),Xr=i(require("next/image"));var me=require("react/jsx-runtime");function Kr(){let{vertical:e}=Ne(),t=$r.useMemo(()=>{switch(e){case"proexplo":return"/logos/logo-iimp.png";case"wmc":return"/logos/logo-wmc.png";case"gess":return"/logos/logo-gess.png";default:return"/logos/logo-iimp.png"}},[e]);return(0,me.jsxs)(qr.default,{href:"/",className:"flex items-center gap-3 group cursor-pointer transition-transform hover:scale-[1.02]",children:[(0,me.jsx)("div",{className:"relative h-10 w-24",children:(0,me.jsx)(Xr.default,{src:t,alt:"IIMP Logo",fill:!0,className:"object-contain",priority:!0})}),(0,me.jsxs)("span",{className:"text-lg font-black tracking-tighter text-foreground uppercase hidden sm:block",children:["IIMP ",(0,me.jsx)("span",{className:"text-primary",children:"UI-KIT"})]})]})}0&&(module.exports={Accordion,AccordionContent,AccordionItem,AccordionTrigger,Alert,AlertDescription,AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger,AlertTitle,AspectRatio,Avatar,AvatarFallback,AvatarImage,Badge,Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator,Button,Calendar,CalendarDayButton,Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle,Checkbox,Collapsible,CollapsibleContent,CollapsibleTrigger,Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut,ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger,Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger,Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger,DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger,Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,HoverCard,HoverCardContent,HoverCardTrigger,IIMPLogo,Input,Label,Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger,NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious,Popover,PopoverAnchor,PopoverContent,PopoverTrigger,Progress,RadioGroup,RadioGroupItem,ResizableHandle,ResizablePanel,ResizablePanelGroup,ScrollArea,ScrollBar,Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue,Separator,Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger,Skeleton,Slider,Switch,Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow,Tabs,TabsContent,TabsList,TabsTrigger,Textarea,Toaster,Toggle,ToggleGroup,ToggleGroupItem,Tooltip,TooltipContent,TooltipProvider,TooltipTrigger,VerticalProvider,VerticalSwitcher,badgeVariants,buttonVariants,navigationMenuTriggerStyle,toggleVariants,useFormField,useVertical});