my-animated-components 1.0.0
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.js +80 -0
- package/dist/src/components/accordion/Accordion.d.ts +10 -0
- package/dist/src/components/alert/Alert.d.ts +7 -0
- package/dist/src/components/avatar/Avatar.d.ts +9 -0
- package/dist/src/components/badge/Badge.d.ts +6 -0
- package/dist/src/components/breadcrumb/Breadcrumb.d.ts +10 -0
- package/dist/src/components/buttons/Button.d.ts +11 -0
- package/dist/src/components/buttons/IconButton.d.ts +12 -0
- package/dist/src/components/card/Card.d.ts +3 -0
- package/dist/src/components/card/CardBody.d.ts +3 -0
- package/dist/src/components/card/CardFooter.d.ts +3 -0
- package/dist/src/components/card/CardHeader.d.ts +3 -0
- package/dist/src/components/dropdown/Dropdown.d.ts +7 -0
- package/dist/src/components/dropdown/DropdownItem.d.ts +3 -0
- package/dist/src/components/form/Checkbox.d.ts +9 -0
- package/dist/src/components/form/FileUpload.d.ts +9 -0
- package/dist/src/components/form/Input.d.ts +10 -0
- package/dist/src/components/form/Radio.d.ts +11 -0
- package/dist/src/components/form/Select.d.ts +12 -0
- package/dist/src/components/form/Switch.d.ts +9 -0
- package/dist/src/components/form/Textarea.d.ts +10 -0
- package/dist/src/components/layout/Container.d.ts +7 -0
- package/dist/src/components/layout/Flex.d.ts +10 -0
- package/dist/src/components/layout/Grid.d.ts +8 -0
- package/dist/src/components/list/List.d.ts +7 -0
- package/dist/src/components/list/ListItem.d.ts +3 -0
- package/dist/src/components/modal/Modal.d.ts +8 -0
- package/dist/src/components/modal/ModalBody.d.ts +3 -0
- package/dist/src/components/modal/ModalFooter.d.ts +3 -0
- package/dist/src/components/modal/ModalHeader.d.ts +3 -0
- package/dist/src/components/navigation/NavItem.d.ts +8 -0
- package/dist/src/components/navigation/Navbar.d.ts +7 -0
- package/dist/src/components/offcanvas/Offcanvas.d.ts +9 -0
- package/dist/src/components/offcanvas/OffcanvasBody.d.ts +3 -0
- package/dist/src/components/offcanvas/OffcanvasHeader.d.ts +7 -0
- package/dist/src/components/pagination/Pagination.d.ts +9 -0
- package/dist/src/components/progress/ProgressBar.d.ts +8 -0
- package/dist/src/components/skeleton/Skeleton.d.ts +8 -0
- package/dist/src/components/slider/RangeSlider.d.ts +11 -0
- package/dist/src/components/slider/Slider.d.ts +11 -0
- package/dist/src/components/stepper/Stepper.d.ts +8 -0
- package/dist/src/components/table/Table.d.ts +3 -0
- package/dist/src/components/table/TableBody.d.ts +3 -0
- package/dist/src/components/table/TableCell.d.ts +7 -0
- package/dist/src/components/table/TableHead.d.ts +3 -0
- package/dist/src/components/table/TableRow.d.ts +3 -0
- package/dist/src/components/tabs/Tabs.d.ts +10 -0
- package/dist/src/components/tooltip/Tooltip.d.ts +8 -0
- package/dist/src/components/typography/Heading.d.ts +7 -0
- package/dist/src/components/typography/Text.d.ts +7 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/utils/Listfiles.d.ts +1 -0
- package/dist/types/common.d.ts +14 -0
- package/package.json +49 -0
- package/readme.md +66 -0
- package/rollup.config.js +19 -0
- package/src/components/accordion/Accordion.tsx +56 -0
- package/src/components/alert/Alert.tsx +47 -0
- package/src/components/avatar/Avatar.tsx +29 -0
- package/src/components/badge/Badge.tsx +36 -0
- package/src/components/breadcrumb/Breadcrumb.tsx +35 -0
- package/src/components/buttons/Button.tsx +57 -0
- package/src/components/buttons/IconButton.tsx +58 -0
- package/src/components/card/Card.tsx +17 -0
- package/src/components/card/CardBody.tsx +11 -0
- package/src/components/card/CardFooter.tsx +11 -0
- package/src/components/card/CardHeader.tsx +11 -0
- package/src/components/dropdown/Dropdown.tsx +53 -0
- package/src/components/dropdown/DropdownItem.tsx +15 -0
- package/src/components/form/Checkbox.tsx +34 -0
- package/src/components/form/FileUpload.tsx +48 -0
- package/src/components/form/Input.tsx +44 -0
- package/src/components/form/Radio.tsx +40 -0
- package/src/components/form/Select.tsx +46 -0
- package/src/components/form/Switch.tsx +33 -0
- package/src/components/form/Textarea.tsx +44 -0
- package/src/components/layout/Container.tsx +16 -0
- package/src/components/layout/Flex.tsx +33 -0
- package/src/components/layout/Grid.tsx +16 -0
- package/src/components/list/List.tsx +23 -0
- package/src/components/list/ListItem.tsx +17 -0
- package/src/components/modal/Modal.tsx +41 -0
- package/src/components/modal/ModalBody.tsx +11 -0
- package/src/components/modal/ModalFooter.tsx +11 -0
- package/src/components/modal/ModalHeader.tsx +11 -0
- package/src/components/navigation/NavItem.tsx +24 -0
- package/src/components/navigation/Navbar.tsx +30 -0
- package/src/components/offcanvas/Offcanvas.tsx +59 -0
- package/src/components/offcanvas/OffcanvasBody.tsx +11 -0
- package/src/components/offcanvas/OffcanvasHeader.tsx +24 -0
- package/src/components/pagination/Pagination.tsx +55 -0
- package/src/components/progress/ProgressBar.tsx +38 -0
- package/src/components/skeleton/Skeleton.tsx +17 -0
- package/src/components/slider/RangeSlider.tsx +60 -0
- package/src/components/slider/Slider.tsx +39 -0
- package/src/components/stepper/Stepper.tsx +50 -0
- package/src/components/table/Table.tsx +19 -0
- package/src/components/table/TableBody.tsx +11 -0
- package/src/components/table/TableCell.tsx +18 -0
- package/src/components/table/TableHead.tsx +11 -0
- package/src/components/table/TableRow.tsx +17 -0
- package/src/components/tabs/Tabs.tsx +46 -0
- package/src/components/tooltip/Tooltip.tsx +46 -0
- package/src/components/typography/Heading.tsx +31 -0
- package/src/components/typography/Text.tsx +30 -0
- package/src/index.ts +20 -0
- package/src/styles/tailwind.css +3 -0
- package/src/utils/Listfiles.ts +37 -0
- package/tailwind.config.js +10 -0
- package/tsconfig.json +17 -0
- package/types/common.ts +20 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
function styleInject(css, ref) {
|
|
5
|
+
if ( ref === undefined ) ref = {};
|
|
6
|
+
var insertAt = ref.insertAt;
|
|
7
|
+
|
|
8
|
+
if (typeof document === 'undefined') { return; }
|
|
9
|
+
|
|
10
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
11
|
+
var style = document.createElement('style');
|
|
12
|
+
style.type = 'text/css';
|
|
13
|
+
|
|
14
|
+
if (insertAt === 'top') {
|
|
15
|
+
if (head.firstChild) {
|
|
16
|
+
head.insertBefore(style, head.firstChild);
|
|
17
|
+
} else {
|
|
18
|
+
head.appendChild(style);
|
|
19
|
+
}
|
|
20
|
+
} else {
|
|
21
|
+
head.appendChild(style);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (style.styleSheet) {
|
|
25
|
+
style.styleSheet.cssText = css;
|
|
26
|
+
} else {
|
|
27
|
+
style.appendChild(document.createTextNode(css));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var css_248z = "@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n";
|
|
32
|
+
styleInject(css_248z);
|
|
33
|
+
|
|
34
|
+
// /src/utils/listFiles.ts
|
|
35
|
+
// Dynamically import and load components, returning them for export
|
|
36
|
+
const loadComponents = (componentsPath) => {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
fs.readdir(componentsPath, { withFileTypes: true }, async (err, files) => {
|
|
39
|
+
if (err) {
|
|
40
|
+
reject('Error reading components directory:');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const componentPromises = files.map(async (file) => {
|
|
44
|
+
if (file.isDirectory()) {
|
|
45
|
+
console.log(`Folder: ${file.name}`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
console.log(`Importing: ${file.name}`);
|
|
49
|
+
try {
|
|
50
|
+
const component = await import(path.join(componentsPath, file.name));
|
|
51
|
+
return { name: file.name.replace('.tsx', ''), component };
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error(`Error importing component ${file.name}:`, error);
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const components = await Promise.all(componentPromises);
|
|
60
|
+
resolve(components.filter((comp) => comp !== null));
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// /src/index.ts
|
|
66
|
+
// Set the path to your components directory
|
|
67
|
+
const componentsPath = './components';
|
|
68
|
+
// Dynamically load and export components
|
|
69
|
+
loadComponents(componentsPath)
|
|
70
|
+
.then((components) => {
|
|
71
|
+
components.forEach(({ name, component }) => {
|
|
72
|
+
if (component) {
|
|
73
|
+
// Dynamically export the components
|
|
74
|
+
module.exports[name] = component;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
})
|
|
78
|
+
.catch((err) => {
|
|
79
|
+
console.error('Error loading components:', err);
|
|
80
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren } from '../../../types/common';
|
|
3
|
+
interface AccordionProps extends BaseProps, WithChildren {
|
|
4
|
+
items: {
|
|
5
|
+
title: string;
|
|
6
|
+
content: React.ReactNode;
|
|
7
|
+
}[];
|
|
8
|
+
}
|
|
9
|
+
export declare const Accordion: React.FC<AccordionProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, SizeProps } from '../../../types/common';
|
|
3
|
+
interface AvatarProps extends BaseProps, SizeProps {
|
|
4
|
+
src?: string;
|
|
5
|
+
alt?: string;
|
|
6
|
+
initials?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const Avatar: React.FC<AvatarProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren, SizeProps } from '../../../types/common';
|
|
3
|
+
type Color = 'primary' | 'secondary';
|
|
4
|
+
interface ButtonProps extends BaseProps, WithChildren, SizeProps {
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
variant?: 'solid' | 'outline' | 'ghost';
|
|
8
|
+
color?: Color;
|
|
9
|
+
}
|
|
10
|
+
export declare const Button: React.FC<ButtonProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, SizeProps } from '../../../types/common';
|
|
3
|
+
type Color = 'primary' | 'secondary';
|
|
4
|
+
interface IconButtonProps extends BaseProps, SizeProps {
|
|
5
|
+
icon: React.ReactNode;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
variant?: 'solid' | 'outline' | 'ghost';
|
|
9
|
+
color?: Color;
|
|
10
|
+
}
|
|
11
|
+
export declare const IconButton: React.FC<IconButtonProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps } from '../../../types/common';
|
|
3
|
+
interface CheckboxProps extends BaseProps {
|
|
4
|
+
label: string;
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const Checkbox: React.FC<CheckboxProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps } from '../../../types/common';
|
|
3
|
+
interface FileUploadProps extends BaseProps {
|
|
4
|
+
onChange: (file: File | null) => void;
|
|
5
|
+
accept?: string;
|
|
6
|
+
multiple?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const FileUpload: React.FC<FileUploadProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, SizeProps } from '../../../types/common';
|
|
3
|
+
interface InputProps extends BaseProps, SizeProps {
|
|
4
|
+
type?: 'text' | 'password' | 'email' | 'number';
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
value?: string;
|
|
7
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const Input: React.FC<InputProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps } from '../../../types/common';
|
|
3
|
+
interface RadioProps extends BaseProps {
|
|
4
|
+
label: string;
|
|
5
|
+
name: string;
|
|
6
|
+
value: string;
|
|
7
|
+
checked?: boolean;
|
|
8
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const Radio: React.FC<RadioProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, SizeProps } from '../../../types/common';
|
|
3
|
+
interface SelectProps extends BaseProps, SizeProps {
|
|
4
|
+
options: {
|
|
5
|
+
value: string;
|
|
6
|
+
label: string;
|
|
7
|
+
}[];
|
|
8
|
+
value?: string;
|
|
9
|
+
onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const Select: React.FC<SelectProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps } from '../../../types/common';
|
|
3
|
+
interface SwitchProps extends BaseProps {
|
|
4
|
+
checked: boolean;
|
|
5
|
+
onChange: (checked: boolean) => void;
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const Switch: React.FC<SwitchProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, SizeProps } from '../../../types/common';
|
|
3
|
+
interface TextareaProps extends BaseProps, SizeProps {
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
7
|
+
rows?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const Textarea: React.FC<TextareaProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren } from '../../../types/common';
|
|
3
|
+
interface FlexProps extends BaseProps, WithChildren {
|
|
4
|
+
direction?: 'row' | 'col';
|
|
5
|
+
justify?: 'start' | 'center' | 'end' | 'between' | 'around';
|
|
6
|
+
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
7
|
+
wrap?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const Flex: React.FC<FlexProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren } from '../../../types/common';
|
|
3
|
+
interface OffcanvasProps extends BaseProps, WithChildren {
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
position?: 'left' | 'right' | 'top' | 'bottom';
|
|
7
|
+
}
|
|
8
|
+
export declare const Offcanvas: React.FC<OffcanvasProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren } from '../../../types/common';
|
|
3
|
+
interface OffcanvasHeaderProps extends BaseProps, WithChildren {
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const OffcanvasHeader: React.FC<OffcanvasHeaderProps>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps } from '../../../types/common';
|
|
3
|
+
interface PaginationProps extends BaseProps {
|
|
4
|
+
currentPage: number;
|
|
5
|
+
totalPages: number;
|
|
6
|
+
onPageChange: (page: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const Pagination: React.FC<PaginationProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, ColorProps } from '../../../types/common';
|
|
3
|
+
interface ProgressBarProps extends BaseProps, ColorProps {
|
|
4
|
+
value: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const ProgressBar: React.FC<ProgressBarProps>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps } from '../../../types/common';
|
|
3
|
+
interface RangeSliderProps extends BaseProps {
|
|
4
|
+
min: number;
|
|
5
|
+
max: number;
|
|
6
|
+
values: [number, number];
|
|
7
|
+
onChange: (values: [number, number]) => void;
|
|
8
|
+
step?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const RangeSlider: React.FC<RangeSliderProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps } from '../../../types/common';
|
|
3
|
+
interface SliderProps extends BaseProps {
|
|
4
|
+
min: number;
|
|
5
|
+
max: number;
|
|
6
|
+
value: number;
|
|
7
|
+
onChange: (value: number) => void;
|
|
8
|
+
step?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const Slider: React.FC<SliderProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren } from '../../../types/common';
|
|
3
|
+
interface TooltipProps extends BaseProps, WithChildren {
|
|
4
|
+
content: string;
|
|
5
|
+
position?: 'top' | 'right' | 'bottom' | 'left';
|
|
6
|
+
}
|
|
7
|
+
export declare const Tooltip: React.FC<TooltipProps>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren, SizeProps } from '../../../types/common';
|
|
3
|
+
interface HeadingProps extends BaseProps, WithChildren, SizeProps {
|
|
4
|
+
as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
5
|
+
}
|
|
6
|
+
export declare const Heading: React.FC<HeadingProps>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, WithChildren, SizeProps } from '../../../types/common';
|
|
3
|
+
interface TextProps extends BaseProps, WithChildren, SizeProps {
|
|
4
|
+
weight?: 'normal' | 'medium' | 'semibold' | 'bold';
|
|
5
|
+
}
|
|
6
|
+
export declare const Text: React.FC<TextProps>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './styles/tailwind.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loadComponents: (componentsPath: string) => Promise<any[]>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface BaseProps {
|
|
2
|
+
className?: string;
|
|
3
|
+
}
|
|
4
|
+
export interface WithChildren {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export type Color = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
|
|
8
|
+
export type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
9
|
+
export interface ColorProps {
|
|
10
|
+
color?: Color;
|
|
11
|
+
}
|
|
12
|
+
export interface SizeProps {
|
|
13
|
+
size?: Size;
|
|
14
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "my-animated-components",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "npx rollup -c"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"react",
|
|
13
|
+
"react-hooks",
|
|
14
|
+
"useState",
|
|
15
|
+
"useEffect",
|
|
16
|
+
"useRef",
|
|
17
|
+
"useContext",
|
|
18
|
+
"useReducer",
|
|
19
|
+
"custom-hook",
|
|
20
|
+
"component",
|
|
21
|
+
"frontend",
|
|
22
|
+
"UI",
|
|
23
|
+
"navigation",
|
|
24
|
+
"routing",
|
|
25
|
+
"navigate",
|
|
26
|
+
"router",
|
|
27
|
+
"page-navigation"
|
|
28
|
+
],
|
|
29
|
+
"author": "",
|
|
30
|
+
"license": "ISC",
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"rollup": "^4.12.0",
|
|
33
|
+
"typescript": "^5.4.5"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@rollup/plugin-typescript": "^11.1.6",
|
|
37
|
+
"@types/node": "^22.10.6",
|
|
38
|
+
"@types/react": "^19.0.7",
|
|
39
|
+
"@types/react-dom": "^19.0.3",
|
|
40
|
+
"autoprefixer": "^10.4.20",
|
|
41
|
+
"framer-motion": "^11.18.0",
|
|
42
|
+
"postcss": "^8.5.0",
|
|
43
|
+
"react": "^18.3.1",
|
|
44
|
+
"react-dom": "^18.2.0",
|
|
45
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
46
|
+
"tailwindcss": "^3.4.17",
|
|
47
|
+
"tslib": "^2.6.2"
|
|
48
|
+
}
|
|
49
|
+
}
|