@klu_dev/ui-klu-green 1.0.13 → 1.1.0
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 +80 -23
- package/dist/index.css +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,52 +2,67 @@
|
|
|
2
2
|
|
|
3
3
|
Librería de componentes UI desarrollada con React + TypeScript + TailwindCSS.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Instalación
|
|
6
6
|
npm install @klu_dev/ui-klu-green
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Requisitos
|
|
9
9
|
- React 18+
|
|
10
10
|
- TailwindCSS
|
|
11
11
|
- PostCSS
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Componentes disponibles
|
|
14
14
|
- Input
|
|
15
15
|
- Button
|
|
16
16
|
- BackButton
|
|
17
17
|
|
|
18
18
|
## Antes de comenzar a agregar componentes
|
|
19
|
+
|
|
20
|
+
Importa el archivo de estilos globales en el punto de entrada de tu aplicación (ej. main.tsx o _app.tsx):
|
|
21
|
+
|
|
19
22
|
```tsx
|
|
20
23
|
import "@klu_dev/ui-klu-green/style.css";
|
|
21
24
|
```
|
|
22
25
|
|
|
23
|
-
##
|
|
26
|
+
## Uso Input
|
|
27
|
+
|
|
28
|
+
Componente de entrada de texto con soporte para validación, diferentes tamaños y modo password.
|
|
24
29
|
|
|
25
30
|
```tsx
|
|
26
31
|
import { Input } from "@klu_dev/ui-klu-green"
|
|
27
32
|
|
|
28
|
-
export default function
|
|
29
|
-
return
|
|
33
|
+
export default function InputExamples() {
|
|
34
|
+
return (
|
|
35
|
+
<div className="uiklu-flex uiklu-flex-col uiklu-gap-4">
|
|
36
|
+
{/* Escala de anchos */}
|
|
37
|
+
<Input size="sm" placeholder="Pequeño (150px)" />
|
|
38
|
+
<Input size="md" placeholder="Mediano (250px)" />
|
|
39
|
+
<Input size="lg" placeholder="Grande (Máx 350px)" />
|
|
40
|
+
|
|
41
|
+
{/* Input en Layout de Formulario (Full) */}
|
|
42
|
+
<div className="uiklu-w-full uiklu-max-w-[600px]">
|
|
43
|
+
<Input size="full" placeholder="Input que llena el formulario" />
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
)
|
|
30
47
|
}
|
|
31
48
|
```
|
|
32
49
|
|
|
33
50
|
- **Input con validación:**
|
|
34
51
|
|
|
35
52
|
```tsx
|
|
36
|
-
|
|
37
53
|
import { Input } from "@klu_dev/ui-klu-green"
|
|
38
54
|
import { useState } from "react"
|
|
39
55
|
|
|
40
|
-
export default function
|
|
56
|
+
export default function LiveValidation() {
|
|
41
57
|
const [value, setValue] = useState("")
|
|
42
58
|
const [error, setError] = useState("")
|
|
43
59
|
|
|
44
60
|
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
45
61
|
const val = e.target.value
|
|
46
62
|
setValue(val)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
setError("Solo se permiten números")
|
|
63
|
+
|
|
64
|
+
if (val.length > 0 && val.length < 3) {
|
|
65
|
+
setError("Mínimo 3 caracteres")
|
|
51
66
|
} else {
|
|
52
67
|
setError("")
|
|
53
68
|
}
|
|
@@ -55,39 +70,81 @@ export default function Example() {
|
|
|
55
70
|
|
|
56
71
|
return (
|
|
57
72
|
<Input
|
|
73
|
+
type="text"
|
|
74
|
+
placeholder="Validando..."
|
|
58
75
|
value={value}
|
|
59
76
|
onChange={handleChange}
|
|
60
77
|
error={error}
|
|
61
|
-
placeholder="Ingresa solo números"
|
|
62
78
|
/>
|
|
63
79
|
)
|
|
64
80
|
}
|
|
65
81
|
```
|
|
66
82
|
|
|
67
|
-
|
|
83
|
+
- **Input numérico estricto:**
|
|
84
|
+
Ejemplo para forzar solo entrada de números mediante el evento onChange:
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
<Input
|
|
88
|
+
placeholder="Solo números"
|
|
89
|
+
inputMode="numeric"
|
|
90
|
+
onChange={(e) => {
|
|
91
|
+
e.target.value = e.target.value.replace(/[^0-9]/g, "");
|
|
92
|
+
}}
|
|
93
|
+
/>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
## Uso Button
|
|
98
|
+
|
|
99
|
+
Botones con múltiples variantes de color y escalas adaptativas.
|
|
68
100
|
|
|
69
101
|
|
|
70
102
|
```tsx
|
|
71
103
|
import { Button } from "@klu_dev/ui-klu-green"
|
|
72
104
|
|
|
73
|
-
export default function
|
|
74
|
-
return
|
|
105
|
+
export default function ButtonExamples() {
|
|
106
|
+
return (
|
|
107
|
+
<div className="uiklu-flex uiklu-flex-col uiklu-gap-6">
|
|
108
|
+
{/* Tamaños con Anchos Fijos */}
|
|
109
|
+
<Button size="sm">Small (150px)</Button>
|
|
110
|
+
<Button size="md">Medium (250px)</Button>
|
|
111
|
+
<Button size="lg">Large (350px)</Button>
|
|
112
|
+
<Button size="xl">Extra Large (450px)</Button>
|
|
113
|
+
|
|
114
|
+
{/* Botón Adaptativo (Full Width) */}
|
|
115
|
+
<div className="uiklu-w-[550px] uiklu-border-2 uiklu-p-4">
|
|
116
|
+
<p>Contenedor de 550px:</p>
|
|
117
|
+
<Button variant="secondary" size="full">
|
|
118
|
+
Ocupa el 100% del contenedor
|
|
119
|
+
</Button>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
)
|
|
75
123
|
}
|
|
76
124
|
```
|
|
125
|
+
- **Botón Adaptativo (Ancho Completo):**
|
|
126
|
+
|
|
127
|
+
```tsx
|
|
128
|
+
<Button variant="secondary" size="full">
|
|
129
|
+
Botón que ocupa el 100% del ancho
|
|
130
|
+
</Button>
|
|
131
|
+
```
|
|
77
132
|
|
|
133
|
+
## Uso BackButton
|
|
78
134
|
|
|
79
|
-
|
|
135
|
+
Botón de navegación simplificado ideal para encabezados.
|
|
80
136
|
|
|
81
137
|
```tsx
|
|
82
138
|
import { BackButton } from "@klu_dev/ui-klu-green"
|
|
83
139
|
|
|
84
|
-
export default function
|
|
140
|
+
export default function Navigation() {
|
|
85
141
|
return (
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
|
|
142
|
+
<div className="uiklu-bg-primary uiklu-p-4">
|
|
143
|
+
<BackButton
|
|
144
|
+
size="md"
|
|
145
|
+
onClick={() => window.history.back()}
|
|
146
|
+
/>
|
|
147
|
+
</div>
|
|
89
148
|
)
|
|
90
149
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
150
|
```
|
package/dist/index.css
CHANGED
package/dist/index.js
CHANGED
|
@@ -159,8 +159,8 @@ var buttonVariants = cva(
|
|
|
159
159
|
sm: "uiklu-h-[40px] uiklu-w-[150px] uiklu-px-4 uiklu-text-sm uiklu-border",
|
|
160
160
|
md: "uiklu-h-[40px] uiklu-w-[250px] uiklu-px-6 uiklu-text-base uiklu-border-2",
|
|
161
161
|
lg: "uiklu-h-[50px] uiklu-w-[350px] uiklu-px-[32px] uiklu-text-base uiklu-border-2",
|
|
162
|
-
xl: "uiklu-h-[60px] uiklu-w-[450px] uiklu-px-[40px] uiklu-text-lg uiklu-border-[
|
|
163
|
-
full: "uiklu-w-full uiklu-h-[50px] uiklu-max-h-[60px] uiklu-px-[48px] uiklu-text-lg uiklu-font-bold uiklu-border-[
|
|
162
|
+
xl: "uiklu-h-[60px] uiklu-w-[450px] uiklu-px-[40px] uiklu-text-lg uiklu-border-[2px]",
|
|
163
|
+
full: "uiklu-w-full uiklu-h-[50px] uiklu-max-h-[60px] uiklu-px-[48px] uiklu-text-lg uiklu-font-bold uiklu-border-[2px]"
|
|
164
164
|
}
|
|
165
165
|
// ...
|
|
166
166
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/input.tsx","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/backButton.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"../../lib/utils.js\"\n\ntype InputSize = \"sm\" | \"md\" | \"lg\" | \"full\"\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n size?: InputSize\n error?: string\n}\n\nconst inputSizes: Record<InputSize, string> = {\n sm: \"uiklu-h-[40px] uiklu-w-[150px] uiklu-px-4 uiklu-text-sm\",\n md: \"uiklu-h-[40px] uiklu-w-[250px] uiklu-px-5 uiklu-text-md\",\n lg: \"uiklu-h-[50px] uiklu-w-[350px] uiklu-px-5 uiklu-text-lg\",\n full: \"uiklu-h-[50px] uiklu-w-full uiklu-px-5 uiklu-text-lg\",\n}\nconst iconSizes = {\n sm: { w: \"18\", h: \"14\" },\n md: { w: \"20\", h: \"16\" },\n lg: { w: \"22.5\", h: \"18\" },\n full: { w: \"22.5\", h: \"18\" },\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type = \"text\", size = \"lg\", error, ...props }, ref) => {\n const [showPassword, setShowPassword] = React.useState(false)\n\n const isPassword = type === \"password\"\n const inputType = isPassword && showPassword ? \"text\" : type\n\n return (\n <div className={cn(\n \"uiklu-flex uiklu-flex-col uiklu-gap-1.5\",\n size === \"full\" ? \"uiklu-w-full\" : \"uiklu-w-fit\"\n )}>\n <div className={cn(\"uiklu-relative\", size === \"full\" ? \"uiklu-w-full\" : \"uiklu-w-fit\")}>\n <input\n {...props}\n ref={ref}\n type={inputType}\n className={cn(\n \"uiklu-flex uiklu-box-border uiklu-appearance-none uiklu-outline-none uiklu-transition-all\",\n \"uiklu-rounded-[50px] uiklu-border-[1px] uiklu-border-solid uiklu-bg-background uiklu-font-sans\",\n \"uiklu-overflow-hidden uiklu-text-ellipsis uiklu-placeholder:uiklu-opacity-40\",\n \"disabled:uiklu-cursor-not-allowed disabled:uiklu-opacity-50\",\n\n !error\n ? [\n \"uiklu-border-border uiklu-text-inputtext\",\n \"focus:uiklu-border-baseblack focus:uiklu-border-[1px]\"\n ]\n : [\n \"uiklu-border-destructive uiklu-text-destructive\",\n \"focus:uiklu-border-destructive focus:uiklu-border-[1px]\"\n ],\n\n isPassword && \"uiklu-pr-14\",\n inputSizes[size],\n className\n )}\n />\n {isPassword && (\n <button\n type=\"button\"\n onClick={() => setShowPassword(!showPassword)}\n className=\"uiklu-absolute uiklu-right-6 uiklu-top-0 uiklu-h-full uiklu-flex uiklu-items-center uiklu-justify-center uiklu-bg-transparent uiklu-border-none uiklu-p-0 uiklu-cursor-pointer uiklu-z-10\"\n >\n <div className=\"uiklu-flex uiklu-items-center uiklu-justify-center uiklu-opacity-70 hover:uiklu-opacity-100 uiklu-transition-opacity\">\n {showPassword ? (\n <svg\n width={iconSizes[size].w}\n height={iconSizes[size].h}\n viewBox=\"0 3 24 18\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={!error ? \"uiklu-stroke-inputtext\" : \"uiklu-stroke-destructive\"}\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n ) : (\n <svg\n width={iconSizes[size].w}\n height={iconSizes[size].h}\n viewBox=\"0 3 24 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5.05499 3.24557C4.98913 3.17132 4.90918 3.11089 4.81979 3.06777C4.7304 3.02465 4.63334 2.9997 4.53423 2.99437C4.43513 2.98904 4.33595 3.00343 4.24245 3.03671C4.14895 3.06999 4.06298 3.12150 3.98953 3.18825C3.91608 3.255 3.85661 3.33566 3.81457 3.42556C3.77252 3.51546 3.74874 3.61282 3.7446 3.71198C3.74045 3.81114 3.75603 3.91014 3.79043 4.00323C3.82483 4.09633 3.87737 4.18167 3.94499 4.25432L5.74874 6.23906C2.34374 8.32869 0.879366 11.5499 0.814679 11.6962C0.772035 11.7921 0.75 11.8959 0.75 12.0009C0.75 12.1058 0.772035 12.2096 0.814679 12.3056C0.847491 12.3796 1.64155 14.1403 3.40687 15.9056C5.75905 18.2568 8.72999 19.4999 12 19.4999C13.6806 19.5095 15.3442 19.1635 16.8816 18.4846L18.9441 20.7543C19.0099 20.8286 19.0899 20.8890 19.1793 20.9321C19.2686 20.9752 19.3657 21.0002 19.4648 21.0055C19.5639 21.0108 19.6631 20.9965 19.7566 20.9632C19.8501 20.9299 19.9361 20.8784 20.0095 20.8116C20.083 20.7449 20.1424 20.6642 20.1845 20.5743C20.2265 20.4844 20.2503 20.3871 20.2544 20.2879C20.2586 20.1887 20.243 20.0897 20.2086 19.9966C20.1742 19.9036 20.1217 19.8182 20.0541 19.7456L5.05499 3.24557ZM9.49218 10.3556L13.3987 14.6540C12.8105 14.9635 12.136 15.0688 11.4814 14.9535C10.8268 14.8381 10.229 14.5086 9.78189 14.0167C9.33481 13.5248 9.06377 12.8983 9.01134 12.2356C8.9589 11.573 9.12803 10.9117 9.49218 10.3556ZM12 17.9999C9.11437 17.9999 6.59343 16.9509 4.50655 14.8828C3.64997 14.0315 2.92145 13.0604 2.34374 11.9999C2.78343 11.1759 4.18687 8.86963 6.7828 7.37057L8.4703 9.22213C7.81699 10.0589 7.48052 11.0996 7.52036 12.1604C7.56021 13.2212 7.97379 14.2338 8.68802 15.0192C9.40225 15.8045 10.3711 16.3121 11.4234 16.4522C12.4757 16.5923 13.5436 16.3558 14.4384 15.7846L15.8194 17.3034C14.6006 17.771 13.3053 18.0072 12 17.9999ZM12.5625 9.05338C12.3671 9.01608 12.1944 8.90268 12.0826 8.73812C11.9708 8.57355 11.9289 8.37131 11.9662 8.17588C12.0035 7.98045 12.1169 7.80784 12.2815 7.69602C12.4461 7.58420 12.6483 7.54233 12.8437 7.57963C13.7996 7.76494 14.67 8.25430 15.325 8.97471C15.98 9.69512 16.3846 10.608 16.4784 11.5771C16.4969 11.7752 16.436 11.9725 16.3091 12.1256C16.1822 12.2787 15.9996 12.3752 15.8016 12.3937C15.7781 12.3951 15.7547 12.3951 15.7312 12.3937C15.5438 12.3945 15.3628 12.3251 15.224 12.1991C15.0852 12.0731 14.9986 11.8997 14.9812 11.7131C14.9181 11.0684 14.6486 10.4614 14.2128 9.98220C13.7771 9.50301 13.1982 9.17725 12.5625 9.05338ZM23.1825 12.3056C23.1431 12.3937 22.1934 14.4965 20.055 16.4118C19.9819 16.4793 19.8961 16.5317 19.8027 16.5657C19.7092 16.5998 19.6099 16.6149 19.5105 16.6102C19.4111 16.6055 19.3136 16.5810 19.2238 16.5383C19.1339 16.4956 19.0535 16.4354 18.9871 16.3612C18.9208 16.2871 18.8698 16.2005 18.8373 16.1065C18.8047 16.0125 18.7912 15.9129 18.7975 15.8136C18.8037 15.7143 18.8297 15.6173 18.8739 15.5281C18.918 15.4390 18.9795 15.3595 19.0547 15.2943C20.1038 14.3518 20.9851 13.2378 21.6609 11.9999C21.0819 10.9385 20.3518 9.96677 19.4934 9.11525C17.4066 7.049 14.8856 5.99994 12 5.99994C11.392 5.99920 10.7849 6.04843 10.185 6.14713C10.0874 6.16438 9.98741 6.16213 9.89073 6.14051C9.79404 6.11889 9.70259 6.07833 9.62167 6.02117C9.54074 5.96401 9.47195 5.89138 9.41925 5.80747C9.36656 5.72357 9.33101 5.63006 9.31466 5.53234C9.29832 5.43463 9.30149 5.33464 9.32401 5.23815C9.34652 5.14167 9.38793 5.05060 9.44584 4.97021C9.50375 4.88982 9.57702 4.82170 9.6614 4.76979C9.74579 4.71787 9.83963 4.68320 9.93749 4.66775C10.6192 4.55519 11.309 4.49906 12 4.49994C15.27 4.49994 18.2409 5.74307 20.5931 8.09525C22.3584 9.86057 23.1525 11.6221 23.1853 11.6962C23.2279 11.7921 23.25 11.8959 23.25 12.0009C23.25 12.1058 23.2279 12.2096 23.1853 12.3056H23.1825Z\"\n fill=\"currentColor\"\n className={!error ? \"uiklu-fill-inputtext\" : \"uiklu-fill-destructive\"}\n />\n </svg>\n )}\n </div>\n </button>\n )}\n </div>\n\n {error && (\n <p className=\"uiklu-mt-1 uiklu-px-4 uiklu-text-[12px] uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0\">\n {error}\n </p>\n )}\n </div>\n )\n }\n)\n\nInput.displayName = \"Input\"\n\nexport { Input }","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cn } from \"../../lib/utils.js\"\n\nconst buttonVariants = cva(\n \"uiklu-box-border uiklu-flex uiklu-items-center uiklu-justify-center uiklu-border-2 uiklu-font-medium uiklu-transition-all uiklu-outline-none disabled:uiklu-opacity-50\", {\n variants: {\n variant: {\n primary: `\n uiklu-bg-primary\n uiklu-text-primary-foreground\n hover:uiklu-bg-primary/90\n uiklu-rounded-[48px]\n uiklu-border-transparent\n `,\n secondary: `\n uiklu-bg-gradient-to-r\n uiklu-from-[#FBA022]\n uiklu-to-[#157C70]\n uiklu-text-white\n hover:uiklu-opacity-90\n uiklu-rounded-[48px]\n uiklu-border-transparent\n `,\n outline: \"uiklu-border-border uiklu-bg-transparent hover:uiklu-bg-muted uiklu-rounded-[48px]\",\n outlinePrimary: `\n uiklu-bg-transparent \n uiklu-border-2 \n uiklu-border-primary \n uiklu-text-primary \n uiklu-rounded-[48px]\n `,\n outlineSecondary: `\n uiklu-bg-transparent\n uiklu-border-2\n uiklu-border-outlinesecondary\n uiklu-text-outlinesecondary\n uiklu-rounded-[48px]\n hover:uiklu-bg-outlinesecondary/10\n `,\n outlineWhite: `\n uiklu-bg-transparent \n uiklu-border-2 \n uiklu-border-basewhite \n uiklu-text-basewhite \n uiklu-rounded-[48px]\n `,\n },\n size: {\n sm: \"uiklu-h-[40px] uiklu-w-[150px] uiklu-px-4 uiklu-text-sm uiklu-border\",\n md: \"uiklu-h-[40px] uiklu-w-[250px] uiklu-px-6 uiklu-text-base uiklu-border-2\",\n lg: \"uiklu-h-[50px] uiklu-w-[350px] uiklu-px-[32px] uiklu-text-base uiklu-border-2\",\n xl: \"uiklu-h-[60px] uiklu-w-[450px] uiklu-px-[40px] uiklu-text-lg uiklu-border-[3px]\",\n full: \"uiklu-w-full uiklu-h-[50px] uiklu-max-h-[60px] uiklu-px-[48px] uiklu-text-lg uiklu-font-bold uiklu-border-[3px]\",\n },\n// ...\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n}\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size }), className)}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }","import * as React from \"react\"\nimport { cn } from \"../../lib/utils.js\"\n\ntype BackButtonSize = \"ch\" | \"md\" | \"lg\"\n\ninterface BackButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n size?: BackButtonSize\n}\n\nconst buttonSizes: Record<BackButtonSize, string> = {\n ch: \"uiklu-text-[14px] uiklu-gap-1\",\n md: \"uiklu-text-[16px] uiklu-gap-2\",\n lg: \"uiklu-text-[18px] uiklu-gap-2.5\",\n}\n\nconst svgSizes: Record<BackButtonSize, string> = {\n ch: \"uiklu-w-4 uiklu-h-4\",\n md: \"uiklu-w-5 uiklu-h-5\",\n lg: \"uiklu-w-6 uiklu-h-6\",\n}\n\n// Cambiamos la declaración para que el parser no se confunda\nconst BackButtonRender: React.ForwardRefRenderFunction<HTMLButtonElement, BackButtonProps> = (\n props,\n ref\n) => {\n const { className, size = \"lg\", children = \"Regresar\", ...rest } = props;\n\n return (\n <button\n ref={ref}\n className={cn(\n \"uiklu-inline-flex uiklu-items-center uiklu-w-fit uiklu-border-none uiklu-bg-transparent uiklu-font-sans uiklu-font-medium uiklu-text-basewhite uiklu-text-center uiklu-leading-none uiklu-cursor-pointer hover:uiklu-underline uiklu-transition-all uiklu-outline-none active:uiklu-opacity-70 disabled:uiklu-opacity-50 disabled:uiklu-cursor-not-allowed\",\n buttonSizes[size],\n className\n )}\n {...rest}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={cn(\"uiklu-flex-shrink-0 uiklu-block\", svgSizes[size])}\n style={{ width: size === 'ch' ? '16px' : size === 'md' ? '20px' : '24px', height: 'auto' }}\n >\n <path\n d=\"M21.0001 11.9999C21.0001 12.1988 20.9211 12.3896 20.7804 12.5303C20.6398 12.6709 20.449 12.7499 20.2501 12.7499H5.56041L11.0307 18.2193C11.1004 18.289 11.1557 18.3717 11.1934 18.4628C11.2311 18.5538 11.2505 18.6514 11.2505 18.7499C11.2505 18.8485 11.2311 18.9461 11.1934 19.0371C11.1557 19.1281 11.1004 19.2109 11.0307 19.2806C10.961 19.3502 10.8783 19.4055 10.7873 19.4432C10.6962 19.4809 10.5986 19.5003 10.5001 19.5003C10.4016 19.5003 10.304 19.4809 10.2129 19.4432C10.1219 19.4055 10.0392 19.3502 9.96948 19.2806L3.21948 12.5306C3.14974 12.4609 3.09443 12.3782 3.05668 12.2871C3.01894 12.1961 2.99951 12.0985 2.99951 11.9999C2.99951 11.9014 3.01894 11.8038 3.05668 11.7127C3.09443 11.6217 3.14974 11.539 3.21948 11.4693L9.96948 4.7193C10.1102 4.57857 10.3011 4.49951 10.5001 4.49951C10.6991 4.49951 10.89 4.57857 11.0307 4.7193C11.1715 4.86003 11.2505 5.05091 11.2505 5.24993C11.2505 5.44895 11.1715 5.63982 11.0307 5.78055L5.56041 11.2499H20.2501C20.449 11.2499 20.6398 11.3289 20.7804 11.4696C20.9211 11.6103 21.0001 11.801 21.0001 11.9999Z\"\n fill=\"currentColor\"\n />\n </svg>\n <span>{children}</span>\n </button>\n );\n};\n\nexport const BackButton = React.forwardRef(BackButtonRender);\n\nBackButton.displayName = \"BackButton\""],"mappings":"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","names":["jsx","React","jsx","jsxs"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/input.tsx","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/backButton.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"../../lib/utils.js\"\n\ntype InputSize = \"sm\" | \"md\" | \"lg\" | \"full\"\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n size?: InputSize\n error?: string\n}\n\nconst inputSizes: Record<InputSize, string> = {\n sm: \"uiklu-h-[40px] uiklu-w-[150px] uiklu-px-4 uiklu-text-sm\",\n md: \"uiklu-h-[40px] uiklu-w-[250px] uiklu-px-5 uiklu-text-md\",\n lg: \"uiklu-h-[50px] uiklu-w-[350px] uiklu-px-5 uiklu-text-lg\",\n full: \"uiklu-h-[50px] uiklu-w-full uiklu-px-5 uiklu-text-lg\",\n}\nconst iconSizes = {\n sm: { w: \"18\", h: \"14\" },\n md: { w: \"20\", h: \"16\" },\n lg: { w: \"22.5\", h: \"18\" },\n full: { w: \"22.5\", h: \"18\" },\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type = \"text\", size = \"lg\", error, ...props }, ref) => {\n const [showPassword, setShowPassword] = React.useState(false)\n\n const isPassword = type === \"password\"\n const inputType = isPassword && showPassword ? \"text\" : type\n\n return (\n <div className={cn(\n \"uiklu-flex uiklu-flex-col uiklu-gap-1.5\",\n size === \"full\" ? \"uiklu-w-full\" : \"uiklu-w-fit\"\n )}>\n <div className={cn(\"uiklu-relative\", size === \"full\" ? \"uiklu-w-full\" : \"uiklu-w-fit\")}>\n <input\n {...props}\n ref={ref}\n type={inputType}\n className={cn(\n \"uiklu-flex uiklu-box-border uiklu-appearance-none uiklu-outline-none uiklu-transition-all\",\n \"uiklu-rounded-[50px] uiklu-border-[1px] uiklu-border-solid uiklu-bg-background uiklu-font-sans\",\n \"uiklu-overflow-hidden uiklu-text-ellipsis uiklu-placeholder:uiklu-opacity-40\",\n \"disabled:uiklu-cursor-not-allowed disabled:uiklu-opacity-50\",\n\n !error\n ? [\n \"uiklu-border-border uiklu-text-inputtext\",\n \"focus:uiklu-border-baseblack focus:uiklu-border-[1px]\"\n ]\n : [\n \"uiklu-border-destructive uiklu-text-destructive\",\n \"focus:uiklu-border-destructive focus:uiklu-border-[1px]\"\n ],\n\n isPassword && \"uiklu-pr-14\",\n inputSizes[size],\n className\n )}\n />\n {isPassword && (\n <button\n type=\"button\"\n onClick={() => setShowPassword(!showPassword)}\n className=\"uiklu-absolute uiklu-right-6 uiklu-top-0 uiklu-h-full uiklu-flex uiklu-items-center uiklu-justify-center uiklu-bg-transparent uiklu-border-none uiklu-p-0 uiklu-cursor-pointer uiklu-z-10\"\n >\n <div className=\"uiklu-flex uiklu-items-center uiklu-justify-center uiklu-opacity-70 hover:uiklu-opacity-100 uiklu-transition-opacity\">\n {showPassword ? (\n <svg\n width={iconSizes[size].w}\n height={iconSizes[size].h}\n viewBox=\"0 3 24 18\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={!error ? \"uiklu-stroke-inputtext\" : \"uiklu-stroke-destructive\"}\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n ) : (\n <svg\n width={iconSizes[size].w}\n height={iconSizes[size].h}\n viewBox=\"0 3 24 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5.05499 3.24557C4.98913 3.17132 4.90918 3.11089 4.81979 3.06777C4.7304 3.02465 4.63334 2.9997 4.53423 2.99437C4.43513 2.98904 4.33595 3.00343 4.24245 3.03671C4.14895 3.06999 4.06298 3.12150 3.98953 3.18825C3.91608 3.255 3.85661 3.33566 3.81457 3.42556C3.77252 3.51546 3.74874 3.61282 3.7446 3.71198C3.74045 3.81114 3.75603 3.91014 3.79043 4.00323C3.82483 4.09633 3.87737 4.18167 3.94499 4.25432L5.74874 6.23906C2.34374 8.32869 0.879366 11.5499 0.814679 11.6962C0.772035 11.7921 0.75 11.8959 0.75 12.0009C0.75 12.1058 0.772035 12.2096 0.814679 12.3056C0.847491 12.3796 1.64155 14.1403 3.40687 15.9056C5.75905 18.2568 8.72999 19.4999 12 19.4999C13.6806 19.5095 15.3442 19.1635 16.8816 18.4846L18.9441 20.7543C19.0099 20.8286 19.0899 20.8890 19.1793 20.9321C19.2686 20.9752 19.3657 21.0002 19.4648 21.0055C19.5639 21.0108 19.6631 20.9965 19.7566 20.9632C19.8501 20.9299 19.9361 20.8784 20.0095 20.8116C20.083 20.7449 20.1424 20.6642 20.1845 20.5743C20.2265 20.4844 20.2503 20.3871 20.2544 20.2879C20.2586 20.1887 20.243 20.0897 20.2086 19.9966C20.1742 19.9036 20.1217 19.8182 20.0541 19.7456L5.05499 3.24557ZM9.49218 10.3556L13.3987 14.6540C12.8105 14.9635 12.136 15.0688 11.4814 14.9535C10.8268 14.8381 10.229 14.5086 9.78189 14.0167C9.33481 13.5248 9.06377 12.8983 9.01134 12.2356C8.9589 11.573 9.12803 10.9117 9.49218 10.3556ZM12 17.9999C9.11437 17.9999 6.59343 16.9509 4.50655 14.8828C3.64997 14.0315 2.92145 13.0604 2.34374 11.9999C2.78343 11.1759 4.18687 8.86963 6.7828 7.37057L8.4703 9.22213C7.81699 10.0589 7.48052 11.0996 7.52036 12.1604C7.56021 13.2212 7.97379 14.2338 8.68802 15.0192C9.40225 15.8045 10.3711 16.3121 11.4234 16.4522C12.4757 16.5923 13.5436 16.3558 14.4384 15.7846L15.8194 17.3034C14.6006 17.771 13.3053 18.0072 12 17.9999ZM12.5625 9.05338C12.3671 9.01608 12.1944 8.90268 12.0826 8.73812C11.9708 8.57355 11.9289 8.37131 11.9662 8.17588C12.0035 7.98045 12.1169 7.80784 12.2815 7.69602C12.4461 7.58420 12.6483 7.54233 12.8437 7.57963C13.7996 7.76494 14.67 8.25430 15.325 8.97471C15.98 9.69512 16.3846 10.608 16.4784 11.5771C16.4969 11.7752 16.436 11.9725 16.3091 12.1256C16.1822 12.2787 15.9996 12.3752 15.8016 12.3937C15.7781 12.3951 15.7547 12.3951 15.7312 12.3937C15.5438 12.3945 15.3628 12.3251 15.224 12.1991C15.0852 12.0731 14.9986 11.8997 14.9812 11.7131C14.9181 11.0684 14.6486 10.4614 14.2128 9.98220C13.7771 9.50301 13.1982 9.17725 12.5625 9.05338ZM23.1825 12.3056C23.1431 12.3937 22.1934 14.4965 20.055 16.4118C19.9819 16.4793 19.8961 16.5317 19.8027 16.5657C19.7092 16.5998 19.6099 16.6149 19.5105 16.6102C19.4111 16.6055 19.3136 16.5810 19.2238 16.5383C19.1339 16.4956 19.0535 16.4354 18.9871 16.3612C18.9208 16.2871 18.8698 16.2005 18.8373 16.1065C18.8047 16.0125 18.7912 15.9129 18.7975 15.8136C18.8037 15.7143 18.8297 15.6173 18.8739 15.5281C18.918 15.4390 18.9795 15.3595 19.0547 15.2943C20.1038 14.3518 20.9851 13.2378 21.6609 11.9999C21.0819 10.9385 20.3518 9.96677 19.4934 9.11525C17.4066 7.049 14.8856 5.99994 12 5.99994C11.392 5.99920 10.7849 6.04843 10.185 6.14713C10.0874 6.16438 9.98741 6.16213 9.89073 6.14051C9.79404 6.11889 9.70259 6.07833 9.62167 6.02117C9.54074 5.96401 9.47195 5.89138 9.41925 5.80747C9.36656 5.72357 9.33101 5.63006 9.31466 5.53234C9.29832 5.43463 9.30149 5.33464 9.32401 5.23815C9.34652 5.14167 9.38793 5.05060 9.44584 4.97021C9.50375 4.88982 9.57702 4.82170 9.6614 4.76979C9.74579 4.71787 9.83963 4.68320 9.93749 4.66775C10.6192 4.55519 11.309 4.49906 12 4.49994C15.27 4.49994 18.2409 5.74307 20.5931 8.09525C22.3584 9.86057 23.1525 11.6221 23.1853 11.6962C23.2279 11.7921 23.25 11.8959 23.25 12.0009C23.25 12.1058 23.2279 12.2096 23.1853 12.3056H23.1825Z\"\n fill=\"currentColor\"\n className={!error ? \"uiklu-fill-inputtext\" : \"uiklu-fill-destructive\"}\n />\n </svg>\n )}\n </div>\n </button>\n )}\n </div>\n\n {error && (\n <p className=\"uiklu-mt-1 uiklu-px-4 uiklu-text-[12px] uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0\">\n {error}\n </p>\n )}\n </div>\n )\n }\n)\n\nInput.displayName = \"Input\"\n\nexport { Input }","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cn } from \"../../lib/utils.js\"\n\nconst buttonVariants = cva(\n \"uiklu-box-border uiklu-flex uiklu-items-center uiklu-justify-center uiklu-border-2 uiklu-font-medium uiklu-transition-all uiklu-outline-none disabled:uiklu-opacity-50\", {\n variants: {\n variant: {\n primary: `\n uiklu-bg-primary\n uiklu-text-primary-foreground\n hover:uiklu-bg-primary/90\n uiklu-rounded-[48px]\n uiklu-border-transparent\n `,\n secondary: `\n uiklu-bg-gradient-to-r\n uiklu-from-[#FBA022]\n uiklu-to-[#157C70]\n uiklu-text-white\n hover:uiklu-opacity-90\n uiklu-rounded-[48px]\n uiklu-border-transparent\n `,\n outline: \"uiklu-border-border uiklu-bg-transparent hover:uiklu-bg-muted uiklu-rounded-[48px]\",\n outlinePrimary: `\n uiklu-bg-transparent \n uiklu-border-2 \n uiklu-border-primary \n uiklu-text-primary \n uiklu-rounded-[48px]\n `,\n outlineSecondary: `\n uiklu-bg-transparent\n uiklu-border-2\n uiklu-border-outlinesecondary\n uiklu-text-outlinesecondary\n uiklu-rounded-[48px]\n hover:uiklu-bg-outlinesecondary/10\n `,\n outlineWhite: `\n uiklu-bg-transparent \n uiklu-border-2 \n uiklu-border-basewhite \n uiklu-text-basewhite \n uiklu-rounded-[48px]\n `,\n },\n size: {\n sm: \"uiklu-h-[40px] uiklu-w-[150px] uiklu-px-4 uiklu-text-sm uiklu-border\",\n md: \"uiklu-h-[40px] uiklu-w-[250px] uiklu-px-6 uiklu-text-base uiklu-border-2\",\n lg: \"uiklu-h-[50px] uiklu-w-[350px] uiklu-px-[32px] uiklu-text-base uiklu-border-2\",\n xl: \"uiklu-h-[60px] uiklu-w-[450px] uiklu-px-[40px] uiklu-text-lg uiklu-border-[2px]\",\n full: \"uiklu-w-full uiklu-h-[50px] uiklu-max-h-[60px] uiklu-px-[48px] uiklu-text-lg uiklu-font-bold uiklu-border-[2px]\",\n },\n// ...\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n}\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size }), className)}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }","import * as React from \"react\"\nimport { cn } from \"../../lib/utils.js\"\n\ntype BackButtonSize = \"ch\" | \"md\" | \"lg\"\n\ninterface BackButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n size?: BackButtonSize\n}\n\nconst buttonSizes: Record<BackButtonSize, string> = {\n ch: \"uiklu-text-[14px] uiklu-gap-1\",\n md: \"uiklu-text-[16px] uiklu-gap-2\",\n lg: \"uiklu-text-[18px] uiklu-gap-2.5\",\n}\n\nconst svgSizes: Record<BackButtonSize, string> = {\n ch: \"uiklu-w-4 uiklu-h-4\",\n md: \"uiklu-w-5 uiklu-h-5\",\n lg: \"uiklu-w-6 uiklu-h-6\",\n}\n\n// Cambiamos la declaración para que el parser no se confunda\nconst BackButtonRender: React.ForwardRefRenderFunction<HTMLButtonElement, BackButtonProps> = (\n props,\n ref\n) => {\n const { className, size = \"lg\", children = \"Regresar\", ...rest } = props;\n\n return (\n <button\n ref={ref}\n className={cn(\n \"uiklu-inline-flex uiklu-items-center uiklu-w-fit uiklu-border-none uiklu-bg-transparent uiklu-font-sans uiklu-font-medium uiklu-text-basewhite uiklu-text-center uiklu-leading-none uiklu-cursor-pointer hover:uiklu-underline uiklu-transition-all uiklu-outline-none active:uiklu-opacity-70 disabled:uiklu-opacity-50 disabled:uiklu-cursor-not-allowed\",\n buttonSizes[size],\n className\n )}\n {...rest}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={cn(\"uiklu-flex-shrink-0 uiklu-block\", svgSizes[size])}\n style={{ width: size === 'ch' ? '16px' : size === 'md' ? '20px' : '24px', height: 'auto' }}\n >\n <path\n d=\"M21.0001 11.9999C21.0001 12.1988 20.9211 12.3896 20.7804 12.5303C20.6398 12.6709 20.449 12.7499 20.2501 12.7499H5.56041L11.0307 18.2193C11.1004 18.289 11.1557 18.3717 11.1934 18.4628C11.2311 18.5538 11.2505 18.6514 11.2505 18.7499C11.2505 18.8485 11.2311 18.9461 11.1934 19.0371C11.1557 19.1281 11.1004 19.2109 11.0307 19.2806C10.961 19.3502 10.8783 19.4055 10.7873 19.4432C10.6962 19.4809 10.5986 19.5003 10.5001 19.5003C10.4016 19.5003 10.304 19.4809 10.2129 19.4432C10.1219 19.4055 10.0392 19.3502 9.96948 19.2806L3.21948 12.5306C3.14974 12.4609 3.09443 12.3782 3.05668 12.2871C3.01894 12.1961 2.99951 12.0985 2.99951 11.9999C2.99951 11.9014 3.01894 11.8038 3.05668 11.7127C3.09443 11.6217 3.14974 11.539 3.21948 11.4693L9.96948 4.7193C10.1102 4.57857 10.3011 4.49951 10.5001 4.49951C10.6991 4.49951 10.89 4.57857 11.0307 4.7193C11.1715 4.86003 11.2505 5.05091 11.2505 5.24993C11.2505 5.44895 11.1715 5.63982 11.0307 5.78055L5.56041 11.2499H20.2501C20.449 11.2499 20.6398 11.3289 20.7804 11.4696C20.9211 11.6103 21.0001 11.801 21.0001 11.9999Z\"\n fill=\"currentColor\"\n />\n </svg>\n <span>{children}</span>\n </button>\n );\n};\n\nexport const BackButton = React.forwardRef(BackButtonRender);\n\nBackButton.displayName = \"BackButton\""],"mappings":"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","names":["jsx","React","jsx","jsxs"]}
|