@justin_evo/evo-ui 1.2.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.
Files changed (77) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +70 -70
  3. package/dist/declarations.d.ts +6 -6
  4. package/package.json +52 -52
  5. package/src/Alert/Alert.tsx +49 -49
  6. package/src/AutoComplete/AutoComplete.tsx +810 -810
  7. package/src/Badge/Badge.tsx +53 -53
  8. package/src/Breadcrumb/Breadcrumb.tsx +53 -53
  9. package/src/Button/Button.tsx +125 -125
  10. package/src/Card/Card.tsx +257 -257
  11. package/src/Checkbox/Checkbox.tsx +59 -59
  12. package/src/CommandPalette/CommandPalette.tsx +185 -185
  13. package/src/Container/Container.tsx +31 -31
  14. package/src/Divider/Divider.tsx +31 -31
  15. package/src/Form/Form.tsx +185 -185
  16. package/src/Grid/Grid.tsx +66 -66
  17. package/src/ImageCropper/ImageCropper.tsx +911 -911
  18. package/src/Input/Input.tsx +74 -74
  19. package/src/Modal/Modal.tsx +77 -77
  20. package/src/Nav/Nav.tsx +708 -708
  21. package/src/Notification/Notification.tsx +1503 -1503
  22. package/src/Pagination/Pagination.tsx +76 -76
  23. package/src/Radio/Radio.tsx +69 -69
  24. package/src/RichTextArea/RichTextArea.tsx +886 -886
  25. package/src/Select/Select.tsx +515 -515
  26. package/src/Skeleton/Skeleton.tsx +70 -70
  27. package/src/Stack/Stack.tsx +52 -52
  28. package/src/Table/Table.tsx +335 -335
  29. package/src/Tabs/Tabs.tsx +90 -90
  30. package/src/Theme/ThemeProvider.tsx +253 -253
  31. package/src/Theme/ThemeToggle.tsx +79 -79
  32. package/src/Toggle/Toggle.tsx +48 -48
  33. package/src/Tooltip/Tooltip.tsx +38 -38
  34. package/src/TopNav/TopNav.tsx +1163 -1163
  35. package/src/TreeSelect/TreeSelect.tsx +825 -825
  36. package/src/css/alert.module.scss +93 -93
  37. package/src/css/autocomplete.module.scss +416 -416
  38. package/src/css/badge.module.scss +82 -82
  39. package/src/css/base/_color.scss +159 -159
  40. package/src/css/base/_theme.scss +237 -237
  41. package/src/css/base/_variables.scss +161 -161
  42. package/src/css/breadcrumb.module.scss +50 -50
  43. package/src/css/button.module.scss +385 -385
  44. package/src/css/card.module.scss +217 -217
  45. package/src/css/checkbox.module.scss +123 -123
  46. package/src/css/commandpalette.module.scss +211 -211
  47. package/src/css/container.module.scss +18 -18
  48. package/src/css/divider.module.scss +41 -41
  49. package/src/css/form.module.scss +245 -245
  50. package/src/css/imagecropper.module.scss +397 -397
  51. package/src/css/input.module.scss +89 -89
  52. package/src/css/modal.module.scss +105 -105
  53. package/src/css/nav.module.scss +494 -494
  54. package/src/css/notification.module.scss +691 -691
  55. package/src/css/pagination.module.scss +63 -63
  56. package/src/css/radio.module.scss +89 -89
  57. package/src/css/richtextarea.module.scss +307 -307
  58. package/src/css/select.module.scss +525 -525
  59. package/src/css/skeleton.module.scss +30 -30
  60. package/src/css/table.module.scss +386 -386
  61. package/src/css/tabs.module.scss +63 -63
  62. package/src/css/theme-toggle.module.scss +83 -83
  63. package/src/css/toggle.module.scss +54 -54
  64. package/src/css/tooltip.module.scss +97 -97
  65. package/src/css/topnav.module.scss +568 -568
  66. package/src/css/treeselect.module.scss +558 -558
  67. package/src/css/utilities/_borders.scss +111 -111
  68. package/src/css/utilities/_colors.scss +66 -66
  69. package/src/css/utilities/_effects.scss +216 -216
  70. package/src/css/utilities/_layout.scss +181 -181
  71. package/src/css/utilities/_position.scss +75 -75
  72. package/src/css/utilities/_sizing.scss +138 -138
  73. package/src/css/utilities/_spacing.scss +99 -99
  74. package/src/css/utilities/_typography.scss +121 -121
  75. package/src/css/utilities/index.scss +24 -24
  76. package/src/declarations.d.ts +6 -6
  77. package/src/index.ts +60 -60
