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,93 @@
1
+ import * as React from 'react';
2
+ export interface KPICardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Título de la card
5
+ */
6
+ title: string;
7
+ /**
8
+ * Valor principal a mostrar
9
+ */
10
+ value: number | string;
11
+ /**
12
+ * Unidad del valor (%, x, etc.)
13
+ * @default "%"
14
+ */
15
+ unit?: string;
16
+ /**
17
+ * Valor total para mostrar fracción (ej: 3/17)
18
+ * Solo se usa si se proporciona
19
+ */
20
+ total?: number;
21
+ /**
22
+ * Texto descriptivo
23
+ */
24
+ description?: string;
25
+ /**
26
+ * Datos de comparación KPI (opcional)
27
+ */
28
+ comparison?: {
29
+ percentage: number;
30
+ trend: 'positive' | 'negative';
31
+ label?: string;
32
+ showWarning?: boolean;
33
+ };
34
+ /**
35
+ * Tag opcional
36
+ */
37
+ tag?: {
38
+ label: string;
39
+ variant?: 'default' | 'red';
40
+ };
41
+ /**
42
+ * Ícono personalizado
43
+ */
44
+ icon?: React.ReactNode;
45
+ /**
46
+ * Color del ícono
47
+ * @default "primary"
48
+ */
49
+ iconColor?: 'primary' | 'error' | 'brand';
50
+ /**
51
+ * Texto adicional del body (para variante Text)
52
+ */
53
+ bodyText?: string;
54
+ /**
55
+ * Botón opcional
56
+ */
57
+ button?: {
58
+ label: string;
59
+ onClick?: () => void;
60
+ };
61
+ /**
62
+ * Callback al hacer clic en la card
63
+ */
64
+ onClick?: () => void;
65
+ /**
66
+ * Clases CSS adicionales
67
+ */
68
+ className?: string;
69
+ }
70
+ /**
71
+ * Componente KPICard
72
+ *
73
+ * Card completa para mostrar KPIs con diferentes variantes:
74
+ * - Con comparación de tendencia
75
+ * - Con tags
76
+ * - Con descripción
77
+ * - Con botones
78
+ *
79
+ * @example
80
+ * ```tsx
81
+ * <KPICard
82
+ * title="Active Users"
83
+ * value={3}
84
+ * unit="%"
85
+ * description="Descriptive text goes here"
86
+ * comparison={{ percentage: 1.0, trend: "positive" }}
87
+ * tag={{ label: "Monthly", variant: "default" }}
88
+ * />
89
+ * ```
90
+ */
91
+ export declare const KPICard: React.ForwardRefExoticComponent<KPICardProps & React.RefAttributes<HTMLDivElement>>;
92
+ export { KPICardCustom } from './KPICardCustom';
93
+ export type { KPICardCustomProps } from './KPICardCustom';
@@ -0,0 +1,44 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').KPIComparisonProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ percentage: {
12
+ control: "number";
13
+ description: string;
14
+ };
15
+ trend: {
16
+ control: "select";
17
+ options: string[];
18
+ description: string;
19
+ };
20
+ label: {
21
+ control: "text";
22
+ description: string;
23
+ };
24
+ showWarning: {
25
+ control: "boolean";
26
+ description: string;
27
+ };
28
+ };
29
+ };
30
+ export default meta;
31
+ type Story = StoryObj<typeof meta>;
32
+ export declare const Positive: Story;
33
+ export declare const Negative: Story;
34
+ export declare const PositiveWithWarning: Story;
35
+ export declare const NegativeWithWarning: Story;
36
+ export declare const CustomLabel: Story;
37
+ export declare const SmallValue: Story;
38
+ export declare const LargeValue: Story;
39
+ export declare const AllStates: Story;
40
+ export declare const InCardContext: Story;
41
+ export declare const MultipleComparisons: Story;
42
+ export declare const DifferentLabels: Story;
43
+ export declare const ZeroValue: Story;
44
+ export declare const PreciseDecimals: Story;
@@ -0,0 +1,52 @@
1
+ import * as React from 'react';
2
+ export interface KPIComparisonCustomProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Ícono izquierdo personalizado
5
+ */
6
+ icon: React.ReactNode;
7
+ /**
8
+ * Texto principal (ej: porcentaje, valor, etc.)
9
+ */
10
+ primaryText: string;
11
+ /**
12
+ * Color del texto principal
13
+ * @default "#312e4d"
14
+ */
15
+ primaryTextColor?: string;
16
+ /**
17
+ * Texto secundario/label
18
+ */
19
+ secondaryText?: string;
20
+ /**
21
+ * Color del texto secundario
22
+ * @default "#575385"
23
+ */
24
+ secondaryTextColor?: string;
25
+ /**
26
+ * Ícono derecho opcional (ej: warning)
27
+ */
28
+ rightIcon?: React.ReactNode;
29
+ /**
30
+ * Clases CSS adicionales
31
+ */
32
+ className?: string;
33
+ }
34
+ /**
35
+ * Componente KPIComparisonCustom
36
+ *
37
+ * Versión completamente personalizable de KPIComparison donde puedes
38
+ * especificar cualquier ícono, texto y colores sin limitaciones de
39
+ * tendencias predefinidas.
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * <KPIComparisonCustom
44
+ * icon={<CustomIcon />}
45
+ * primaryText="1.2M"
46
+ * primaryTextColor="#00995a"
47
+ * secondaryText="total users"
48
+ * rightIcon={<InfoIcon />}
49
+ * />
50
+ * ```
51
+ */
52
+ export declare const KPIComparisonCustom: React.ForwardRefExoticComponent<KPIComparisonCustomProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,21 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./KPIComparisonCustom').KPIComparisonCustomProps & 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 PositiveTrend: Story;
14
+ export declare const NegativeTrend: Story;
15
+ export declare const WithAlert: Story;
16
+ export declare const CustomValues: Story;
17
+ export declare const WithCounter: Story;
18
+ export declare const MinimalLayout: Story;
19
+ export declare const AllVariants: Story;
20
+ export declare const InCardContext: Story;
21
+ export declare const MultipleMetrics: Story;
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ export interface KPIComparisonProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Porcentaje de cambio (puede ser positivo o negativo)
5
+ * @example 1.0, -10.5
6
+ */
7
+ percentage: number;
8
+ /**
9
+ * Tendencia del KPI
10
+ * - 'positive': Verde con flecha arriba
11
+ * - 'negative': Rojo con flecha abajo
12
+ */
13
+ trend: 'positive' | 'negative';
14
+ /**
15
+ * Texto descriptivo al lado del porcentaje
16
+ * @default "KPI comparison"
17
+ */
18
+ label?: string;
19
+ /**
20
+ * Mostrar ícono de alerta/warning
21
+ * @default false
22
+ */
23
+ showWarning?: boolean;
24
+ /**
25
+ * Clases CSS adicionales
26
+ */
27
+ className?: string;
28
+ }
29
+ /**
30
+ * Componente KPIComparison
31
+ *
32
+ * Muestra una comparación de KPI con tendencia (positiva o negativa)
33
+ * y un ícono de alerta opcional.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <KPIComparison percentage={1.0} trend="positive" label="KPI comparison" />
38
+ * <KPIComparison percentage={-10} trend="negative" showWarning={true} />
39
+ * ```
40
+ */
41
+ export declare const KPIComparison: React.ForwardRefExoticComponent<KPIComparisonProps & React.RefAttributes<HTMLDivElement>>;
42
+ export { KPIComparisonCustom } from './KPIComparisonCustom';
43
+ export type { KPIComparisonCustomProps } from './KPIComparisonCustom';
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+
3
+ interface LanguageSwitcherProps {
4
+ className?: string;
5
+ showText?: boolean;
6
+ }
7
+ declare const LanguageSwitcher: React.FC<LanguageSwitcherProps>;
8
+ export default LanguageSwitcher;
@@ -0,0 +1,49 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').LoaderProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ type: {
12
+ control: "select";
13
+ options: string[];
14
+ description: string;
15
+ };
16
+ show: {
17
+ control: "boolean";
18
+ description: string;
19
+ };
20
+ variant: {
21
+ control: "select";
22
+ options: string[];
23
+ description: string;
24
+ };
25
+ size: {
26
+ control: "number";
27
+ description: string;
28
+ };
29
+ width: {
30
+ control: "number";
31
+ description: string;
32
+ };
33
+ };
34
+ };
35
+ export default meta;
36
+ type Story = StoryObj<typeof meta>;
37
+ export declare const SpinnerActive: Story;
38
+ export declare const SpinnerDisabled: Story;
39
+ export declare const LinearActive: Story;
40
+ export declare const LinearDisabled: Story;
41
+ export declare const SpinnerHidden: Story;
42
+ export declare const AllTypes: Story;
43
+ export declare const SpinnerSizes: Story;
44
+ export declare const LinearWidths: Story;
45
+ export declare const Interactive: Story;
46
+ export declare const LoadingContext: Story;
47
+ export declare const OverlaySpinner: Story;
48
+ export declare const FormProgress: Story;
49
+ export declare const MultipleLoaders: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ export interface LoaderProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Tipo de loader
5
+ * @default "spinner"
6
+ */
7
+ type?: 'spinner' | 'linear';
8
+ /**
9
+ * Controla la visibilidad del loader
10
+ * @default true
11
+ */
12
+ show?: boolean;
13
+ /**
14
+ * Variante del loader (active o disabled)
15
+ * @default "active"
16
+ */
17
+ variant?: 'active' | 'disabled';
18
+ /**
19
+ * Tamaño del spinner (solo para type="spinner")
20
+ * @default 48
21
+ */
22
+ size?: number;
23
+ /**
24
+ * Ancho de la barra (solo para type="linear")
25
+ * @default 230
26
+ */
27
+ width?: number;
28
+ /**
29
+ * Clases CSS adicionales
30
+ */
31
+ className?: string;
32
+ }
33
+ /**
34
+ * Componente Loader - Indicadores de carga
35
+ *
36
+ * Muestra indicadores de carga con dos tipos:
37
+ * - spinner: Loader circular que gira
38
+ * - linear: Barra de progreso horizontal animada
39
+ *
40
+ * Incluye parámetro show para controlar visibilidad.
41
+ */
42
+ declare const Loader: React.ForwardRefExoticComponent<LoaderProps & React.RefAttributes<HTMLDivElement>>;
43
+ export { Loader };
@@ -0,0 +1,20 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').OptionCardProps & 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 Unselected: Story;
14
+ export declare const Selected: Story;
15
+ export declare const Disabled: Story;
16
+ export declare const RoleSelection: Story;
17
+ export declare const SubscriptionPlans: Story;
18
+ export declare const WithDisabledOptions: Story;
19
+ export declare const SettingsConfiguration: Story;
20
+ export declare const AllStates: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,56 @@
1
+ import * as React from 'react';
2
+ export interface OptionCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
3
+ /**
4
+ * Título/Nombre de la opción
5
+ */
6
+ title: string;
7
+ /**
8
+ * Descripción de la opción
9
+ */
10
+ description: string;
11
+ /**
12
+ * Valor asociado (útil para radio groups)
13
+ */
14
+ value: string;
15
+ /**
16
+ * Si está seleccionada
17
+ * @default false
18
+ */
19
+ selected?: boolean;
20
+ /**
21
+ * Callback cuando se selecciona
22
+ */
23
+ onSelect?: (value: string) => void;
24
+ /**
25
+ * Si está deshabilitada
26
+ * @default false
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * Clases CSS adicionales
31
+ */
32
+ className?: string;
33
+ }
34
+ /**
35
+ * Componente OptionCard
36
+ *
37
+ * Card seleccionable con radio button integrado.
38
+ * Ideal para selección de opciones, roles, planes, etc.
39
+ *
40
+ * Estados:
41
+ * - Default: Border gris, radio sin seleccionar
42
+ * - Selected: Border verde, radio seleccionado
43
+ * - Disabled: Opacidad reducida, no interactivo
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * <OptionCard
48
+ * title="Admin"
49
+ * description="Full access to all features and administrative settings"
50
+ * value="admin"
51
+ * selected={selectedRole === 'admin'}
52
+ * onSelect={(value) => setSelectedRole(value)}
53
+ * />
54
+ * ```
55
+ */
56
+ export declare const OptionCard: React.ForwardRefExoticComponent<OptionCardProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,59 @@
1
+ import { StoryObj } from '@storybook/react';
2
+
3
+ declare const meta: {
4
+ title: string;
5
+ component: import('react').ForwardRefExoticComponent<import('./index').OrderCardProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ state: {
12
+ control: "select";
13
+ options: string[];
14
+ description: string;
15
+ };
16
+ count: {
17
+ control: "number";
18
+ description: string;
19
+ };
20
+ countLabel: {
21
+ control: "text";
22
+ description: string;
23
+ };
24
+ grossSales: {
25
+ control: "number";
26
+ description: string;
27
+ };
28
+ netSales: {
29
+ control: "number";
30
+ description: string;
31
+ };
32
+ hasDelays: {
33
+ control: "boolean";
34
+ description: string;
35
+ };
36
+ currencySymbol: {
37
+ control: "text";
38
+ description: string;
39
+ };
40
+ };
41
+ };
42
+ export default meta;
43
+ type Story = StoryObj<typeof meta>;
44
+ export declare const Received: Story;
45
+ export declare const Picking: Story;
46
+ export declare const Dispatched: Story;
47
+ export declare const Delivered: Story;
48
+ export declare const WithoutDelays: Story;
49
+ export declare const WithDelayCount: Story;
50
+ export declare const WithoutFilter: Story;
51
+ export declare const EuroCurrency: Story;
52
+ export declare const AllStates: Story;
53
+ export declare const OrdersDashboard: Story;
54
+ export declare const SmallValues: Story;
55
+ export declare const LargeValues: Story;
56
+ export declare const InteractiveCallbacks: Story;
57
+ export declare const SalesComparison: Story;
58
+ export declare const DifferentCountLabels: Story;
59
+ export declare const CustomIcon: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,69 @@
1
+ import * as React from 'react';
2
+ export interface OrderCardCustomProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Título personalizado de la card
5
+ */
6
+ title: string;
7
+ /**
8
+ * Cantidad principal
9
+ */
10
+ count: number | string;
11
+ /**
12
+ * Etiqueta de la cantidad
13
+ * @default "orders"
14
+ */
15
+ countLabel?: string;
16
+ /**
17
+ * Línea 1 de información (ej: "Gross Sales: $100,000.00")
18
+ */
19
+ infoLine1?: string;
20
+ /**
21
+ * Línea 2 de información (ej: "Net Sales: $100,000.00")
22
+ */
23
+ infoLine2?: string;
24
+ /**
25
+ * Ícono personalizado (React node)
26
+ */
27
+ icon: React.ReactNode;
28
+ /**
29
+ * Badge personalizado (opcional)
30
+ */
31
+ badge?: {
32
+ label: string;
33
+ variant?: 'default' | 'red' | 'green' | 'blue';
34
+ onClick?: () => void;
35
+ };
36
+ /**
37
+ * Botón personalizado (opcional)
38
+ */
39
+ button?: {
40
+ label: string;
41
+ onClick?: () => void;
42
+ };
43
+ /**
44
+ * Clases CSS adicionales
45
+ */
46
+ className?: string;
47
+ }
48
+ /**
49
+ * Componente OrderCardCustom
50
+ *
51
+ * Versión personalizable de OrderCard donde puedes especificar
52
+ * cualquier título, ícono, información y badges sin estar limitado
53
+ * a estados predefinidos.
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * <OrderCardCustom
58
+ * title="Processing"
59
+ * count={42}
60
+ * countLabel="items"
61
+ * infoLine1="Total: $50,000.00"
62
+ * infoLine2="Pending: 12 items"
63
+ * icon={<CustomIcon />}
64
+ * badge={{ label: "Urgent", variant: "red" }}
65
+ * button={{ label: "View", onClick: () => {} }}
66
+ * />
67
+ * ```
68
+ */
69
+ export declare const OrderCardCustom: React.ForwardRefExoticComponent<OrderCardCustomProps & 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('./OrderCardCustom').OrderCardCustomProps & 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 WithUrgentBadge: Story;
15
+ export declare const WithSuccessBadge: Story;
16
+ export declare const WithInfoBadge: Story;
17
+ export declare const SimpleLayout: Story;
18
+ export declare const AllVariants: Story;
19
+ export declare const FullyCustomized: Story;
@@ -0,0 +1,82 @@
1
+ import * as React from 'react';
2
+ export interface OrderCardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Estado de la orden (cada uno con su ícono)
5
+ */
6
+ state: 'received' | 'picking' | 'dispatched' | 'delivered';
7
+ /**
8
+ * Cantidad de órdenes/rutas
9
+ */
10
+ count: number;
11
+ /**
12
+ * Etiqueta de la cantidad
13
+ * @default "orders"
14
+ */
15
+ countLabel?: string;
16
+ /**
17
+ * Ventas brutas
18
+ */
19
+ grossSales: number;
20
+ /**
21
+ * Ventas netas
22
+ */
23
+ netSales: number;
24
+ /**
25
+ * Mostrar badge de delays
26
+ * @default false
27
+ */
28
+ hasDelays?: boolean;
29
+ /**
30
+ * Número de delays (opcional)
31
+ */
32
+ delayCount?: number;
33
+ /**
34
+ * Callback al hacer clic en el badge de Delays
35
+ */
36
+ onDelaysClick?: () => void;
37
+ /**
38
+ * Callback al hacer clic en el botón Filter
39
+ */
40
+ onFilterClick?: () => void;
41
+ /**
42
+ * Ícono personalizado (opcional)
43
+ */
44
+ icon?: React.ReactNode;
45
+ /**
46
+ * Símbolo de moneda
47
+ * @default "$"
48
+ */
49
+ currencySymbol?: string;
50
+ /**
51
+ * Clases CSS adicionales
52
+ */
53
+ className?: string;
54
+ }
55
+ /**
56
+ * Componente OrderCard
57
+ *
58
+ * Card para mostrar el estado de órdenes con métricas de ventas,
59
+ * badges de delays opcionales, y botón de filtro.
60
+ *
61
+ * Estados disponibles:
62
+ * - received: Órdenes recibidas
63
+ * - picking: Órdenes en preparación
64
+ * - dispatched: Órdenes despachadas
65
+ * - delivered: Órdenes entregadas
66
+ *
67
+ * @example
68
+ * ```tsx
69
+ * <OrderCard
70
+ * state="received"
71
+ * count={24}
72
+ * countLabel="orders"
73
+ * grossSales={100000.00}
74
+ * netSales={100000.00}
75
+ * hasDelays={true}
76
+ * onFilterClick={() => console.log('Filter')}
77
+ * />
78
+ * ```
79
+ */
80
+ export declare const OrderCard: React.ForwardRefExoticComponent<OrderCardProps & React.RefAttributes<HTMLDivElement>>;
81
+ export { OrderCardCustom } from './OrderCardCustom';
82
+ export type { OrderCardCustomProps } from './OrderCardCustom';
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { PaginationLib } from './';
3
+
4
+ declare const meta: Meta<typeof PaginationLib>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof PaginationLib>;
7
+ export declare const Default: Story;
8
+ export declare const MiddlePage: Story;
9
+ export declare const LastPage: Story;
10
+ export declare const ManyPages: Story;
11
+ export declare const FewPages: Story;