sevago-library 1.1.0 → 1.1.3
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/CHANGELOG.md +25 -0
- package/README.md +49 -233
- package/package.json +2 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# sevago-library
|
|
2
|
+
|
|
3
|
+
## 1.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- feat: create how to use and change readme
|
|
8
|
+
|
|
9
|
+
## 1.1.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- update deploy.sh
|
|
14
|
+
|
|
15
|
+
## 1.1.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 9332de0: add readme and how to use packages
|
|
20
|
+
|
|
21
|
+
## 1.1.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- e3c7ce0: add changeset in packages
|
package/README.md
CHANGED
|
@@ -1,248 +1,64 @@
|
|
|
1
|
-
# Sevago SSO Frontend Library
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
|
|
5
|
-
A comprehensive Single Sign-On (SSO) frontend library built with React, TypeScript, and Material-UI.
|
|
6
|
-
|
|
7
|
-
[](https://www.npmjs.com/package/sevago-library)
|
|
8
|
-
[](https://opensource.org/licenses/MIT)
|
|
9
|
-
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Support
|
|
15
|
-
|
|
16
|
-
- **GitHub Issues:** [https://github.com/dev1-gmail2025/sevago-library/issues](https://github.com/dev1-gmail2025/sevago-library/issues)
|
|
17
|
-
- **Repository:** [https://github.com/dev1-gmail2025/sevago-library](https://github.com/dev1-gmail2025/sevago-library)
|
|
18
|
-
- **Material Symbols:** [https://fonts.google.com/icons](https://fonts.google.com/icons)
|
|
19
|
-
|
|
20
|
-
## Features
|
|
21
|
-
|
|
22
|
-
- 🎨 Material-UI components with custom styling and theming
|
|
23
|
-
- 📱 Responsive design with mobile support
|
|
24
|
-
- 🎯 Full TypeScript support
|
|
25
|
-
- 🎭 Framer Motion animations
|
|
26
|
-
- 📊 System monitoring components
|
|
27
|
-
- 🔧 Utility functions and constants
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Installation
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
npm install sevago-library
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### Peer Dependencies
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
npm install react@^19.2.0 react-dom@^19.2.0 @emotion/react@>=11 @emotion/styled@>=11 @mui/material@>=5 @mui/system@>=5 @reduxjs/toolkit@^2.9.2 react-redux@^9.2.0 react-router-dom@^7.9.5 redux-persist@^6.0.0
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Quick Start
|
|
46
|
-
|
|
47
|
-
### Basic Setup
|
|
48
|
-
|
|
49
|
-
```tsx
|
|
50
|
-
import React from 'react';
|
|
51
|
-
import { Provider } from 'react-redux';
|
|
52
|
-
import { PersistGate } from 'redux-persist/integration/react';
|
|
53
|
-
import { BrowserRouter } from 'react-router-dom';
|
|
54
|
-
import App from 'sevago-library';
|
|
55
|
-
|
|
56
|
-
function RootApp() {
|
|
57
|
-
return (
|
|
58
|
-
<Provider store={store}>
|
|
59
|
-
<PersistGate loading={null} persistor={persistor}>
|
|
60
|
-
<BrowserRouter>
|
|
61
|
-
<App />
|
|
62
|
-
</BrowserRouter>
|
|
63
|
-
</PersistGate>
|
|
64
|
-
</Provider>
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export default RootApp;
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
### Constants
|
|
74
|
-
|
|
75
|
-
#### Style Constants
|
|
76
|
-
|
|
77
|
-
```tsx
|
|
78
|
-
import { STYLE, MODE, OPACITY } from 'sevago-library';
|
|
79
|
-
|
|
80
|
-
const customStyle = {
|
|
81
|
-
padding: STYLE.PADDING_GAP_LAYOUT,
|
|
82
|
-
borderRadius: STYLE.BORDER_RADIUS_ELEMENT,
|
|
83
|
-
height: STYLE.HEIGHT_DEFAULT_TEXT_FIELD_BUTTON,
|
|
84
|
-
};
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
#### Theme Modes
|
|
88
|
-
|
|
89
|
-
```tsx
|
|
90
|
-
import { MODE } from 'sevago-library';
|
|
91
|
-
import { createTheme } from '@mui/material/styles';
|
|
92
|
-
|
|
93
|
-
const theme = createTheme(MODE.light); // or MODE.dark or MODE.other
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
#### Opacity Constants
|
|
97
|
-
|
|
98
|
-
```tsx
|
|
99
|
-
import { MODE, OPACITY } from 'sevago-library';
|
|
100
|
-
|
|
101
|
-
const semiTransparent = `${MODE.light.palette.primary.main}${OPACITY[50]}`;
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Utilities
|
|
105
|
-
|
|
106
|
-
#### Time Utils
|
|
107
|
-
|
|
108
|
-
```tsx
|
|
109
|
-
import { timeUtils } from 'sevago-library';
|
|
110
|
-
|
|
111
|
-
const timeAgo = timeUtils.getTimeAgo(new Date());
|
|
112
|
-
const dateTime = timeUtils.getDateTime(new Date());
|
|
113
|
-
const date = timeUtils.getDate(new Date());
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
#### String Utils
|
|
117
|
-
|
|
118
|
-
```tsx
|
|
119
|
-
import { stringUtils } from 'sevago-library';
|
|
120
|
-
|
|
121
|
-
// Use string utility functions
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
#### App Utils
|
|
125
|
-
|
|
126
|
-
```tsx
|
|
127
|
-
import { Environment, getCurrentEnvironment } from 'sevago-library';
|
|
128
|
-
|
|
129
|
-
// Get current environment based on hostname
|
|
130
|
-
const env = getCurrentEnvironment();
|
|
131
|
-
// Returns: Environment.DEVELOP | Environment.STAGING | Environment.PRODUCTION
|
|
132
|
-
|
|
133
|
-
// Environment enum values
|
|
134
|
-
const develop = Environment.DEVELOP; // "develop"
|
|
135
|
-
const staging = Environment.STAGING; // "staging"
|
|
136
|
-
const production = Environment.PRODUCTION; // "production"
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Enums
|
|
140
|
-
|
|
141
|
-
```tsx
|
|
142
|
-
import { AppCategory, Mode, OrderType, Environment } from 'sevago-library';
|
|
143
|
-
|
|
144
|
-
// Use enums
|
|
145
|
-
const category = AppCategory.ALL;
|
|
146
|
-
const mode = Mode.LIGHT;
|
|
147
|
-
const order = OrderType.ASC;
|
|
148
|
-
const env = Environment.DEVELOP;
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## API Reference
|
|
154
|
-
|
|
155
|
-
### Components
|
|
156
|
-
|
|
157
|
-
| Component | Description | Props |
|
|
158
|
-
| -------------------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
159
|
-
| `App` | Main application component with theme provider | None |
|
|
160
|
-
| `SystemMonitorScreen` | System monitoring dashboard screen | `env: Environment`, `blacklist?: string[]` |
|
|
161
|
-
| `AppGrid` | Application grid component with smart URL routing | `apps: AppInfo[]`, `env: Environment`, `columns?: number`, `rows?: number`, `iconSize?: number`, `iconRadius?: number`, `gap?: number \| string`, `showPagination?: boolean`, `titleVariant?`, `titleColor?`, `captionColor?` |
|
|
162
|
-
| `AppsSidebar` | Applications sidebar component | `isOpen: boolean`, `onClose: () => void`, `env: Environment`, `position?: "left" \| "right"`, `blacklist?: string[]` |
|
|
163
|
-
| `SystemMonitorSidebarPart` | System monitor sidebar part | - |
|
|
164
|
-
|
|
165
|
-
## TypeScript Support
|
|
166
|
-
|
|
167
|
-
Full TypeScript support with comprehensive type definitions:
|
|
168
|
-
|
|
169
|
-
```tsx
|
|
170
|
-
import type { AppInfo, AppGridProps, SystemMonitorScreenProps, AppsSidebarProps, Environment } from 'sevago-library';
|
|
171
|
-
|
|
172
|
-
// AppInfo interface
|
|
173
|
-
interface AppInfo {
|
|
174
|
-
path: {
|
|
175
|
-
develop: string;
|
|
176
|
-
staging: string;
|
|
177
|
-
production: string;
|
|
178
|
-
};
|
|
179
|
-
content: string;
|
|
180
|
-
color: string;
|
|
181
|
-
icon: string;
|
|
182
|
-
group: AppGroup;
|
|
183
|
-
}
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## Development
|
|
189
|
-
|
|
190
|
-
### Prerequisites
|
|
191
|
-
|
|
192
|
-
- Node.js >= 16.x
|
|
193
|
-
- npm >= 7.x
|
|
194
|
-
|
|
195
|
-
### Getting Started
|
|
196
|
-
|
|
197
|
-
```bash
|
|
198
|
-
# Clone the repository
|
|
199
|
-
git clone https://github.com/dev1-gmail2025/sevago-library.git
|
|
200
|
-
cd sevago-library
|
|
201
|
-
|
|
202
|
-
# Install dependencies
|
|
203
|
-
npm install
|
|
204
|
-
|
|
205
|
-
# Run development server
|
|
206
|
-
npm run dev
|
|
207
|
-
|
|
208
|
-
# Build library
|
|
209
|
-
npm run build:lib
|
|
210
|
-
|
|
211
|
-
# Lint code
|
|
212
|
-
npm run lint
|
|
213
|
-
```
|
|
1
|
+
# Sevago SSO Frontend Library
|
|
214
2
|
|
|
215
|
-
|
|
3
|
+
<div align="center">
|
|
216
4
|
|
|
217
|
-
|
|
5
|
+
**React + TypeScript component library for the Sevago SSO ecosystem.**
|
|
218
6
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
7
|
+
[](https://www.npmjs.com/package/sevago-library)
|
|
8
|
+
[](https://opensource.org/licenses/MIT)
|
|
9
|
+
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
Sevago SSO Frontend Library provides reusable React components, shared constants, utilities, and TypeScript types used across Sevago frontend applications.
|
|
13
|
+
|
|
14
|
+
---
|
|
223
15
|
|
|
224
|
-
|
|
16
|
+
## Installation
|
|
225
17
|
|
|
226
|
-
|
|
18
|
+
Install the package in your project:
|
|
227
19
|
|
|
228
20
|
```bash
|
|
229
|
-
|
|
21
|
+
npm install sevago-library
|
|
230
22
|
```
|
|
231
23
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
Manual fallback:
|
|
24
|
+
Install required peer dependencies:
|
|
235
25
|
|
|
236
26
|
```bash
|
|
237
|
-
npm
|
|
238
|
-
npm run build:lib
|
|
239
|
-
npm run release
|
|
27
|
+
npm install react react-dom @emotion/react @emotion/styled @mui/material @mui/system @reduxjs/toolkit react-redux react-router-dom redux-persist
|
|
240
28
|
```
|
|
241
29
|
|
|
30
|
+
## Documentation
|
|
31
|
+
|
|
32
|
+
Useful project references:
|
|
33
|
+
|
|
34
|
+
- [Repository](https://github.com/core-sevago/sevago-library)
|
|
35
|
+
- [npm package](https://www.npmjs.com/package/sevago-library)
|
|
36
|
+
- [Core-sevago/sevago-library](https://core-sevago.github.io/sevago-library)
|
|
37
|
+
|
|
242
38
|
---
|
|
243
39
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
40
|
+
## Questions
|
|
41
|
+
|
|
42
|
+
For issues and usage questions, use the project repository:
|
|
43
|
+
|
|
44
|
+
[https://github.com/core-sevago/sevago-library/issues](https://github.com/core-sevago/sevago-library/issues)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Changelog
|
|
49
|
+
|
|
50
|
+
The [changelog](https://github.com/core-sevago/sevago-library/blob/master/CHANGELOG.md) is generated by Changesets and updated for every release.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Roadmap
|
|
55
|
+
|
|
56
|
+
Future changes should be tracked through GitHub issues and released with Changesets.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Security
|
|
61
|
+
|
|
62
|
+
Do not publish credentials, tokens, private URLs, or environment files. Report security issues through the project maintainers.
|
|
63
|
+
|
|
64
|
+
---
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sevago-library",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "Sevago SSO Frontend Library - A comprehensive SSO solution with React components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist",
|
|
10
|
+
"CHANGELOG.md",
|
|
10
11
|
"README.md"
|
|
11
12
|
],
|
|
12
13
|
"publishConfig": {
|