@@ -1,121 +1,121 @@
1
- @use '../base/variables' as *;
2
-
3
- // ==========================================
4
- // TYPOGRAPHY UTILITIES
5
- // ==========================================
6
-
7
- // Font size
8
- .text-xs { font-size: $text-xs; line-height: 1rem; }
9
- .text-sm { font-size: $text-sm; line-height: 1.25rem; }
10
- .text-base { font-size: $text-base; line-height: 1.5rem; }
11
- .text-lg { font-size: $text-lg; line-height: 1.75rem; }
12
- .text-xl { font-size: $text-xl; line-height: 1.75rem; }
13
- .text-2xl { font-size: $text-2xl; line-height: 2rem; }
14
- .text-3xl { font-size: $text-3xl; line-height: 2.25rem; }
15
- .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
16
- .text-5xl { font-size: 3rem; line-height: 1; }
17
- .text-6xl { font-size: 3.75rem; line-height: 1; }
18
-
19
- // Font weight
20
- .font-thin { font-weight: 100; }
21
- .font-extralight { font-weight: 200; }
22
- .font-light { font-weight: 300; }
23
- .font-normal { font-weight: 400; }
24
- .font-medium { font-weight: 500; }
25
- .font-semibold { font-weight: 600; }
26
- .font-bold { font-weight: 700; }
27
- .font-extrabold { font-weight: 800; }
28
- .font-black { font-weight: 900; }
29
-
30
- // Font family
31
- .font-sans { font-family: $font-sans; }
32
- .font-display { font-family: $font-display; }
33
- .font-mono { font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace; }
34
-
35
- // Text alignment
36
- .text-left { text-align: left; }
37
- .text-center { text-align: center; }
38
- .text-right { text-align: right; }
39
- .text-justify { text-align: justify; }
40
- .text-start { text-align: start; }
41
- .text-end { text-align: end; }
42
-
43
- // Text transform
44
- .uppercase { text-transform: uppercase; }
45
- .lowercase { text-transform: lowercase; }
46
- .capitalize { text-transform: capitalize; }
47
- .normal-case { text-transform: none; }
48
-
49
- // Text decoration
50
- .underline { text-decoration-line: underline; }
51
- .overline { text-decoration-line: overline; }
52
- .line-through { text-decoration-line: line-through; }
53
- .no-underline { text-decoration-line: none; }
54
-
55
- // Font style
56
- .italic { font-style: italic; }
57
- .not-italic { font-style: normal; }
58
-
59
- // Line height
60
- .leading-none { line-height: 1; }
61
- .leading-tight { line-height: 1.25; }
62
- .leading-snug { line-height: 1.375; }
63
- .leading-normal { line-height: 1.5; }
64
- .leading-relaxed { line-height: 1.625; }
65
- .leading-loose { line-height: 2; }
66
-
67
- // Letter spacing
68
- .tracking-tighter { letter-spacing: -0.05em; }
69
- .tracking-tight { letter-spacing: -0.025em; }
70
- .tracking-normal { letter-spacing: 0; }
71
- .tracking-wide { letter-spacing: 0.025em; }
72
- .tracking-wider { letter-spacing: 0.05em; }
73
- .tracking-widest { letter-spacing: 0.1em; }
74
-
75
- // Whitespace
76
- .whitespace-normal { white-space: normal; }
77
- .whitespace-nowrap { white-space: nowrap; }
78
- .whitespace-pre { white-space: pre; }
79
- .whitespace-pre-line { white-space: pre-line; }
80
- .whitespace-pre-wrap { white-space: pre-wrap; }
81
- .whitespace-break { white-space: break-spaces; }
82
-
83
- // Word break
84
- .break-normal { overflow-wrap: normal; word-break: normal; }
85
- .break-words { overflow-wrap: break-word; }
86
- .break-all { word-break: break-all; }
87
- .break-keep { word-break: keep-all; }
88
-
89
- // Truncate (single line ellipsis)
90
- .truncate {
91
- overflow: hidden;
92
- text-overflow: ellipsis;
93
- white-space: nowrap;
94
- }
95
-
96
- // Multi-line clamp
97
- .line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
98
- .line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
99
- .line-clamp-3 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
100
- .line-clamp-4 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
101
-
102
- // Text overflow
103
- .text-ellipsis { text-overflow: ellipsis; }
104
- .text-clip { text-overflow: clip; }
105
-
106
- // Vertical align
107
- .align-baseline { vertical-align: baseline; }
108
- .align-top { vertical-align: top; }
109
- .align-middle { vertical-align: middle; }
110
- .align-bottom { vertical-align: bottom; }
111
- .align-text-top { vertical-align: text-top; }
112
- .align-text-bottom { vertical-align: text-bottom; }
113
- .align-sub { vertical-align: sub; }
114
- .align-super { vertical-align: super; }
115
-
116
- // List style
117
- .list-none { list-style-type: none; }
118
- .list-disc { list-style-type: disc; }
119
- .list-decimal { list-style-type: decimal; }
120
- .list-inside { list-style-position: inside; }
121
- .list-outside { list-style-position: outside; }
1
+ @use '../base/variables' as *;
2
+
3
+ // ==========================================
4
+ // TYPOGRAPHY UTILITIES
5
+ // ==========================================
6
+
7
+ // Font size
8
+ .text-xs { font-size: $text-xs; line-height: 1rem; }
9
+ .text-sm { font-size: $text-sm; line-height: 1.25rem; }
10
+ .text-base { font-size: $text-base; line-height: 1.5rem; }
11
+ .text-lg { font-size: $text-lg; line-height: 1.75rem; }
12
+ .text-xl { font-size: $text-xl; line-height: 1.75rem; }
13
+ .text-2xl { font-size: $text-2xl; line-height: 2rem; }
14
+ .text-3xl { font-size: $text-3xl; line-height: 2.25rem; }
15
+ .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
16
+ .text-5xl { font-size: 3rem; line-height: 1; }
17
+ .text-6xl { font-size: 3.75rem; line-height: 1; }
18
+
19
+ // Font weight
20
+ .font-thin { font-weight: 100; }
21
+ .font-extralight { font-weight: 200; }
22
+ .font-light { font-weight: 300; }
23
+ .font-normal { font-weight: 400; }
24
+ .font-medium { font-weight: 500; }
25
+ .font-semibold { font-weight: 600; }
26
+ .font-bold { font-weight: 700; }
27
+ .font-extrabold { font-weight: 800; }
28
+ .font-black { font-weight: 900; }
29
+
30
+ // Font family
31
+ .font-sans { font-family: $font-sans; }
32
+ .font-display { font-family: $font-display; }
33
+ .font-mono { font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace; }
34
+
35
+ // Text alignment
36
+ .text-left { text-align: left; }
37
+ .text-center { text-align: center; }
38
+ .text-right { text-align: right; }
39
+ .text-justify { text-align: justify; }
40
+ .text-start { text-align: start; }
41
+ .text-end { text-align: end; }
42
+
43
+ // Text transform
44
+ .uppercase { text-transform: uppercase; }
45
+ .lowercase { text-transform: lowercase; }
46
+ .capitalize { text-transform: capitalize; }
47
+ .normal-case { text-transform: none; }
48
+
49
+ // Text decoration
50
+ .underline { text-decoration-line: underline; }
51
+ .overline { text-decoration-line: overline; }
52
+ .line-through { text-decoration-line: line-through; }
53
+ .no-underline { text-decoration-line: none; }
54
+
55
+ // Font style
56
+ .italic { font-style: italic; }
57
+ .not-italic { font-style: normal; }
58
+
59
+ // Line height
60
+ .leading-none { line-height: 1; }
61
+ .leading-tight { line-height: 1.25; }
62
+ .leading-snug { line-height: 1.375; }
63
+ .leading-normal { line-height: 1.5; }
64
+ .leading-relaxed { line-height: 1.625; }
65
+ .leading-loose { line-height: 2; }
66
+
67
+ // Letter spacing
68
+ .tracking-tighter { letter-spacing: -0.05em; }
69
+ .tracking-tight { letter-spacing: -0.025em; }
70
+ .tracking-normal { letter-spacing: 0; }
71
+ .tracking-wide { letter-spacing: 0.025em; }
72
+ .tracking-wider { letter-spacing: 0.05em; }
73
+ .tracking-widest { letter-spacing: 0.1em; }
74
+
75
+ // Whitespace
76
+ .whitespace-normal { white-space: normal; }
77
+ .whitespace-nowrap { white-space: nowrap; }
78
+ .whitespace-pre { white-space: pre; }
79
+ .whitespace-pre-line { white-space: pre-line; }
80
+ .whitespace-pre-wrap { white-space: pre-wrap; }
81
+ .whitespace-break { white-space: break-spaces; }
82
+
83
+ // Word break
84
+ .break-normal { overflow-wrap: normal; word-break: normal; }
85
+ .break-words { overflow-wrap: break-word; }
86
+ .break-all { word-break: break-all; }
87
+ .break-keep { word-break: keep-all; }
88
+
89
+ // Truncate (single line ellipsis)
90
+ .truncate {
91
+ overflow: hidden;
92
+ text-overflow: ellipsis;
93
+ white-space: nowrap;
94
+ }
95
+
96
+ // Multi-line clamp
97
+ .line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
98
+ .line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
99
+ .line-clamp-3 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
100
+ .line-clamp-4 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
101
+
102
+ // Text overflow
103
+ .text-ellipsis { text-overflow: ellipsis; }
104
+ .text-clip { text-overflow: clip; }
105
+
106
+ // Vertical align
107
+ .align-baseline { vertical-align: baseline; }
108
+ .align-top { vertical-align: top; }
109
+ .align-middle { vertical-align: middle; }
110
+ .align-bottom { vertical-align: bottom; }
111
+ .align-text-top { vertical-align: text-top; }
112
+ .align-text-bottom { vertical-align: text-bottom; }
113
+ .align-sub { vertical-align: sub; }
114
+ .align-super { vertical-align: super; }
115
+
116
+ // List style
117
+ .list-none { list-style-type: none; }
118
+ .list-disc { list-style-type: disc; }
119
+ .list-decimal { list-style-type: decimal; }
120
+ .list-inside { list-style-position: inside; }
121
+ .list-outside { list-style-position: outside; }
@@ -1,24 +1,24 @@
1
- // ==========================================
2
- // EVO-UI UTILITY CLASSES
3
- // Tailwind-inspired utility-first CSS helpers
4
- // ==========================================
5
- //
6
- // Import this file to get the full utility layer:
7
- // import '@justin_evo/evo-ui/dist/utilities.css'
8
- //
9
- // Or rely on the utilities already bundled inside:
10
- // import '@justin_evo/evo-ui/dist/evo-ui.css'
11
- // ==========================================
12
-
13
- // Theme tokens (light & dark CSS variables) must be emitted first
14
- // so every following rule can read them via `var(--evo-color-*)`.
15
- @use '../base/theme';
16
-
17
- @use './colors';
18
- @use './spacing';
19
- @use './typography';
20
- @use './layout';
21
- @use './sizing';
22
- @use './borders';
23
- @use './effects';
24
- @use './position';
1
+ // ==========================================
2
+ // EVO-UI UTILITY CLASSES
3
+ // Tailwind-inspired utility-first CSS helpers
4
+ // ==========================================
5
+ //
6
+ // Import this file to get the full utility layer:
7
+ // import '@justin_evo/evo-ui/dist/utilities.css'
8
+ //
9
+ // Or rely on the utilities already bundled inside:
10
+ // import '@justin_evo/evo-ui/dist/evo-ui.css'
11
+ // ==========================================
12
+
13
+ // Theme tokens (light & dark CSS variables) must be emitted first
14
+ // so every following rule can read them via `var(--evo-color-*)`.
15
+ @use '../base/theme';
16
+
17
+ @use './colors';
18
+ @use './spacing';
19
+ @use './typography';
20
+ @use './layout';
21
+ @use './sizing';
22
+ @use './borders';
23
+ @use './effects';
24
+ @use './position';
@@ -1,6 +1,6 @@
1
- declare module '*.module.scss' {
2
- const classes: Record<string, string>;
3
- export default classes;
4
- }
5
-
6
- declare module '*.scss' {}
1
+ declare module '*.module.scss' {
2
+ const classes: Record<string, string>;
3
+ export default classes;
4
+ }
5
+
6
+ declare module '*.scss' {}
package/src/index.ts CHANGED
@@ -1,60 +1,60 @@
1
- /**
2
- * @module EvoUI
3
- * @summary A high-performance, enterprise-grade UI component library built for modern web applications.
4
- * @version 1.0.2
5
- * @author Justin Khor
6
- * @license MIT
7
- * @see {@link https://github.com/your-repo/evo-ui} Official Documentation
8
- */
9
-
10
- // Utility classes (bundled into dist/evo-ui.css)
11
- // Also emits the theme tokens (light + dark CSS variables) so consumers
12
- // only need a single CSS import to get themed components.
13
- import './css/utilities/index.scss';
14
-
15
- // Theming
16
- export * from './Theme/ThemeProvider';
17
- export * from './Theme/ThemeToggle';
18
-
19
- // Existing
20
- export * from './Button/Button';
21
- export * from './Card/Card';
22
-
23
- // Layout & Structure
24
- export * from './Stack/Stack';
25
- export * from './Grid/Grid';
26
- export * from './Divider/Divider';
27
- export * from './Container/Container';
28
-
29
- // Navigation
30
- export * from './Tabs/Tabs';
31
- export * from './Breadcrumb/Breadcrumb';
32
- export * from './Nav/Nav';
33
- export * from './TopNav/TopNav';
34
- export * from './Pagination/Pagination';
35
- export * from './CommandPalette/CommandPalette';
36
-
37
- // Forms & Inputs
38
- export * from './Input/Input';
39
- export * from './RichTextArea/RichTextArea';
40
- export * from './Select/Select';
41
- export * from './TreeSelect/TreeSelect';
42
- export * from './AutoComplete/AutoComplete';
43
- export * from './Checkbox/Checkbox';
44
- export * from './Radio/Radio';
45
- export * from './Toggle/Toggle';
46
- export * from './Form/Form';
47
-
48
- // Feedback & Overlays
49
- export * from './Modal/Modal';
50
- export * from './Notification/Notification';
51
- export * from './Tooltip/Tooltip';
52
- export * from './Alert/Alert';
53
-
54
- // Data Display
55
- export * from './Badge/Badge';
56
- export * from './Skeleton/Skeleton';
57
- export * from './Table/Table';
58
-
59
- // Media
60
- export * from './ImageCropper/ImageCropper';
1
+ /**
2
+ * @module EvoUI
3
+ * @summary A high-performance, enterprise-grade UI component library built for modern web applications.
4
+ * @version 1.0.2
5
+ * @author Justin Khor
6
+ * @license MIT
7
+ * @see {@link https://github.com/your-repo/evo-ui} Official Documentation
8
+ */
9
+
10
+ // Utility classes (bundled into dist/evo-ui.css)
11
+ // Also emits the theme tokens (light + dark CSS variables) so consumers
12
+ // only need a single CSS import to get themed components.
13
+ import './css/utilities/index.scss';
14
+
15
+ // Theming
16
+ export * from './Theme/ThemeProvider';
17
+ export * from './Theme/ThemeToggle';
18
+
19
+ // Existing
20
+ export * from './Button/Button';
21
+ export * from './Card/Card';
22
+
23
+ // Layout & Structure
24
+ export * from './Stack/Stack';
25
+ export * from './Grid/Grid';
26
+ export * from './Divider/Divider';
27
+ export * from './Container/Container';
28
+
29
+ // Navigation
30
+ export * from './Tabs/Tabs';
31
+ export * from './Breadcrumb/Breadcrumb';
32
+ export * from './Nav/Nav';
33
+ export * from './TopNav/TopNav';
34
+ export * from './Pagination/Pagination';
35
+ export * from './CommandPalette/CommandPalette';
36
+
37
+ // Forms & Inputs
38
+ export * from './Input/Input';
39
+ export * from './RichTextArea/RichTextArea';
40
+ export * from './Select/Select';
41
+ export * from './TreeSelect/TreeSelect';
42
+ export * from './AutoComplete/AutoComplete';
43
+ export * from './Checkbox/Checkbox';
44
+ export * from './Radio/Radio';
45
+ export * from './Toggle/Toggle';
46
+ export * from './Form/Form';
47
+
48
+ // Feedback & Overlays
49
+ export * from './Modal/Modal';
50
+ export * from './Notification/Notification';
51
+ export * from './Tooltip/Tooltip';
52
+ export * from './Alert/Alert';
53
+
54
+ // Data Display
55
+ export * from './Badge/Badge';
56
+ export * from './Skeleton/Skeleton';
57
+ export * from './Table/Table';
58
+
59
+ // Media
60
+ export * from './ImageCropper/ImageCropper';