chiperos-ai-components-library 0.0.1

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.
Files changed (64) hide show
  1. package/README.md +225 -0
  2. package/dist/chiper-components-library.cjs +15 -0
  3. package/dist/chiper-components-library.cjs.map +1 -0
  4. package/dist/chiper-components-library.js +4836 -0
  5. package/dist/chiper-components-library.js.map +1 -0
  6. package/dist/components/ActionCard/ActionCard.stories.d.ts +22 -0
  7. package/dist/components/ActionCard/ActionCard.test.d.ts +1 -0
  8. package/dist/components/ActionCard/index.d.ts +50 -0
  9. package/dist/components/BannerAlerts/BannerAlerts.stories.d.ts +42 -0
  10. package/dist/components/BannerAlerts/BannerAlerts.test.d.ts +1 -0
  11. package/dist/components/BannerAlerts/index.d.ts +36 -0
  12. package/dist/components/BrandIcons/BrandIcons.stories.d.ts +45 -0
  13. package/dist/components/BrandIcons/BrandIcons.test.d.ts +1 -0
  14. package/dist/components/BrandIcons/index.d.ts +39 -0
  15. package/dist/components/ButtonRadix/Button.stories.d.ts +55 -0
  16. package/dist/components/ButtonRadix/Button.test.d.ts +1 -0
  17. package/dist/components/ButtonRadix/index.d.ts +14 -0
  18. package/dist/components/CardsGrid/CardsGrid.stories.d.ts +21 -0
  19. package/dist/components/CardsGrid/CardsGrid.test.d.ts +1 -0
  20. package/dist/components/CardsGrid/index.d.ts +58 -0
  21. package/dist/components/FeatureCard/FeatureCard.stories.d.ts +38 -0
  22. package/dist/components/FeatureCard/FeatureCard.test.d.ts +1 -0
  23. package/dist/components/FeatureCard/index.d.ts +44 -0
  24. package/dist/components/Header/Header.stories.d.ts +11 -0
  25. package/dist/components/Header/index.d.ts +17 -0
  26. package/dist/components/KPICard/KPICard.stories.d.ts +52 -0
  27. package/dist/components/KPICard/KPICard.test.d.ts +1 -0
  28. package/dist/components/KPICard/KPICardCustom.d.ts +63 -0
  29. package/dist/components/KPICard/KPICardCustom.stories.d.ts +19 -0
  30. package/dist/components/KPICard/index.d.ts +93 -0
  31. package/dist/components/KPIComparison/KPIComparison.stories.d.ts +44 -0
  32. package/dist/components/KPIComparison/KPIComparison.test.d.ts +1 -0
  33. package/dist/components/KPIComparison/KPIComparisonCustom.d.ts +52 -0
  34. package/dist/components/KPIComparison/KPIComparisonCustom.stories.d.ts +21 -0
  35. package/dist/components/KPIComparison/index.d.ts +43 -0
  36. package/dist/components/LanguageSwitcher/index.d.ts +8 -0
  37. package/dist/components/Loader/Loader.stories.d.ts +49 -0
  38. package/dist/components/Loader/Loader.test.d.ts +1 -0
  39. package/dist/components/Loader/index.d.ts +43 -0
  40. package/dist/components/OptionCard/OptionCard.stories.d.ts +20 -0
  41. package/dist/components/OptionCard/OptionCard.test.d.ts +1 -0
  42. package/dist/components/OptionCard/index.d.ts +56 -0
  43. package/dist/components/OrderCard/OrderCard.stories.d.ts +59 -0
  44. package/dist/components/OrderCard/OrderCard.test.d.ts +1 -0
  45. package/dist/components/OrderCard/OrderCardCustom.d.ts +69 -0
  46. package/dist/components/OrderCard/OrderCardCustom.stories.d.ts +19 -0
  47. package/dist/components/OrderCard/index.d.ts +82 -0
  48. package/dist/components/PaginationLib/PaginationLib.stories.d.ts +11 -0
  49. package/dist/components/PaginationLib/PaginationLib.test.d.ts +1 -0
  50. package/dist/components/PaginationLib/index.d.ts +9 -0
  51. package/dist/components/Switcher/Switcher.stories.d.ts +38 -0
  52. package/dist/components/Switcher/Switcher.test.d.ts +1 -0
  53. package/dist/components/Switcher/index.d.ts +36 -0
  54. package/dist/components/Toasts/Toasts.stories.d.ts +43 -0
  55. package/dist/components/Toasts/Toasts.test.d.ts +1 -0
  56. package/dist/components/Toasts/index.d.ts +36 -0
  57. package/dist/components/index.d.ts +14 -0
  58. package/dist/configs/LocaleProvider.d.ts +14 -0
  59. package/dist/configs/i18n.d.ts +3 -0
  60. package/dist/index.d.ts +1 -0
  61. package/dist/lib/utils.d.ts +8 -0
  62. package/dist/setupTests.d.ts +1 -0
  63. package/dist/types/index.d.ts +39 -0
  64. package/package.json +96 -0
