@klu_dev/ui-klu-green 1.1.3 → 1.1.4
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 +109 -1
- package/dist/index.css +472 -204
- package/dist/index.d.ts +2 -0
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ npm install @klu_dev/ui-klu-green
|
|
|
16
16
|
- BackButton
|
|
17
17
|
- Select
|
|
18
18
|
- Typography
|
|
19
|
+
- Modal
|
|
19
20
|
|
|
20
21
|
## Antes de comenzar a agregar componentes
|
|
21
22
|
|
|
@@ -305,4 +306,111 @@ export default function FormSelect() {
|
|
|
305
306
|
| `sm` | `150px` | `uiklu-w-[150px]` |
|
|
306
307
|
| `md` | `250px` | `uiklu-w-[250px]` |
|
|
307
308
|
| `lg` | `350px` | `uiklu-w-[350px]` |
|
|
308
|
-
| `full` | `100%` | `uiklu-w-full` |
|
|
309
|
+
| `full` | `100%` | `uiklu-w-full` |
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
## Uso Modal
|
|
314
|
+
Componente de diálogo flexible basado en Radix UI. Permite encabezados con íconos, contenido personalizado y un pie con botones configurables que usan las variantes de la librería.
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
- **Modal Autorización:**
|
|
318
|
+
|
|
319
|
+
```tsx
|
|
320
|
+
import { Modal, Button, Input, Icons } from "@klu_dev/ui-klu-green"
|
|
321
|
+
import { useState } from "react"
|
|
322
|
+
|
|
323
|
+
export default function AuthExample() {
|
|
324
|
+
const [isOpen, setIsOpen] = useState(false)
|
|
325
|
+
|
|
326
|
+
return (
|
|
327
|
+
<>
|
|
328
|
+
<Button onClick={() => setIsOpen(true)}>Abrir Autorización</Button>
|
|
329
|
+
|
|
330
|
+
<Modal
|
|
331
|
+
open={isOpen}
|
|
332
|
+
onOpenChange={setIsOpen}
|
|
333
|
+
title="Autorización"
|
|
334
|
+
icon={Icons.SHIELD_CHECK}
|
|
335
|
+
footerButtons={[
|
|
336
|
+
{
|
|
337
|
+
label: "Cancelar",
|
|
338
|
+
variant: "outlinePrimary",
|
|
339
|
+
onClick: () => setIsOpen(false)
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
label: "Verificar código",
|
|
343
|
+
variant: "primary",
|
|
344
|
+
onClick: () => console.log("Validando...")
|
|
345
|
+
}
|
|
346
|
+
]}
|
|
347
|
+
>
|
|
348
|
+
<div className="uiklu-space-y-6">
|
|
349
|
+
<p className="uiklu-text-balance-slate-600 uiklu-text-[14px]">
|
|
350
|
+
Este movimiento esta protegido con la aplicación de autenticación.
|
|
351
|
+
</p>
|
|
352
|
+
<div className="uiklu-space-y-2">
|
|
353
|
+
<label className="uiklu-text-balance-slate-600 uiklu-text-[14px] uiklu-font-medium">
|
|
354
|
+
Código de autenticación
|
|
355
|
+
</label>
|
|
356
|
+
<Input type="password" placeholder="**********" size="full" />
|
|
357
|
+
</div>
|
|
358
|
+
</div>
|
|
359
|
+
</Modal>
|
|
360
|
+
</>
|
|
361
|
+
)
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
- **Modal Mensaje informativo:**
|
|
368
|
+
Ideal para confirmaciones de éxito o avisos rápidos donde solo se requiere un botón de acción.
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
```tsx
|
|
372
|
+
import { Modal, Icons } from "@klu_dev/ui-klu-green"
|
|
373
|
+
import { useState } from "react"
|
|
374
|
+
|
|
375
|
+
export default function SuccessMessage() {
|
|
376
|
+
const [isOpen, setIsOpen] = useState(false)
|
|
377
|
+
|
|
378
|
+
return (
|
|
379
|
+
<>
|
|
380
|
+
<button onClick={() => setIsOpen(true)}>Actualizar Contraseña</button>
|
|
381
|
+
|
|
382
|
+
<Modal
|
|
383
|
+
open={isOpen}
|
|
384
|
+
onOpenChange={setIsOpen}
|
|
385
|
+
title="Cambio Exitoso"
|
|
386
|
+
icon={Icons.SHIELD_CHECK}
|
|
387
|
+
footerButtons={[
|
|
388
|
+
{
|
|
389
|
+
label: "Entendido",
|
|
390
|
+
variant: "primary",
|
|
391
|
+
onClick: () => setIsOpen(false)
|
|
392
|
+
}
|
|
393
|
+
]}
|
|
394
|
+
>
|
|
395
|
+
<p className="uiklu-text-balance-slate-600 uiklu-text-[14px] uiklu-leading-relaxed">
|
|
396
|
+
Tu contraseña se ha actualizado correctamente. Te recomendamos no compartirla con nadie por seguridad.
|
|
397
|
+
</p>
|
|
398
|
+
</Modal>
|
|
399
|
+
</>
|
|
400
|
+
)
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
- **Props de Modal:**
|
|
406
|
+
|
|
407
|
+
| Prop | Tipo | Descripción |
|
|
408
|
+
| :--- | :--- | :--- |
|
|
409
|
+
| `open` | `boolean` | Controla si el modal está visible. |
|
|
410
|
+
| `onOpenChange` | `function` | Función para actualizar el estado de apertura. |
|
|
411
|
+
| `title` | `string` | Título que aparece en el encabezado. |
|
|
412
|
+
| `icon` | `ReactNode` | Icono decorativo al lado del título. |
|
|
413
|
+
| `children` | `ReactNode` | Contenido principal (cuerpo) del modal. |
|
|
414
|
+
| `footerButtons` | `array` | Configuración de botones (label, onClick, variant). |
|
|
415
|
+
| `sm:max-w` | `500px` | Ancho máximo en pantallas pequeñas: `uiklu-sm:max-w-[500px]` |
|
|
416
|
+
|