@royaltics/ui 1.0.4 → 1.0.6
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/buttons/Button.d.ts +14 -16
- package/dist/buttons/Button.d.ts.map +1 -1
- package/dist/buttons/Button.js +23 -8
- package/dist/buttons/Button.js.map +1 -1
- package/dist/buttons/Button.stories.d.ts +18 -0
- package/dist/buttons/Button.stories.d.ts.map +1 -0
- package/dist/buttons/Button.stories.js +41 -0
- package/dist/buttons/Button.stories.js.map +1 -0
- package/dist/buttons/LinkButton.d.ts +8 -0
- package/dist/buttons/LinkButton.d.ts.map +1 -0
- package/dist/buttons/LinkButton.js +9 -0
- package/dist/buttons/LinkButton.js.map +1 -0
- package/dist/buttons/LinkButton.stories.d.ts +7 -0
- package/dist/buttons/LinkButton.stories.d.ts.map +1 -0
- package/dist/buttons/LinkButton.stories.js +48 -0
- package/dist/buttons/LinkButton.stories.js.map +1 -0
- package/dist/buttons/index.d.ts +2 -1
- package/dist/buttons/index.d.ts.map +1 -1
- package/dist/buttons/index.js +1 -0
- package/dist/buttons/index.js.map +1 -1
- package/dist/components/CheckboxTree.d.ts +5 -0
- package/dist/components/CheckboxTree.d.ts.map +1 -0
- package/dist/components/CheckboxTree.js +131 -0
- package/dist/components/CheckboxTree.js.map +1 -0
- package/dist/components/CheckboxTree.stories.d.ts +18 -0
- package/dist/components/CheckboxTree.stories.d.ts.map +1 -0
- package/dist/components/CheckboxTree.stories.js +39 -0
- package/dist/components/CheckboxTree.stories.js.map +1 -0
- package/dist/components/GenericCard.d.ts +12 -0
- package/dist/components/GenericCard.d.ts.map +1 -0
- package/dist/components/GenericCard.js +19 -0
- package/dist/components/GenericCard.js.map +1 -0
- package/dist/components/checkboxtree/CheckBoxTreeButton.d.ts +8 -0
- package/dist/components/checkboxtree/CheckBoxTreeButton.d.ts.map +1 -0
- package/dist/components/checkboxtree/CheckBoxTreeButton.js +7 -0
- package/dist/components/checkboxtree/CheckBoxTreeButton.js.map +1 -0
- package/dist/components/checkboxtree/CheckboxTreeError.d.ts +5 -0
- package/dist/components/checkboxtree/CheckboxTreeError.d.ts.map +1 -0
- package/dist/components/checkboxtree/CheckboxTreeError.js +16 -0
- package/dist/components/checkboxtree/CheckboxTreeError.js.map +1 -0
- package/dist/components/checkboxtree/NativeCheckbox.d.ts +7 -0
- package/dist/components/checkboxtree/NativeCheckbox.d.ts.map +1 -0
- package/dist/components/checkboxtree/NativeCheckbox.js +17 -0
- package/dist/components/checkboxtree/NativeCheckbox.js.map +1 -0
- package/dist/components/checkboxtree/NodeModel.d.ts +30 -0
- package/dist/components/checkboxtree/NodeModel.d.ts.map +1 -0
- package/dist/components/checkboxtree/NodeModel.js +184 -0
- package/dist/components/checkboxtree/NodeModel.js.map +1 -0
- package/dist/components/checkboxtree/TreeNode.d.ts +44 -0
- package/dist/components/checkboxtree/TreeNode.d.ts.map +1 -0
- package/dist/components/checkboxtree/TreeNode.js +139 -0
- package/dist/components/checkboxtree/TreeNode.js.map +1 -0
- package/dist/components/checkboxtree/constants.d.ts +8 -0
- package/dist/components/checkboxtree/constants.d.ts.map +1 -0
- package/dist/components/checkboxtree/constants.js +46 -0
- package/dist/components/checkboxtree/constants.js.map +1 -0
- package/dist/components/checkboxtree/types/types.d.ts +70 -0
- package/dist/components/checkboxtree/types/types.d.ts.map +1 -0
- package/dist/components/checkboxtree/types/types.js +2 -0
- package/dist/components/checkboxtree/types/types.js.map +1 -0
- package/dist/components/checkboxtree/utils.d.ts +16 -0
- package/dist/components/checkboxtree/utils.d.ts.map +1 -0
- package/dist/components/checkboxtree/utils.js +28 -0
- package/dist/components/checkboxtree/utils.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -0
- package/dist/constants/DataArrayNodes.d.ts +53 -0
- package/dist/constants/DataArrayNodes.d.ts.map +1 -0
- package/dist/constants/DataArrayNodes.js +162 -0
- package/dist/constants/DataArrayNodes.js.map +1 -0
- package/dist/constants/Variants.d.ts +26 -0
- package/dist/constants/Variants.d.ts.map +1 -0
- package/dist/constants/Variants.js +26 -0
- package/dist/constants/Variants.js.map +1 -0
- package/dist/forms/Checkbox.d.ts +13 -10
- package/dist/forms/Checkbox.d.ts.map +1 -1
- package/dist/forms/Checkbox.js +29 -4
- package/dist/forms/Checkbox.js.map +1 -1
- package/dist/forms/Checkbox.stories.d.ts +20 -0
- package/dist/forms/Checkbox.stories.d.ts.map +1 -0
- package/dist/forms/Checkbox.stories.js +65 -0
- package/dist/forms/Checkbox.stories.js.map +1 -0
- package/dist/forms/Input.d.ts +11 -22
- package/dist/forms/Input.d.ts.map +1 -1
- package/dist/forms/Input.js +27 -12
- package/dist/forms/Input.js.map +1 -1
- package/dist/forms/Input.stories.d.ts +22 -0
- package/dist/forms/Input.stories.d.ts.map +1 -0
- package/dist/forms/Input.stories.js +59 -0
- package/dist/forms/Input.stories.js.map +1 -0
- package/dist/forms/PhotoCard.d.ts.map +1 -1
- package/dist/forms/PlayerYoutube.d.ts.map +1 -1
- package/dist/forms/RadioButton.d.ts +2 -2
- package/dist/forms/RadioButton.d.ts.map +1 -1
- package/dist/forms/RadioButton.js +1 -1
- package/dist/forms/RadioButton.js.map +1 -1
- package/dist/forms/Select.d.ts +6 -13
- package/dist/forms/Select.d.ts.map +1 -1
- package/dist/forms/Select.js +25 -15
- package/dist/forms/Select.js.map +1 -1
- package/dist/forms/Select.stories.d.ts +17 -0
- package/dist/forms/Select.stories.d.ts.map +1 -0
- package/dist/forms/Select.stories.js +36 -0
- package/dist/forms/Select.stories.js.map +1 -0
- package/dist/forms/TextArea.d.ts.map +1 -1
- package/dist/forms/ToggleSwitch.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +3 -3
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useHttpState.d.ts.map +1 -1
- package/dist/hooks/useRouter.d.ts +2 -2
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +3 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +2 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -12
- package/dist/index.js.map +1 -1
- package/dist/reducers/index.d.ts.map +1 -1
- package/dist/stories/Button.d.ts +17 -0
- package/dist/stories/Button.d.ts.map +1 -0
- package/dist/stories/Button.js +8 -0
- package/dist/stories/Button.js.map +1 -0
- package/dist/stories/Button.stories.d.ts +25 -0
- package/dist/stories/Button.stories.d.ts.map +1 -0
- package/dist/stories/Button.stories.js +51 -0
- package/dist/stories/Button.stories.js.map +1 -0
- package/dist/stories/Header.d.ts +14 -0
- package/dist/stories/Header.d.ts.map +1 -0
- package/dist/stories/Header.js +21 -0
- package/dist/stories/Header.js.map +1 -0
- package/dist/stories/Header.stories.d.ts +19 -0
- package/dist/stories/Header.stories.d.ts.map +1 -0
- package/dist/stories/Header.stories.js +27 -0
- package/dist/stories/Header.stories.js.map +1 -0
- package/dist/stories/Page.d.ts +4 -0
- package/dist/stories/Page.d.ts.map +1 -0
- package/dist/stories/Page.js +38 -0
- package/dist/stories/Page.js.map +1 -0
- package/dist/stories/Page.stories.d.ts +13 -0
- package/dist/stories/Page.stories.d.ts.map +1 -0
- package/dist/stories/Page.stories.js +25 -0
- package/dist/stories/Page.stories.js.map +1 -0
- package/dist/types/StoriesArguments.d.ts +4 -0
- package/dist/types/StoriesArguments.d.ts.map +1 -0
- package/dist/types/StoriesArguments.js +52 -0
- package/dist/types/StoriesArguments.js.map +1 -0
- package/dist/types/global.d.ts +31 -0
- package/dist/types/global.d.ts.map +1 -0
- package/dist/types/global.js +2 -0
- package/dist/types/global.js.map +1 -0
- package/dist/utils/cvmix.d.ts +23 -0
- package/dist/utils/cvmix.d.ts.map +1 -0
- package/dist/utils/cvmix.js +46 -0
- package/dist/utils/cvmix.js.map +1 -0
- package/dist/validators/index.d.ts.map +1 -1
- package/package.json +101 -74
package/dist/buttons/Button.d.ts
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import React
|
|
2
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ComponentBase } from '../types/global.js';
|
|
3
|
+
export declare const classNamesProps: (mainProps: {
|
|
4
|
+
size?: string | undefined;
|
|
5
|
+
variant?: string | undefined;
|
|
6
|
+
}, keyProps?: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
}) => string;
|
|
9
|
+
export interface ButtonProps extends ComponentBase {
|
|
3
10
|
lb?: string;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
theme?: 'primary' | 'secondary' | 'warn' | 'danger' | 'default';
|
|
10
|
-
tabIndex?: number;
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
onClick?: any;
|
|
13
|
-
wMax?: boolean;
|
|
14
|
-
padding?: 'small' | 'medium' | 'large';
|
|
15
|
-
wrap?: boolean;
|
|
16
|
-
};
|
|
17
|
-
declare const Button: ({ lb, padding, icon, children, IconNode, wMax, theme, className, onClick, inForm, disabled, tabIndex, wrap }: ButtonType) => React.JSX.Element;
|
|
11
|
+
Icon?: React.PropsWithRef<any>;
|
|
12
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
}
|
|
15
|
+
declare const Button: ({ lb, theme, loading, Icon, variant, size, className, onClick, disabled, tabIndex, width }: ButtonProps) => React.JSX.Element;
|
|
18
16
|
export default Button;
|
|
19
17
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKnD,eAAO,MAAM,eAAe;;;;;YAe3B,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,aAAa;IACjD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,QAAA,MAAM,MAAM,GAAI,4FAA8I,WAAW,sBAgBxK,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/buttons/Button.js
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import { ArrowPathIcon } from '@heroicons/react/16/solid';
|
|
4
|
+
import { cvaMix } from '../utils/cvmix.js';
|
|
5
|
+
import { Variants } from '../constants/Variants.js';
|
|
6
|
+
export const classNamesProps = cvaMix("flex items-center justify-between rounded-md cursor-pointer", {
|
|
7
|
+
size: Variants.size,
|
|
8
|
+
variant: {
|
|
9
|
+
__key: 'theme',
|
|
10
|
+
__base: 'disabled:opacity-70',
|
|
11
|
+
fill: Variants.fill,
|
|
12
|
+
outline: Variants.outline
|
|
13
|
+
}
|
|
14
|
+
}, {
|
|
15
|
+
size: 'xs',
|
|
16
|
+
filled: 'outline',
|
|
17
|
+
theme: 'primary',
|
|
18
|
+
});
|
|
19
|
+
;
|
|
20
|
+
const Button = ({ lb = '', theme = 'primary', loading, Icon, variant = 'fill', size = 'md', className, onClick, disabled = false, tabIndex, width = 'full' }) => {
|
|
21
|
+
return (React.createElement("div", { className: cn('flex flex-col items-stretch justify-end', width == 'full' ? 'w-full' : 'w-max', className) },
|
|
22
|
+
React.createElement("button", { className: cn(classNamesProps({ variant, size }, { theme })), onClick: onClick, title: lb, tabIndex: tabIndex, disabled: disabled },
|
|
23
|
+
loading ? (React.createElement(ArrowPathIcon, { className: "animate-spin h-5" })) : (Icon ? React.createElement(Icon, { className: cn('h-5 w-5 shrink-0', { 'h-4 w-4': size === 'xs' || size === 'sm' }) }) : null),
|
|
24
|
+
lb && React.createElement("span", { className: cn({ 'hidden md:block': width == 'max' && Icon }) }, lb))));
|
|
10
25
|
};
|
|
11
26
|
export default Button;
|
|
12
27
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,6DAA6D,EAClG;IACC,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,OAAO,EAAE;QACR,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;KACzB;CACD,EACD;IACC,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;CAChB,CACD,CAAC;AAOD,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAe,EAAE,EAAE;IAE5K,OAAO,CACN,6BAAK,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;QAC7G,gCACC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAC5D,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ;YAEjB,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAC,aAAa,IAAC,SAAS,EAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvK,EAAE,IAAI,8BAAM,SAAS,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,IAAG,EAAE,CAAQ,CAC9E,CACJ,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { ButtonProps } from './Button.js';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: ({ lb, theme, loading, Icon, variant, size, className, onClick, disabled, tabIndex, width }: ButtonProps) => import("react").JSX.Element;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
};
|
|
9
|
+
tags: string[];
|
|
10
|
+
argTypes: {
|
|
11
|
+
disabled: any;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
export declare const buttonPrimary: StoryObj<typeof meta>;
|
|
16
|
+
export declare const buttonSecondary: StoryObj<typeof meta>;
|
|
17
|
+
export declare const variantbuttonSize: StoryObj<typeof meta>;
|
|
18
|
+
//# sourceMappingURL=Button.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAKlD,QAAA,MAAM,IAAI;;;;;;;;;;CAQmB,CAAC;AAE9B,eAAe,IAAI,CAAC;AAIpB,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,OAAO,IAAI,CAO/C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,OAAO,IAAI,CASjD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAQnD,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import Button from './Button.js'; // Sin .js si usas la configuración por defecto de Webpack/Vite
|
|
2
|
+
import { ArgumentsBase, ArgumentsComponents } from '../types/StoriesArguments.js';
|
|
3
|
+
import { TrashIcon } from '@heroicons/react/16/solid';
|
|
4
|
+
// Configuración general para el componente en Storybook
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'UI/Buttons/Button', // Categoría y nombre en la barra lateral de Storybook
|
|
7
|
+
component: Button,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered', // Centra el componente en el lienzo
|
|
10
|
+
},
|
|
11
|
+
tags: ['autodocs'],
|
|
12
|
+
argTypes: { ...ArgumentsBase, disabled: ArgumentsComponents.disabled }
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
// Historias individuales
|
|
16
|
+
export const buttonPrimary = {
|
|
17
|
+
args: {
|
|
18
|
+
lb: 'Botón Primario',
|
|
19
|
+
variant: 'fill',
|
|
20
|
+
loading: true,
|
|
21
|
+
theme: 'primary'
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
export const buttonSecondary = {
|
|
25
|
+
args: {
|
|
26
|
+
lb: 'Botón Secundario',
|
|
27
|
+
theme: 'secondary',
|
|
28
|
+
size: 'xs',
|
|
29
|
+
variant: 'fill',
|
|
30
|
+
Icon: TrashIcon
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
export const variantbuttonSize = {
|
|
34
|
+
args: {
|
|
35
|
+
lb: 'Botón Variante primary',
|
|
36
|
+
theme: 'primary',
|
|
37
|
+
size: 'lg',
|
|
38
|
+
variant: 'outline',
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=Button.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.stories.js","sourceRoot":"","sources":["../../src/buttons/Button.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,MAAuB,MAAM,aAAa,CAAC,CAAC,+DAA+D;AAClH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,wDAAwD;AACxD,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,mBAAmB,EAAE,sDAAsD;IAClF,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU,EAAE,oCAAoC;KACzD;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC3C,CAAC;AAE9B,eAAe,IAAI,CAAC;AAGpB,yBAAyB;AACzB,MAAM,CAAC,MAAM,aAAa,GAA0B;IAClD,IAAI,EAAE;QACJ,EAAE,EAAE,gBAAgB;QACpB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,SAAS;KACjB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,IAAI,EAAE;QACJ,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,SAAS;KAEhB;CACF,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,IAAI,EAAE;QACJ,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,SAAS;KAEnB;CACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ButtonProps } from "./Button.js";
|
|
3
|
+
export interface LinkButtonProps extends ButtonProps {
|
|
4
|
+
to: string;
|
|
5
|
+
}
|
|
6
|
+
declare const LinkButton: (props: LinkButtonProps) => React.JSX.Element;
|
|
7
|
+
export default LinkButton;
|
|
8
|
+
//# sourceMappingURL=LinkButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkButton.d.ts","sourceRoot":"","sources":["../../src/buttons/LinkButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAe,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACjD,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,EAAE,EAAE,MAAM,CAAA;CACX;AAED,QAAA,MAAM,UAAU,GAAI,OAAO,eAAe,sBASzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Link } from "react-router-dom";
|
|
3
|
+
import Button from "./Button.js";
|
|
4
|
+
const LinkButton = (props) => {
|
|
5
|
+
return (React.createElement(Link, { to: props.to, title: props.lb },
|
|
6
|
+
React.createElement(Button, { ...props })));
|
|
7
|
+
};
|
|
8
|
+
export default LinkButton;
|
|
9
|
+
//# sourceMappingURL=LinkButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../src/buttons/LinkButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,MAAsB,MAAM,aAAa,CAAC;AAKjD,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IAE5C,OAAO,CACL,oBAAC,IAAI,IACH,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,KAAK,EAAE,KAAK,CAAC,EAAE;QACf,oBAAC,MAAM,OAAK,KAAK,GAAI,CAChB,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
declare const meta: any;
|
|
3
|
+
export default meta;
|
|
4
|
+
export declare const LinkButtonPrimary: StoryObj<typeof meta>;
|
|
5
|
+
export declare const LinkButtonSecondary: StoryObj<typeof meta>;
|
|
6
|
+
export declare const variantLinkButtonSize: StoryObj<typeof meta>;
|
|
7
|
+
//# sourceMappingURL=LinkButton.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkButton.stories.d.ts","sourceRoot":"","sources":["../../src/buttons/LinkButton.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAO5D,QAAA,MAAM,IAAI,EAAE,GAcqB,CAAC;AAGlC,eAAe,IAAI,CAAC;AAIpB,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAQnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAUrD,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,OAAO,IAAI,CASvD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import LinkButton from './LinkButton.js'; // Sin .js si usas la configuración por defecto de Webpack/Vite
|
|
3
|
+
import { ArgumentsBase, ArgumentsComponents } from '../types/StoriesArguments.js';
|
|
4
|
+
import { TrashIcon } from '@heroicons/react/16/solid';
|
|
5
|
+
import { BrowserRouter } from 'react-router-dom';
|
|
6
|
+
// Configuración general para el componente en Storybook
|
|
7
|
+
const meta = {
|
|
8
|
+
title: 'UI/Buttons/LinkButton', // Categoría y nombre en la barra lateral de Storybook
|
|
9
|
+
component: LinkButton,
|
|
10
|
+
// Aplica el decorador solo a esta historia o a este archivo de historias
|
|
11
|
+
decorators: [
|
|
12
|
+
(Story) => (React.createElement(BrowserRouter, null,
|
|
13
|
+
React.createElement(Story, null))),
|
|
14
|
+
],
|
|
15
|
+
tags: ['autodocs'],
|
|
16
|
+
argTypes: { ...ArgumentsBase, disabled: ArgumentsComponents.disabled }
|
|
17
|
+
};
|
|
18
|
+
export default meta;
|
|
19
|
+
// Historias individuales
|
|
20
|
+
export const LinkButtonPrimary = {
|
|
21
|
+
args: {
|
|
22
|
+
to: '',
|
|
23
|
+
lb: 'Botón Primario',
|
|
24
|
+
variant: 'fill',
|
|
25
|
+
loading: true,
|
|
26
|
+
theme: 'primary'
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export const LinkButtonSecondary = {
|
|
30
|
+
args: {
|
|
31
|
+
to: '',
|
|
32
|
+
lb: 'Botón Secundario',
|
|
33
|
+
theme: 'secondary',
|
|
34
|
+
size: 'xs',
|
|
35
|
+
variant: 'fill',
|
|
36
|
+
Icon: TrashIcon
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
export const variantLinkButtonSize = {
|
|
40
|
+
args: {
|
|
41
|
+
to: '',
|
|
42
|
+
lb: 'Botón Variante primary',
|
|
43
|
+
theme: 'primary',
|
|
44
|
+
size: 'lg',
|
|
45
|
+
variant: 'outline',
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=LinkButton.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkButton.stories.js","sourceRoot":"","sources":["../../src/buttons/LinkButton.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,UAA+B,MAAM,iBAAiB,CAAC,CAAC,+DAA+D;AAC9H,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,wDAAwD;AACxD,MAAM,IAAI,GAAQ;IAChB,KAAK,EAAE,uBAAuB,EAAE,sDAAsD;IACtF,SAAS,EAAE,UAAU;IACrB,yEAAyE;IACzE,UAAU,EAAE;QACV,CAAC,KAAK,EAAE,EAAE,CAAC,CACT,oBAAC,aAAa;YACZ,oBAAC,KAAK,OAAG,CACK,CACjB;KACF;IAED,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CACvC,CAAC;AAGlC,eAAe,IAAI,CAAC;AAGpB,yBAAyB;AACzB,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,gBAAgB;QACpB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,SAAS;KACjB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA0B;IACxD,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,SAAS;KAEhB;CACF,CAAC;AAGF,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,SAAS;KAEnB;CACF,CAAC"}
|
package/dist/buttons/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buttons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buttons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/buttons/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buttons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buttons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxTree.d.ts","sourceRoot":"","sources":["../../src/components/CheckboxTree.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAO9D,OAAO,EAAoB,iBAAiB,EAAgB,MAAM,+BAA+B,CAAC;AAIlG,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAqM7C;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
3
|
+
import Button from './checkboxtree/CheckBoxTreeButton.js';
|
|
4
|
+
import { DefaultCheckBoxProps } from './checkboxtree/constants.js';
|
|
5
|
+
import NodeModel from './checkboxtree/NodeModel.js';
|
|
6
|
+
import TreeNode from './checkboxtree/TreeNode.js';
|
|
7
|
+
import memoize from 'memoize';
|
|
8
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
9
|
+
const MemoizedTreeNode = React.memo(TreeNode);
|
|
10
|
+
function CheckboxTree(props) {
|
|
11
|
+
const mergedProps = { ...DefaultCheckBoxProps, ...props };
|
|
12
|
+
const { nodes, checked, expanded, id, disabled, checkModel, noCascade, onCheck, onExpand, onClick, expandDisabled, expandOnClick, icons, lang, onlyLeafCheckboxes, optimisticToggle, showNodeIcon, showNodeTitle, showExpandAllButtons, direction, nativeCheckboxes } = mergedProps;
|
|
13
|
+
const [componentId] = useState(id || `rct-${uuidv4()}`);
|
|
14
|
+
// UPDATE: Usamos useMemo para crear y actualizar el NodeModel y derivar flatNodesState
|
|
15
|
+
const [model, flatNodesState] = useMemo(() => {
|
|
16
|
+
// Crea una nueva instancia de NodeModel o re-usa la existente para evitar recrearla en cada render
|
|
17
|
+
// Siempre crea uno nuevo si hay cambio en mergedProps
|
|
18
|
+
const currentModel = new NodeModel(mergedProps);
|
|
19
|
+
// Asegura que el modelo se inicializa con los nodos y estados correctos
|
|
20
|
+
currentModel.flattenNodes(nodes);
|
|
21
|
+
currentModel.deserializeLists({ checked, expanded });
|
|
22
|
+
return [currentModel, currentModel.getNodes()];
|
|
23
|
+
}, [nodes, checked, expanded, disabled, mergedProps]); // Dependencias de useMemo
|
|
24
|
+
// UPDATE: Eliminamos el useEffect complejo. El estado ahora se deriva de las props directamente via useMemo.
|
|
25
|
+
// useEffect para actualizaciones, ya no es necesario el estado interno prevPropsRef o su lógica compleja.
|
|
26
|
+
// const prevPropsRef = useRef({ nodes, checked, expanded, disabled }); // REMOVED
|
|
27
|
+
const combineMemorizedIcons = useMemo(() => {
|
|
28
|
+
const defaultIcons = DefaultCheckBoxProps.icons;
|
|
29
|
+
return memoize((customIcons) => ({ ...defaultIcons, ...customIcons }));
|
|
30
|
+
}, []);
|
|
31
|
+
const combinedIcons = useMemo(() => combineMemorizedIcons(icons), [icons, combineMemorizedIcons]);
|
|
32
|
+
const onCheckHandler = useCallback((nodeInfo) => {
|
|
33
|
+
const newModel = model.clone();
|
|
34
|
+
newModel.toggleChecked(nodeInfo, nodeInfo.checked, checkModel, noCascade);
|
|
35
|
+
onCheck(newModel.serializeList('checked'), { ...newModel.getNode(nodeInfo.value), ...nodeInfo });
|
|
36
|
+
// UPDATE: Forzamos un re-render actualizando el estado, lo que disparará el useMemo
|
|
37
|
+
// que a su vez re-calcula el NodeModel y flatNodesState.
|
|
38
|
+
}, [checkModel, noCascade, onCheck, model]);
|
|
39
|
+
const onExpandHandler = useCallback((nodeInfo) => {
|
|
40
|
+
const newModel = model.clone();
|
|
41
|
+
newModel.toggleNode(nodeInfo.value, 'expanded', nodeInfo.expanded);
|
|
42
|
+
onExpand(newModel.serializeList('expanded'), { ...newModel.getNode(nodeInfo.value), ...nodeInfo });
|
|
43
|
+
// UPDATE: No es necesario setFlatNodesState aquí si las props son controladas.
|
|
44
|
+
}, [onExpand, model]);
|
|
45
|
+
const onNodeClickHandler = useCallback((nodeInfo) => {
|
|
46
|
+
if (onClick) {
|
|
47
|
+
const node = model.getNode(nodeInfo.value);
|
|
48
|
+
onClick({ ...node, ...nodeInfo });
|
|
49
|
+
}
|
|
50
|
+
}, [onClick, model]);
|
|
51
|
+
const expandAllNodes = useCallback((expand = true) => {
|
|
52
|
+
const newModel = model.clone();
|
|
53
|
+
onExpand(newModel.expandAllNodes(expand)
|
|
54
|
+
.serializeList('expanded'));
|
|
55
|
+
// UPDATE: No es necesario setFlatNodesState aquí si las props son controladas.
|
|
56
|
+
}, [onExpand, model]);
|
|
57
|
+
const onExpandAllHandler = useCallback(() => {
|
|
58
|
+
expandAllNodes(true);
|
|
59
|
+
}, [expandAllNodes]);
|
|
60
|
+
const onCollapseAllHandler = useCallback(() => {
|
|
61
|
+
expandAllNodes(false);
|
|
62
|
+
}, [expandAllNodes]);
|
|
63
|
+
const isEveryChildChecked = useCallback((node) => {
|
|
64
|
+
if (!node.children || node.children.length === 0)
|
|
65
|
+
return true;
|
|
66
|
+
return node.children.every((child) => flatNodesState[child.value]?.checked);
|
|
67
|
+
}, [flatNodesState]);
|
|
68
|
+
const isSomeChildChecked = useCallback((node) => {
|
|
69
|
+
if (!node.children || node.children.length === 0)
|
|
70
|
+
return false;
|
|
71
|
+
return node.children.some((child) => flatNodesState[child.value]?.checked);
|
|
72
|
+
}, [flatNodesState]);
|
|
73
|
+
const determineShallowCheckState = useCallback((node, noCascadeProp) => {
|
|
74
|
+
const flatNode = flatNodesState[node.value]; // UPDATE: Usar flatNodesState directamente
|
|
75
|
+
if (!flatNode)
|
|
76
|
+
return 0;
|
|
77
|
+
if (flatNode.isLeaf || noCascadeProp || (node.children && node.children.length === 0)) {
|
|
78
|
+
return flatNode.checked ? 1 : 0;
|
|
79
|
+
}
|
|
80
|
+
if (isEveryChildChecked(node))
|
|
81
|
+
return 1;
|
|
82
|
+
if (isSomeChildChecked(node))
|
|
83
|
+
return 2;
|
|
84
|
+
return 0;
|
|
85
|
+
}, [isEveryChildChecked, isSomeChildChecked, flatNodesState]); // UPDATE: Dependencia flatNodesState
|
|
86
|
+
const renderTreeNodes = useCallback((treeNodesToRender, parent) => {
|
|
87
|
+
return treeNodesToRender.map((node) => {
|
|
88
|
+
const key = node.value;
|
|
89
|
+
const flatNode = flatNodesState[node.value];
|
|
90
|
+
if (!flatNode)
|
|
91
|
+
return null;
|
|
92
|
+
const checkState = determineShallowCheckState(node, noCascade);
|
|
93
|
+
const children = flatNode.isParent && flatNode.expanded ? renderTreeNodes(node.children, node) : null;
|
|
94
|
+
const showCheckbox = onlyLeafCheckboxes ? flatNode.isLeaf : flatNode.showCheckbox;
|
|
95
|
+
const parentExpanded = parent?.value ? flatNodesState[parent.value]?.expanded : true;
|
|
96
|
+
if (!parentExpanded && parent?.value) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return (React.createElement(MemoizedTreeNode, { key: key, checked: checkState, className: node.className, disabled: flatNode.disabled || disabled, expandDisabled: expandDisabled, expandOnClick: expandOnClick, expanded: flatNode.expanded, icon: node.icon, icons: combinedIcons, isLeaf: flatNode.isLeaf, isParent: flatNode.isParent, label: node.label, lang: lang, optimisticToggle: optimisticToggle, showCheckbox: showCheckbox, showNodeIcon: showNodeIcon, title: showNodeTitle ? node.title || node.label : flatNode.title, treeId: componentId, nativeCheckboxes: nativeCheckboxes, value: node.value, onCheck: onCheckHandler, onClick: onNodeClickHandler, onExpand: onExpandHandler }, children));
|
|
100
|
+
});
|
|
101
|
+
}, [
|
|
102
|
+
noCascade, onlyLeafCheckboxes, expandDisabled, expandOnClick, combinedIcons,
|
|
103
|
+
lang, optimisticToggle, showNodeIcon, showNodeTitle, componentId, disabled,
|
|
104
|
+
onCheckHandler, onNodeClickHandler, onExpandHandler,
|
|
105
|
+
determineShallowCheckState, flatNodesState
|
|
106
|
+
]);
|
|
107
|
+
const renderExpandAll = useCallback(() => {
|
|
108
|
+
if (!showExpandAllButtons) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
return (React.createElement("div", { className: "rct-options" },
|
|
112
|
+
React.createElement(Button, { className: "rct-option rct-option-expand-all", title: lang.expandAll, onClick: onExpandAllHandler },
|
|
113
|
+
icons.expandAll,
|
|
114
|
+
" Expandir"),
|
|
115
|
+
React.createElement(Button, { className: "rct-option rct-option-collapse-all", title: lang.collapseAll, onClick: onCollapseAllHandler },
|
|
116
|
+
icons.collapseAll,
|
|
117
|
+
" Contraer")));
|
|
118
|
+
}, [showExpandAllButtons, lang, icons, onExpandAllHandler, onCollapseAllHandler]);
|
|
119
|
+
const treeNodes = useMemo(() => renderTreeNodes(nodes), [renderTreeNodes, nodes]);
|
|
120
|
+
const className = classNames({
|
|
121
|
+
'react-checkbox-tree': true,
|
|
122
|
+
'rct-disabled': disabled,
|
|
123
|
+
'rct-native-display': nativeCheckboxes,
|
|
124
|
+
'rct-direction-rtl': direction === 'rtl',
|
|
125
|
+
});
|
|
126
|
+
return (React.createElement("div", { className: className, id: componentId },
|
|
127
|
+
renderExpandAll(),
|
|
128
|
+
React.createElement("ol", null, treeNodes)));
|
|
129
|
+
}
|
|
130
|
+
export default CheckboxTree;
|
|
131
|
+
//# sourceMappingURL=CheckboxTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxTree.js","sourceRoot":"","sources":["../../src/components/CheckboxTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import CheckboxTree from './CheckboxTree.js';
|
|
3
|
+
import "./checkboxtree/css/react-checkbox-tree.css";
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: typeof CheckboxTree;
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
tags: string[];
|
|
11
|
+
argTypes: {
|
|
12
|
+
disabled: any;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export default meta;
|
|
16
|
+
export declare const CheckboxTreePrimary: StoryObj<typeof meta>;
|
|
17
|
+
export declare const buttonPrimary: StoryObj<typeof meta>;
|
|
18
|
+
//# sourceMappingURL=CheckboxTree.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxTree.stories.d.ts","sourceRoot":"","sources":["../../src/components/CheckboxTree.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAK7C,OAAO,4CAA4C,CAAA;AAGnD,QAAA,MAAM,IAAI;;;;;;;;;;CAQyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AAKpB,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAwBrD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,OAAO,IAAI,CAM/C,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import CheckboxTree from './CheckboxTree.js'; // Sin .js si usas la configuración por defecto de Webpack/Vite
|
|
2
|
+
import { ArgumentsBase, ArgumentsComponents } from '../types/StoriesArguments.js';
|
|
3
|
+
import { EmpiresData } from '../constants/DataArrayNodes.js';
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import "./checkboxtree/css/react-checkbox-tree.css";
|
|
6
|
+
// Configuración general para el componente en Storybook
|
|
7
|
+
const meta = {
|
|
8
|
+
title: 'UI/Components/CheckboxTree', // Categoría y nombre en la barra lateral de Storybook
|
|
9
|
+
component: CheckboxTree,
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: 'centered', // Centra el componente en el lienzo
|
|
12
|
+
},
|
|
13
|
+
tags: ['autodocs'],
|
|
14
|
+
argTypes: { ...ArgumentsBase, disabled: ArgumentsComponents.disabled }
|
|
15
|
+
};
|
|
16
|
+
export default meta;
|
|
17
|
+
// Puedes crear una historia que use el 'render' para un control más fino del estado
|
|
18
|
+
export const CheckboxTreePrimary = {
|
|
19
|
+
render: (args) => {
|
|
20
|
+
const [checked, setChecked] = useState([]);
|
|
21
|
+
const [expanded, setExpanded] = useState([]);
|
|
22
|
+
return (React.createElement(React.Fragment, null,
|
|
23
|
+
React.createElement(CheckboxTree, { id: "checktree", checked: checked, expanded: expanded, nodes: EmpiresData, showExpandAllButtons: true, onCheck: setChecked, onExpand: setExpanded })));
|
|
24
|
+
},
|
|
25
|
+
args: {
|
|
26
|
+
id: 'boxss',
|
|
27
|
+
nodes: EmpiresData,
|
|
28
|
+
showExpandAllButtons: true
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
// Historias individuales
|
|
32
|
+
export const buttonPrimary = {
|
|
33
|
+
args: {
|
|
34
|
+
id: "newElemetss",
|
|
35
|
+
nodes: EmpiresData,
|
|
36
|
+
showExpandAllButtons: true
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=CheckboxTree.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxTree.stories.js","sourceRoot":"","sources":["../../src/components/CheckboxTree.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,mBAAmB,CAAC,CAAC,+DAA+D;AAC7G,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAAE,WAAW,EAAkB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,4CAA4C,CAAA;AAEnD,wDAAwD;AACxD,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,4BAA4B,EAAE,sDAAsD;IAC3F,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU,EAAE,oCAAoC;KACzD;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CACrC,CAAC;AAEpC,eAAe,IAAI,CAAC;AAIpB,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAA0B;IACxD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,CACL;YACE,oBAAC,YAAY,IACX,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,WAAW,EAClB,oBAAoB,EAAE,IAAI,EAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,WAAW,GACrB,CAED,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,WAAW;QAClB,oBAAoB,EAAE,IAAI;KAC3B;CACF,CAAC;AACF,yBAAyB;AACzB,MAAM,CAAC,MAAM,aAAa,GAA0B;IAClD,IAAI,EAAE;QACJ,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,WAAW;QAClB,oBAAoB,EAAE,IAAI;KAC3B;CACF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface GenericCardProps {
|
|
3
|
+
imageUrl?: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
theme?: 'light' | 'dark';
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const GenericCard: React.FC<GenericCardProps>;
|
|
11
|
+
export default GenericCard;
|
|
12
|
+
//# sourceMappingURL=GenericCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericCard.d.ts","sourceRoot":"","sources":["../../src/components/GenericCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,gBAAgB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuC3C,CAAC;AAGF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
const GenericCard = ({ imageUrl, title, description, children, theme = 'light', // Tema por defecto 'light'
|
|
3
|
+
className = '', }) => {
|
|
4
|
+
// Clases base para el contenedor de la tarjeta
|
|
5
|
+
const baseClasses = 'rounded-lg shadow-md overflow-hidden';
|
|
6
|
+
// Clases condicionales para el tema (dark/light)
|
|
7
|
+
const themeClasses = theme === 'dark'
|
|
8
|
+
? 'bg-gray-800 text-white'
|
|
9
|
+
: 'bg-white text-gray-900';
|
|
10
|
+
return (React.createElement("div", { className: `${baseClasses} ${themeClasses} ${className}` },
|
|
11
|
+
imageUrl && (React.createElement("img", { className: "w-full h-48 object-cover", src: imageUrl, alt: title || 'Card image' })),
|
|
12
|
+
React.createElement("div", { className: "p-6" },
|
|
13
|
+
title && (React.createElement("h2", { className: "font-bold text-xl mb-2" }, title)),
|
|
14
|
+
description && (React.createElement("p", { className: "text-base mb-4" }, description)),
|
|
15
|
+
children,
|
|
16
|
+
" ")));
|
|
17
|
+
};
|
|
18
|
+
export default GenericCard;
|
|
19
|
+
//# sourceMappingURL=GenericCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericCard.js","sourceRoot":"","sources":["../../src/components/GenericCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,WAAW,GAA+B,CAAC,EAC7C,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,GAAG,OAAO,EAAE,2BAA2B;AAC5C,SAAS,GAAG,EAAE,GACjB,EAAE,EAAE;IACD,+CAA+C;IAC/C,MAAM,WAAW,GAAG,sCAAsC,CAAC;IAE3D,iDAAiD;IACjD,MAAM,YAAY,GAAG,KAAK,KAAK,MAAM;QACjC,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,wBAAwB,CAAC;IAE/B,OAAO,CACH,6BAAK,SAAS,EAAE,GAAG,WAAW,IAAI,YAAY,IAAI,SAAS,EAAE;QAExD,QAAQ,IAAI,CACT,6BAAK,SAAS,EAAC,0BAA0B,EAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,YAAY,GAAI,CAC1F;QACD,6BAAK,SAAS,EAAC,KAAK;YACf,KAAK,IAAI,CACN,4BAAI,SAAS,EAAC,wBAAwB,IACjC,KAAK,CACL,CACR;YAEG,WAAW,IAAI,CACX,2BAAG,SAAS,EAAC,gBAAgB,IACxB,WAAW,CACZ,CACP;YAEJ,QAAQ;gBACP,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAGF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React, { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
title?: string;
|
|
5
|
+
}
|
|
6
|
+
declare function CheckBoxTreeButton({ children, title, ...props }: ButtonProps): React.JSX.Element;
|
|
7
|
+
export default CheckBoxTreeButton;
|
|
8
|
+
//# sourceMappingURL=CheckBoxTreeButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckBoxTreeButton.d.ts","sourceRoot":"","sources":["../../../src/components/checkboxtree/CheckBoxTreeButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAGpD,UAAU,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACnE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,qBAWrE;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// CheckBoxTreeButton.tsx
|
|
2
|
+
import React from 'react';
|
|
3
|
+
function CheckBoxTreeButton({ children, title, ...props }) {
|
|
4
|
+
return (React.createElement("button", { "aria-label": title, title: title, type: "button", ...props }, children));
|
|
5
|
+
}
|
|
6
|
+
export default CheckBoxTreeButton;
|
|
7
|
+
//# sourceMappingURL=CheckBoxTreeButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckBoxTreeButton.js","sourceRoot":"","sources":["../../../src/components/checkboxtree/CheckBoxTreeButton.tsx"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAe;IACpE,OAAO,CACL,8CACc,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,QAAQ,KACT,KAAK,IAER,QAAQ,CACF,CACV,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxTreeError.d.ts","sourceRoot":"","sources":["../../../src/components/checkboxtree/CheckboxTreeError.ts"],"names":[],"mappings":"AAAA,cAAM,iBAAkB,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAa9B;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class CheckboxTreeError extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message); // Llama al constructor de la clase base Error
|
|
4
|
+
this.name = 'CheckboxTreeError'; // Asigna un nombre específico para el error
|
|
5
|
+
// Opcional: Captura el stack trace. En entornos modernos, super(message) ya lo hace.
|
|
6
|
+
// Si necesitas un stack trace personalizado o para compatibilidad con navegadores antiguos:
|
|
7
|
+
if (Error.captureStackTrace) {
|
|
8
|
+
Error.captureStackTrace(this, CheckboxTreeError);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
this.stack = new Error(message).stack;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export default CheckboxTreeError;
|
|
16
|
+
//# sourceMappingURL=CheckboxTreeError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxTreeError.js","sourceRoot":"","sources":["../../../src/components/checkboxtree/CheckboxTreeError.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAkB,SAAQ,KAAK;IACjC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8CAA8C;QAE9D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,4CAA4C;QAE7E,qFAAqF;QACrF,4FAA4F;QAC5F,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QAC1C,CAAC;IACL,CAAC;CACJ;AAED,eAAe,iBAAiB,CAAC"}
|