@@ -0,0 +1,22 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').ActionCardProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const LowInventory: Story;
14
+ export declare const TopPerformers: Story;
15
+ export declare const AlertAction: Story;
16
+ export declare const InfoAction: Story;
17
+ export declare const PendingTasks: Story;
18
+ export declare const Notification: Story;
19
+ export declare const WithoutAction: Story;
20
+ export declare const ClickableCard: Story;
21
+ export declare const DashboardGrid: Story;
22
+ export declare const LongDescription: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+ export interface ActionCardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Título de la acción
5
+ */
6
+ title: string;
7
+ /**
8
+ * Descripción de la acción
9
+ */
10
+ description: string;
11
+ /**
12
+ * Ícono de la acción (React node)
13
+ */
14
+ icon: React.ReactNode;
15
+ /**
16
+ * Botón de acción (CTA) opcional
17
+ */
18
+ action?: {
19
+ label: string;
20
+ onClick: () => void;
21
+ };
22
+ /**
23
+ * Callback al hacer clic en toda la card
24
+ */
25
+ onClick?: () => void;
26
+ /**
27
+ * Clases CSS adicionales
28
+ */
29
+ className?: string;
30
+ }
31
+ /**
32
+ * Componente ActionCard
33
+ *
34
+ * Card con ícono, título, descripción y call-to-action opcional.
35
+ * Ideal para dashboards, acciones rápidas y notificaciones.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <ActionCard
40
+ * icon={<Package size={32} color="#d48620" strokeWidth={2} />}
41
+ * title="Identify Low Inventory Items"
42
+ * description="Find SKUs with less than 5 days of inventory remaining."
43
+ * action={{
44
+ * label: "Show low inventory",
45
+ * onClick: () => navigate('/inventory/low')
46
+ * }}
47
+ * />
48
+ * ```
49
+ */
50
+ export declare const ActionCard: React.ForwardRefExoticComponent<ActionCardProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,42 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').BannerAlertsProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ variant: {
12
+ control: "select";
13
+ options: string[];
14
+ description: string;
15
+ };
16
+ title: {
17
+ control: "text";
18
+ description: string;
19
+ };
20
+ description: {
21
+ control: "text";
22
+ description: string;
23
+ };
24
+ icon: {
25
+ control: false;
26
+ description: string;
27
+ };
28
+ };
29
+ };
30
+ export default meta;
31
+ type Story = StoryObj<typeof meta>;
32
+ export declare const Warning: Story;
33
+ export declare const Information: Story;
34
+ export declare const Grey: Story;
35
+ export declare const CustomIcon: Story;
36
+ export declare const AllVariants: Story;
37
+ export declare const DifferentLengths: Story;
38
+ export declare const CommonUseCases: Story;
39
+ export declare const CustomIcons: Story;
40
+ export declare const InForms: Story;
41
+ export declare const InDashboard: Story;
42
+ export declare const Responsive: Story;
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+ export interface BannerAlertsProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Variante del banner alert
5
+ * @default "information"
6
+ */
7
+ variant?: 'warning' | 'information' | 'grey';
8
+ /**
9
+ * Título del alert
10
+ */
11
+ title: string;
12
+ /**
13
+ * Descripción del alert
14
+ */
15
+ description: string;
16
+ /**
17
+ * Icono personalizado (opcional)
18
+ */
19
+ icon?: React.ReactNode;
20
+ /**
21
+ * Clases CSS adicionales
22
+ */
23
+ className?: string;
24
+ }
25
+ /**
26
+ * Componente BannerAlerts - Banners informativos con diferentes variantes
27
+ *
28
+ * Muestra mensajes de alerta con tres variantes:
29
+ * - warning: Para alertas de advertencia (naranja)
30
+ * - information: Para información general (azul)
31
+ * - grey: Para notificaciones neutras (gris)
32
+ *
33
+ * Cada banner incluye un icono, título y descripción.
34
+ */
35
+ declare const BannerAlerts: React.ForwardRefExoticComponent<BannerAlertsProps & React.RefAttributes<HTMLDivElement>>;
36
+ export { BannerAlerts };
@@ -0,0 +1,45 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').BrandIconsProps & import('react').RefAttributes<HTMLImageElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ backgrounds: {
9
+ default: string;
10
+ values: {
11
+ name: string;
12
+ value: string;
13
+ }[];
14
+ };
15
+ };
16
+ tags: string[];
17
+ argTypes: {
18
+ size: {
19
+ control: "select";
20
+ options: string[];
21
+ description: string;
22
+ };
23
+ mode: {
24
+ control: "select";
25
+ options: string[];
26
+ description: string;
27
+ };
28
+ gradient: {
29
+ control: "boolean";
30
+ description: string;
31
+ };
32
+ };
33
+ };
34
+ export default meta;
35
+ type Story = StoryObj<typeof meta>;
36
+ export declare const LargeDark: Story;
37
+ export declare const LargeLight: Story;
38
+ export declare const LargeGradient: Story;
39
+ export declare const SmallDark: Story;
40
+ export declare const SmallLight: Story;
41
+ export declare const AllVariants: Story;
42
+ export declare const SizeComparison: Story;
43
+ export declare const InNavigation: Story;
44
+ export declare const InFooter: Story;
45
+ export declare const ResponsiveLogo: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ declare const LOGO_ASSETS: {
3
+ largeDark: string;
4
+ largeLight: string;
5
+ smallDark: string;
6
+ smallLight: string;
7
+ gradientLarge: string;
8
+ };
9
+ export interface BrandIconsProps extends React.ImgHTMLAttributes<HTMLImageElement> {
10
+ /**
11
+ * Tamaño del logo
12
+ * @default "large"
13
+ */
14
+ size?: 'large' | 'small';
15
+ /**
16
+ * Modo de color del logo
17
+ * @default "dark"
18
+ */
19
+ mode?: 'dark' | 'light';
20
+ /**
21
+ * Si el logo tiene gradiente
22
+ * @default false
23
+ */
24
+ gradient?: boolean;
25
+ /**
26
+ * Clases CSS adicionales
27
+ */
28
+ className?: string;
29
+ }
30
+ /**
31
+ * Componente BrandIcons - Logo de Chiperos
32
+ *
33
+ * Muestra el logo de la marca Chiperos con diferentes variantes:
34
+ * - Tamaños: large (143x32px) y small (40x32px)
35
+ * - Modos: dark y light
36
+ * - Con o sin gradiente
37
+ */
38
+ declare const BrandIcons: React.ForwardRefExoticComponent<BrandIconsProps & React.RefAttributes<HTMLImageElement>>;
39
+ export { BrandIcons, LOGO_ASSETS };
@@ -0,0 +1,55 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ variant: {
12
+ control: "select";
13
+ options: string[];
14
+ description: string;
15
+ };
16
+ size: {
17
+ control: "select";
18
+ options: string[];
19
+ description: string;
20
+ };
21
+ iconOnly: {
22
+ control: "boolean";
23
+ description: string;
24
+ };
25
+ disabled: {
26
+ control: "boolean";
27
+ description: string;
28
+ };
29
+ asChild: {
30
+ control: "boolean";
31
+ description: string;
32
+ };
33
+ };
34
+ };
35
+ export default meta;
36
+ type Story = StoryObj<typeof meta>;
37
+ export declare const Primary: Story;
38
+ export declare const PrimaryWithLeftIcon: Story;
39
+ export declare const PrimaryWithRightIcon: Story;
40
+ export declare const PrimaryIconOnly: Story;
41
+ export declare const Secondary: Story;
42
+ export declare const SecondaryWithLeftIcon: Story;
43
+ export declare const SecondaryIconOnly: Story;
44
+ export declare const Alert: Story;
45
+ export declare const AlertWithIcon: Story;
46
+ export declare const Ghost: Story;
47
+ export declare const GhostWithIcon: Story;
48
+ export declare const Plain: Story;
49
+ export declare const SmallSize: Story;
50
+ export declare const MediumSize: Story;
51
+ export declare const LargeSize: Story;
52
+ export declare const Disabled: Story;
53
+ export declare const AllVariants: Story;
54
+ export declare const AllSizes: Story;
55
+ export declare const CTAGroup: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from 'react';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "alert" | "primary" | "secondary" | "ghost" | "plain" | null | undefined;
5
+ size?: "small" | "medium" | "large" | null | undefined;
6
+ iconOnly?: boolean | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
9
+ asChild?: boolean;
10
+ leftIcon?: React.ReactNode;
11
+ rightIcon?: React.ReactNode;
12
+ }
13
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
14
+ export { Button, buttonVariants };
@@ -0,0 +1,21 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').CardsGridProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const ThreeColumnsFeatures: Story;
14
+ export declare const TwoColumnsActions: Story;
15
+ export declare const FourColumnsFeatures: Story;
16
+ export declare const SingleColumnActions: Story;
17
+ export declare const OptionCardsInGrid: Story;
18
+ export declare const ResponsiveGrid: Story;
19
+ export declare const GapVariations: Story;
20
+ export declare const MixedCards: Story;
21
+ export declare const DashboardLayout: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ import * as React from 'react';
2
+ export interface CardsGridProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Número de columnas del grid
5
+ * @example 3
6
+ */
7
+ columns: number;
8
+ /**
9
+ * Gap entre las cards (en Tailwind units o px)
10
+ * @default 4
11
+ * @example 6 // gap-6
12
+ * @example "1.5rem" // custom gap
13
+ */
14
+ gap?: number | string;
15
+ /**
16
+ * Número de columnas en tablets (opcional, responsive)
17
+ * @example 2
18
+ */
19
+ tabletColumns?: number;
20
+ /**
21
+ * Número de columnas en móviles (opcional, responsive)
22
+ * @default 1
23
+ * @example 1
24
+ */
25
+ mobileColumns?: number;
26
+ /**
27
+ * Children (cards u otros componentes)
28
+ */
29
+ children: React.ReactNode;
30
+ /**
31
+ * Clases CSS adicionales
32
+ */
33
+ className?: string;
34
+ }
35
+ /**
36
+ * Componente CardsGrid
37
+ *
38
+ * Contenedor de grid para organizar cards de forma responsive.
39
+ * Ajusta automáticamente el ancho de las cards al 100% del espacio disponible.
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * <CardsGrid columns={3} gap={6}>
44
+ * <FeatureCard title="Feature 1" description="..." icon={<Icon />} />
45
+ * <FeatureCard title="Feature 2" description="..." icon={<Icon />} />
46
+ * <FeatureCard title="Feature 3" description="..." icon={<Icon />} />
47
+ * </CardsGrid>
48
+ * ```
49
+ *
50
+ * @example Con responsive
51
+ * ```tsx
52
+ * <CardsGrid columns={3} tabletColumns={2} mobileColumns={1} gap={4}>
53
+ * <ActionCard title="Action 1" description="..." icon={<Icon />} />
54
+ * <ActionCard title="Action 2" description="..." icon={<Icon />} />
55
+ * </CardsGrid>
56
+ * ```
57
+ */
58
+ export declare const CardsGrid: React.ForwardRefExoticComponent<CardsGridProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,38 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').FeatureCardProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ title: {
12
+ control: "text";
13
+ description: string;
14
+ };
15
+ description: {
16
+ control: "text";
17
+ description: string;
18
+ };
19
+ iconBackground: {
20
+ control: "color";
21
+ description: string;
22
+ };
23
+ };
24
+ };
25
+ export default meta;
26
+ type Story = StoryObj<typeof meta>;
27
+ export declare const Security: Story;
28
+ export declare const Performance: Story;
29
+ export declare const Collaboration: Story;
30
+ export declare const Protection: Story;
31
+ export declare const CloudBased: Story;
32
+ export declare const AIFeature: Story;
33
+ export declare const Clickable: Story;
34
+ export declare const FeaturesGrid: Story;
35
+ export declare const ColorVariants: Story;
36
+ export declare const CustomStyling: Story;
37
+ export declare const LongDescription: Story;
38
+ export declare const Minimal: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ export interface FeatureCardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Título de la característica
5
+ */
6
+ title: string;
7
+ /**
8
+ * Descripción de la característica
9
+ */
10
+ description: string;
11
+ /**
12
+ * Ícono de la característica (React node)
13
+ */
14
+ icon: React.ReactNode;
15
+ /**
16
+ * Background del contenedor del ícono
17
+ * @default "#e6f8ef"
18
+ */
19
+ iconBackground?: string;
20
+ /**
21
+ * Callback al hacer clic en la card
22
+ */
23
+ onClick?: () => void;
24
+ /**
25
+ * Clases CSS adicionales
26
+ */
27
+ className?: string;
28
+ }
29
+ /**
30
+ * Componente FeatureCard
31
+ *
32
+ * Card centrada para destacar características o features.
33
+ * Ideal para landing pages, páginas de bienvenida y showcase de características.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <FeatureCard
38
+ * icon={<Lock size={32} color="#00995a" strokeWidth={2} />}
39
+ * title="Built for Security"
40
+ * description="Your data is protected by enterprise-grade, zero-trust architecture."
41
+ * />
42
+ * ```
43
+ */
44
+ export declare const FeatureCard: React.ForwardRefExoticComponent<FeatureCardProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { default as HeaderLib } from './index';
3
+
4
+ declare const meta: Meta<typeof HeaderLib>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof HeaderLib>;
7
+ export declare const Default: Story;
8
+ export declare const WithDescription: Story;
9
+ export declare const WithGoBack: Story;
10
+ export declare const WithSearchAndLanguage: Story;
11
+ export declare const WithChildren: Story;
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { AppRouterInstance } from '../../types';
3
+
4
+ interface HeaderLibProps {
5
+ goBackText?: string;
6
+ goBackHref?: string;
7
+ onBack?: () => void;
8
+ title: string;
9
+ description?: string;
10
+ children?: React.ReactNode;
11
+ onSearch?: () => void;
12
+ showSearch?: boolean;
13
+ showLanguageSwitcher?: boolean;
14
+ useRouter: () => AppRouterInstance;
15
+ }
16
+ declare const HeaderLib: React.FC<HeaderLibProps>;
17
+ export default HeaderLib;
@@ -0,0 +1,52 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').KPICardProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ title: {
12
+ control: "text";
13
+ description: string;
14
+ };
15
+ value: {
16
+ control: "text";
17
+ description: string;
18
+ };
19
+ unit: {
20
+ control: "text";
21
+ description: string;
22
+ };
23
+ description: {
24
+ control: "text";
25
+ description: string;
26
+ };
27
+ iconColor: {
28
+ control: "select";
29
+ options: string[];
30
+ description: string;
31
+ };
32
+ };
33
+ };
34
+ export default meta;
35
+ type Story = StoryObj<typeof meta>;
36
+ export declare const Basic: Story;
37
+ export declare const WithPositiveComparison: Story;
38
+ export declare const WithNegativeComparison: Story;
39
+ export declare const WithTag: Story;
40
+ export declare const WithRedTag: Story;
41
+ export declare const WithFraction: Story;
42
+ export declare const WithButton: Story;
43
+ export declare const BrandIcon: Story;
44
+ export declare const AllVariants: Story;
45
+ export declare const Dashboard: Story;
46
+ export declare const CustomIcon: Story;
47
+ export declare const Clickable: Story;
48
+ export declare const LargeValues: Story;
49
+ export declare const WithoutComparison: Story;
50
+ export declare const LongDescription: Story;
51
+ export declare const Compact: Story;
52
+ export declare const Complete: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,63 @@
1
+ import * as React from 'react';
2
+ export interface KPICardCustomProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {
3
+ /**
4
+ * Título de la card
5
+ */
6
+ title: string;
7
+ /**
8
+ * Contenido principal (puede ser cualquier React node)
9
+ */
10
+ content: React.ReactNode;
11
+ /**
12
+ * Contenido secundario/descriptivo (opcional)
13
+ */
14
+ description?: React.ReactNode;
15
+ /**
16
+ * Contenido del footer (opcional)
17
+ */
18
+ footer?: React.ReactNode;
19
+ /**
20
+ * Tag personalizado (opcional)
21
+ */
22
+ tag?: {
23
+ label: string;
24
+ variant?: 'default' | 'red' | 'green' | 'blue' | 'yellow';
25
+ };
26
+ /**
27
+ * Ícono personalizado
28
+ */
29
+ icon: React.ReactNode;
30
+ /**
31
+ * Callback al hacer clic en la card
32
+ */
33
+ onClick?: () => void;
34
+ /**
35
+ * Clases CSS adicionales
36
+ */
37
+ className?: string;
38
+ }
39
+ /**
40
+ * Componente KPICardCustom
41
+ *
42
+ * Versión completamente personalizable de KPICard donde puedes
43
+ * especificar cualquier contenido usando React nodes, sin limitaciones
44
+ * de estructura predefinida.
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * <KPICardCustom
49
+ * title="Custom Metric"
50
+ * icon={<CustomIcon />}
51
+ * content={
52
+ * <div>
53
+ * <h2>42</h2>
54
+ * <p>Custom layout</p>
55
+ * </div>
56
+ * }
57
+ * description="Any custom description"
58
+ * footer={<button>Action</button>}
59
+ * tag={{ label: "New", variant: "green" }}
60
+ * />
61
+ * ```
62
+ */
63
+ export declare const KPICardCustom: React.ForwardRefExoticComponent<KPICardCustomProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,19 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./KPICardCustom').KPICardCustomProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Basic: Story;
14
+ export declare const ComplexContent: Story;
15
+ export declare const WithChart: Story;
16
+ export declare const WithList: Story;
17
+ export declare const WithActions: Story;
18
+ export declare const AllVariants: Story;
19
+ export declare const FullyCustom: Story;