@visns-studio/visns-components 5.0.0 → 5.0.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 (25) hide show
  1. package/package.json +1 -1
  2. package/src/components/crm/DataGrid.jsx +1 -0
  3. package/src/components/crm/Form.jsx +6 -6
  4. package/src/components/crm/auth/styles/Login.module.scss +49 -80
  5. package/src/components/crm/auth/styles/Profile.module.scss +97 -33
  6. package/src/components/crm/auth/styles/Reset.module.scss +55 -37
  7. package/src/components/crm/auth/styles/Verify.module.scss +55 -76
  8. package/src/components/crm/generic/GenericAuth.jsx +12 -4
  9. package/src/components/crm/generic/styles/AuditLog.module.scss +0 -37
  10. package/src/components/crm/generic/styles/AuditLogs.module.scss +0 -51
  11. package/src/components/crm/generic/styles/GenericDetail.module.scss +4 -74
  12. package/src/components/crm/generic/styles/GenericDynamic.module.scss +68 -134
  13. package/src/components/crm/generic/styles/GenericFormBuilder.module.scss +59 -53
  14. package/src/components/crm/generic/styles/GenericIndex.module.scss +46 -66
  15. package/src/components/crm/generic/styles/GenericMain.module.scss +7 -7
  16. package/src/components/crm/generic/styles/GenericSort.module.scss +0 -36
  17. package/src/components/crm/generic/styles/NotificationList.module.scss +1 -32
  18. package/src/components/crm/styles/DataGrid.module.scss +4 -86
  19. package/src/components/crm/styles/Field.module.scss +67 -43
  20. package/src/components/crm/styles/Form.module.scss +148 -379
  21. package/src/components/crm/styles/Navigation.module.scss +359 -454
  22. package/src/components/crm/styles/Notification.module.scss +1 -0
  23. package/src/components/crm/styles/SwitchAccount.module.scss +0 -1
  24. package/src/components/crm/styles/TableFilter.module.scss +2 -1
  25. package/src/components/styles/global.css +73 -33
@@ -1,11 +1,17 @@
1
1
  .formItem {
2
2
  width: 50%;
3
- padding: 0.5em;
4
3
  position: relative;
5
4
  box-sizing: border-box;
6
5
 
6
+ h1 {
7
+ text-align: center;
8
+ font-size: 1.25rem;
9
+ }
10
+
7
11
  .fi__label {
8
12
  position: relative;
13
+ display: flex;
14
+ align-items: center;
9
15
  }
10
16
 
11
17
  .fi__span {
@@ -13,9 +19,9 @@
13
19
  transition: all 200ms;
14
20
  opacity: 0.8;
15
21
  left: 0;
16
- padding: 19px 20px;
17
22
  transform-origin: top left;
18
23
  cursor: text;
24
+ padding: 0 1rem;
19
25
  }
20
26
 
21
27
  .fi__div {
@@ -23,14 +29,14 @@
23
29
  opacity: 0.8;
24
30
  left: 0;
25
31
  padding: 19px 13px;
26
- border-radius: var(--br);
27
- border: 1px solid rgba(var(--paragraph-color-rgb), 0.15);
32
+ border-radius: var(--radius);
33
+ border: 1px solid rgba(var(--paragraph-rgb), 0.15);
28
34
  box-shadow: none;
29
35
  }
30
36
 
31
37
  .fi__toggle {
32
38
  width: max-content;
33
- padding: 0px 10px 0px 0;
39
+ padding: 0 10px 0 0;
34
40
  box-sizing: border-box;
35
41
  display: inline;
36
42
  }
@@ -43,8 +49,10 @@
43
49
  }
44
50
  }
45
51
 
