elseware-ui 2.31.0 → 2.31.2
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/LICENSE +21 -0
- package/README.md +69 -80
- package/dist/index.css +63 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +89 -3
- package/dist/index.d.ts +89 -3
- package/dist/index.js +821 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +821 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 elseware Technology
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,109 +1,98 @@
|
|
|
1
|
-
# elseware
|
|
1
|
+
# elseware-ui
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A modern React component library for building web and desktop user interfaces.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`elseware-ui` provides a collection of reusable, customizable, and production-ready UI components designed to accelerate application development while maintaining consistency, accessibility, and scalability.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- TypeScript-first development
|
|
10
|
+
- React-based component architecture
|
|
11
|
+
- Tailwind CSS integration
|
|
12
|
+
- Customizable themes and styling
|
|
13
|
+
- Consistent design system
|
|
14
|
+
- Web and desktop application support
|
|
15
|
+
- Storybook-powered component documentation
|
|
16
|
+
- Modular and tree-shakable components
|
|
17
|
+
- Developer-friendly APIs
|
|
18
|
+
|
|
19
|
+
## Component Import Structure
|
|
20
|
+
|
|
21
|
+
Use the following import ordering convention when creating components:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
6
24
|
// External
|
|
7
|
-
import { ReactNode } from "react";
|
|
8
25
|
|
|
9
26
|
// Internal
|
|
10
|
-
import { cn } from "@/utils";
|
|
11
27
|
|
|
12
28
|
// Types
|
|
13
|
-
import { BaseComponentProps } from "@/interfaces";
|
|
14
|
-
import { Variant, Shape, Size } from "@/types";
|
|
15
29
|
|
|
16
30
|
// Data
|
|
17
|
-
import {
|
|
18
|
-
shapes,
|
|
19
|
-
variants,
|
|
20
|
-
borderVariants,
|
|
21
|
-
avatarSizes,
|
|
22
|
-
} from "@/data/styles";
|
|
23
31
|
```
|
|
24
32
|
|
|
25
|
-
|
|
33
|
+
Example:
|
|
26
34
|
|
|
27
|
-
```
|
|
35
|
+
```ts
|
|
28
36
|
// External
|
|
37
|
+
import { ReactNode } from "react";
|
|
29
38
|
|
|
30
39
|
// Internal
|
|
40
|
+
import { cn } from "@/utils";
|
|
31
41
|
|
|
32
42
|
// Types
|
|
43
|
+
import { BaseComponentProps } from "@/interfaces";
|
|
44
|
+
import { Variant, Shape, Size } from "@/types";
|
|
33
45
|
|
|
34
46
|
// Data
|
|
47
|
+
import { shapes, variants, borderVariants, avatarSizes } from "@/data/styles";
|
|
35
48
|
```
|
|
36
49
|
|
|
50
|
+
## Installation
|
|
37
51
|
|
|
38
|
-
|
|
39
|
-
- components: Base UI primitives (buttons, inputs, modals, etc.)
|
|
40
|
-
- compositions: Composite reusable structures built from primitives
|
|
41
|
-
- data: Metadata used on the components/compositions
|
|
42
|
-
- layouts: Page layouts that can be used to quickly structure the page formats
|
|
43
|
-
- styles: Tailwind/CSS stylings
|
|
44
|
-
- types: Custom react types
|
|
45
|
-
- utils: Reusable utility functions and hooks
|
|
52
|
+
Install dependencies:
|
|
46
53
|
|
|
47
|
-
|
|
54
|
+
```bash
|
|
55
|
+
npm install
|
|
56
|
+
```
|
|
48
57
|
|
|
49
|
-
|
|
58
|
+
## Development
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
Start Storybook for component development and testing:
|
|
52
61
|
|
|
53
|
-
|
|
62
|
+
```bash
|
|
63
|
+
npm run dev
|
|
64
|
+
```
|
|
54
65
|
|
|
55
66
|
## Build
|
|
56
67
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
npm publish --access public
|
|
90
|
-
```
|
|
91
|
-
- Make sure the package name in `package.json` is unique and does not conflict with other packages on npm.
|
|
92
|
-
|
|
93
|
-
### Unpublishing an Older Version
|
|
94
|
-
|
|
95
|
-
If you need to unpublish a specific version of the package:
|
|
96
|
-
|
|
97
|
-
1. **Unpublish a specific version**:
|
|
98
|
-
- To unpublish a specific version of your package (e.g., `1.0.0`), run:
|
|
99
|
-
```bash
|
|
100
|
-
npm unpublish elseware-ui@1.0.0
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
2. **Unpublish the entire package**:
|
|
104
|
-
- If you need to unpublish the entire package, you can run the following command (not recommended for public packages):
|
|
105
|
-
```bash
|
|
106
|
-
npm unpublish elseware-ui --force
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**Note:** Be cautious when using `--force` as npm restricts package unpublishing for packages that are older than 72 hours to avoid breaking dependencies.
|
|
68
|
+
Build the component library:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npm run build
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Publishing
|
|
75
|
+
|
|
76
|
+
Publish a new package version to npm:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm run release
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Documentation
|
|
83
|
+
|
|
84
|
+
Interactive component documentation and examples are available through Storybook.
|
|
85
|
+
|
|
86
|
+
## About elseware Technology
|
|
87
|
+
|
|
88
|
+
elseware Technology builds tools, frameworks, and solutions for software engineering, cloud computing, game development, and developer productivity.
|
|
89
|
+
|
|
90
|
+
## Contributing
|
|
91
|
+
|
|
92
|
+
Contributions, issues, and feature requests are welcome.
|
|
93
|
+
|
|
94
|
+
## License
|
|
95
|
+
|
|
96
|
+
This project is licensed under the MIT License.
|
|
97
|
+
|
|
98
|
+
Copyright © 2026 elseware Technology.
|
package/dist/index.css
CHANGED
|
@@ -511,6 +511,9 @@ video {
|
|
|
511
511
|
.ml-3 {
|
|
512
512
|
margin-left: .75rem;
|
|
513
513
|
}
|
|
514
|
+
.ml-5 {
|
|
515
|
+
margin-left: 1.25rem;
|
|
516
|
+
}
|
|
514
517
|
.mr-2 {
|
|
515
518
|
margin-right: .5rem;
|
|
516
519
|
}
|
|
@@ -689,6 +692,9 @@ video {
|
|
|
689
692
|
.min-h-\[50px\] {
|
|
690
693
|
min-height: 50px;
|
|
691
694
|
}
|
|
695
|
+
.min-h-\[56px\] {
|
|
696
|
+
min-height: 56px;
|
|
697
|
+
}
|
|
692
698
|
.min-h-screen {
|
|
693
699
|
min-height: 100vh;
|
|
694
700
|
}
|
|
@@ -1186,6 +1192,9 @@ video {
|
|
|
1186
1192
|
.whitespace-pre-wrap {
|
|
1187
1193
|
white-space: pre-wrap;
|
|
1188
1194
|
}
|
|
1195
|
+
.break-words {
|
|
1196
|
+
overflow-wrap: break-word;
|
|
1197
|
+
}
|
|
1189
1198
|
.rounded {
|
|
1190
1199
|
border-radius: .25rem;
|
|
1191
1200
|
}
|
|
@@ -3308,6 +3317,10 @@ video {
|
|
|
3308
3317
|
--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);
|
|
3309
3318
|
--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
|
|
3310
3319
|
}
|
|
3320
|
+
.hover\:text-blue-400:hover {
|
|
3321
|
+
--tw-text-opacity:1;
|
|
3322
|
+
color: rgb(96 165 250/var(--tw-text-opacity,1));
|
|
3323
|
+
}
|
|
3311
3324
|
.hover\:text-eui-danger-400:hover {
|
|
3312
3325
|
--tw-text-opacity:1;
|
|
3313
3326
|
color: rgb(229 31 47/var(--tw-text-opacity,1));
|
|
@@ -3853,6 +3866,10 @@ video {
|
|
|
3853
3866
|
--tw-bg-opacity:1;
|
|
3854
3867
|
background-color: rgb(17 24 39/var(--tw-bg-opacity,1));
|
|
3855
3868
|
}
|
|
3869
|
+
.dark\:hover\:bg-neutral-800:hover:is(.dark *) {
|
|
3870
|
+
--tw-bg-opacity:1;
|
|
3871
|
+
background-color: rgb(38 38 38/var(--tw-bg-opacity,1));
|
|
3872
|
+
}
|
|
3856
3873
|
.dark\:hover\:bg-white\/5:hover:is(.dark *) {
|
|
3857
3874
|
background-color: hsla(0, 0%, 100%, .05);
|
|
3858
3875
|
}
|
|
@@ -3872,6 +3889,10 @@ video {
|
|
|
3872
3889
|
--tw-gradient-to:rgba(10,90,0,0) var(--tw-gradient-to-position);
|
|
3873
3890
|
--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
|
|
3874
3891
|
}
|
|
3892
|
+
.dark\:hover\:text-gray-100:hover:is(.dark *) {
|
|
3893
|
+
--tw-text-opacity:1;
|
|
3894
|
+
color: rgb(243 244 246/var(--tw-text-opacity,1));
|
|
3895
|
+
}
|
|
3875
3896
|
.dark\:hover\:text-gray-300:hover:is(.dark *) {
|
|
3876
3897
|
--tw-text-opacity:1;
|
|
3877
3898
|
color: rgb(209 213 219/var(--tw-text-opacity,1));
|
|
@@ -4496,6 +4517,9 @@ video {
|
|
|
4496
4517
|
.ml-3 {
|
|
4497
4518
|
margin-left: .75rem;
|
|
4498
4519
|
}
|
|
4520
|
+
.ml-5 {
|
|
4521
|
+
margin-left: 1.25rem;
|
|
4522
|
+
}
|
|
4499
4523
|
.mr-2 {
|
|
4500
4524
|
margin-right: .5rem;
|
|
4501
4525
|
}
|
|
@@ -4674,6 +4698,9 @@ video {
|
|
|
4674
4698
|
.min-h-\[50px\] {
|
|
4675
4699
|
min-height: 50px;
|
|
4676
4700
|
}
|
|
4701
|
+
.min-h-\[56px\] {
|
|
4702
|
+
min-height: 56px;
|
|
4703
|
+
}
|
|
4677
4704
|
.min-h-screen {
|
|
4678
4705
|
min-height: 100vh;
|
|
4679
4706
|
}
|
|
@@ -5171,6 +5198,9 @@ video {
|
|
|
5171
5198
|
.whitespace-pre-wrap {
|
|
5172
5199
|
white-space: pre-wrap;
|
|
5173
5200
|
}
|
|
5201
|
+
.break-words {
|
|
5202
|
+
overflow-wrap: break-word;
|
|
5203
|
+
}
|
|
5174
5204
|
.rounded {
|
|
5175
5205
|
border-radius: .25rem;
|
|
5176
5206
|
}
|
|
@@ -7378,6 +7408,10 @@ video {
|
|
|
7378
7408
|
--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);
|
|
7379
7409
|
--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
|
|
7380
7410
|
}
|
|
7411
|
+
.hover\:text-blue-400:hover {
|
|
7412
|
+
--tw-text-opacity:1;
|
|
7413
|
+
color: rgb(96 165 250/var(--tw-text-opacity,1));
|
|
7414
|
+
}
|
|
7381
7415
|
.hover\:text-eui-danger-400:hover {
|
|
7382
7416
|
--tw-text-opacity:1;
|
|
7383
7417
|
color: rgb(229 31 47/var(--tw-text-opacity,1));
|
|
@@ -7923,6 +7957,10 @@ video {
|
|
|
7923
7957
|
--tw-bg-opacity:1;
|
|
7924
7958
|
background-color: rgb(17 24 39/var(--tw-bg-opacity,1));
|
|
7925
7959
|
}
|
|
7960
|
+
.dark\:hover\:bg-neutral-800:hover:is(.dark *) {
|
|
7961
|
+
--tw-bg-opacity:1;
|
|
7962
|
+
background-color: rgb(38 38 38/var(--tw-bg-opacity,1));
|
|
7963
|
+
}
|
|
7926
7964
|
.dark\:hover\:bg-white\/5:hover:is(.dark *) {
|
|
7927
7965
|
background-color: hsla(0, 0%, 100%, .05);
|
|
7928
7966
|
}
|
|
@@ -7942,6 +7980,10 @@ video {
|
|
|
7942
7980
|
--tw-gradient-to:rgba(10,90,0,0) var(--tw-gradient-to-position);
|
|
7943
7981
|
--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
|
|
7944
7982
|
}
|
|
7983
|
+
.dark\:hover\:text-gray-100:hover:is(.dark *) {
|
|
7984
|
+
--tw-text-opacity:1;
|
|
7985
|
+
color: rgb(243 244 246/var(--tw-text-opacity,1));
|
|
7986
|
+
}
|
|
7945
7987
|
.dark\:hover\:text-gray-300:hover:is(.dark *) {
|
|
7946
7988
|
--tw-text-opacity:1;
|
|
7947
7989
|
color: rgb(209 213 219/var(--tw-text-opacity,1));
|
|
@@ -8477,6 +8519,9 @@ video {
|
|
|
8477
8519
|
.ml-3 {
|
|
8478
8520
|
margin-left: .75rem;
|
|
8479
8521
|
}
|
|
8522
|
+
.ml-5 {
|
|
8523
|
+
margin-left: 1.25rem;
|
|
8524
|
+
}
|
|
8480
8525
|
.mr-2 {
|
|
8481
8526
|
margin-right: .5rem;
|
|
8482
8527
|
}
|
|
@@ -8655,6 +8700,9 @@ video {
|
|
|
8655
8700
|
.min-h-\[50px\] {
|
|
8656
8701
|
min-height: 50px;
|
|
8657
8702
|
}
|
|
8703
|
+
.min-h-\[56px\] {
|
|
8704
|
+
min-height: 56px;
|
|
8705
|
+
}
|
|
8658
8706
|
.min-h-screen {
|
|
8659
8707
|
min-height: 100vh;
|
|
8660
8708
|
}
|
|
@@ -9152,6 +9200,9 @@ video {
|
|
|
9152
9200
|
.whitespace-pre-wrap {
|
|
9153
9201
|
white-space: pre-wrap;
|
|
9154
9202
|
}
|
|
9203
|
+
.break-words {
|
|
9204
|
+
overflow-wrap: break-word;
|
|
9205
|
+
}
|
|
9155
9206
|
.rounded {
|
|
9156
9207
|
border-radius: .25rem;
|
|
9157
9208
|
}
|
|
@@ -11388,6 +11439,10 @@ video {
|
|
|
11388
11439
|
--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);
|
|
11389
11440
|
--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
|
|
11390
11441
|
}
|
|
11442
|
+
.hover\:text-blue-400:hover {
|
|
11443
|
+
--tw-text-opacity:1;
|
|
11444
|
+
color: rgb(96 165 250/var(--tw-text-opacity,1));
|
|
11445
|
+
}
|
|
11391
11446
|
.hover\:text-eui-danger-400:hover {
|
|
11392
11447
|
--tw-text-opacity:1;
|
|
11393
11448
|
color: rgb(229 31 47/var(--tw-text-opacity,1));
|
|
@@ -11933,6 +11988,10 @@ video {
|
|
|
11933
11988
|
--tw-bg-opacity:1;
|
|
11934
11989
|
background-color: rgb(17 24 39/var(--tw-bg-opacity,1));
|
|
11935
11990
|
}
|
|
11991
|
+
.dark\:hover\:bg-neutral-800:hover:is(.dark *) {
|
|
11992
|
+
--tw-bg-opacity:1;
|
|
11993
|
+
background-color: rgb(38 38 38/var(--tw-bg-opacity,1));
|
|
11994
|
+
}
|
|
11936
11995
|
.dark\:hover\:bg-white\/5:hover:is(.dark *) {
|
|
11937
11996
|
background-color: hsla(0, 0%, 100%, .05);
|
|
11938
11997
|
}
|
|
@@ -11952,6 +12011,10 @@ video {
|
|
|
11952
12011
|
--tw-gradient-to:rgba(10,90,0,0) var(--tw-gradient-to-position);
|
|
11953
12012
|
--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
|
|
11954
12013
|
}
|
|
12014
|
+
.dark\:hover\:text-gray-100:hover:is(.dark *) {
|
|
12015
|
+
--tw-text-opacity:1;
|
|
12016
|
+
color: rgb(243 244 246/var(--tw-text-opacity,1));
|
|
12017
|
+
}
|
|
11955
12018
|
.dark\:hover\:text-gray-300:hover:is(.dark *) {
|
|
11956
12019
|
--tw-text-opacity:1;
|
|
11957
12020
|
color: rgb(209 213 219/var(--tw-text-opacity,1));
|