@justin_evo/evo-ui 1.1.0 → 1.2.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.
- package/README.md +3 -3
- package/dist/TopNav/TopNav.d.ts +19 -0
- package/dist/declarations.d.ts +6 -6
- package/dist/evo-ui.css +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +3301 -3197
- package/package.json +52 -52
- package/src/Alert/Alert.tsx +49 -49
- package/src/AutoComplete/AutoComplete.tsx +810 -810
- package/src/Badge/Badge.tsx +53 -53
- package/src/Breadcrumb/Breadcrumb.tsx +53 -53
- package/src/Button/Button.tsx +125 -125
- package/src/Card/Card.tsx +257 -257
- package/src/Checkbox/Checkbox.tsx +59 -59
- package/src/CommandPalette/CommandPalette.tsx +185 -185
- package/src/Container/Container.tsx +31 -31
- package/src/Divider/Divider.tsx +31 -31
- package/src/Form/Form.tsx +185 -185
- package/src/Grid/Grid.tsx +66 -66
- package/src/ImageCropper/ImageCropper.tsx +911 -911
- package/src/Input/Input.tsx +74 -74
- package/src/Modal/Modal.tsx +77 -77
- package/src/Nav/Nav.tsx +708 -708
- package/src/Notification/Notification.tsx +1503 -1503
- package/src/Pagination/Pagination.tsx +76 -76
- package/src/Radio/Radio.tsx +69 -69
- package/src/RichTextArea/RichTextArea.tsx +886 -869
- package/src/Select/Select.tsx +515 -515
- package/src/Skeleton/Skeleton.tsx +70 -70
- package/src/Stack/Stack.tsx +52 -52
- package/src/Table/Table.tsx +335 -335
- package/src/Tabs/Tabs.tsx +90 -90
- package/src/Theme/ThemeProvider.tsx +253 -253
- package/src/Theme/ThemeToggle.tsx +79 -79
- package/src/Toggle/Toggle.tsx +48 -48
- package/src/Tooltip/Tooltip.tsx +38 -38
- package/src/TopNav/TopNav.tsx +1163 -994
- package/src/TreeSelect/TreeSelect.tsx +825 -825
- package/src/css/alert.module.scss +93 -93
- package/src/css/autocomplete.module.scss +416 -416
- package/src/css/badge.module.scss +82 -82
- package/src/css/base/_color.scss +159 -159
- package/src/css/base/_theme.scss +237 -237
- package/src/css/base/_variables.scss +161 -161
- package/src/css/breadcrumb.module.scss +50 -50
- package/src/css/button.module.scss +385 -385
- package/src/css/card.module.scss +217 -217
- package/src/css/checkbox.module.scss +123 -120
- package/src/css/commandpalette.module.scss +211 -211
- package/src/css/container.module.scss +18 -18
- package/src/css/divider.module.scss +41 -41
- package/src/css/form.module.scss +245 -245
- package/src/css/imagecropper.module.scss +397 -397
- package/src/css/input.module.scss +89 -89
- package/src/css/modal.module.scss +105 -105
- package/src/css/nav.module.scss +494 -494
- package/src/css/notification.module.scss +691 -691
- package/src/css/pagination.module.scss +63 -63
- package/src/css/radio.module.scss +89 -89
- package/src/css/richtextarea.module.scss +307 -307
- package/src/css/select.module.scss +525 -525
- package/src/css/skeleton.module.scss +30 -30
- package/src/css/table.module.scss +386 -386
- package/src/css/tabs.module.scss +63 -63
- package/src/css/theme-toggle.module.scss +83 -83
- package/src/css/toggle.module.scss +54 -54
- package/src/css/tooltip.module.scss +97 -97
- package/src/css/topnav.module.scss +568 -396
- package/src/css/treeselect.module.scss +558 -558
- package/src/css/utilities/_borders.scss +111 -111
- package/src/css/utilities/_colors.scss +66 -66
- package/src/css/utilities/_effects.scss +216 -216
- package/src/css/utilities/_layout.scss +181 -181
- package/src/css/utilities/_position.scss +75 -75
- package/src/css/utilities/_sizing.scss +138 -138
- package/src/css/utilities/_spacing.scss +99 -99
- package/src/css/utilities/_typography.scss +121 -121
- package/src/css/utilities/index.scss +24 -24
- package/src/declarations.d.ts +6 -6
- package/src/index.ts +60 -60
package/package.json
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@justin_evo/evo-ui",
|
|
3
|
-
"version": "1.1
|
|
4
|
-
"main": "dist/index.cjs.js",
|
|
5
|
-
"module": "dist/index.es.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"style": "dist/evo-ui.css",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.es.js",
|
|
12
|
-
"require": "./dist/index.cjs.js"
|
|
13
|
-
},
|
|
14
|
-
"./dist/evo-ui.css": "./dist/evo-ui.css"
|
|
15
|
-
},
|
|
16
|
-
"scripts": {
|
|
17
|
-
"dev": "tsup src/index.ts --format cjs,esm --watch --dts",
|
|
18
|
-
"build": "vite build",
|
|
19
|
-
"showcase": "vite"
|
|
20
|
-
},
|
|
21
|
-
"keywords": [
|
|
22
|
-
"react",
|
|
23
|
-
"ui",
|
|
24
|
-
"button",
|
|
25
|
-
"component",
|
|
26
|
-
"evo-ui"
|
|
27
|
-
],
|
|
28
|
-
"author": "Justin Khor",
|
|
29
|
-
"license": "MIT",
|
|
30
|
-
"description": "A high-performance, enterprise-grade React UI component library.",
|
|
31
|
-
"peerDependencies": {
|
|
32
|
-
"react": ">=17.0.0",
|
|
33
|
-
"react-dom": ">=17.0.0"
|
|
34
|
-
},
|
|
35
|
-
"devDependencies": {
|
|
36
|
-
"@types/node": "^25.6.0",
|
|
37
|
-
"@types/react": "^19.2.14",
|
|
38
|
-
"@types/react-dom": "^19.2.3",
|
|
39
|
-
"@vitejs/plugin-react": "^4.3.4",
|
|
40
|
-
"sass": "^1.99.0",
|
|
41
|
-
"sass-embedded": "^1.99.0",
|
|
42
|
-
"tsup": "^8.5.1",
|
|
43
|
-
"typescript": "^6.0.3",
|
|
44
|
-
"vite": "^6.3.2",
|
|
45
|
-
"vite-plugin-dts": "^4.5.4"
|
|
46
|
-
},
|
|
47
|
-
"files": [
|
|
48
|
-
"dist",
|
|
49
|
-
"src",
|
|
50
|
-
"src/css"
|
|
51
|
-
]
|
|
52
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@justin_evo/evo-ui",
|
|
3
|
+
"version": "1.2.1",
|
|
4
|
+
"main": "dist/index.cjs.js",
|
|
5
|
+
"module": "dist/index.es.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"style": "dist/evo-ui.css",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.es.js",
|
|
12
|
+
"require": "./dist/index.cjs.js"
|
|
13
|
+
},
|
|
14
|
+
"./dist/evo-ui.css": "./dist/evo-ui.css"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"dev": "tsup src/index.ts --format cjs,esm --watch --dts",
|
|
18
|
+
"build": "vite build",
|
|
19
|
+
"showcase": "vite"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [
|
|
22
|
+
"react",
|
|
23
|
+
"ui",
|
|
24
|
+
"button",
|
|
25
|
+
"component",
|
|
26
|
+
"evo-ui"
|
|
27
|
+
],
|
|
28
|
+
"author": "Justin Khor",
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"description": "A high-performance, enterprise-grade React UI component library.",
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"react": ">=17.0.0",
|
|
33
|
+
"react-dom": ">=17.0.0"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^25.6.0",
|
|
37
|
+
"@types/react": "^19.2.14",
|
|
38
|
+
"@types/react-dom": "^19.2.3",
|
|
39
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
40
|
+
"sass": "^1.99.0",
|
|
41
|
+
"sass-embedded": "^1.99.0",
|
|
42
|
+
"tsup": "^8.5.1",
|
|
43
|
+
"typescript": "^6.0.3",
|
|
44
|
+
"vite": "^6.3.2",
|
|
45
|
+
"vite-plugin-dts": "^4.5.4"
|
|
46
|
+
},
|
|
47
|
+
"files": [
|
|
48
|
+
"dist",
|
|
49
|
+
"src",
|
|
50
|
+
"src/css"
|
|
51
|
+
]
|
|
52
|
+
}
|
package/src/Alert/Alert.tsx
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import styles from '../css/alert.module.scss';
|
|
3
|
-
|
|
4
|
-
type AlertType = 'success' | 'error' | 'warning' | 'info';
|
|
5
|
-
|
|
6
|
-
interface EvoAlertProps {
|
|
7
|
-
type?: AlertType;
|
|
8
|
-
title?: string;
|
|
9
|
-
children: React.ReactNode;
|
|
10
|
-
dismissible?: boolean;
|
|
11
|
-
className?: string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const icons: Record<AlertType, string> = {
|
|
15
|
-
success: '✓', error: '✕', warning: '⚠', info: 'i',
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export const EvoAlert = ({
|
|
19
|
-
type = 'info',
|
|
20
|
-
title,
|
|
21
|
-
children,
|
|
22
|
-
dismissible = false,
|
|
23
|
-
className = '',
|
|
24
|
-
}: EvoAlertProps) => {
|
|
25
|
-
const [dismissed, setDismissed] = useState(false);
|
|
26
|
-
if (dismissed) return null;
|
|
27
|
-
|
|
28
|
-
return (
|
|
29
|
-
<div
|
|
30
|
-
className={[styles.alert, styles[type], className].filter(Boolean).join(' ')}
|
|
31
|
-
role="alert"
|
|
32
|
-
>
|
|
33
|
-
<span className={styles.alertIcon}>{icons[type]}</span>
|
|
34
|
-
<div className={styles.alertContent}>
|
|
35
|
-
{title && <p className={styles.alertTitle}>{title}</p>}
|
|
36
|
-
<div className={styles.alertDescription}>{children}</div>
|
|
37
|
-
</div>
|
|
38
|
-
{dismissible && (
|
|
39
|
-
<button
|
|
40
|
-
className={styles.dismissBtn}
|
|
41
|
-
onClick={() => setDismissed(true)}
|
|
42
|
-
aria-label="Dismiss alert"
|
|
43
|
-
>
|
|
44
|
-
✕
|
|
45
|
-
</button>
|
|
46
|
-
)}
|
|
47
|
-
</div>
|
|
48
|
-
);
|
|
49
|
-
};
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import styles from '../css/alert.module.scss';
|
|
3
|
+
|
|
4
|
+
type AlertType = 'success' | 'error' | 'warning' | 'info';
|
|
5
|
+
|
|
6
|
+
interface EvoAlertProps {
|
|
7
|
+
type?: AlertType;
|
|
8
|
+
title?: string;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
dismissible?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const icons: Record<AlertType, string> = {
|
|
15
|
+
success: '✓', error: '✕', warning: '⚠', info: 'i',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const EvoAlert = ({
|
|
19
|
+
type = 'info',
|
|
20
|
+
title,
|
|
21
|
+
children,
|
|
22
|
+
dismissible = false,
|
|
23
|
+
className = '',
|
|
24
|
+
}: EvoAlertProps) => {
|
|
25
|
+
const [dismissed, setDismissed] = useState(false);
|
|
26
|
+
if (dismissed) return null;
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<div
|
|
30
|
+
className={[styles.alert, styles[type], className].filter(Boolean).join(' ')}
|
|
31
|
+
role="alert"
|
|
32
|
+
>
|
|
33
|
+
<span className={styles.alertIcon}>{icons[type]}</span>
|
|
34
|
+
<div className={styles.alertContent}>
|
|
35
|
+
{title && <p className={styles.alertTitle}>{title}</p>}
|
|
36
|
+
<div className={styles.alertDescription}>{children}</div>
|
|
37
|
+
</div>
|
|
38
|
+
{dismissible && (
|
|
39
|
+
<button
|
|
40
|
+
className={styles.dismissBtn}
|
|
41
|
+
onClick={() => setDismissed(true)}
|
|
42
|
+
aria-label="Dismiss alert"
|
|
43
|
+
>
|
|
44
|
+
✕
|
|
45
|
+
</button>
|
|
46
|
+
)}
|
|
47
|
+
</div>
|
|
48
|
+
);
|
|
49
|
+
};
|