46
- .fwItem {
47
- flex-basis: 100%;
52
+ .fwItem,
53
+ .fwBuilderItem {
54
+ grid-column: 1 / -1;
55
+ width: 100%;
48
56
  }
49
57
 
50
58
  .lastItem {
@@ -72,16 +80,33 @@
72
80
  flex-wrap: wrap;
73
81
  }
74
82
 
83
+ .loginlogo {
84
+ display: block;
85
+ width: 100%;
86
+ max-width: 200px;
87
+ height: auto;
88
+ margin: 0 auto;
89
+ padding-bottom: 1rem;
90
+ }
91
+
92
+ .logincontainer {
93
+ width: 100%;
94
+ min-height: 100vh;
95
+ display: grid;
96
+ place-items: center;
97
+ padding: 1rem;
98
+ }
99
+
75
100
  .login {
76
101
  width: 35rem;
77
- height: auto;
78
102
  padding: 1rem;
79
103
  margin: 0;
80
- display: flex;
81
- flex-wrap: wrap;
104
+ display: grid;
105
+ grid-template-columns: 1fr;
106
+ gap: 0.5rem;
82
107
 
83
108
  > .formItem {
84
- padding: 0.25em 0;
109
+ padding: 0;
85
110
 
86
111
  small {
87
112
  position: absolute;
@@ -94,12 +119,11 @@
94
119
  }
95
120
 
96
121
  > .loginitem {
97
- width: 100%;
122
+ grid-column: 1 / -1;
98
123
  padding: 0.25em 0;
99
124
 
100
125
  label {
101
126
  width: 100%;
102
- padding-bottom: 0.25rem;
103
127
  }
104
128
 
105
129
  button {
@@ -108,27 +132,28 @@
108
132
  }
109
133
  }
110
134
 
111
- .forgotten {
112
- span {
113
- display: block;
114
- text-align: center;
115
- color: var(--paragraph-color);
116
- padding: 1rem 0;
135
+ .forgotten span {
136
+ display: block;
137
+ text-align: center;
138
+ color: var(--paragraph-color);
139
+ padding: 1rem 0;
117
140
 
118
- a {
119
- color: var(--highlight-color);
120
- text-decoration: none;
121
- }
141
+ a {
142
+ color: var(--secondary-color);
143
+ text-decoration: none;
122
144
  }
123
145
  }
124
146
 
125
147
  .lcontainer {
126
- --sidebar-width: 35%;
127
148
  min-height: 100vh;
149
+ display: flex;
150
+ align-items: center;
151
+ justify-content: center;
128
152
  }
129
153
 
130
154
  .lwrap {
131
- display: flex;
155
+ display: grid;
156
+ grid-template-columns: var(--sidebar-width) 1fr;
132
157
  }
133
158
 
134
159
  .aside {
@@ -139,53 +164,6 @@
139
164
  width: var(--sidebar-width);
140
165
  }
141
166
 
142
- .fwItem {
143
- flex-basis: 100%;
144
- }
145
-
146
- .lastItem .btn {
147
- width: 100%;
148
- }
149
-
150
- .login .formItem {
151
- padding: 0.25em 0;
152
- }
153
-
154
- .login .formItem small {
155
- position: absolute;
156
- width: 18px;
157
- height: 18px;
158
- right: 18px;
159
- top: 18px;
160
- opacity: 0.15;
161
- }
162
-
163
- .login .loginitem {
164
- width: 100%;
165
- padding: 0.25em 0;
166
- }
167
-
168
- .login .loginitem label {
169
- width: 100%;
170
- padding-bottom: 0.25rem;
171
- }
172
-
173
- .login .loginitem button {
174
- width: 100%;
175
- }
176
-
177
- .forgotten span {
178
- display: block;
179
- text-align: center;
180
- color: var(--paragraph-color);
181
- padding: 1rem 0;
182
- }
183
-
184
- .forgotten span a {
185
- color: var(--highlight-color);
186
- text-decoration: none;
187
- }
188
-
189
167
  .btn {
190
168
  width: max-content;
191
169
  display: inline-block;
@@ -207,9 +185,10 @@
207
185
  input:not(:placeholder-shown) + .fi__span,
208
186
  textarea:not(:placeholder-shown) + .fi__span,
209
187
  select:not(:placeholder-shown) + .fi__span {
210
- transform: translateY(-40%) translateX(10px) scale(0.75);
188
+ transform: translateY(-110%) translateX(10px) scale(0.75);
211
189
  opacity: 1;
212
- padding: 0 4px;
213
- background: var(--tertiary-color);
190
+ padding: 0;
191
+ background: var(--bg-color);
214
192
  font-weight: 300;
215
- }
193
+ transition: all 0.5s cubic-bezier(0.5, 0.5, 0, 1);
194
+ }
@@ -7,7 +7,7 @@ import {
7
7
  Navigate,
8
8
  Outlet,
9
9
  } from 'react-router-dom';
10
- import { ToastContainer } from 'react-toastify';
10
+ import { Flip, ToastContainer } from 'react-toastify';
11
11
  import { Tooltip } from 'react-tooltip';
12
12
  import 'react-tooltip/dist/react-tooltip.css';
13
13
  import 'react-toastify/dist/ReactToastify.css';
@@ -134,9 +134,17 @@ const GenericAuth = ({
134
134
  </Route>
135
135
  </Routes>
136
136
  <ToastContainer
137
- theme="light"
138
- position="bottom-center"
139
- style={{ width: '600px' }}
137
+ position="bottom-right"
138
+ autoClose={7000}
139
+ hideProgressBar={false}
140
+ newestOnTop
141
+ closeOnClick
142
+ rtl={false}
143
+ pauseOnFocusLoss
144
+ draggable={false}
145
+ pauseOnHover
146
+ theme="dark"
147
+ transition={Flip}
140
148
  />
141
149
  <Tooltip id="system-tooltip" />
142
150
  </>
@@ -37,43 +37,6 @@
37
37
  box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
38
38
  }
39
39
 
40
- .crmtitle {
41
- border: none;
42
- min-height: auto;
43
- padding: 5px 20px;
44
- margin: 0;
45
- background: var(--primary-color);
46
- border-radius: var(--br);
47
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
48
- position: relative;
49
- display: flex;
50
- align-items: center;
51
-
52
- h1 {
53
- color: var(--background-color);
54
- font-weight: 700;
55
- font-size: 1.15em;
56
- margin: 0;
57
- padding: 0.65rem 0;
58
- display: flex;
59
- align-items: center;
60
- gap: 0.25rem;
61
-
62
- a {
63
- text-decoration: none;
64
- color: var(--secondary-color);
65
- }
66
-
67
- svg {
68
- color: rgba(var(--tertiary-color-rgb), 0.5);
69
- position: relative;
70
- top: 0;
71
- margin: 0 0.5rem;
72
- max-width: 15px;
73
- }
74
- }
75
- }
76
-
77
40
  .gridtxt__header {
78
41
  width: 100%;
79
42
  display: block;
@@ -29,57 +29,6 @@
29
29
  box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
30
30
  }
31
31
 
32
- .crmtitle {
33
- border: none;
34
- min-height: auto;
35
- padding: 10px 20px;
36
- margin: 0;
37
- background: var(--tertiary-color);
38
- border-radius: var(--br);
39
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
40
- position: relative;
41
- }
42
-
43
- .crmtitle h1 {
44
- font-weight: 700;
45
- font-size: 1.45em;
46
- margin: 0;
47
- padding: 0.65rem 0;
48
- }
49
-
50
- .crmtitle h1 a {
51
- text-decoration: none;
52
- color: rgba(var(--secondary-color-rgb), 1.1);
53
- font-weight: 300;
54
- }
55
-
56
- .crmtitle h1 svg {
57
- color: rgba(var(--primary-color-rgb), 0.25);
58
- position: relative;
59
- top: 2px;
60
- margin: 0 0.25rem;
61
- }
62
-
63
- .crmtitleSimple {
64
- border: none;
65
- min-height: auto;
66
- padding: 0.65rem 1rem;
67
- margin-bottom: 0.15rem;
68
- background: var(--tertiary-color);
69
- border-radius: var(--br);
70
- box-sizing: border-box;
71
- display: flex;
72
- flex-wrap: nowrap;
73
- justify-content: space-between;
74
- align-items: center;
75
-
76
- h1 {
77
- font-size: 1.25rem;
78
- margin: 0;
79
- padding: 0;
80
- }
81
- }
82
-
83
32
  .titleInfo {
84
33
  position: absolute;
85
34
  right: 2em;
@@ -78,9 +78,8 @@
78
78
 
79
79
  .grid__subnav {
80
80
  flex: 1;
81
- background: rgba(var(--item-color-rgb), 1.01);
81
+ background: white;
82
82
  border-radius: var(--br);
83
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
84
83
  box-sizing: border-box;
85
84
  padding: 5px;
86
85
  margin: 8px 0;
@@ -104,11 +103,11 @@
104
103
 
105
104
  .grid__subnav > ul li a {
106
105
  width: 100%;
107
- padding: 8px 20px;
106
+ padding: 0.35rem 1rem;
108
107
  box-sizing: border-box;
109
108
  display: block;
110
109
  text-decoration: none;
111
- background: rgba(var(--primary-color-rgb), 0.05);
110
+ background: rgba(var(--primary-rgb), 0.05);
112
111
  color: var(--primary-color);
113
112
  border-radius: 5px;
114
113
  transition: background 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
@@ -204,75 +203,6 @@
204
203
  border: 1px solid var(--secondary-color);
205
204
  }
206
205
 
207
- .crmtitle {
208
- border: none;
209
- min-height: auto;
210
- padding: 10px 20px;
211
- margin: 0;
212
- background: var(--tertiary-color);
213
- border-radius: var(--br);
214
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
215
- position: relative;
216
- display: flex;
217
- align-items: center;
218
-
219
- h1 {
220
- font-weight: 700;
221
- font-size: 1.45em;
222
- margin: 0;
223
- padding: 0.65rem 0;
224
-
225
- a {
226
- text-decoration: none;
227
- color: var(--secondary-color);
228
- font-weight: 300;
229
- }
230
-
231
- svg {
232
- color: rgba(var(--primary-color-rgb), 0.5);
233
- position: relative;
234
- top: 2px;
235
- margin: 0 0.25rem;
236
- }
237
- }
238
- }
239
-
240
- .crmtitle--alternate {
241
- border: none;
242
- min-height: auto;
243
- padding: 5px 20px;
244
- margin: 0;
245
- background: var(--tertiary-color);
246
- border-radius: var(--br);
247
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
248
- position: relative;
249
- display: flex;
250
- align-items: center;
251
-
252
- h1 {
253
- color: var(--paragraph-color);
254
- font-weight: 700;
255
- font-size: 1.15em;
256
- margin: 0;
257
- padding: 0.65rem 0;
258
- display: flex;
259
- align-items: center;
260
- gap: 0.25rem;
261
-
262
- a {
263
- text-decoration: none;
264
- color: var(--primary-color);
265
- }
266
-
267
- svg {
268
- position: relative;
269
- top: 0;
270
- margin: 0 0.5rem;
271
- max-width: 15px;
272
- }
273
- }
274
- }
275
-
276
206
  .titleInfo {
277
207
  position: absolute;
278
208
  right: 2em;
@@ -631,4 +561,4 @@
631
561
  color: var(--primary-color);
632
562
  background: var(--highlight-color);
633
563
  border: 1px solid rgba(var(--highlight-color-rgb), 1.05);
634
- }
564
+ }
@@ -18,39 +18,6 @@
18
18
  margin: 5px;
19
19
  }
20
20
 
21
- .crmtitle {
22
- border: none;
23
- min-height: auto;
24
- padding: 10px 20px;
25
- margin: 5px;
26
- background: var(--item-color);
27
- border-radius: var(--br);
28
- border: 1px solid var(--border-color);
29
- position: relative;
30
- }
31
-
32
- .crmtitle h1 {
33
- font-weight: 700;
34
- font-size: 1.25em;
35
- margin: 0;
36
- padding: 0.25rem 0;
37
- color: var(--paragraph-color);
38
- text-transform: capitalize;
39
- }
40
-
41
- .crmtitle h1 a {
42
- text-decoration: none;
43
- color: var(--secondary-color-dark);
44
- font-weight: 300;
45
- }
46
-
47
- .crmtitle h1 svg {
48
- color: rgba(var(--primary-color-rgb), 0.85);
49
- position: relative;
50
- top: 2px;
51
- margin: 0 0.25rem;
52
- }
53
-
54
21
  .grid__subrow {
55
22
  width: 100%;
56
23
  display: flex;
@@ -62,14 +29,14 @@
62
29
  flex: 1;
63
30
  background: white;
64
31
  border-radius: var(--br);
65
- border: 1px solid var(--border-color);
66
32
  box-sizing: border-box;
67
33
  padding: 5px;
68
- margin: 5px;
34
+ margin: 8px 0;
69
35
  height: auto;
36
+ box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
70
37
  }
71
38
 
72
- .grid__subnav ul {
39
+ .grid__subnav > ul {
73
40
  width: 100%;
74
41
  list-style: none;
75
42
  padding: 0;
@@ -78,20 +45,20 @@
78
45
  flex-wrap: wrap;
79
46
  }
80
47
 
81
- .grid__subnav ul li {
48
+ .grid__subnav > ul li {
82
49
  width: 100%;
83
50
  margin-bottom: 3px;
84
51
  }
85
52
 
86
- .grid__subnav ul li a {
53
+ .grid__subnav > ul li a {
87
54
  width: 100%;
88
- padding: 8px 20px;
55
+ padding: 0.35rem 1rem;
89
56
  box-sizing: border-box;
90
57
  display: block;
91
58
  text-decoration: none;
92
- background: var(--border-color);
93
- color: var(--secondary-color);
94
- border-radius: var(--br);
59
+ background: rgba(var(--primary-rgb), 0.05);
60
+ color: var(--primary-color);
61
+ border-radius: 5px;
95
62
  transition: background 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
96
63
  outline: none;
97
64
  cursor: pointer;
@@ -199,25 +166,64 @@
199
166
 
200
167
  .formcontainer {
201
168
  width: 100%;
202
- }
203
169
 
204
- .modalForm {
205
- width: 100%;
206
- display: flex;
207
- align-items: flex-start;
208
- flex-wrap: wrap;
170
+ form {
171
+ width: 100%;
172
+ display: grid;
173
+ grid-template-columns: 1fr 1fr;
174
+ gap: 1em;
175
+ }
209
176
  }
210
177
 
211
178
  .formItem {
212
- width: 50%;
213
- padding: 0.35em;
179
+ width: 100%;
214
180
  position: relative;
215
181
  box-sizing: border-box;
182
+
183
+ .fi__label {
184
+ position: relative;
185
+ display: flex;
186
+ align-items: center;
187
+ }
188
+
189
+ .fi__span {
190
+ position: absolute;
191
+ transition: all 200ms;
192
+ opacity: 0.8;
193
+ left: 0;
194
+ transform-origin: top left;
195
+ cursor: text;
196
+ }
197
+
198
+ .fi__div {
199
+ transition: all 200ms;
200
+ opacity: 0.8;
201
+ left: 0;
202
+ padding: 19px 13px;
203
+ border-radius: var(--radius);
204
+ border: 1px solid rgba(var(--paragraph-rgb), 0.15);
205
+ box-shadow: none;
206
+ }
207
+
208
+ .fi__toggle {
209
+ width: max-content;
210
+ padding: 0 10px 0 0;
211
+ box-sizing: border-box;
212
+ display: inline;
213
+ }
214
+
215
+ .fi__toggletxt {
216
+ position: relative;
217
+ left: 5px;
218
+ font-size: 0.95em;
219
+ top: -5px;
220
+ }
216
221
  }
217
222
 
218
- .formItem .fi__label {
219
- position: relative;
220
- display: block;
223
+ .fwItem,
224
+ .fwBuilderItem {
225
+ grid-column: 1 / -1;
226
+ width: 100%;
221
227
  }
222
228
 
223
229
  .formItem textarea,
@@ -360,93 +366,21 @@ input[type='file']:hover {
360
366
  input:not(:placeholder-shown) + .fi__span,
361
367
  textarea:not(:placeholder-shown) + .fi__span,
362
368
  select:not(:placeholder-shown) + .fi__span {
363
- transform: translateY(-40%) translateX(10px) scale(0.75);
369
+ transform: translateY(-110%) translateX(10px) scale(0.75);
364
370
  opacity: 1;
365
- padding: 0 4px;
366
- background: var(--tertiary-color);
371
+ padding: 0;
372
+ background: var(--bg-color);
367
373
  font-weight: 300;
368
- border-radius: var(--br);
374
+ transition: all 0.5s cubic-bezier(0.5, 0.5, 0, 1);
369
375
  }
370
376
 
371
377
  .prefocus {
372
- transform: translateY(-40%) translateX(10px) scale(0.75) !important;
373
- opacity: 1 !important;
374
- padding: 0 4px !important;
375
- background: var(--tertiary-color) !important;
376
- z-index: 500;
378
+ transform: translateY(-110%) translateX(10px) scale(0.75);
379
+ opacity: 1;
380
+ padding: 0;
381
+ background: var(--bg-color);
377
382
  font-weight: 300;
378
- border-radius: var(--br);
379
- top: 0;
380
- }
381
- /* Modal class */
382
- .modalwrap {
383
- background: var(--tertiary-color);
384
- border-radius: 3px;
385
- overflow: visible;
386
- border-top-left-radius: var(--br);
387
- border-top-right-radius: var(--br);
388
- }
389
-
390
- .modal {
391
- width: 100%;
392
- position: relative;
393
- }
394
-
395
- .modal__header {
396
- width: 100%;
397
- background: var(--primary-color);
398
- border: 2px solid rgba(var(--primary-color-rgb), 1.05);
399
- border-top-left-radius: var(--br);
400
- border-top-right-radius: var(--br);
401
- box-sizing: border-box;
402
- }
403
-
404
- .modal__header h1 {
405
- color: var(--secondary-color);
406
- margin: 0;
407
- padding: 0.75em 0.75em;
408
- font-size: 1.15em;
409
- }
410
-
411
- .modal__close {
412
- width: max-content;
413
- position: absolute;
414
- right: 5px;
415
- top: 5px;
416
- box-sizing: border-box;
417
- background: rgba(var(--primary-color-rgb), 1.08);
418
- cursor: pointer;
419
- padding: 8px 8px;
420
- margin: 0;
421
- outline: none;
422
- border: none;
423
- border-radius: var(--br);
424
- display: block;
425
- line-height: 1;
426
- }
427
-
428
- .modal__close svg {
429
- color: var(--secondary-color);
430
- display: block;
431
- }
432
-
433
- .modal__content {
434
- width: 100%;
435
- position: relative;
436
- padding: 0.25rem;
437
- box-sizing: border-box;
438
- border-top-left-radius: var(--br);
439
- border-top-right-radius: var(--br);
440
- }
441
-
442
- .modal__content .btn {
443
- background: var(--primary-color);
444
- border: 1px solid rgba(var(--primary-color-rgb), 1.05);
445
- }
446
-
447
- .modal__content .btn:hover {
448
- background: var(--secondary-color);
449
- color: var(--tertiary-color);
383
+ transition: all 0.5s cubic-bezier(0.5, 0.5, 0, 1);
450
384
  }
451
385
 
452
386
  /* Adding btn class */