@khipu/design-system 0.1.0-alpha.55 → 0.2.0-alpha.2

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/index.d.mts CHANGED
@@ -1,130 +1,28 @@
1
- import * as _mui_material_styles from '@mui/material/styles';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import * as React from 'react';
2
+ import * as React$1 from 'react';
4
3
  import React__default from 'react';
5
- import { ThemeOptions } from '@mui/material';
6
- import { ButtonProps } from '@mui/material/Button';
7
- import { TextFieldProps } from '@mui/material/TextField';
8
- import { CheckboxProps } from '@mui/material/Checkbox';
9
- import { DialogProps } from '@mui/material/Dialog';
10
- import { CardProps } from '@mui/material/Card';
11
- import { CardHeaderProps } from '@mui/material/CardHeader';
12
- import { CardContentProps } from '@mui/material/CardContent';
13
- import { CardActionsProps } from '@mui/material/CardActions';
14
- import { CircularProgressProps } from '@mui/material/CircularProgress';
15
- import { LinearProgressProps } from '@mui/material/LinearProgress';
16
- import { AlertProps } from '@mui/material/Alert';
17
- import { TypographyProps } from '@mui/material/Typography';
18
- import { TabsProps } from '@mui/material/Tabs';
19
- import { TabProps } from '@mui/material/Tab';
20
- import { BoxProps } from '@mui/material/Box';
21
- export { default as Box, BoxProps } from '@mui/material/Box';
22
- import { IconButtonProps } from '@mui/material/IconButton';
23
- export { default as IconButton, IconButtonProps } from '@mui/material/IconButton';
24
- import { RadioGroupProps } from '@mui/material/RadioGroup';
25
- import { RadioProps } from '@mui/material/Radio';
26
- import { SelectProps } from '@mui/material/Select';
27
- import { MenuItemProps } from '@mui/material/MenuItem';
28
- import { ChipProps } from '@mui/material/Chip';
29
- import { SnackbarProps } from '@mui/material/Snackbar';
30
- import { TooltipProps } from '@mui/material/Tooltip';
31
- import { AccordionProps } from '@mui/material/Accordion';
32
- import { AccordionSummaryProps } from '@mui/material/AccordionSummary';
33
- import { AccordionDetailsProps } from '@mui/material/AccordionDetails';
34
- export { default as InputAdornment, InputAdornmentProps } from '@mui/material/InputAdornment';
35
- export { default as Divider, DividerProps } from '@mui/material/Divider';
36
- export { default as Link, LinkProps } from '@mui/material/Link';
37
- export { default as Stack, StackProps } from '@mui/material/Stack';
38
- export { default as Grid, GridProps } from '@mui/material/Grid';
39
- export { default as Container, ContainerProps } from '@mui/material/Container';
40
- export { default as SearchIcon } from '@mui/icons-material/Search';
41
- export { default as ChevronRightIcon } from '@mui/icons-material/ChevronRight';
42
- export { default as ChevronLeftIcon } from '@mui/icons-material/ChevronLeft';
43
- export { default as CloseIcon } from '@mui/icons-material/Close';
44
- export { default as CheckIcon } from '@mui/icons-material/Check';
45
- export { default as CheckCircleIcon } from '@mui/icons-material/CheckCircle';
46
- export { default as PersonIcon } from '@mui/icons-material/Person';
47
- export { default as LockIcon } from '@mui/icons-material/Lock';
48
- export { default as LockOutlinedIcon } from '@mui/icons-material/LockOutlined';
49
- export { default as MailOutlineIcon } from '@mui/icons-material/MailOutline';
50
- export { default as ExpandMoreIcon } from '@mui/icons-material/ExpandMore';
51
- export { default as ExpandLessIcon } from '@mui/icons-material/ExpandLess';
52
- export { default as InfoIcon } from '@mui/icons-material/Info';
53
- export { default as WarningIcon } from '@mui/icons-material/Warning';
54
- export { default as ErrorIcon } from '@mui/icons-material/Error';
55
- export { default as VisibilityIcon } from '@mui/icons-material/Visibility';
56
- export { default as VisibilityOffIcon } from '@mui/icons-material/VisibilityOff';
57
- export { default as ContentCopyIcon } from '@mui/icons-material/ContentCopy';
58
- export { default as KeyboardArrowUpIcon } from '@mui/icons-material/KeyboardArrowUp';
59
- export { default as KeyboardArrowDownIcon } from '@mui/icons-material/KeyboardArrowDown';
4
+ import * as Select from '@radix-ui/react-select';
5
+ export { clsx } from 'clsx';
60
6
 
