@khipu/design-system 0.3.5-alpha.35 → 0.3.5-alpha.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/beercss/khipu-beercss.css +950 -18
- package/dist/beercss/khipu-beercss.js +63 -0
- package/dist/beercss/khipu-beercss.min.css +1 -1
- package/dist/beercss/khipu-beercss.min.js +1 -1
- package/dist/beercss/khipu-beercss.scoped.css +949 -16
- package/dist/beercss/khipu-beercss.scoped.min.css +1 -1
- package/dist/beercss/metadata.json +5 -5
- package/dist/index.d.mts +367 -9
- package/dist/index.d.ts +367 -9
- package/dist/index.js +1113 -405
- package/dist/index.mjs +1078 -379
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ interface KdsThemeProviderProps {
|
|
|
29
29
|
*/
|
|
30
30
|
declare function KdsThemeProvider({ primaryColor, mode, children }: KdsThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
31
31
|
|
|
32
|
-
declare const KDS_VERSION = "0.3.5-alpha.
|
|
32
|
+
declare const KDS_VERSION = "0.3.5-alpha.36";
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* Color tokens organized by theme mode
|
|
@@ -2772,6 +2772,30 @@ interface KdsSecureLoaderProps extends React__default.HTMLAttributes<HTMLDivElem
|
|
|
2772
2772
|
}
|
|
2773
2773
|
declare const KdsSecureLoader: React__default.ForwardRefExoticComponent<KdsSecureLoaderProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
2774
2774
|
|
|
2775
|
+
type KdsProgressChecklistStatus = 'pending' | 'active' | 'done' | 'error';
|
|
2776
|
+
interface KdsProgressChecklistItem {
|
|
2777
|
+
/** Stable key; falls back to the label. */
|
|
2778
|
+
id?: string;
|
|
2779
|
+
label: string;
|
|
2780
|
+
status: KdsProgressChecklistStatus;
|
|
2781
|
+
}
|
|
2782
|
+
interface KdsProgressChecklistProps extends React__default.HTMLAttributes<HTMLUListElement> {
|
|
2783
|
+
items: KdsProgressChecklistItem[];
|
|
2784
|
+
/**
|
|
2785
|
+
* Status text read by screen readers after each label (visually hidden), for i18n.
|
|
2786
|
+
* @default { pending: 'pendiente', active: 'en curso', done: 'listo', error: 'con error' }
|
|
2787
|
+
*/
|
|
2788
|
+
statusLabels?: Partial<Record<KdsProgressChecklistStatus, string>>;
|
|
2789
|
+
}
|
|
2790
|
+
/**
|
|
2791
|
+
* Progress checklist: a list of steps that advance pending → active → done (or error),
|
|
2792
|
+
* e.g. the automatic validation after the business information in onboarding.
|
|
2793
|
+
*
|
|
2794
|
+
* The list is an `aria-live="polite"` region, so status changes are announced; each item
|
|
2795
|
+
* also carries its status as visually hidden text.
|
|
2796
|
+
*/
|
|
2797
|
+
declare const KdsProgressChecklist: React__default.ForwardRefExoticComponent<KdsProgressChecklistProps & React__default.RefAttributes<HTMLUListElement>>;
|
|
2798
|
+
|
|
2775
2799
|
/**
|
|
2776
2800
|
* Khipu Design System - CopyButton Component
|
|
2777
2801
|
*
|
|
@@ -2986,7 +3010,21 @@ declare const KdsRadioGroup: React__default.ForwardRefExoticComponent<KdsRadioGr
|
|
|
2986
3010
|
*
|
|
2987
3011
|
* BeerCSS dibuja el chevron automáticamente, el floating label, focus ring, etc.
|
|
2988
3012
|
*
|
|
2989
|
-
*
|
|
3013
|
+
* Variante `readOnly` (valor precargado que no se edita, ej. datos que vienen del banco):
|
|
3014
|
+
* `<select>` no soporta `readonly` y `disabled` no envía el valor en el form, así que se
|
|
3015
|
+
* renderiza el mismo markup que `KdsTextField readOnly` (`.field.locked` + candado) con el
|
|
3016
|
+
* texto de la opción elegida, más un `<input type="hidden">` que lleva `name` y el value:
|
|
3017
|
+
*
|
|
3018
|
+
* <div class="field label border suffix locked">
|
|
3019
|
+
* <input type="text" id="..." value="Santander" placeholder=" " readonly>
|
|
3020
|
+
* <label for="...">Banco</label>
|
|
3021
|
+
* <i class="material-symbols-outlined" aria-hidden="true">lock</i>
|
|
3022
|
+
* <input type="hidden" name="bank" value="santander">
|
|
3023
|
+
* </div>
|
|
3024
|
+
*
|
|
3025
|
+
* En ese modo el `ref` no se asigna (no hay `<select>` en el DOM).
|
|
3026
|
+
*
|
|
3027
|
+
* @gsp `mat:select` taglib (MaterialTagLib.groovy:260); readOnly → `mat:fieldLocked` + `g:hiddenField`
|
|
2990
3028
|
*/
|
|
2991
3029
|
|
|
2992
3030
|
interface KdsSelectOption {
|
|
@@ -3015,6 +3053,16 @@ interface KdsSelectProps extends Omit<React__default.SelectHTMLAttributes<HTMLSe
|
|
|
3015
3053
|
prefixIcon?: string;
|
|
3016
3054
|
/** Full width (default: true). */
|
|
3017
3055
|
fullWidth?: boolean;
|
|
3056
|
+
/**
|
|
3057
|
+
* Solo lectura: muestra el texto de la opción elegida en un field `.locked` con candado y
|
|
3058
|
+
* envía el value por un `<input type="hidden">` (lleva `name` y `form`). `disabled` tiene
|
|
3059
|
+
* precedencia.
|
|
3060
|
+
*
|
|
3061
|
+
* En este modo no hay `<select>` en el DOM: el `ref` queda en `null` y solo pasan al input
|
|
3062
|
+
* visible los atributos `aria-*`, `data-*` y `title` (no los handlers de evento del select).
|
|
3063
|
+
* `required` se muestra como `*` en la label pero no se aplica: un campo readonly no se valida.
|
|
3064
|
+
*/
|
|
3065
|
+
readOnly?: boolean;
|
|
3018
3066
|
}
|
|
3019
3067
|
declare const KdsSelect: React__default.ForwardRefExoticComponent<KdsSelectProps & React__default.RefAttributes<HTMLSelectElement>>;
|
|
3020
3068
|
|
|
@@ -3202,7 +3250,7 @@ declare const KdsStatusBlock: React__default.ForwardRefExoticComponent<KdsStatus
|
|
|
3202
3250
|
*
|
|
3203
3251
|
* <div class="kds-stepper">
|
|
3204
3252
|
* <div class="kds-step [completed|current]">
|
|
3205
|
-
* <div class="kds-step-indicator"></div> <!-- vacío:
|
|
3253
|
+
* <div class="kds-step-indicator"></div> <!-- vacío: check via CSS -->
|
|
3206
3254
|
* <div class="kds-step-label">Label</div>
|
|
3207
3255
|
* </div>
|
|
3208
3256
|
* ...
|
|
@@ -3211,7 +3259,14 @@ declare const KdsStatusBlock: React__default.ForwardRefExoticComponent<KdsStatus
|
|
|
3211
3259
|
* Specs CSS-driven:
|
|
3212
3260
|
* - La línea conectora horizontal es `.kds-stepper::before` (NO un `<div>`).
|
|
3213
3261
|
* - El check de completed viene de `.kds-step-indicator::after { content: "check" }`.
|
|
3214
|
-
* -
|
|
3262
|
+
* - Sin `numbered` el número del step está oculto (`font-size: 0`).
|
|
3263
|
+
*
|
|
3264
|
+
* Modificadores opcionales (aditivos; sin ellos el markup es el de arriba):
|
|
3265
|
+
* - `.kds-stepper--numbered`: número dentro del indicador (`numbered`).
|
|
3266
|
+
* - `.kds-stepper--primary`: paso actual en color de marca (`color="primary"`).
|
|
3267
|
+
* - `.kds-stepper--current-label`: con el stepper angosto (≤ 560px de ancho propio,
|
|
3268
|
+
* container query) solo se ve la etiqueta del paso actual (`currentLabelOnly`).
|
|
3269
|
+
* El paso actual lleva `aria-current="step"`.
|
|
3215
3270
|
*
|
|
3216
3271
|
* @gsp `mat:stepper` taglib (MaterialTagLib.groovy:817)
|
|
3217
3272
|
*/
|
|
@@ -3222,10 +3277,28 @@ interface KdsStepperProps extends React__default.HTMLAttributes<HTMLDivElement>
|
|
|
3222
3277
|
/**
|
|
3223
3278
|
* Índice 0-based del step actual.
|
|
3224
3279
|
* - Steps `< current` → `.completed` (verde con check)
|
|
3225
|
-
* - Step `== current` → `.current` (azul info)
|
|
3280
|
+
* - Step `== current` → `.current` (azul info, o primary con `color="primary"`)
|
|
3226
3281
|
* - Steps `> current` → pending (gris)
|
|
3227
3282
|
*/
|
|
3228
3283
|
current: number;
|
|
3284
|
+
/**
|
|
3285
|
+
* Muestra el número de paso (1-based) dentro del indicador. Los pasos completados
|
|
3286
|
+
* mantienen el check. Aplica `.kds-stepper--numbered`.
|
|
3287
|
+
*/
|
|
3288
|
+
numbered?: boolean;
|
|
3289
|
+
/**
|
|
3290
|
+
* Color del paso actual: `info` (default, como hasta ahora) o `primary` (color de marca).
|
|
3291
|
+
* `primary` aplica `.kds-stepper--primary`.
|
|
3292
|
+
* @default 'info'
|
|
3293
|
+
*/
|
|
3294
|
+
color?: 'info' | 'primary';
|
|
3295
|
+
/**
|
|
3296
|
+
* Con el stepper angosto (≤ 560px de su propio ancho, no del viewport: container query)
|
|
3297
|
+
* muestra solo la etiqueta del paso actual; las demás
|
|
3298
|
+
* quedan ocultas visualmente pero disponibles para lectores de pantalla.
|
|
3299
|
+
* Aplica `.kds-stepper--current-label`.
|
|
3300
|
+
*/
|
|
3301
|
+
currentLabelOnly?: boolean;
|
|
3229
3302
|
}
|
|
3230
3303
|
declare const KdsStepper: React__default.ForwardRefExoticComponent<KdsStepperProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
3231
3304
|
|
|
@@ -3457,6 +3530,201 @@ interface KdsBankModalProps {
|
|
|
3457
3530
|
}
|
|
3458
3531
|
declare const KdsBankModal: React__default.ForwardRefExoticComponent<KdsBankModalProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
3459
3532
|
|
|
3533
|
+
interface KdsContractProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
3534
|
+
/** Contract body, rendered inside the scrollable `.kds-contract-content`. */
|
|
3535
|
+
children: React__default.ReactNode;
|
|
3536
|
+
/** Accessible name of the scrollable region. @default 'Contrato' */
|
|
3537
|
+
contentLabel?: string;
|
|
3538
|
+
/** Checkbox label. @default 'Declaro que leí y acepto el contrato' */
|
|
3539
|
+
acceptLabel?: React__default.ReactNode;
|
|
3540
|
+
/** Shown (and used as the checkbox description) until the end is reached. */
|
|
3541
|
+
hint?: string;
|
|
3542
|
+
/** Checkbox `name`, for form submission. */
|
|
3543
|
+
name?: string;
|
|
3544
|
+
/** Controlled checked state of the acceptance checkbox. */
|
|
3545
|
+
accepted?: boolean;
|
|
3546
|
+
/** Called with the new checked state. */
|
|
3547
|
+
onAcceptedChange?: (accepted: boolean) => void;
|
|
3548
|
+
/** Called once, when the content has been scrolled to the end (or fits without scroll). */
|
|
3549
|
+
onReadComplete?: () => void;
|
|
3550
|
+
}
|
|
3551
|
+
/**
|
|
3552
|
+
* Contract that must be read to the end before it can be accepted: the acceptance checkbox
|
|
3553
|
+
* stays disabled until `.kds-contract-content` is scrolled to the bottom (or right away if
|
|
3554
|
+
* it fits). Server-side pages get the same behaviour from `[data-kds-contract]` in the
|
|
3555
|
+
* BeerCSS bundle (`Khipu.initContract`).
|
|
3556
|
+
*/
|
|
3557
|
+
declare const KdsContract: React__default.ForwardRefExoticComponent<KdsContractProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
3558
|
+
|
|
3559
|
+
interface KdsFeedbackCardProps extends Omit<React__default.HTMLAttributes<HTMLElement>, 'title' | 'onSubmit'> {
|
|
3560
|
+
/** Question shown as the card title (also its accessible name). */
|
|
3561
|
+
title: string;
|
|
3562
|
+
description?: string;
|
|
3563
|
+
/** Material Symbol in the icon tile. @default 'auto_awesome' */
|
|
3564
|
+
icon?: string;
|
|
3565
|
+
/** The answer control (e.g. a KdsSelect). Hidden once submitted. */
|
|
3566
|
+
children?: React__default.ReactNode;
|
|
3567
|
+
/** Enables the submit button (e.g. once an option is chosen). */
|
|
3568
|
+
canSubmit: boolean;
|
|
3569
|
+
onSubmit: () => void;
|
|
3570
|
+
/** @default 'Enviar' */
|
|
3571
|
+
submitLabel?: string;
|
|
3572
|
+
/** Shows the thank-you state instead of the question. */
|
|
3573
|
+
submitted?: boolean;
|
|
3574
|
+
/** @default '¡Gracias por contarnos!' */
|
|
3575
|
+
thanksTitle?: string;
|
|
3576
|
+
/** @default 'Tu respuesta nos ayuda a llegar a más negocios como el tuyo.' */
|
|
3577
|
+
thanksDescription?: string;
|
|
3578
|
+
}
|
|
3579
|
+
/**
|
|
3580
|
+
* Optional feedback card (e.g. "¿Cómo nos conociste?" on a success screen): icon, question,
|
|
3581
|
+
* an answer control and a submit button; after submitting it turns into a thank-you note in
|
|
3582
|
+
* the same `aria-live` region, so the change is announced. It never blocks the page.
|
|
3583
|
+
*/
|
|
3584
|
+
declare const KdsFeedbackCard: React__default.ForwardRefExoticComponent<KdsFeedbackCardProps & React__default.RefAttributes<HTMLElement>>;
|
|
3585
|
+
|
|
3586
|
+
interface KdsConsentItem {
|
|
3587
|
+
/** Material Symbol shown before the text (decorative). */
|
|
3588
|
+
icon?: string;
|
|
3589
|
+
text: React__default.ReactNode;
|
|
3590
|
+
}
|
|
3591
|
+
interface KdsConsentSection {
|
|
3592
|
+
/** Section title, e.g. "Datos solicitados", "Vigencia de la autorización", "Finalidad". */
|
|
3593
|
+
title: string;
|
|
3594
|
+
items: KdsConsentItem[];
|
|
3595
|
+
}
|
|
3596
|
+
interface KdsConsentCardProps extends Omit<React__default.HTMLAttributes<HTMLElement>, 'title'> {
|
|
3597
|
+
/** Who asks for access, e.g. "Khipu". */
|
|
3598
|
+
requester: string;
|
|
3599
|
+
/** What access is asked for, e.g. the bank name. */
|
|
3600
|
+
resource: string;
|
|
3601
|
+
/**
|
|
3602
|
+
* Replaces the default heading "<requester> solicita acceso a <resource>" (e.g. for
|
|
3603
|
+
* another language). It is still the card's accessible name.
|
|
3604
|
+
*/
|
|
3605
|
+
heading?: React__default.ReactNode;
|
|
3606
|
+
subtitle?: string;
|
|
3607
|
+
/** Logo shown above the title (e.g. a KdsMerchantTile). */
|
|
3608
|
+
logo?: React__default.ReactNode;
|
|
3609
|
+
/** What is requested, for how long and what for. Texts come from the consumer. */
|
|
3610
|
+
sections: KdsConsentSection[];
|
|
3611
|
+
onAccept: () => void;
|
|
3612
|
+
onReject: () => void;
|
|
3613
|
+
/** Accept in progress: shows `loadingLabel` and disables both actions. */
|
|
3614
|
+
loading?: boolean;
|
|
3615
|
+
/** @default 'Autorizar' */
|
|
3616
|
+
acceptLabel?: string;
|
|
3617
|
+
/** @default 'Rechazar' */
|
|
3618
|
+
rejectLabel?: string;
|
|
3619
|
+
/** @default 'Autorizando' */
|
|
3620
|
+
loadingLabel?: string;
|
|
3621
|
+
}
|
|
3622
|
+
/**
|
|
3623
|
+
* Access consent: "<requester> solicita acceso a <resource>", the data requested, its
|
|
3624
|
+
* validity and purpose, and Authorize / Reject. Sections are configurable so the legal
|
|
3625
|
+
* texts stay with the consumer. The secure footer goes outside the card, as a sibling
|
|
3626
|
+
* under `.kds-screen` (inside a `.kds-card-elevated` it is hidden by design).
|
|
3627
|
+
*/
|
|
3628
|
+
declare const KdsConsentCard: React__default.ForwardRefExoticComponent<KdsConsentCardProps & React__default.RefAttributes<HTMLElement>>;
|
|
3629
|
+
|
|
3630
|
+
interface KdsSidebarItem {
|
|
3631
|
+
label: string;
|
|
3632
|
+
href: string;
|
|
3633
|
+
/** Material Symbol (decorative). */
|
|
3634
|
+
icon?: string;
|
|
3635
|
+
/** Current page: `.active` + `aria-current="page"`. */
|
|
3636
|
+
active?: boolean;
|
|
3637
|
+
/** Opens in a new tab. */
|
|
3638
|
+
external?: boolean;
|
|
3639
|
+
}
|
|
3640
|
+
interface KdsSidebarHeader {
|
|
3641
|
+
title: string;
|
|
3642
|
+
subtitle?: string;
|
|
3643
|
+
/** Material Symbol shown instead of the avatar (e.g. 'settings'). */
|
|
3644
|
+
icon?: string;
|
|
3645
|
+
/** Avatar initial, used when there is no icon. */
|
|
3646
|
+
avatar?: string;
|
|
3647
|
+
/**
|
|
3648
|
+
* Context switcher content (e.g. `.kds-sidebar-nav-item` links). When given, the header
|
|
3649
|
+
* becomes a toggle (`role="button"`, keyboard operable) for the floating dropdown.
|
|
3650
|
+
*/
|
|
3651
|
+
menu?: React__default.ReactNode;
|
|
3652
|
+
}
|
|
3653
|
+
interface KdsSidebarProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
3654
|
+
header: KdsSidebarHeader;
|
|
3655
|
+
items: KdsSidebarItem[];
|
|
3656
|
+
/** Accessible name of the item nav. @default 'Menú de la cuenta' */
|
|
3657
|
+
navLabel?: string;
|
|
3658
|
+
/** Mobile drawer state (≤ 768px). */
|
|
3659
|
+
open?: boolean;
|
|
3660
|
+
/** Called by the drawer's close button and Escape while open. */
|
|
3661
|
+
onClose?: () => void;
|
|
3662
|
+
/** Title of the mobile drawer bar. @default 'Menú' */
|
|
3663
|
+
mobileTitle?: string;
|
|
3664
|
+
/** aria-label of the drawer close button. @default 'Cerrar menú' */
|
|
3665
|
+
closeLabel?: string;
|
|
3666
|
+
}
|
|
3667
|
+
/**
|
|
3668
|
+
* Side navigation of the logged-in panel, on the existing `.kds-sidebar` classes (same
|
|
3669
|
+
* markup as payment's `_materialSidebar.gsp` + `mat:sidebarHeader`/`mat:sidebarNav`, with
|
|
3670
|
+
* the items inside `nav.kds-sidebar-nav` like the DS demo). Desktop: sticky floating card.
|
|
3671
|
+
* Mobile: full-width drawer driven by `open`/`onClose`.
|
|
3672
|
+
*/
|
|
3673
|
+
declare const KdsSidebar: React__default.ForwardRefExoticComponent<KdsSidebarProps & React__default.RefAttributes<HTMLElement>>;
|
|
3674
|
+
|
|
3675
|
+
interface KdsNavbarProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
3676
|
+
/** Logo or brand text inside `a.kds-navbar-brand`. */
|
|
3677
|
+
brand: React__default.ReactNode;
|
|
3678
|
+
/** @default '/' */
|
|
3679
|
+
brandHref?: string;
|
|
3680
|
+
/**
|
|
3681
|
+
* `primary`: brand-colored bar (logged-in panel). `surface`: light bar with a bottom
|
|
3682
|
+
* border (logged-out pages).
|
|
3683
|
+
* @default 'primary'
|
|
3684
|
+
*/
|
|
3685
|
+
variant?: 'primary' | 'surface';
|
|
3686
|
+
/** Renders the mobile hamburger (`.kds-hamburger-btn`) when given. */
|
|
3687
|
+
onMenuClick?: () => void;
|
|
3688
|
+
/** Hamburger `aria-expanded` (the sidebar drawer state). */
|
|
3689
|
+
menuOpen?: boolean;
|
|
3690
|
+
/** Hamburger `aria-controls`: the sidebar `id`. */
|
|
3691
|
+
menuControls?: string;
|
|
3692
|
+
/** Hamburger aria-label. @default 'Menú' */
|
|
3693
|
+
menuLabel?: string;
|
|
3694
|
+
/** Right-hand actions (after the flexible spacer). */
|
|
3695
|
+
children?: React__default.ReactNode;
|
|
3696
|
+
}
|
|
3697
|
+
/**
|
|
3698
|
+
* Top bar of the panel, on the existing classes (same markup as payment's
|
|
3699
|
+
* `_materialNavbar.gsp`): `nav.primary` / `nav.surface`, `.kds-container-center`,
|
|
3700
|
+
* optional `.kds-hamburger-btn` (mobile only), `a.kds-navbar-brand`, a `.max` spacer and
|
|
3701
|
+
* the actions.
|
|
3702
|
+
*/
|
|
3703
|
+
declare const KdsNavbar: React__default.ForwardRefExoticComponent<KdsNavbarProps & React__default.RefAttributes<HTMLElement>>;
|
|
3704
|
+
|
|
3705
|
+
interface KdsFooterLink {
|
|
3706
|
+
label: string;
|
|
3707
|
+
href: string;
|
|
3708
|
+
/** Opens in a new tab (`target="_blank" rel="noopener noreferrer"`). */
|
|
3709
|
+
external?: boolean;
|
|
3710
|
+
}
|
|
3711
|
+
interface KdsFooterColumn {
|
|
3712
|
+
title: string;
|
|
3713
|
+
links: KdsFooterLink[];
|
|
3714
|
+
}
|
|
3715
|
+
interface KdsFooterProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
3716
|
+
columns: KdsFooterColumn[];
|
|
3717
|
+
/** Bottom part after the columns: social links, addresses, copyright. */
|
|
3718
|
+
children?: React__default.ReactNode;
|
|
3719
|
+
}
|
|
3720
|
+
/**
|
|
3721
|
+
* Site footer of the panel, on the existing classes (same markup as payment's
|
|
3722
|
+
* `_materialFooter.gsp`): `footer.primary`, `.kds-container-center`, a `.kds-grid` of
|
|
3723
|
+
* columns (12 / 6 / 2 cols by breakpoint) each with an `h6` title and a
|
|
3724
|
+
* `nav.kds-footer-nav` named by that title.
|
|
3725
|
+
*/
|
|
3726
|
+
declare const KdsFooter: React__default.ForwardRefExoticComponent<KdsFooterProps & React__default.RefAttributes<HTMLElement>>;
|
|
3727
|
+
|
|
3460
3728
|
interface KdsQrRowProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
3461
3729
|
/** Primary label (e.g. "Pagar escaneando QR") */
|
|
3462
3730
|
name: string;
|
|
@@ -3469,13 +3737,48 @@ interface KdsQrRowProps extends Omit<React__default.ButtonHTMLAttributes<HTMLBut
|
|
|
3469
3737
|
}
|
|
3470
3738
|
declare const KdsQrRow: React__default.ForwardRefExoticComponent<KdsQrRowProps & React__default.RefAttributes<HTMLButtonElement>>;
|
|
3471
3739
|
|
|
3472
|
-
interface KdsCardSelectorProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3740
|
+
interface KdsCardSelectorProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
|
|
3473
3741
|
icon?: string;
|
|
3474
3742
|
title: string;
|
|
3475
3743
|
description?: string;
|
|
3744
|
+
/** Button mode: highlights the card (`.selected`). */
|
|
3476
3745
|
selected?: boolean;
|
|
3746
|
+
/**
|
|
3747
|
+
* Radio mode (requires `name` and `value`): the card becomes a native radio option
|
|
3748
|
+
* (`.kds-card-selector--radio`): a `<div>` with an `<input type="radio">` and the title as
|
|
3749
|
+
* its label stretched over the card. Needed for block content such as lists in
|
|
3750
|
+
* `children`, which a `<button>` cannot hold. Cards sharing a `name` form one group
|
|
3751
|
+
* (arrow keys, form submit) without JS. Explicit opt-in: without it, `name`/`value` stay
|
|
3752
|
+
* on the `<button>` as before (e.g. a submit button).
|
|
3753
|
+
*/
|
|
3754
|
+
radio?: boolean;
|
|
3755
|
+
/** Button mode: the button's `name`. Radio mode: the radio group name. */
|
|
3756
|
+
name?: string;
|
|
3757
|
+
/** Button mode: the button's `value`. Radio mode: the value submitted for this option. */
|
|
3758
|
+
value?: string;
|
|
3759
|
+
/** Radio mode: controlled checked state. */
|
|
3760
|
+
checked?: boolean;
|
|
3761
|
+
/** Radio mode: called with `value` when the user picks this card. */
|
|
3762
|
+
onCheckedChange?: (value: string) => void;
|
|
3763
|
+
/**
|
|
3764
|
+
* Extra content under the description (`.kds-card-selector-details`). In button mode it
|
|
3765
|
+
* must be inline content (it renders in a `<span>`); use radio mode for lists or blocks.
|
|
3766
|
+
*/
|
|
3767
|
+
children?: React__default.ReactNode;
|
|
3477
3768
|
}
|
|
3478
|
-
|
|
3769
|
+
/**
|
|
3770
|
+
* The ref points to the `<button>` in button mode and to the card `<div>` in radio mode.
|
|
3771
|
+
*/
|
|
3772
|
+
declare const KdsCardSelector: React__default.ForwardRefExoticComponent<KdsCardSelectorProps & React__default.RefAttributes<HTMLElement>>;
|
|
3773
|
+
interface KdsCardSelectorGroupProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
3774
|
+
/** Accessible name of the group (e.g. "Tipo de contribuyente"). */
|
|
3775
|
+
label: string;
|
|
3776
|
+
}
|
|
3777
|
+
/**
|
|
3778
|
+
* Wraps radio-mode KdsCardSelector cards in a labelled `role="radiogroup"` laid out with
|
|
3779
|
+
* the `.kds-card-selector-group` grid: as many columns as fit in the group's own width.
|
|
3780
|
+
*/
|
|
3781
|
+
declare const KdsCardSelectorGroup: React__default.ForwardRefExoticComponent<KdsCardSelectorGroupProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
3479
3782
|
|
|
3480
3783
|
interface KdsCardPlanProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
3481
3784
|
title: string;
|
|
@@ -3485,8 +3788,34 @@ interface KdsCardPlanProps extends React__default.HTMLAttributes<HTMLDivElement>
|
|
|
3485
3788
|
recommended?: boolean;
|
|
3486
3789
|
badgeText?: string;
|
|
3487
3790
|
action?: React__default.ReactNode;
|
|
3791
|
+
/** Short line under the title, e.g. "Incluye descuentos por volumen." */
|
|
3792
|
+
description?: string;
|
|
3793
|
+
/** Shows a check icon before each feature (decorative). */
|
|
3794
|
+
checkFeatures?: boolean;
|
|
3795
|
+
/**
|
|
3796
|
+
* Radio group name. Together with `value` it makes the card selectable: it renders a
|
|
3797
|
+
* native `<input type="radio">` and the title becomes its label, stretched over the
|
|
3798
|
+
* whole card. Cards sharing a `name` form one group (arrow keys, form submit).
|
|
3799
|
+
*/
|
|
3800
|
+
name?: string;
|
|
3801
|
+
/** Value submitted for this plan when it is selected. Requires `name`. */
|
|
3802
|
+
value?: string;
|
|
3803
|
+
/** Controlled checked state of the radio. */
|
|
3804
|
+
selected?: boolean;
|
|
3805
|
+
/** Called with `value` when the user selects this card. */
|
|
3806
|
+
onSelectedChange?: (value: string) => void;
|
|
3488
3807
|
}
|
|
3489
3808
|
declare const KdsCardPlan: React__default.ForwardRefExoticComponent<KdsCardPlanProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
3809
|
+
interface KdsCardPlanGroupProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
3810
|
+
/** Accessible name of the group (e.g. "Plan de cobro"). */
|
|
3811
|
+
label: string;
|
|
3812
|
+
}
|
|
3813
|
+
/**
|
|
3814
|
+
* Wraps selectable KdsCardPlan cards in a labelled `role="radiogroup"` laid out with the
|
|
3815
|
+
* `.kds-card-plan-group` grid: as many columns as fit in the group's own width (cards
|
|
3816
|
+
* keep their 260px minimum), so it also works inside a narrow card next to a sidebar.
|
|
3817
|
+
*/
|
|
3818
|
+
declare const KdsCardPlanGroup: React__default.ForwardRefExoticComponent<KdsCardPlanGroupProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
3490
3819
|
|
|
3491
3820
|
interface KdsInvoiceStickyProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
3492
3821
|
}
|
|
@@ -3512,7 +3841,9 @@ declare const KdsInvoiceHeaderSkeleton: React__default.ForwardRefExoticComponent
|
|
|
3512
3841
|
/**
|
|
3513
3842
|
* Khipu Design System - BottomSheet Component
|
|
3514
3843
|
*
|
|
3515
|
-
* Bottom-sheet (modal que sube desde abajo en mobile
|
|
3844
|
+
* Bottom-sheet (modal que sube desde abajo: en mobile ocupa todo el ancho pegado al borde;
|
|
3845
|
+
* cuando la pantalla es más ancha que el sheet (420px) flota sobre el borde inferior con
|
|
3846
|
+
* todas las esquinas redondeadas) basado
|
|
3516
3847
|
* en Radix Dialog. Único componente de modales del DS — `KdsModal` fue unificado aquí.
|
|
3517
3848
|
*
|
|
3518
3849
|
* Contrato HTML (matchea CSS `.kds-bottom-sheet*` de khipu-components.css):
|
|
@@ -3521,13 +3852,18 @@ declare const KdsInvoiceHeaderSkeleton: React__default.ForwardRefExoticComponent
|
|
|
3521
3852
|
* <div class="kds-bottom-sheet">
|
|
3522
3853
|
* <div class="kds-bottom-sheet-grabber" /> <!-- opcional -->
|
|
3523
3854
|
* <button class="kds-bottom-sheet-close">X</button> <!-- opcional -->
|
|
3855
|
+
* <div class="kds-bottom-sheet-icon">...</div> <!-- opcional -->
|
|
3524
3856
|
* <h2 class="kds-bottom-sheet-title">...</h2> <!-- opcional -->
|
|
3525
3857
|
* <p class="kds-bottom-sheet-description">...</p> <!-- opcional -->
|
|
3526
3858
|
* <div class="kds-bottom-sheet-body">children</div>
|
|
3859
|
+
* <p class="kds-bottom-sheet-hint">...</p> <!-- opcional -->
|
|
3527
3860
|
* <div class="kds-bottom-sheet-actions">actions</div> <!-- opcional -->
|
|
3528
3861
|
* </div>
|
|
3529
3862
|
* </div>
|
|
3530
3863
|
*
|
|
3864
|
+
* Variante diálogo (`variant="dialog"`): `kds-bottom-sheet-scrim--dialog` en el scrim y
|
|
3865
|
+
* `kds-bottom-sheet--dialog` en el sheet; con texto centrado suma `kds-bottom-sheet--center`.
|
|
3866
|
+
*
|
|
3531
3867
|
* IMPORTANTE: el scrim DEBE llevar la clase `.open` SIEMPRE (Radix maneja mount/unmount).
|
|
3532
3868
|
* Sin `.open`, el scrim queda `display: none` y no se ve.
|
|
3533
3869
|
*/
|
|
@@ -3558,6 +3894,28 @@ interface KdsBottomSheetProps extends React__default.HTMLAttributes<HTMLDivEleme
|
|
|
3558
3894
|
* (90dvh) y estira el body para contenido largo como documentos o textos legales.
|
|
3559
3895
|
*/
|
|
3560
3896
|
size?: 'auto' | 'full';
|
|
3897
|
+
/**
|
|
3898
|
+
* `false` para un sheet que no se puede cerrar mientras dura un proceso (p. ej. una
|
|
3899
|
+
* validación automática): ignora Escape y el click fuera, y no muestra grabber ni X.
|
|
3900
|
+
* Lo cierra el consumidor poniendo `open={false}` al terminar. Default: true.
|
|
3901
|
+
*/
|
|
3902
|
+
dismissible?: boolean;
|
|
3903
|
+
/**
|
|
3904
|
+
* `sheet` (default): bottom sheet con texto centrado. `dialog`: modal corriente con texto
|
|
3905
|
+
* a la izquierda — en escritorio (>520px) centrado en pantalla con las acciones lado a lado
|
|
3906
|
+
* (la primera acción queda a la derecha); en mobile sigue siendo bottom sheet con las
|
|
3907
|
+
* acciones apiladas. Pasa la acción principal primero en `actions`.
|
|
3908
|
+
*/
|
|
3909
|
+
variant?: 'sheet' | 'dialog';
|
|
3910
|
+
/**
|
|
3911
|
+
* Alineación del texto en la variante `dialog`: `start` (default, modal corriente) o
|
|
3912
|
+
* `center` (modal de estado, p. ej. con un spinner arriba). El sheet siempre va centrado.
|
|
3913
|
+
*/
|
|
3914
|
+
align?: 'start' | 'center';
|
|
3915
|
+
/** Ícono o loader sobre el título (p. ej. `<KdsSpinner />`), en `.kds-bottom-sheet-icon`. */
|
|
3916
|
+
icon?: React__default.ReactNode;
|
|
3917
|
+
/** Nota breve sobre las acciones (p. ej. "No cierres esta ventana."). */
|
|
3918
|
+
hint?: React__default.ReactNode;
|
|
3561
3919
|
}
|
|
3562
3920
|
declare const KdsBottomSheet: React__default.ForwardRefExoticComponent<KdsBottomSheetProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
3563
3921
|
|
|
@@ -4110,4 +4468,4 @@ declare function formatDate(iso?: string): string;
|
|
|
4110
4468
|
*/
|
|
4111
4469
|
declare function formatTime(iso?: string): string;
|
|
4112
4470
|
|
|
4113
|
-
export { type Colors, type ExpandPanelProps, type ExpandToggleProps, KDS_VERSION, KdsAccordion, KdsAccordionDetails, type KdsAccordionDetailsProps, type KdsAccordionProps, KdsAccordionSummary, type KdsAccordionSummaryProps, KdsAlert, type KdsAlertProps, type KdsAlertSeverity, KdsBankList, type KdsBankListProps, KdsBankModal, type KdsBankModalProps, KdsBankRow, type KdsBankRowProps, KdsBillAttachment, type KdsBillAttachmentProps, KdsBillAttachments, type KdsBillAttachmentsProps, KdsBottomSheet, type KdsBottomSheetProps, KdsButton, type KdsButtonProps, type KdsButtonSize, type KdsButtonVariant, KdsCard, KdsCardBody, KdsCardFooter, KdsCardHeader, KdsCardPlan, type KdsCardPlanProps, type KdsCardProps, type KdsCardSectionProps, KdsCardSelector, type KdsCardSelectorProps, type KdsCardVariant, KdsCheckbox, type KdsCheckboxProps, KdsChip, type KdsChipColor, type KdsChipProps, KdsCopyButton, type KdsCopyButtonProps, KdsCopyRow, type KdsCopyRowProps, KdsCopyableTable, type KdsCopyableTableProps, type KdsCopyableTableRow, KdsCountdown, type KdsCountdownProps, KdsDivider, type KdsDividerProps, KdsDocumentFrame, type KdsDocumentFrameProps, KdsEmptyState, type KdsEmptyStateProps, KdsExpandPanel, type KdsExpandPanelProps, KdsFab, type KdsFabPosition, type KdsFabProps, KdsInvoiceHeaderSkeleton, type KdsInvoiceHeaderSkeletonProps, KdsInvoiceMerchant, type KdsInvoiceMerchantProps, KdsInvoiceSticky, type KdsInvoiceStickyProps, KdsLinearProgress, type KdsLinearProgressProps, KdsMerchantTile, type KdsMerchantTileProps, KdsMontoRow, type KdsMontoRowProps, KdsPaymentTotal, type KdsPaymentTotalProps, type KdsPaymentTotalVariant, KdsQrRow, type KdsQrRowProps, KdsRadioGroup, type KdsRadioGroupProps, type KdsRadioOption, type KdsRecapItem, KdsRecapList, type KdsRecapListProps, KdsSearchField, type KdsSearchFieldProps, KdsSectionNote, type KdsSectionNoteProps, KdsSecureFooter, type KdsSecureFooterProps, KdsSecureLoader, type KdsSecureLoaderProps, KdsSegmentedTabs, type KdsSegmentedTabsProps, KdsSelect, type KdsSelectOption, type KdsSelectProps, KdsSnackbar, type KdsSnackbarProps, type KdsSnackbarType, KdsSpinner, type KdsSpinnerProps, type KdsSpinnerSize, KdsStatusBlock, type KdsStatusBlockProps, type KdsStatusType, KdsStepper, type KdsStepperProps, KdsTab, KdsTabPanel, type KdsTabPanelProps, type KdsTabProps, KdsTabs, type KdsTabsProps, KdsTextField, type KdsTextFieldProps, KdsThemeProvider, type KdsThemeProviderProps, KdsTooltip, type KdsTooltipPlacement, type KdsTooltipProps, KdsTypography, type KdsTypographyProps, type KdsTypographyVariant, LIGHT_LOGO_LUMINANCE_THRESHOLD, type LogoBackdrop, type ThemeMode, type Tokens, type TokensByMode, type Typography as TypographyTokens, type UseExpandToggleOptions, type UseExpandToggleResult, type UseHideOnScrollOptions, type UseHideOnScrollResult, type UseStickyInvoiceCollapseOptions, borderRadius, breakpoints, centerFieldInViewport, colors, colorsByMode, focusFirstInvalidField, fontFamilies, fontSizes, fontWeights, formatDate, formatDateTime, formatTime, getContrastColor, guideToFirstInvalidFieldOnBlur, letterSpacings, lighten, lineHeights, measureLogoLuminance, pickLogoBackdrop, runAfterPointerGesture, scrollToFirstInvalidField, semanticSpacing, shadows, spacing, tokens, tokensByMode, transitions, typography, useAutoHide, useCopyToClipboard, useCountdown, useExpandToggle, useHideOnScroll, useLogoBackdrop, useMediaQuery, useStickyInvoiceCollapse, useTabsKeyboard, zIndex };
|
|
4471
|
+
export { type Colors, type ExpandPanelProps, type ExpandToggleProps, KDS_VERSION, KdsAccordion, KdsAccordionDetails, type KdsAccordionDetailsProps, type KdsAccordionProps, KdsAccordionSummary, type KdsAccordionSummaryProps, KdsAlert, type KdsAlertProps, type KdsAlertSeverity, KdsBankList, type KdsBankListProps, KdsBankModal, type KdsBankModalProps, KdsBankRow, type KdsBankRowProps, KdsBillAttachment, type KdsBillAttachmentProps, KdsBillAttachments, type KdsBillAttachmentsProps, KdsBottomSheet, type KdsBottomSheetProps, KdsButton, type KdsButtonProps, type KdsButtonSize, type KdsButtonVariant, KdsCard, KdsCardBody, KdsCardFooter, KdsCardHeader, KdsCardPlan, KdsCardPlanGroup, type KdsCardPlanGroupProps, type KdsCardPlanProps, type KdsCardProps, type KdsCardSectionProps, KdsCardSelector, KdsCardSelectorGroup, type KdsCardSelectorGroupProps, type KdsCardSelectorProps, type KdsCardVariant, KdsCheckbox, type KdsCheckboxProps, KdsChip, type KdsChipColor, type KdsChipProps, KdsConsentCard, type KdsConsentCardProps, type KdsConsentItem, type KdsConsentSection, KdsContract, type KdsContractProps, KdsCopyButton, type KdsCopyButtonProps, KdsCopyRow, type KdsCopyRowProps, KdsCopyableTable, type KdsCopyableTableProps, type KdsCopyableTableRow, KdsCountdown, type KdsCountdownProps, KdsDivider, type KdsDividerProps, KdsDocumentFrame, type KdsDocumentFrameProps, KdsEmptyState, type KdsEmptyStateProps, KdsExpandPanel, type KdsExpandPanelProps, KdsFab, type KdsFabPosition, type KdsFabProps, KdsFeedbackCard, type KdsFeedbackCardProps, KdsFooter, type KdsFooterColumn, type KdsFooterLink, type KdsFooterProps, KdsInvoiceHeaderSkeleton, type KdsInvoiceHeaderSkeletonProps, KdsInvoiceMerchant, type KdsInvoiceMerchantProps, KdsInvoiceSticky, type KdsInvoiceStickyProps, KdsLinearProgress, type KdsLinearProgressProps, KdsMerchantTile, type KdsMerchantTileProps, KdsMontoRow, type KdsMontoRowProps, KdsNavbar, type KdsNavbarProps, KdsPaymentTotal, type KdsPaymentTotalProps, type KdsPaymentTotalVariant, KdsProgressChecklist, type KdsProgressChecklistItem, type KdsProgressChecklistProps, type KdsProgressChecklistStatus, KdsQrRow, type KdsQrRowProps, KdsRadioGroup, type KdsRadioGroupProps, type KdsRadioOption, type KdsRecapItem, KdsRecapList, type KdsRecapListProps, KdsSearchField, type KdsSearchFieldProps, KdsSectionNote, type KdsSectionNoteProps, KdsSecureFooter, type KdsSecureFooterProps, KdsSecureLoader, type KdsSecureLoaderProps, KdsSegmentedTabs, type KdsSegmentedTabsProps, KdsSelect, type KdsSelectOption, type KdsSelectProps, KdsSidebar, type KdsSidebarHeader, type KdsSidebarItem, type KdsSidebarProps, KdsSnackbar, type KdsSnackbarProps, type KdsSnackbarType, KdsSpinner, type KdsSpinnerProps, type KdsSpinnerSize, KdsStatusBlock, type KdsStatusBlockProps, type KdsStatusType, KdsStepper, type KdsStepperProps, KdsTab, KdsTabPanel, type KdsTabPanelProps, type KdsTabProps, KdsTabs, type KdsTabsProps, KdsTextField, type KdsTextFieldProps, KdsThemeProvider, type KdsThemeProviderProps, KdsTooltip, type KdsTooltipPlacement, type KdsTooltipProps, KdsTypography, type KdsTypographyProps, type KdsTypographyVariant, LIGHT_LOGO_LUMINANCE_THRESHOLD, type LogoBackdrop, type ThemeMode, type Tokens, type TokensByMode, type Typography as TypographyTokens, type UseExpandToggleOptions, type UseExpandToggleResult, type UseHideOnScrollOptions, type UseHideOnScrollResult, type UseStickyInvoiceCollapseOptions, borderRadius, breakpoints, centerFieldInViewport, colors, colorsByMode, focusFirstInvalidField, fontFamilies, fontSizes, fontWeights, formatDate, formatDateTime, formatTime, getContrastColor, guideToFirstInvalidFieldOnBlur, letterSpacings, lighten, lineHeights, measureLogoLuminance, pickLogoBackdrop, runAfterPointerGesture, scrollToFirstInvalidField, semanticSpacing, shadows, spacing, tokens, tokensByMode, transitions, typography, useAutoHide, useCopyToClipboard, useCountdown, useExpandToggle, useHideOnScroll, useLogoBackdrop, useMediaQuery, useStickyInvoiceCollapse, useTabsKeyboard, zIndex };
|