61
- declare const khipuTheme: _mui_material_styles.Theme;
62
-
63
- type KhipuTheme = typeof khipuTheme;
64
-
65
- interface KhipuThemeProviderProps {
66
- /** Child components */
67
- children: React__default.ReactNode;
68
- /** Include CSS baseline reset */
69
- includeCssBaseline?: boolean;
70
- /** Override palette.primary.main */
7
+ interface KdsThemeProviderProps {
8
+ /** Override primary color for merchant branding */
71
9
  primaryColor?: string;
72
- /** Override palette.primary.light */
73
- primaryColorVariant?: string;
74
- /** Override typography.fontFamily */
75
- fontFamily?: string;
76
- /** Override palette.text.primary */
77
- textColor?: string;
78
- /** Override palette.background.default */
79
- backgroundColor?: string;
80
- /** Override palette.background.paper */
81
- pageBackgroundColor?: string;
82
- /** Override palette.mode ('light' | 'dark') */
10
+ /** Light or dark mode */
83
11
  mode?: 'light' | 'dark';
84
- /** Override button text color (primary.contrastText) */
85
- buttonFontColor?: string;
86
- /** Override palette.text.disabled */
87
- disabledFontColor?: string;
88
- /** Override palette.action.disabledBackground */
89
- disabledBackgroundColor?: string;
90
- /** Font size multiplier for responsive sizing */
91
- fontSizeMultiplier?: number;
92
- /** Additional MUI theme overrides for full flexibility */
93
- themeOverrides?: ThemeOptions;
12
+ children: React__default.ReactNode;
94
13
  }
95
14
  /**
96
- * Provides the Khipu design system theme to all child components.
97
- * Supports dynamic overrides for merchant-specific customization at runtime.
15
+ * Lightweight theme provider using CSS custom properties.
16
+ * Replaces MUI's KhipuThemeProvider.
98
17
  *
99
18
  * @example
100
19
  * ```tsx
101
- * import { KhipuThemeProvider } from '@khipu/design-system';
102
- *
103
- * // Basic usage
104
- * function App() {
105
- * return (
106
- * <KhipuThemeProvider>
107
- * <YourApp />
108
- * </KhipuThemeProvider>
109
- * );
110
- * }
111
- *
112
- * // With dynamic merchant overrides
113
- * function MerchantApp({ style }) {
114
- * return (
115
- * <KhipuThemeProvider
116
- * primaryColor={style.primaryColor}
117
- * fontFamily={style.fontFamily}
118
- * mode={style.theme}
119
- * backgroundColor={style.backgroundColor}
120
- * >
121
- * <YourApp />
122
- * </KhipuThemeProvider>
123
- * );
124
- * }
20
+ * <KdsThemeProvider primaryColor="#FF0000">
21
+ * <App />
22
+ * </KdsThemeProvider>
125
23
  * ```
126
24
  */
127
- declare function KhipuThemeProvider({ children, includeCssBaseline, themeOverrides, ...dynamicProps }: KhipuThemeProviderProps): react_jsx_runtime.JSX.Element;
25
+ declare function KdsThemeProvider({ primaryColor, mode, children }: KdsThemeProviderProps): react_jsx_runtime.JSX.Element;
128
26
 
129
27
  /**
130
28
  * Color tokens organized by theme mode
@@ -1228,6 +1126,48 @@ declare const tokensByMode: {
1228
1126
  readonly desktop: "0.75rem";
1229
1127
  };
1230
1128
  };
1129
+ readonly responsiveBaseFontSizes: {
1130
+ readonly xs: {
1131
+ readonly mobile: "0.6875rem";
1132
+ readonly tablet: "0.75rem";
1133
+ readonly desktop: "0.75rem";
1134
+ };
1135
+ readonly sm: {
1136
+ readonly mobile: "0.8125rem";
1137
+ readonly tablet: "0.875rem";
1138
+ readonly desktop: "0.875rem";
1139
+ };
1140
+ readonly base: {
1141
+ readonly mobile: "0.875rem";
1142
+ readonly tablet: "1rem";
1143
+ readonly desktop: "1rem";
1144
+ };
1145
+ readonly lg: {
1146
+ readonly mobile: "1rem";
1147
+ readonly tablet: "1.125rem";
1148
+ readonly desktop: "1.125rem";
1149
+ };
1150
+ readonly xl: {
1151
+ readonly mobile: "1.125rem";
1152
+ readonly tablet: "1.25rem";
1153
+ readonly desktop: "1.25rem";
1154
+ };
1155
+ readonly '2xl': {
1156
+ readonly mobile: "1.25rem";
1157
+ readonly tablet: "1.5rem";
1158
+ readonly desktop: "1.5rem";
1159
+ };
1160
+ readonly '3xl': {
1161
+ readonly mobile: "1.5rem";
1162
+ readonly tablet: "1.875rem";
1163
+ readonly desktop: "1.875rem";
1164
+ };
1165
+ readonly '4xl': {
1166
+ readonly mobile: "1.875rem";
1167
+ readonly tablet: "2.25rem";
1168
+ readonly desktop: "2.25rem";
1169
+ };
1170
+ };
1231
1171
  readonly borderRadius: {
1232
1172
  readonly none: "0px";
1233
1173
  readonly sm: "4px";
@@ -1775,6 +1715,48 @@ declare const tokensByMode: {
1775
1715
  readonly desktop: "0.75rem";
1776
1716
  };
1777
1717
  };
1718
+ readonly responsiveBaseFontSizes: {
1719
+ readonly xs: {
1720
+ readonly mobile: "0.6875rem";
1721
+ readonly tablet: "0.75rem";
1722
+ readonly desktop: "0.75rem";
1723
+ };
1724
+ readonly sm: {
1725
+ readonly mobile: "0.8125rem";
1726
+ readonly tablet: "0.875rem";
1727
+ readonly desktop: "0.875rem";
1728
+ };
1729
+ readonly base: {
1730
+ readonly mobile: "0.875rem";
1731
+ readonly tablet: "1rem";
1732
+ readonly desktop: "1rem";
1733
+ };
1734
+ readonly lg: {
1735
+ readonly mobile: "1rem";
1736
+ readonly tablet: "1.125rem";
1737
+ readonly desktop: "1.125rem";
1738
+ };
1739
+ readonly xl: {
1740
+ readonly mobile: "1.125rem";
1741
+ readonly tablet: "1.25rem";
1742
+ readonly desktop: "1.25rem";
1743
+ };
1744
+ readonly '2xl': {
1745
+ readonly mobile: "1.25rem";
1746
+ readonly tablet: "1.5rem";
1747
+ readonly desktop: "1.5rem";
1748
+ };
1749
+ readonly '3xl': {
1750
+ readonly mobile: "1.5rem";
1751
+ readonly tablet: "1.875rem";
1752
+ readonly desktop: "1.875rem";
1753
+ };
1754
+ readonly '4xl': {
1755
+ readonly mobile: "1.875rem";
1756
+ readonly tablet: "2.25rem";
1757
+ readonly desktop: "2.25rem";
1758
+ };
1759
+ };
1778
1760
  readonly borderRadius: {
1779
1761
  readonly none: "0px";
1780
1762
  readonly sm: "4px";
@@ -2331,6 +2313,48 @@ declare const tokens: {
2331
2313
  readonly desktop: "0.75rem";
2332
2314
  };
2333
2315
  };
2316
+ readonly responsiveBaseFontSizes: {
2317
+ readonly xs: {
2318
+ readonly mobile: "0.6875rem";
2319
+ readonly tablet: "0.75rem";
2320
+ readonly desktop: "0.75rem";
2321
+ };
2322
+ readonly sm: {
2323
+ readonly mobile: "0.8125rem";
2324
+ readonly tablet: "0.875rem";
2325
+ readonly desktop: "0.875rem";
2326
+ };
2327
+ readonly base: {
2328
+ readonly mobile: "0.875rem";
2329
+ readonly tablet: "1rem";
2330
+ readonly desktop: "1rem";
2331
+ };
2332
+ readonly lg: {
2333
+ readonly mobile: "1rem";
2334
+ readonly tablet: "1.125rem";
2335
+ readonly desktop: "1.125rem";
2336
+ };
2337
+ readonly xl: {
2338
+ readonly mobile: "1.125rem";
2339
+ readonly tablet: "1.25rem";
2340
+ readonly desktop: "1.25rem";
2341
+ };
2342
+ readonly '2xl': {
2343
+ readonly mobile: "1.25rem";
2344
+ readonly tablet: "1.5rem";
2345
+ readonly desktop: "1.5rem";
2346
+ };
2347
+ readonly '3xl': {
2348
+ readonly mobile: "1.5rem";
2349
+ readonly tablet: "1.875rem";
2350
+ readonly desktop: "1.875rem";
2351
+ };
2352
+ readonly '4xl': {
2353
+ readonly mobile: "1.875rem";
2354
+ readonly tablet: "2.25rem";
2355
+ readonly desktop: "2.25rem";
2356
+ };
2357
+ };
2334
2358
  readonly borderRadius: {
2335
2359
  readonly none: "0px";
2336
2360
  readonly sm: "4px";
@@ -2447,92 +2471,93 @@ type Typography = typeof typography;
2447
2471
  /**
2448
2472
  * Khipu Design System - Button Component
2449
2473
  *
2450
- * A button component built on MUI Button with Khipu design system styling.
2474
+ * A button component built with native HTML and kds-* CSS classes.
2451
2475
  * Matches the Figma design: Pagos Automáticos - MUI v610
2452
2476
  */
2453
2477
 
2454
- type KdsButtonVariant = 'contained' | 'outlined' | 'text';
2455
- type KdsButtonColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info';
2456
- type KdsButtonSize = 'small' | 'medium' | 'large';
2457
- interface KdsButtonProps extends Omit<ButtonProps, 'variant' | 'color' | 'size'> {
2478
+ type KdsButtonVariant = 'primary' | 'secondary' | 'outlined' | 'outlined-white' | 'text' | 'success';
2479
+ type KdsButtonSize = 'sm' | 'md';
2480
+ interface KdsButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
2458
2481
  /** Visual style variant */
2459
2482
  variant?: KdsButtonVariant;
2460
- /** Color scheme */
2461
- color?: KdsButtonColor;
2462
2483
  /** Button size */
2463
2484
  size?: KdsButtonSize;
2464
2485
  /** Full width button */
2465
2486
  fullWidth?: boolean;
2466
2487
  /** Loading state - shows spinner and disables button */
2467
2488
  loading?: boolean;
2468
- /** Icon before label */
2469
- startIcon?: React__default.ReactNode;
2470
- /** Icon after label */
2471
- endIcon?: React__default.ReactNode;
2472
- /** Content */
2473
- children: React__default.ReactNode;
2489
+ /** Material Symbols icon name before label, e.g. "download" */
2490
+ startIcon?: string;
2491
+ /** Material Symbols icon name after label, e.g. "arrow_forward" */
2492
+ endIcon?: string;
2474
2493
  }
2475
2494
  /**
2476
2495
  * Primary action button component.
2477
2496
  *
2478
- * Built on MUI Button with Khipu design system styling.
2497
+ * Built with native HTML and kds-* CSS classes from the BeerCSS bundle.
2479
2498
  *
2480
2499
  * @example
2481
2500
  * ```tsx
2482
- * <KdsButton variant="contained" color="primary">
2483
- * INGRESAR
2501
+ * <KdsButton variant="primary">
2502
+ * Continuar
2484
2503
  * </KdsButton>
2485
2504
  *
2486
- * <KdsButton variant="outlined" color="info">
2487
- * RECHAZAR
2505
+ * <KdsButton variant="outlined">
2506
+ * Cancelar
2488
2507
  * </KdsButton>
2489
2508
  *
2490
- * <KdsButton variant="contained" color="success" fullWidth>
2491
- * VOLVER AL COMERCIO
2509
+ * <KdsButton variant="success" fullWidth>
2510
+ * Finalizar
2492
2511
  * </KdsButton>
2493
2512
  *
2494
2513
  * <KdsButton loading>
2495
- * Processing...
2514
+ * Procesando...
2515
+ * </KdsButton>
2516
+ *
2517
+ * <KdsButton startIcon="download">
2518
+ * Descargar comprobante
2496
2519
  * </KdsButton>
2497
2520
  * ```
2498
2521
  */
2499
- declare const KdsButton: React__default.ForwardRefExoticComponent<Omit<KdsButtonProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
2522
+ declare const KdsButton: React__default.ForwardRefExoticComponent<KdsButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
2500
2523
 
2501
2524
  /**
2502
2525
  * Khipu Design System - TextField Component
2503
2526
  *
2504
- * A text input component built on MUI TextField with Khipu design system styling.
2527
+ * A text input component built with native HTML and BeerCSS floating labels.
2505
2528
  * Matches the Figma design: Pagos Automáticos - MUI v610
2506
2529
  */
2507
2530
 
2508
- type KdsTextFieldVariant = 'outlined' | 'filled' | 'standard';
2509
- type KdsTextFieldSize = 'small' | 'medium';
2510
- interface KdsTextFieldProps extends Omit<TextFieldProps, 'variant' | 'size'> {
2511
- /** Visual variant */
2512
- variant?: KdsTextFieldVariant;
2513
- /** Input size */
2514
- size?: KdsTextFieldSize;
2515
- /** Icon/element at the start of input */
2516
- startAdornment?: React__default.ReactNode;
2517
- /** Icon/element at the end of input */
2518
- endAdornment?: React__default.ReactNode;
2531
+ interface KdsTextFieldProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size'> {
2532
+ /** Label text for the field */
2533
+ label: string;
2534
+ /** Helper text shown below field (error or info) */
2535
+ helperText?: string;
2536
+ /** Error state - applies invalid class and red styling */
2537
+ error?: boolean;
2538
+ /** Full width field (default: true) */
2539
+ fullWidth?: boolean;
2540
+ /** Material Symbols icon name at the start of input, e.g. "search" */
2541
+ startIcon?: string;
2542
+ /** Material Symbols icon name at the end of input, e.g. "visibility_off" */
2543
+ endIcon?: string;
2519
2544
  }
2520
2545
  /**
2521
- * Text input field with label, validation, and adornments.
2546
+ * Text input field with label, validation, and icons.
2522
2547
  *
2523
- * Built on MUI TextField with Khipu design system styling.
2548
+ * Built with native HTML and BeerCSS floating labels.
2549
+ * The label animates up when the input has focus or value.
2524
2550
  *
2525
2551
  * @example
2526
2552
  * ```tsx
2527
2553
  * <KdsTextField
2528
2554
  * label="RUT Suscriptor"
2529
2555
  * placeholder="12.345.678-9"
2530
- * endAdornment={<PersonIcon />}
2531
2556
  * />
2532
2557
  *
2533
2558
  * <KdsTextField
2534
2559
  * label="Buscar por nombre"
2535
- * variant="outlined"
2560
+ * startIcon="search"
2536
2561
  * />
2537
2562
  *
2538
2563
  * <KdsTextField
@@ -2541,115 +2566,70 @@ interface KdsTextFieldProps extends Omit<TextFieldProps, 'variant' | 'size'> {
2541
2566
  * error
2542
2567
  * helperText="Contraseña incorrecta"
2543
2568
  * />
2569
+ *
2570
+ * <KdsTextField
2571
+ * label="Monto"
2572
+ * value="$1.000"
2573
+ * readOnly
2574
+ * />
2544
2575
  * ```
2545
2576
  */
2546
- declare const KdsTextField: React__default.ForwardRefExoticComponent<Omit<KdsTextFieldProps, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
2577
+ declare const KdsTextField: React__default.ForwardRefExoticComponent<KdsTextFieldProps & React__default.RefAttributes<HTMLInputElement>>;
2547
2578
 
2548
2579
  /**
2549
2580
  * Khipu Design System - Checkbox Component
2550
2581
  *
2551
- * A checkbox component built on MUI Checkbox with Khipu design system styling.
2552
- * Matches the Figma design: Pagos Automáticos - MUI v610
2582
+ * Native HTML checkbox with BeerCSS styling.
2553
2583
  */
2554
2584
 
2555
- type KdsCheckboxColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'default';
2556
- type KdsCheckboxSize = 'small' | 'medium';
2557
- interface KdsCheckboxProps extends Omit<CheckboxProps, 'color' | 'size'> {
2558
- /** Label text or element */
2559
- label?: React__default.ReactNode;
2560
- /** Color scheme */
2561
- color?: KdsCheckboxColor;
2562
- /** Size */
2563
- size?: KdsCheckboxSize;
2585
+ interface KdsCheckboxProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'type'> {
2586
+ label?: string;
2564
2587
  }
2565
- /**
2566
- * Checkbox component for binary choices.
2567
- *
2568
- * Built on MUI Checkbox with Khipu design system styling.
2569
- *
2570
- * @example
2571
- * ```tsx
2572
- * <KdsCheckbox
2573
- * label="Acepto los términos y condiciones de uso"
2574
- * checked={accepted}
2575
- * onChange={(e) => setAccepted(e.target.checked)}
2576
- * />
2577
- *
2578
- * <KdsCheckbox
2579
- * label={
2580
- * <>
2581
- * Acepto los <a href="/terms">términos y condiciones</a>
2582
- * </>
2583
- * }
2584
- * />
2585
- *
2586
- * <KdsCheckbox indeterminate />
2587
- * ```
2588
- */
2589
- declare const KdsCheckbox: React__default.ForwardRefExoticComponent<Omit<KdsCheckboxProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
2588
+ declare const KdsCheckbox: React__default.ForwardRefExoticComponent<KdsCheckboxProps & React__default.RefAttributes<HTMLInputElement>>;
2590
2589
 
2591
2590
  /**
2592
2591
  * Khipu Design System - Modal Component
2593
2592
  *
2594
- * A modal dialog component built on MUI Dialog with Khipu design system styling.
2595
- * Matches the Figma design: Pagos Automáticos - MUI v610
2593
+ * A modal dialog component built on Radix Dialog with Khipu design system styling.
2594
+ * Uses kds-bottom-sheet BeerCSS classes for visual presentation.
2596
2595
  */
2597
2596
 
2598
2597
  type KdsModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2599
- interface KdsModalProps extends Omit<DialogProps, 'maxWidth' | 'title' | 'fullScreen'> {
2598
+ interface KdsModalProps {
2600
2599
  /** Controls modal visibility */
2601
2600
  open: boolean;
2602
2601
  /** Callback when modal should close */
2603
2602
  onClose: () => void;
2604
2603
  /** Modal title */
2605
- title?: React__default.ReactNode;
2606
- /** Modal content */
2607
- children: React__default.ReactNode;
2604
+ title?: string;
2605
+ /** Modal description text */
2606
+ description?: string;
2608
2607
  /** Footer content (usually action buttons) */
2609
2608
  footer?: React__default.ReactNode;
2610
- /** Modal max width (ignored when fullScreen is true) */
2609
+ /** Modal content */
2610
+ children: React__default.ReactNode;
2611
+ /** Modal max width */
2611
2612
  size?: KdsModalSize;
2612
2613
  /** Show close button */
2613
2614
  showCloseButton?: boolean;
2614
- /** Render as a fullScreen dialog with AppBar header and slide transition */
2615
- fullScreen?: boolean;
2615
+ /** Additional CSS class */
2616
+ className?: string;
2616
2617
  }
2617
2618
  /**
2618
2619
  * Modal dialog component for displaying content that requires attention.
2619
2620
  *
2620
- * Built on MUI Dialog with Khipu design system styling.
2621
+ * Built on Radix Dialog with kds-bottom-sheet BeerCSS classes.
2621
2622
  *
2622
2623
  * @example
2623
2624
  * ```tsx
2624
- * // Token authorization modal
2625
2625
  * <KdsModal
2626
2626
  * open={isOpen}
2627
2627
  * onClose={() => setIsOpen(false)}
2628
- * title={
2629
- * <>
2630
- * Autoriza la operación desde tu App{' '}
2631
- * <Typography component="span" color="info.main">tokenPass</Typography>
2632
- * </>
2633
- * }
2634
- * footer={
2635
- * <Button disabled fullWidth>CONTINUAR</Button>
2636
- * }
2637
- * >
2638
- * <Box sx={{ textAlign: 'center' }}>
2639
- * <img src={tokenImage} alt="TokenPass" />
2640
- * <Typography color="text.disabled">3:27 restantes</Typography>
2641
- * </Box>
2642
- * </KdsModal>
2643
- *
2644
- * // Confirmation modal
2645
- * <KdsModal
2646
- * open={isOpen}
2647
- * onClose={handleCancel}
2648
2628
  * title="Confirmar pago"
2649
2629
  * footer={
2650
2630
  * <>
2651
- * <Button variant="text" onClick={handleCancel}>Cancelar</Button>
2652
- * <Button onClick={handleConfirm}>Confirmar</Button>
2631
+ * <button onClick={handleCancel}>Cancelar</button>
2632
+ * <button onClick={handleConfirm}>Confirmar</button>
2653
2633
  * </>
2654
2634
  * }
2655
2635
  * >
@@ -2657,173 +2637,100 @@ interface KdsModalProps extends Omit<DialogProps, 'maxWidth' | 'title' | 'fullSc
2657
2637
  * </KdsModal>
2658
2638
  * ```
2659
2639
  */
2660
- declare const KdsModal: React__default.FC<KdsModalProps>;
2640
+ declare const KdsModal: React__default.ForwardRefExoticComponent<KdsModalProps & React__default.RefAttributes<HTMLDivElement>>;
2661
2641
 
2662
- type KdsCardVariant = 'elevation' | 'outlined';
2663
- type KdsCardElevation = 0 | 1 | 2 | 3 | 4 | 6 | 8 | 12 | 16 | 24;
2664
- type KdsCardPadding = 'none' | 'sm' | 'md' | 'lg';
2665
- interface KdsCardProps extends Omit<CardProps, 'variant'> {
2642
+ /**
2643
+ * Khipu Design System - Card Component
2644
+ *
2645
+ * A card component built with native HTML and kds-* CSS classes.
2646
+ * Matches the Figma design: Pagos Automáticos - MUI v610
2647
+ */
2648
+
2649
+ type KdsCardVariant = 'elevated' | 'outlined';
2650
+ interface KdsCardProps extends React__default.HTMLAttributes<HTMLElement> {
2666
2651
  /** Visual variant */
2667
2652
  variant?: KdsCardVariant;
2668
- /** Elevation level (only for elevation variant) */
2669
- elevation?: KdsCardElevation;
2670
- /** Padding size from Figma design tokens */
2671
- padding?: KdsCardPadding;
2672
- /** Clickable card with hover effect */
2673
- clickable?: boolean;
2674
- /** Click handler for clickable cards */
2675
- onCardClick?: () => void;
2676
- }
2677
- interface KdsCardHeaderProps extends CardHeaderProps {
2653
+ /** Dimmed appearance */
2654
+ dimmed?: boolean;
2678
2655
  }
2679
- interface KdsCardContentProps extends CardContentProps {
2680
- }
2681
- interface KdsCardActionsProps extends CardActionsProps {
2656
+ interface KdsCardSectionProps extends React__default.HTMLAttributes<HTMLDivElement> {
2682
2657
  }
2683
2658
  /**
2684
2659
  * Card container component for grouping related content.
2685
2660
  *
2686
- * Built on MUI Card with Khipu design system styling.
2661
+ * Built with native HTML and kds-* CSS classes.
2687
2662
  *
2688
2663
  * @example
2689
2664
  * ```tsx
2690
- * // Bank selection card
2691
- * <KdsCard variant="outlined" clickable onCardClick={() => selectBank('estado')}>
2692
- * <CardContent sx={{ display: 'flex', gap: 2, alignItems: 'center' }}>
2693
- * <img src={bankLogo} alt="Banco Estado" />
2694
- * <Typography variant="body1" fontWeight={600}>
2695
- * Banco Estado
2696
- * </Typography>
2697
- * </CardContent>
2665
+ * // Basic card
2666
+ * <KdsCard>
2667
+ * <KdsCardBody>Content</KdsCardBody>
2698
2668
  * </KdsCard>
2699
2669
  *
2700
- * // Account card
2701
- * <KdsCard variant="outlined">
2702
- * <CardContent>
2703
- * <Typography variant="body2" fontWeight={600}>
2704
- * Cuenta Corriente N° ***002344
2705
- * </Typography>
2706
- * <Typography variant="body2" color="info.light">
2707
- * Disponible $1.000.000
2708
- * </Typography>
2709
- * </CardContent>
2670
+ * // Card with header and footer
2671
+ * <KdsCard>
2672
+ * <KdsCardHeader>Title</KdsCardHeader>
2673
+ * <KdsCardBody>Content</KdsCardBody>
2674
+ * <KdsCardFooter>Footer</KdsCardFooter>
2710
2675
  * </KdsCard>
2711
2676
  * ```
2712
2677
  */
2713
- declare const KdsCard: React.ForwardRefExoticComponent<Omit<KdsCardProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
2678
+ declare const KdsCard: React__default.ForwardRefExoticComponent<KdsCardProps & React__default.RefAttributes<HTMLElement>>;
2714
2679
  /**
2715
- * Card header with title, subtitle, avatar, and action areas.
2680
+ * Card header section.
2716
2681
  */
2717
- declare const KdsCardHeader: React.ForwardRefExoticComponent<Omit<KdsCardHeaderProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
2682
+ declare const KdsCardHeader: React__default.ForwardRefExoticComponent<KdsCardSectionProps & React__default.RefAttributes<HTMLDivElement>>;
2718
2683
  /**
2719
2684
  * Main content area of the card.
2720
2685
  */
2721
- declare const KdsCardContent: React.ForwardRefExoticComponent<Omit<KdsCardContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
2686
+ declare const KdsCardBody: React__default.ForwardRefExoticComponent<KdsCardSectionProps & React__default.RefAttributes<HTMLDivElement>>;
2722
2687
  /**
2723
- * Actions area at the bottom of the card, typically for buttons.
2688
+ * Card footer section, typically for actions.
2724
2689
  */
2725
- declare const KdsCardActions: React.ForwardRefExoticComponent<Omit<KdsCardActionsProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
2690
+ declare const KdsCardFooter: React__default.ForwardRefExoticComponent<KdsCardSectionProps & React__default.RefAttributes<HTMLDivElement>>;
2726
2691
 
2727
2692
  /**
2728
2693
  * Khipu Design System - Spinner Component
2729
2694
  *
2730
- * A loading spinner component built on MUI CircularProgress with Khipu design system styling.
2731
- * Matches the Figma design: Pagos Automáticos - MUI v610
2695
+ * Native HTML spinner with BeerCSS loader styling.
2732
2696
  */
2733
2697
 
2734
2698
  type KdsSpinnerSize = 'small' | 'medium' | 'large';
2735
- type KdsSpinnerColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'inherit';
2736
- interface KdsSpinnerProps extends Omit<CircularProgressProps, 'size' | 'color'> {
2737
- /** Spinner size */
2699
+ interface KdsSpinnerProps extends React__default.HTMLAttributes<HTMLDivElement> {
2738
2700
  size?: KdsSpinnerSize;
2739
- /** Spinner color */
2740
- color?: KdsSpinnerColor;
2741
- /** Custom size in pixels */
2742
- customSize?: number;
2743
- /** Accessible label */
2744
2701
  label?: string;
2745
2702
  }
2746
- /**
2747
- * Loading spinner component.
2748
- *
2749
- * Built on MUI CircularProgress with Khipu design system styling.
2750
- *
2751
- * @example
2752
- * ```tsx
2753
- * // Basic usage
2754
- * <KdsSpinner size="medium" color="primary" />
2755
- *
2756
- * // Inside a button
2757
- * <Button loading>
2758
- * Processing...
2759
- * </Button>
2760
- *
2761
- * // Centered in container
2762
- * <Box sx={{ display: 'flex', justifyContent: 'center', py: 4 }}>
2763
- * <KdsSpinner size="large" />
2764
- * </Box>
2765
- * ```
2766
- */
2767
- declare const KdsSpinner: React__default.FC<KdsSpinnerProps>;
2703
+ declare const KdsSpinner: React__default.ForwardRefExoticComponent<KdsSpinnerProps & React__default.RefAttributes<HTMLDivElement>>;
2768
2704
 
2769
2705
  /**
2770
2706
  * Khipu Design System - LinearProgress Component
2771
2707
  *
2772
- * A linear progress indicator built on MUI LinearProgress with Khipu design system styling.
2773
- * Matches the Figma design: Pagos Automáticos - MUI v610
2708
+ * Native HTML progress element with BeerCSS styling.
2774
2709
  */
2775
2710
 
2776
- type KdsLinearProgressColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'inherit';
2777
- type KdsLinearProgressVariant = 'determinate' | 'indeterminate' | 'buffer' | 'query';
2778
- interface KdsLinearProgressProps extends Omit<LinearProgressProps, 'color' | 'variant'> {
2779
- /** Progress bar color */
2780
- color?: KdsLinearProgressColor;
2781
- /** Variant */
2782
- variant?: KdsLinearProgressVariant;
2783
- /** Progress value (0-100) for determinate variant */
2711
+ interface KdsLinearProgressProps extends React__default.HTMLAttributes<HTMLProgressElement> {
2784
2712
  value?: number;
2713
+ max?: number;
2785
2714
  }
2786
- /**
2787
- * Linear progress indicator component.
2788
- *
2789
- * Built on MUI LinearProgress with Khipu design system styling.
2790
- * Used to show progress at the top of screens in the payment flow.
2791
- *
2792
- * @example
2793
- * ```tsx
2794
- * // Indeterminate progress (loading)
2795
- * <KdsLinearProgress color="info" />
2796
- *
2797
- * // Determinate progress (shows percentage)
2798
- * <KdsLinearProgress color="info" variant="determinate" value={50} />
2799
- *
2800
- * // At top of payment screen
2801
- * <Box sx={{ width: '100%' }}>
2802
- * <KdsLinearProgress color="info" />
2803
- * <Box sx={{ p: 3 }}>
2804
- * {content}
2805
- * </Box>
2806
- * </Box>
2807
- * ```
2808
- */
2809
- declare const KdsLinearProgress: React__default.FC<KdsLinearProgressProps>;
2715
+ declare const KdsLinearProgress: React__default.ForwardRefExoticComponent<KdsLinearProgressProps & React__default.RefAttributes<HTMLProgressElement>>;
2810
2716
 
2811
2717
  /**
2812
2718
  * Khipu Design System - Alert Component
2813
2719
  *
2814
- * An alert component built on MUI Alert with Khipu design system styling.
2720
+ * An alert component built with native HTML and kds-* CSS classes.
2815
2721
  * Matches the Figma design: Pagos Automáticos - MUI v610
2816
2722
  */
2817
2723
 
2818
2724
  type KdsAlertSeverity = 'success' | 'info' | 'warning' | 'error';
2819
- type KdsAlertVariant = 'standard' | 'filled' | 'outlined';
2820
- interface KdsAlertProps extends Omit<AlertProps, 'severity' | 'variant' | 'title'> {
2725
+ interface KdsAlertProps extends React__default.HTMLAttributes<HTMLDivElement> {
2821
2726
  /** Alert severity/type */
2822
- severity?: KdsAlertSeverity;
2823
- /** Visual variant */
2824
- variant?: KdsAlertVariant;
2727
+ severity: KdsAlertSeverity;
2825
2728
  /** Alert title */
2826
- title?: React__default.ReactNode;
2729
+ title?: string;
2730
+ /** Material Symbols icon name, e.g. "info" */
2731
+ icon?: string;
2732
+ /** Inline variant (compact display) */
2733
+ inline?: boolean;
2827
2734
  /** Alert content */
2828
2735
  children: React__default.ReactNode;
2829
2736
  /** Closable alert */
@@ -2832,7 +2739,7 @@ interface KdsAlertProps extends Omit<AlertProps, 'severity' | 'variant' | 'title
2832
2739
  /**
2833
2740
  * Alert component for displaying important messages.
2834
2741
  *
2835
- * Built on MUI Alert with Khipu design system styling.
2742
+ * Built with native HTML and kds-* CSS classes from the BeerCSS bundle.
2836
2743
  *
2837
2744
  * @example
2838
2745
  * ```tsx
@@ -2857,167 +2764,103 @@ interface KdsAlertProps extends Omit<AlertProps, 'severity' | 'variant' | 'title
2857
2764
  * </KdsAlert>
2858
2765
  * ```
2859
2766
  */
2860
- declare const KdsAlert: React__default.FC<KdsAlertProps>;
2767
+ declare const KdsAlert: React__default.ForwardRefExoticComponent<KdsAlertProps & React__default.RefAttributes<HTMLDivElement>>;
2768
+
2769
+ /**
2770
+ * Khipu Design System - Typography Component
2771
+ *
2772
+ * Native HTML + kds-* classes for consistent text styles based on design tokens.
2773
+ * Renders semantic HTML elements (h1-h6, p, span, label) with corresponding CSS classes.
2774
+ */
2861
2775
 
2862
2776
  /**
2863
2777
  * Custom Khipu typography variants that map to specific design tokens
2864
2778
  */
2865
- type KdsTypographyVariant = 'display1' | 'display2' | 'heading1' | 'heading2' | 'heading3' | 'bodyLarge' | 'body' | 'bodySmall' | 'label' | 'labelSmall' | 'cardTitle' | 'cardSubtitle' | 'muted' | 'link';
2866
- interface KdsTypographyProps extends Omit<TypographyProps, 'variant'> {
2779
+ type KdsTypographyVariant = 'display1' | 'display2' | 'heading1' | 'heading2' | 'heading3' | 'body-large' | 'body' | 'body-small' | 'label' | 'label-small' | 'muted' | 'link';
2780
+ type ElementTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div' | 'label';
2781
+ interface KdsTypographyProps extends React__default.HTMLAttributes<HTMLElement> {
2867
2782
  /**
2868
2783
  * The typography variant to use
2869
2784
  * @default 'body'
2870
2785
  */
2871
- variant?: KdsTypographyVariant | TypographyProps['variant'];
2786
+ variant?: KdsTypographyVariant;
2872
2787
  /**
2873
2788
  * Text color preset
2874
2789
  */
2875
- color?: 'primary' | 'secondary' | 'tertiary' | 'disabled' | 'error' | 'success' | 'info' | 'inherit';
2790
+ color?: 'primary' | 'secondary' | 'muted' | 'error' | 'success' | 'inherit';
2876
2791
  /**
2877
- * Whether to truncate text with ellipsis
2792
+ * Override the default HTML element for the variant
2878
2793
  */
2879
- truncate?: boolean;
2880
- /**
2881
- * Maximum number of lines before truncating (requires truncate=true)
2882
- */
2883
- maxLines?: number;
2794
+ as?: ElementTag;
2884
2795
  }
2885
2796
  /**
2886
2797
  * Typography component for consistent text styling across the Khipu design system.
2887
2798
  *
2888
2799
  * @example
2889
- * // Display text
2800
+ * // Display text - renders as <h1> with kds-text-display1
2890
2801
  * <KdsTypography variant="display1">Hero Headline</KdsTypography>
2891
2802
  *
2892
- * // Heading
2893
- * <KdsTypography variant="heading3">Page Title</KdsTypography>
2803
+ * // Heading - renders as <h2> with kds-text-heading2
2804
+ * <KdsTypography variant="heading2">Section Title</KdsTypography>
2894
2805
  *
2895
- * // Body text
2806
+ * // Body text - renders as <p> with kds-text-body
2896
2807
  * <KdsTypography variant="body">Regular body text</KdsTypography>
2897
2808
  *
2898
- * // Label
2809
+ * // Label - renders as <span> with kds-text-label
2899
2810
  * <KdsTypography variant="label">Section Label</KdsTypography>
2900
2811
  *
2901
2812
  * // With color
2902
- * <KdsTypography variant="body" color="tertiary">Muted text</KdsTypography>
2903
- *
2904
- * // Truncated text
2905
- * <KdsTypography variant="body" truncate maxLines={2}>Long text...</KdsTypography>
2906
- */
2907
- declare const KdsTypography: React.ForwardRefExoticComponent<Omit<KdsTypographyProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
2908
-
2909
- /**
2910
- * Khipu Design System - Tabs Component
2911
- *
2912
- * A tabs component for switching between different views or content sections.
2913
- * Matches the Figma design: Pagos Instantaneos - MUI v610
2813
+ * <KdsTypography variant="body" color="muted">Muted text</KdsTypography>
2914
2814
  *
2915
- * Built with composable sub-components for flexibility.
2815
+ * // Override element with as prop
2816
+ * <KdsTypography variant="heading1" as="div">Custom element</KdsTypography>
2916
2817
  */
2818
+ declare const KdsTypography: React__default.ForwardRefExoticComponent<KdsTypographyProps & React__default.RefAttributes<HTMLElement>>;
2917
2819
 
2918
- type KdsTabsColor = 'primary' | 'secondary' | 'info';
2919
- type KdsTabsVariant = 'standard' | 'fullWidth' | 'scrollable';
2920
- interface KdsTabsProps extends Omit<TabsProps, 'onChange' | 'textColor' | 'indicatorColor'> {
2921
- /** The value of the currently selected Tab */
2922
- value: string | number;
2923
- /** Callback fired when a Tab is selected */
2924
- onChange: (event: React__default.SyntheticEvent, newValue: string | number) => void;
2925
- /** The color of the tabs */
2926
- color?: KdsTabsColor;
2927
- /** The variant of the tabs layout */
2928
- variant?: KdsTabsVariant;
2929
- /** Tab content - should be Tab components */
2930
- children: React__default.ReactNode;
2820
+ interface KdsTabsProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
2821
+ activeIndex: number;
2822
+ onChange: (index: number) => void;
2823
+ variant?: 'standard' | 'segmented';
2931
2824
  }
2932
- interface KdsTabProps extends Omit<TabProps, 'wrapped'> {
2933
- /** The label displayed on the tab */
2934
- label: string;
2935
- /** The value of the tab, used for selection */
2936
- value: string | number;
2937
- /** Icon element placed before the label */
2938
- icon?: React__default.ReactElement;
2939
- /** Whether the tab is disabled */
2940
- disabled?: boolean;
2825
+ declare const KdsTabs: React__default.ForwardRefExoticComponent<KdsTabsProps & React__default.RefAttributes<HTMLDivElement>>;
2826
+ interface KdsTabInternalProps {
2827
+ _active?: boolean;
2828
+ _onClick?: () => void;
2941
2829
  }
2942
- interface KdsTabPanelProps extends BoxProps {
2943
- /** The value that corresponds to this panel */
2944
- value: string | number;
2945
- /** The currently selected value from Tabs */
2946
- selectedValue: string | number;
2947
- /** Content of the tab panel */
2948
- children: React__default.ReactNode;
2830
+ interface KdsTabProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
2949
2831
  }
2950
- /**
2951
- * Individual Tab component.
2952
- *
2953
- * @example
2954
- * ```tsx
2955
- * <KdsTab label="PERSONAS" value="personas" />
2956
- * ```
2957
- */
2958
- declare const KdsTab: React__default.ForwardRefExoticComponent<Omit<KdsTabProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
2959
- /**
2960
- * Tab Panel component for displaying content associated with a tab.
2961
- *
2962
- * @example
2963
- * ```tsx
2964
- * <KdsTabPanel value="personas" selectedValue={currentTab}>
2965
- * Content for personas tab
2966
- * </KdsTabPanel>
2967
- * ```
2968
- */
2969
- declare const KdsTabPanel: React__default.ForwardRefExoticComponent<Omit<KdsTabPanelProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
2970
- /**
2971
- * Tabs container component.
2972
- *
2973
- * A composable tabs component for navigation between different views.
2974
- *
2975
- * @example
2976
- * ```tsx
2977
- * const [value, setValue] = useState('personas');
2978
- *
2979
- * <KdsTabs value={value} onChange={(e, v) => setValue(v)} variant="fullWidth">
2980
- * <KdsTab label="PERSONAS" value="personas" />
2981
- * <KdsTab label="EMPRESAS" value="empresas" />
2982
- * </KdsTabs>
2983
- *
2984
- * <KdsTabPanel value="personas" selectedValue={value}>
2985
- * Personas content
2986
- * </KdsTabPanel>
2987
- * <KdsTabPanel value="empresas" selectedValue={value}>
2988
- * Empresas content
2989
- * </KdsTabPanel>
2990
- * ```
2991
- */
2992
- declare const KdsTabs: React__default.ForwardRefExoticComponent<Omit<KdsTabsProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
2832
+ declare const KdsTab: React__default.ForwardRefExoticComponent<KdsTabProps & KdsTabInternalProps & React__default.RefAttributes<HTMLButtonElement>>;
2833
+ interface KdsTabPanelProps extends React__default.HTMLAttributes<HTMLDivElement> {
2834
+ active: boolean;
2835
+ }
2836
+ declare const KdsTabPanel: React__default.ForwardRefExoticComponent<KdsTabPanelProps & React__default.RefAttributes<HTMLDivElement>>;
2993
2837
 
2994
2838
  /**
2995
2839
  * Khipu Design System - LogoHeader Component
2996
2840
  *
2997
2841
  * A header bar component that displays the Khipu logo, a transaction code,
2998
2842
  * and a close button. Used at the top of payment flow screens.
2999
- * Matches the Figma design: Pagos Instantaneos - MUI v610
3000
2843
  *
3001
2844
  * Built with composable sub-components for maximum flexibility.
3002
2845
  */
3003
2846
 
3004
- interface KdsLogoHeaderProps extends BoxProps {
2847
+ interface KdsLogoHeaderProps extends React__default.HTMLAttributes<HTMLDivElement> {
3005
2848
  /** Content - typically LogoHeader sub-components */
3006
2849
  children?: React__default.ReactNode;
3007
2850
  }
3008
- interface KdsLogoHeaderLogoProps extends BoxProps {
2851
+ interface KdsLogoHeaderLogoProps extends React__default.HTMLAttributes<HTMLDivElement> {
3009
2852
  /** Custom logo content. Defaults to Khipu text logo */
3010
2853
  children?: React__default.ReactNode;
3011
2854
  }
3012
- interface KdsLogoHeaderSeparatorProps extends BoxProps {
2855
+ interface KdsLogoHeaderSeparatorProps extends React__default.HTMLAttributes<HTMLSpanElement> {
3013
2856
  /** Separator character. Defaults to "|" */
3014
2857
  children?: React__default.ReactNode;
3015
2858
  }
3016
- interface KdsLogoHeaderCodeProps extends BoxProps {
2859
+ interface KdsLogoHeaderCodeProps extends React__default.HTMLAttributes<HTMLSpanElement> {
3017
2860
  /** Transaction or reference code to display */
3018
2861
  children: React__default.ReactNode;
3019
2862
  }
3020
- interface KdsLogoHeaderCloseButtonProps extends Omit<IconButtonProps, 'children'> {
2863
+ interface KdsLogoHeaderCloseButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
3021
2864
  /** Callback fired when the close button is clicked */
3022
2865
  onClose?: () => void;
3023
2866
  }
@@ -3033,7 +2876,7 @@ interface KdsLogoHeaderCloseButtonProps extends Omit<IconButtonProps, 'children'
3033
2876
  * </KdsLogoHeaderLogo>
3034
2877
  * ```
3035
2878
  */
3036
- declare const KdsLogoHeaderLogo: React__default.ForwardRefExoticComponent<Omit<KdsLogoHeaderLogoProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
2879
+ declare const KdsLogoHeaderLogo: React__default.ForwardRefExoticComponent<KdsLogoHeaderLogoProps & React__default.RefAttributes<HTMLDivElement>>;
3037
2880
  /**
3038
2881
  * Separator element between logo and code.
3039
2882
  *
@@ -3044,7 +2887,7 @@ declare const KdsLogoHeaderLogo: React__default.ForwardRefExoticComponent<Omit<K
3044
2887
  * <KdsLogoHeaderSeparator>•</KdsLogoHeaderSeparator>
3045
2888
  * ```
3046
2889
  */
3047
- declare const KdsLogoHeaderSeparator: React__default.ForwardRefExoticComponent<Omit<KdsLogoHeaderSeparatorProps, "ref"> & React__default.RefAttributes<HTMLSpanElement>>;
2890
+ declare const KdsLogoHeaderSeparator: React__default.ForwardRefExoticComponent<KdsLogoHeaderSeparatorProps & React__default.RefAttributes<HTMLSpanElement>>;
3048
2891
  /**
3049
2892
  * Transaction code section.
3050
2893
  *
@@ -3053,7 +2896,7 @@ declare const KdsLogoHeaderSeparator: React__default.ForwardRefExoticComponent<O
3053
2896
  * <KdsLogoHeaderCode>HUSK-P7ZZ-XGYG</KdsLogoHeaderCode>
3054
2897
  * ```
3055
2898
  */
3056
- declare const KdsLogoHeaderCode: React__default.ForwardRefExoticComponent<Omit<KdsLogoHeaderCodeProps, "ref"> & React__default.RefAttributes<HTMLSpanElement>>;
2899
+ declare const KdsLogoHeaderCode: React__default.ForwardRefExoticComponent<KdsLogoHeaderCodeProps & React__default.RefAttributes<HTMLSpanElement>>;
3057
2900
  /**
3058
2901
  * Close button for the header.
3059
2902
  *
@@ -3062,7 +2905,7 @@ declare const KdsLogoHeaderCode: React__default.ForwardRefExoticComponent<Omit<K
3062
2905
  * <KdsLogoHeaderCloseButton onClose={() => handleClose()} />
3063
2906
  * ```
3064
2907
  */
3065
- declare const KdsLogoHeaderCloseButton: React__default.ForwardRefExoticComponent<Omit<KdsLogoHeaderCloseButtonProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
2908
+ declare const KdsLogoHeaderCloseButton: React__default.ForwardRefExoticComponent<KdsLogoHeaderCloseButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
3066
2909
  /**
3067
2910
  * LogoHeader bar component.
3068
2911
  *
@@ -3087,211 +2930,310 @@ declare const KdsLogoHeaderCloseButton: React__default.ForwardRefExoticComponent
3087
2930
  * </KdsLogoHeader>
3088
2931
  * ```
3089
2932
  */
3090
- declare const KdsLogoHeader: React__default.ForwardRefExoticComponent<Omit<KdsLogoHeaderProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
2933
+ declare const KdsLogoHeader: React__default.ForwardRefExoticComponent<KdsLogoHeaderProps & React__default.RefAttributes<HTMLDivElement>>;
3091
2934
 
3092
2935
  /**
3093
2936
  * Khipu Design System - RadioGroup Component
3094
2937
  *
3095
- * A radio group component built on MUI RadioGroup with Khipu design system styling.
2938
+ * Native HTML radio group with BeerCSS styling.
3096
2939
  */
3097
2940
 
3098
- type KdsRadioColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'default';
3099
- type KdsRadioSize = 'small' | 'medium';
3100
2941
  interface KdsRadioOption {
3101
- /** Option value */
3102
2942
  value: string;
3103
- /** Option label */
3104
- label: React__default.ReactNode;
3105
- /** Whether this option is disabled */
3106
- disabled?: boolean;
3107
- }
3108
- interface KdsRadioGroupProps extends Omit<RadioGroupProps, 'color'> {
3109
- /** Group label */
3110
- label?: React__default.ReactNode;
3111
- /** Radio options (shorthand for creating Radio + FormControlLabel) */
3112
- options?: KdsRadioOption[];
3113
- /** Color scheme for radio buttons */
3114
- color?: KdsRadioColor;
3115
- /** Size of radio buttons */
3116
- size?: KdsRadioSize;
3117
- /** Whether the entire group is required */
3118
- required?: boolean;
3119
- /** Whether the entire group is disabled */
2943
+ label: string;
3120
2944
  disabled?: boolean;
3121
- /** Error state */
3122
- error?: boolean;
3123
2945
  }
3124
- interface KdsRadioProps extends Omit<RadioProps, 'color' | 'size'> {
3125
- /** Color scheme */
3126
- color?: KdsRadioColor;
3127
- /** Size */
3128
- size?: KdsRadioSize;
2946
+ interface KdsRadioGroupProps extends Omit<React__default.FieldsetHTMLAttributes<HTMLFieldSetElement>, 'onChange'> {
2947
+ label?: string;
2948
+ name: string;
2949
+ options: KdsRadioOption[];
2950
+ value?: string;
2951
+ onChange?: (value: string) => void;
3129
2952
  }
3130
- declare const KdsRadio: React__default.ForwardRefExoticComponent<Omit<KdsRadioProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
3131
- /**
3132
- * Radio group component for selecting one option from a set.
3133
- *
3134
- * @example
3135
- * ```tsx
3136
- * <KdsRadioGroup
3137
- * label="Tipo de cuenta"
3138
- * value={value}
3139
- * onChange={(e) => setValue(e.target.value)}
3140
- * options={[
3141
- * { value: 'corriente', label: 'Cuenta Corriente' },
3142
- * { value: 'vista', label: 'Cuenta Vista' },
3143
- * ]}
3144
- * />
3145
- * ```
3146
- */
3147
- declare const KdsRadioGroup: React__default.ForwardRefExoticComponent<Omit<KdsRadioGroupProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
2953
+ declare const KdsRadioGroup: React__default.ForwardRefExoticComponent<KdsRadioGroupProps & React__default.RefAttributes<HTMLFieldSetElement>>;
3148
2954
 
3149
2955
  /**
3150
2956
  * Khipu Design System - Select Component
3151
2957
  *
3152
- * A select dropdown component built on MUI Select with Khipu design system styling.
2958
+ * A select dropdown component built on Radix UI Select with BeerCSS field styling.
3153
2959
  */
3154
2960
 
3155
- type KdsSelectVariant = 'outlined' | 'filled' | 'standard';
3156
- type KdsSelectSize = 'small' | 'medium';
3157
- interface KdsSelectOption {
3158
- /** Option value */
3159
- value: string | number;
3160
- /** Option label */
3161
- label: React__default.ReactNode;
3162
- /** Whether this option is disabled */
3163
- disabled?: boolean;
3164
- }
3165
- interface KdsSelectProps extends Omit<SelectProps, 'variant' | 'size'> {
3166
- /** Visual variant */
3167
- variant?: KdsSelectVariant;
3168
- /** Size */
3169
- size?: KdsSelectSize;
3170
- /** Select options (shorthand for creating MenuItems) */
3171
- options?: KdsSelectOption[];
3172
- /** Helper text below the select */
2961
+ interface KdsSelectProps {
2962
+ value: string;
2963
+ onValueChange: (value: string) => void;
2964
+ placeholder?: string;
2965
+ label?: string;
2966
+ error?: boolean;
3173
2967
  helperText?: React__default.ReactNode;
3174
- /** Whether the field is full width */
2968
+ disabled?: boolean;
3175
2969
  fullWidth?: boolean;
2970
+ children: React__default.ReactNode;
2971
+ className?: string;
3176
2972
  }
3177
- interface KdsMenuItemProps extends MenuItemProps {
2973
+ interface KdsSelectItemProps extends Select.SelectItemProps {
2974
+ children: React__default.ReactNode;
3178
2975
  }
3179
- declare const KdsMenuItem: React__default.ForwardRefExoticComponent<Omit<KdsMenuItemProps, "ref"> & React__default.RefAttributes<HTMLLIElement>>;
2976
+ declare const KdsSelect: React__default.ForwardRefExoticComponent<KdsSelectProps & React__default.RefAttributes<HTMLDivElement>> & {
2977
+ Item: React__default.ForwardRefExoticComponent<KdsSelectItemProps & React__default.RefAttributes<HTMLDivElement>>;
2978
+ };
2979
+
3180
2980
  /**
3181
- * Select dropdown component for choosing one option from a list.
2981
+ * Khipu Design System - Chip Component
3182
2982
  *
3183
- * @example
3184
- * ```tsx
3185
- * <KdsSelect
3186
- * label="Banco"
3187
- * value={bank}
3188
- * onChange={(e) => setBank(e.target.value)}
3189
- * options={[
3190
- * { value: 'bci', label: 'BCI' },
3191
- * { value: 'santander', label: 'Santander' },
3192
- * ]}
3193
- * />
3194
- * ```
2983
+ * Native HTML chip with BeerCSS kds-badge styling.
3195
2984
  */
3196
- declare const KdsSelect: React__default.ForwardRefExoticComponent<Omit<KdsSelectProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
3197
2985
 
3198
- type KdsChipVariant = 'filled' | 'outlined';
3199
- type KdsChipColor = 'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info';
3200
- type KdsChipSize = 'small' | 'medium';
3201
- interface KdsChipProps extends Omit<ChipProps, 'variant' | 'color' | 'size'> {
3202
- /** Visual variant */
3203
- variant?: KdsChipVariant;
3204
- /** Color scheme */
2986
+ type KdsChipColor = 'primary' | 'success' | 'error' | 'warning' | 'info';
2987
+ interface KdsChipProps extends React__default.HTMLAttributes<HTMLSpanElement> {
3205
2988
  color?: KdsChipColor;
3206
- /** Size */
3207
- size?: KdsChipSize;
2989
+ icon?: string;
2990
+ onDelete?: () => void;
2991
+ }
2992
+ declare const KdsChip: React__default.ForwardRefExoticComponent<KdsChipProps & React__default.RefAttributes<HTMLSpanElement>>;
2993
+
2994
+ type KdsSnackbarType = 'success' | 'error' | 'info';
2995
+ interface KdsSnackbarProps extends React__default.HTMLAttributes<HTMLDivElement> {
2996
+ message: string;
2997
+ type?: KdsSnackbarType;
2998
+ duration?: number;
2999
+ onClose?: () => void;
3000
+ open?: boolean;
3208
3001
  }
3002
+ declare const KdsSnackbar: React__default.ForwardRefExoticComponent<KdsSnackbarProps & React__default.RefAttributes<HTMLDivElement>>;
3003
+
3004
+ type KdsTooltipPlacement = 'top' | 'right' | 'bottom' | 'left';
3005
+ interface KdsTooltipProps {
3006
+ content: React__default.ReactNode;
3007
+ children: React__default.ReactNode;
3008
+ placement?: KdsTooltipPlacement;
3009
+ className?: string;
3010
+ open?: boolean;
3011
+ defaultOpen?: boolean;
3012
+ onOpenChange?: (open: boolean) => void;
3013
+ delayDuration?: number;
3014
+ }
3015
+ declare function KdsTooltip({ content, children, placement, className, open, defaultOpen, onOpenChange, delayDuration, }: KdsTooltipProps): react_jsx_runtime.JSX.Element;
3016
+
3017
+ interface KdsAccordionProps extends React__default.DetailsHTMLAttributes<HTMLDetailsElement> {
3018
+ }
3019
+ declare const KdsAccordion: React__default.ForwardRefExoticComponent<KdsAccordionProps & React__default.RefAttributes<HTMLDetailsElement>>;
3020
+ interface KdsAccordionSummaryProps extends React__default.HTMLAttributes<HTMLElement> {
3021
+ }
3022
+ declare const KdsAccordionSummary: React__default.ForwardRefExoticComponent<KdsAccordionSummaryProps & React__default.RefAttributes<HTMLElement>>;
3023
+ interface KdsAccordionDetailsProps extends React__default.HTMLAttributes<HTMLDivElement> {
3024
+ }
3025
+ declare const KdsAccordionDetails: React__default.ForwardRefExoticComponent<KdsAccordionDetailsProps & React__default.RefAttributes<HTMLDivElement>>;
3026
+
3209
3027
  /**
3210
- * Chip component for displaying compact information, tags, or actions.
3028
+ * Khipu Design System - Divider Component
3211
3029
  *
3212
- * @example
3213
- * ```tsx
3214
- * <KdsChip label="ABC123" size="small" variant="outlined" />
3215
- * <KdsChip label="Pagado" color="success" />
3216
- * <KdsChip label="Pendiente" color="warning" onDelete={() => {}} />
3217
- * ```
3030
+ * Native HTML divider with BeerCSS styling.
3218
3031
  */
3219
- declare const KdsChip: React.ForwardRefExoticComponent<Omit<KdsChipProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
3220
3032
 
3221
- type KdsSnackbarAnchorVertical = 'top' | 'bottom';
3222
- type KdsSnackbarAnchorHorizontal = 'left' | 'center' | 'right';
3223
- interface KdsSnackbarProps extends Omit<SnackbarProps, 'anchorOrigin'> {
3224
- /** Vertical position */
3225
- vertical?: KdsSnackbarAnchorVertical;
3226
- /** Horizontal position */
3227
- horizontal?: KdsSnackbarAnchorHorizontal;
3228
- /** Show close button */
3229
- showCloseButton?: boolean;
3033
+ interface KdsDividerProps extends React__default.HTMLAttributes<HTMLHRElement> {
3034
+ dashed?: boolean;
3230
3035
  }
3036
+ declare const KdsDivider: React__default.ForwardRefExoticComponent<KdsDividerProps & React__default.RefAttributes<HTMLHRElement>>;
3037
+
3231
3038
  /**
3232
- * Snackbar component for brief notifications.
3039
+ * Khipu Design System - SectionNote Component
3233
3040
  *
3234
- * @example
3235
- * ```tsx
3236
- * <KdsSnackbar
3237
- * open={open}
3238
- * autoHideDuration={5000}
3239
- * onClose={handleClose}
3240
- * message="Copiado al portapapeles"
3241
- * />
3242
- * ```
3041
+ * Native HTML section note with BeerCSS styling.
3243
3042
  */
3244
- declare const KdsSnackbar: React.ForwardRefExoticComponent<Omit<KdsSnackbarProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
3043
+
3044
+ interface KdsSectionNoteProps extends React__default.HTMLAttributes<HTMLParagraphElement> {
3045
+ icon?: string;
3046
+ }
3047
+ declare const KdsSectionNote: React__default.ForwardRefExoticComponent<KdsSectionNoteProps & React__default.RefAttributes<HTMLParagraphElement>>;
3245
3048
 
3246
3049
  /**
3247
- * Khipu Design System - Tooltip Component
3050
+ * Khipu Design System - StatusBlock Component
3248
3051
  *
3249
- * A tooltip component built on MUI Tooltip with Khipu design system styling.
3052
+ * Native HTML status block with BeerCSS styling.
3250
3053
  */
3251
3054
 
3252
- type KdsTooltipPlacement = TooltipProps['placement'];
3253
- interface KdsTooltipProps extends Omit<TooltipProps, 'arrow'> {
3254
- /** Show arrow pointing to the reference element */
3255
- arrow?: boolean;
3055
+ type KdsStatusType = 'success' | 'pending' | 'warn' | 'error';
3056
+ interface KdsStatusBlockProps extends React__default.HTMLAttributes<HTMLDivElement> {
3057
+ status: KdsStatusType;
3058
+ icon?: string;
3059
+ title: string;
3060
+ description?: string;
3061
+ inline?: boolean;
3256
3062
  }
3063
+ declare const KdsStatusBlock: React__default.ForwardRefExoticComponent<KdsStatusBlockProps & React__default.RefAttributes<HTMLDivElement>>;
3064
+
3257
3065
  /**
3258
- * Tooltip component for displaying additional information on hover.
3066
+ * Khipu Design System - Stepper Component
3259
3067
  *
3260
- * @example
3261
- * ```tsx
3262
- * <KdsTooltip title="Copiar al portapapeles">
3263
- * <IconButton><ContentCopy /></IconButton>
3264
- * </KdsTooltip>
3265
- * ```
3068
+ * Native HTML stepper with BeerCSS styling.
3266
3069
  */
3267
- declare const KdsTooltip: React__default.FC<KdsTooltipProps>;
3268
3070
 
3269
- type KdsAccordionVariant = 'elevation' | 'outlined';
3270
- interface KdsAccordionProps extends Omit<AccordionProps, 'variant'> {
3271
- /** Visual variant */
3272
- variant?: KdsAccordionVariant;
3071
+ interface KdsStepperProps extends React__default.HTMLAttributes<HTMLDivElement> {
3072
+ steps: number;
3073
+ current: number;
3273
3074
  }
3274
- interface KdsAccordionSummaryProps extends AccordionSummaryProps {
3075
+ declare const KdsStepper: React__default.ForwardRefExoticComponent<KdsStepperProps & React__default.RefAttributes<HTMLDivElement>>;
3076
+
3077
+ interface KdsCopyRowProps extends React__default.HTMLAttributes<HTMLDivElement> {
3078
+ label: string;
3079
+ value: string;
3275
3080
  }
3276
- interface KdsAccordionDetailsProps extends AccordionDetailsProps {
3081
+ declare const KdsCopyRow: React__default.ForwardRefExoticComponent<KdsCopyRowProps & React__default.RefAttributes<HTMLDivElement>>;
3082
+
3083
+ interface KdsCopyableTableRow {
3084
+ label: string;
3085
+ value: string;
3086
+ }
3087
+ interface KdsCopyableTableProps extends React__default.HTMLAttributes<HTMLDivElement> {
3088
+ rows: KdsCopyableTableRow[];
3089
+ }
3090
+ declare const KdsCopyableTable: React__default.ForwardRefExoticComponent<KdsCopyableTableProps & React__default.RefAttributes<HTMLDivElement>>;
3091
+
3092
+ interface KdsExpandPanelProps extends React__default.HTMLAttributes<HTMLDivElement> {
3093
+ label: string;
3094
+ defaultExpanded?: boolean;
3095
+ }
3096
+ declare const KdsExpandPanel: React__default.ForwardRefExoticComponent<KdsExpandPanelProps & React__default.RefAttributes<HTMLDivElement>>;
3097
+
3098
+ interface KdsCountdownProps extends React__default.HTMLAttributes<HTMLDivElement> {
3099
+ deadline: string;
3100
+ label?: string;
3101
+ onExpire?: () => void;
3102
+ }
3103
+ declare const KdsCountdown: React__default.ForwardRefExoticComponent<KdsCountdownProps & React__default.RefAttributes<HTMLDivElement>>;
3104
+
3105
+ type KdsSegmentedTabsProps = Omit<KdsTabsProps, 'variant'>;
3106
+ declare const KdsSegmentedTabs: React$1.ForwardRefExoticComponent<KdsSegmentedTabsProps & React$1.RefAttributes<HTMLDivElement>>;
3107
+
3108
+ interface KdsBankRowProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
3109
+ name: string;
3110
+ logoUrl?: string;
3111
+ selected?: boolean;
3112
+ }
3113
+ declare const KdsBankRow: React__default.ForwardRefExoticComponent<KdsBankRowProps & React__default.RefAttributes<HTMLButtonElement>>;
3114
+
3115
+ interface KdsBankListProps extends React__default.HTMLAttributes<HTMLDivElement> {
3116
+ }
3117
+ declare const KdsBankList: React__default.ForwardRefExoticComponent<KdsBankListProps & React__default.RefAttributes<HTMLDivElement>>;
3118
+
3119
+ interface KdsBankModalProps {
3120
+ open: boolean;
3121
+ onClose: () => void;
3122
+ title?: string;
3123
+ searchPlaceholder?: string;
3124
+ onSearch?: (query: string) => void;
3125
+ children: React__default.ReactNode;
3126
+ className?: string;
3127
+ /** Portal container — pass a ref to mount inside a specific element instead of document.body */
3128
+ container?: HTMLElement | null;
3277
3129
  }
3278
- declare const KdsAccordionSummary: React.ForwardRefExoticComponent<Omit<KdsAccordionSummaryProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
3279
- declare const KdsAccordionDetails: React.ForwardRefExoticComponent<Omit<KdsAccordionDetailsProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
3130
+ declare const KdsBankModal: React__default.ForwardRefExoticComponent<KdsBankModalProps & React__default.RefAttributes<HTMLDivElement>>;
3131
+
3132
+ interface KdsQrRowProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
3133
+ /** Primary label (e.g. "Pagar escaneando QR") */
3134
+ name: string;
3135
+ /** Secondary description line */
3136
+ description?: string;
3137
+ /** Badge text (e.g. "Rápido") */
3138
+ badge?: string;
3139
+ /** Material icon name for the avatar. Defaults to "qr_code_2" */
3140
+ icon?: string;
3141
+ }
3142
+ declare const KdsQrRow: React__default.ForwardRefExoticComponent<KdsQrRowProps & React__default.RefAttributes<HTMLButtonElement>>;
3143
+
3144
+ interface KdsCardSelectorProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
3145
+ icon?: string;
3146
+ title: string;
3147
+ description?: string;
3148
+ selected?: boolean;
3149
+ }
3150
+ declare const KdsCardSelector: React__default.ForwardRefExoticComponent<KdsCardSelectorProps & React__default.RefAttributes<HTMLButtonElement>>;
3151
+
3152
+ interface KdsCardPlanProps extends React__default.HTMLAttributes<HTMLDivElement> {
3153
+ title: string;
3154
+ price: string;
3155
+ period?: string;
3156
+ features?: string[];
3157
+ recommended?: boolean;
3158
+ badgeText?: string;
3159
+ action?: React__default.ReactNode;
3160
+ }
3161
+ declare const KdsCardPlan: React__default.ForwardRefExoticComponent<KdsCardPlanProps & React__default.RefAttributes<HTMLDivElement>>;
3162
+
3163
+ interface KdsInvoiceStickyProps extends React__default.HTMLAttributes<HTMLDivElement> {
3164
+ }
3165
+ declare const KdsInvoiceSticky: React__default.ForwardRefExoticComponent<KdsInvoiceStickyProps & React__default.RefAttributes<HTMLDivElement>>;
3166
+
3167
+ interface KdsBottomSheetProps {
3168
+ open: boolean;
3169
+ onClose: () => void;
3170
+ title?: string;
3171
+ children: React__default.ReactNode;
3172
+ actions?: React__default.ReactNode;
3173
+ className?: string;
3174
+ /** Portal container — pass a ref to mount inside a specific element instead of document.body */
3175
+ container?: HTMLElement | null;
3176
+ }
3177
+ declare const KdsBottomSheet: React__default.ForwardRefExoticComponent<KdsBottomSheetProps & React__default.RefAttributes<HTMLDivElement>>;
3178
+
3179
+ interface KdsSecureFooterProps extends React__default.HTMLAttributes<HTMLElement> {
3180
+ variant?: 'default' | 'inside';
3181
+ }
3182
+ declare const KdsSecureFooter: React__default.ForwardRefExoticComponent<KdsSecureFooterProps & React__default.RefAttributes<HTMLElement>>;
3183
+
3184
+ interface KdsRecapItem {
3185
+ label: string;
3186
+ value?: string;
3187
+ placeholder?: string;
3188
+ }
3189
+ interface KdsRecapListProps extends React__default.HTMLAttributes<HTMLUListElement> {
3190
+ items: KdsRecapItem[];
3191
+ }
3192
+ declare const KdsRecapList: React__default.ForwardRefExoticComponent<KdsRecapListProps & React__default.RefAttributes<HTMLUListElement>>;
3193
+
3194
+ declare function useCopyToClipboard(resetMs?: number): {
3195
+ copied: boolean;
3196
+ copy: (text: string) => Promise<void>;
3197
+ };
3198
+
3199
+ declare function useAutoHide(durationMs: number, onHide?: () => void): {
3200
+ visible: boolean;
3201
+ setVisible: React$1.Dispatch<React$1.SetStateAction<boolean>>;
3202
+ };
3203
+
3204
+ interface CountdownResult {
3205
+ hours: number;
3206
+ minutes: number;
3207
+ seconds: number;
3208
+ expired: boolean;
3209
+ urgent: boolean;
3210
+ }
3211
+ declare function useCountdown(deadline: string): CountdownResult;
3212
+
3280
3213
  /**
3281
- * Accordion component for expandable/collapsible content sections.
3214
+ * Provides an onKeyDown handler for tab lists.
3215
+ * Handles ArrowLeft/ArrowRight navigation per WAI-ARIA Tabs pattern.
3216
+ */
3217
+ declare function useTabsKeyboard(tabCount: number, activeIndex: number, onChange: (index: number) => void): {
3218
+ onKeyDown: (e: React.KeyboardEvent) => void;
3219
+ };
3220
+
3221
+ /**
3222
+ * Khipu Design System - Core Utilities
3282
3223
  *
3283
- * @example
3284
- * ```tsx
3285
- * <KdsAccordion>
3286
- * <KdsAccordionSummary>
3287
- * <Typography>Detalles del pago</Typography>
3288
- * </KdsAccordionSummary>
3289
- * <KdsAccordionDetails>
3290
- * <Typography>Contenido expandible aqui</Typography>
3291
- * </KdsAccordionDetails>
3292
- * </KdsAccordion>
3293
- * ```
3224
+ * Shared helpers for CSS-based React components.
3225
+ */
3226
+
3227
+ /**
3228
+ * Return a contrast text color (white or near-black) for the given background hex.
3229
+ * Uses WCAG luminance threshold.
3230
+ */
3231
+ declare function getContrastColor(hex: string): string;
3232
+ /**
3233
+ * Lighten a hex color by mixing it toward white.
3234
+ * @param hex - Source color, e.g. "#8347AD"
3235
+ * @param amount - 0 = original, 1 = white. Typical: 0.85 for container colors.
3294
3236
  */
3295
- declare const KdsAccordion: React.ForwardRefExoticComponent<Omit<KdsAccordionProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
3237
+ declare function lighten(hex: string, amount: number): string;
3296
3238
 
3297
- export { type Colors, KdsAccordion, KdsAccordionDetails, type KdsAccordionDetailsProps, type KdsAccordionProps, KdsAccordionSummary, type KdsAccordionSummaryProps, type KdsAccordionVariant, KdsAlert, type KdsAlertProps, type KdsAlertSeverity, type KdsAlertVariant, KdsButton, type KdsButtonColor, type KdsButtonProps, type KdsButtonSize, type KdsButtonVariant, KdsCard, KdsCardActions, type KdsCardActionsProps, KdsCardContent, type KdsCardContentProps, type KdsCardElevation, KdsCardHeader, type KdsCardHeaderProps, type KdsCardProps, type KdsCardVariant, KdsCheckbox, type KdsCheckboxColor, type KdsCheckboxProps, type KdsCheckboxSize, KdsChip, type KdsChipColor, type KdsChipProps, type KdsChipSize, type KdsChipVariant, KdsLinearProgress, type KdsLinearProgressColor, type KdsLinearProgressProps, type KdsLinearProgressVariant, KdsLogoHeader, KdsLogoHeaderCloseButton, type KdsLogoHeaderCloseButtonProps, KdsLogoHeaderCode, type KdsLogoHeaderCodeProps, KdsLogoHeaderLogo, type KdsLogoHeaderLogoProps, type KdsLogoHeaderProps, KdsLogoHeaderSeparator, type KdsLogoHeaderSeparatorProps, KdsMenuItem, type KdsMenuItemProps, KdsModal, type KdsModalProps, type KdsModalSize, KdsRadio, type KdsRadioColor, KdsRadioGroup, type KdsRadioGroupProps, type KdsRadioOption, type KdsRadioProps, type KdsRadioSize, KdsSelect, type KdsSelectOption, type KdsSelectProps, type KdsSelectSize, type KdsSelectVariant, KdsSnackbar, type KdsSnackbarAnchorHorizontal, type KdsSnackbarAnchorVertical, type KdsSnackbarProps, KdsSpinner, type KdsSpinnerColor, type KdsSpinnerProps, type KdsSpinnerSize, KdsTab, KdsTabPanel, type KdsTabPanelProps, type KdsTabProps, KdsTabs, type KdsTabsColor, type KdsTabsProps, type KdsTabsVariant, KdsTextField, type KdsTextFieldProps, type KdsTextFieldSize, type KdsTextFieldVariant, KdsTooltip, type KdsTooltipPlacement, type KdsTooltipProps, KdsTypography, type KdsTypographyProps, type KdsTypographyVariant, type KhipuTheme, KhipuThemeProvider, type KhipuThemeProviderProps, type ThemeMode, type Tokens, type TokensByMode, type Typography as TypographyTokens, borderRadius, breakpoints, colors, colorsByMode, fontFamilies, fontSizes, fontWeights, khipuTheme, letterSpacings, lineHeights, semanticSpacing, shadows, spacing, tokens, tokensByMode, transitions, typography, zIndex };
3239
+ export { type Colors, KdsAccordion, KdsAccordionDetails, type KdsAccordionDetailsProps, type KdsAccordionProps, KdsAccordionSummary, type KdsAccordionSummaryProps, KdsAlert, type KdsAlertProps, type KdsAlertSeverity, KdsBankList, type KdsBankListProps, KdsBankModal, type KdsBankModalProps, KdsBankRow, type KdsBankRowProps, 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, KdsCopyRow, type KdsCopyRowProps, KdsCopyableTable, type KdsCopyableTableProps, type KdsCopyableTableRow, KdsCountdown, type KdsCountdownProps, KdsDivider, type KdsDividerProps, KdsExpandPanel, type KdsExpandPanelProps, KdsInvoiceSticky, type KdsInvoiceStickyProps, KdsLinearProgress, type KdsLinearProgressProps, KdsLogoHeader, KdsLogoHeaderCloseButton, type KdsLogoHeaderCloseButtonProps, KdsLogoHeaderCode, type KdsLogoHeaderCodeProps, KdsLogoHeaderLogo, type KdsLogoHeaderLogoProps, type KdsLogoHeaderProps, KdsLogoHeaderSeparator, type KdsLogoHeaderSeparatorProps, KdsModal, type KdsModalProps, type KdsModalSize, KdsQrRow, type KdsQrRowProps, KdsRadioGroup, type KdsRadioGroupProps, type KdsRadioOption, type KdsRecapItem, KdsRecapList, type KdsRecapListProps, KdsSectionNote, type KdsSectionNoteProps, KdsSecureFooter, type KdsSecureFooterProps, KdsSegmentedTabs, type KdsSegmentedTabsProps, KdsSelect, type KdsSelectItemProps, 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, type ThemeMode, type Tokens, type TokensByMode, type Typography as TypographyTokens, borderRadius, breakpoints, colors, colorsByMode, fontFamilies, fontSizes, fontWeights, getContrastColor, letterSpacings, lighten, lineHeights, semanticSpacing, shadows, spacing, tokens, tokensByMode, transitions, typography, useAutoHide, useCopyToClipboard, useCountdown, useTabsKeyboard, zIndex };