@visns-studio/visns-components 4.10.48 → 5.0.1-8.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 (61) hide show
  1. package/package.json +29 -29
  2. package/src/components/cms/Field.jsx +39 -63
  3. package/src/components/crm/AsyncSelect.jsx +121 -15
  4. package/src/components/crm/Breadcrumb.jsx +2 -18
  5. package/src/components/crm/DataGrid.jsx +51 -424
  6. package/src/components/crm/Field.jsx +185 -358
  7. package/src/components/crm/Form.jsx +104 -92
  8. package/src/components/crm/MultiSelect.jsx +66 -45
  9. package/src/components/crm/Navigation.jsx +9 -92
  10. package/src/components/crm/QuickAction.jsx +1 -0
  11. package/src/components/crm/auth/Login.jsx +9 -1
  12. package/src/components/crm/auth/Profile.jsx +4 -2
  13. package/src/components/crm/auth/styles/Login.module.scss +52 -82
  14. package/src/components/crm/auth/styles/Profile.module.scss +150 -44
  15. package/src/components/crm/auth/styles/Reset.module.scss +55 -37
  16. package/src/components/crm/auth/styles/Verify.module.scss +55 -76
  17. package/src/components/crm/generic/GenericAuth.jsx +12 -5
  18. package/src/components/crm/generic/GenericDashboard.jsx +30 -340
  19. package/src/components/crm/generic/GenericDetail.jsx +534 -86
  20. package/src/components/crm/generic/GenericDynamic.jsx +76 -94
  21. package/src/components/crm/generic/GenericEditableTable.jsx +407 -0
  22. package/src/components/crm/generic/GenericFormBuilder.jsx +19 -79
  23. package/src/components/crm/generic/GenericIndex.jsx +1 -2
  24. package/src/components/crm/generic/styles/AuditLog.module.scss +4 -37
  25. package/src/components/crm/generic/styles/AuditLogs.module.scss +0 -51
  26. package/src/components/crm/generic/styles/GenericDetail.module.scss +263 -244
  27. package/src/components/crm/generic/styles/GenericDynamic.module.scss +100 -198
  28. package/src/components/crm/generic/styles/GenericEditableTable.module.scss +178 -0
  29. package/src/components/crm/generic/styles/GenericFormBuilder.module.scss +63 -101
  30. package/src/components/crm/generic/styles/GenericIndex.module.scss +46 -66
  31. package/src/components/crm/generic/styles/GenericMain.module.scss +7 -7
  32. package/src/components/crm/generic/styles/GenericSort.module.scss +0 -36
  33. package/src/components/crm/generic/styles/NotificationList.module.scss +1 -32
  34. package/src/components/crm/styles/Autocomplete.module.scss +12 -20
  35. package/src/components/crm/styles/DataGrid.module.scss +28 -86
  36. package/src/components/crm/styles/Field.module.scss +72 -252
  37. package/src/components/crm/styles/Form.module.scss +141 -450
  38. package/src/components/crm/styles/Navigation.module.scss +356 -507
  39. package/src/components/crm/styles/Notification.module.scss +1 -0
  40. package/src/components/crm/styles/QrCode.module.scss +4 -18
  41. package/src/components/crm/styles/SwitchAccount.module.scss +0 -1
  42. package/src/components/crm/styles/TableFilter.module.scss +2 -1
  43. package/src/components/styles/global.css +164 -34
  44. package/src/index.js +0 -8
  45. package/src/components/crm/generic/styles/GenericDashboard.module.scss +0 -325
  46. package/src/components/crm/sketch/SketchField.jsx +0 -395
  47. package/src/components/crm/sketch/arrow.jsx +0 -108
  48. package/src/components/crm/sketch/circle.jsx +0 -75
  49. package/src/components/crm/sketch/default-tool.jsx +0 -16
  50. package/src/components/crm/sketch/fabrictool.jsx +0 -22
  51. package/src/components/crm/sketch/history.jsx +0 -144
  52. package/src/components/crm/sketch/json/config.json +0 -14
  53. package/src/components/crm/sketch/line.jsx +0 -64
  54. package/src/components/crm/sketch/pan.jsx +0 -48
  55. package/src/components/crm/sketch/pencil.jsx +0 -36
  56. package/src/components/crm/sketch/rectangle-label-object.jsx +0 -69
  57. package/src/components/crm/sketch/rectangle-label.jsx +0 -93
  58. package/src/components/crm/sketch/rectangle.jsx +0 -76
  59. package/src/components/crm/sketch/select.jsx +0 -16
  60. package/src/components/crm/sketch/tools.jsx +0 -11
  61. package/src/components/crm/sketch/utils.jsx +0 -67
@@ -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;
@@ -144,13 +111,13 @@
144
111
  }
145
112
 
146
113
  .grid__subcontent {
147
- flex: 0 1 85%;
148
- background: white;
114
+ flex: 0 1 80%;
115
+ background: var(--tertiary-color);
149
116
  border-radius: var(--br);
150
- border: 1px solid var(--border-color);
117
+ border: 1px solid rgba(var(--primary-rgb), 0.05);
151
118
  box-sizing: border-box;
152
- padding: 0;
153
- margin: 5px;
119
+ padding: 2px;
120
+ margin: 8px 0;
154
121
  height: auto;
155
122
  position: relative;
156
123
  }
@@ -165,59 +132,105 @@
165
132
  .gridtxt__header {
166
133
  width: 100%;
167
134
  display: block;
168
- background: var(--border-color);
135
+ background: rgba(var(--primary-rgb), 0.05);
169
136
  box-sizing: border-box;
170
137
  padding: 10px 20px;
171
- border-top-left-radius: var(--br);
172
- border-top-right-radius: var(--br);
138
+ border-radius: var(--br);
173
139
  margin-bottom: 0;
174
140
  font-weight: 700;
175
141
  text-align: center;
176
142
  color: var(--paragraph-color);
177
- position: relative;
178
143
  }
179
144
 
180
145
  .gridtxt__header span {
181
146
  font-weight: 700;
182
147
  }
183
148
 
184
- .gridtxt__header .btn {
185
- font-size: 0.85em;
186
- padding: 0.25em;
149
+ .gridtxt > ul {
150
+ width: 100%;
187
151
  display: flex;
188
- flex-wrap: nowrap;
189
- align-items: center;
190
- float: left;
191
- position: relative;
192
- top: -4px;
152
+ justify-content: flex-start;
153
+ flex-direction: row;
154
+ flex-wrap: wrap;
155
+ list-style: none;
156
+ box-sizing: border-box;
157
+ padding: 0.85rem;
158
+ margin: 0;
193
159
  }
194
160
 
195
- .gridtxt__header .btn svg {
196
- max-width: 15px;
197
- margin-right: 5px;
161
+ .gridtxt > ul li {
162
+ flex: 0 0 calc(50% - 10px);
163
+ padding: 0.85rem;
164
+ box-sizing: border-box;
165
+ border: 1px solid rgba(var(--primary-rgb), 0.095);
166
+ color: var(--paragraph-color);
167
+ background: rgba(var(--primary-rgb), 0.015);
168
+ margin: 5px;
169
+ border-radius: var(--br);
170
+ line-height: 1.45;
171
+ font-size: 1rem;
198
172
  }
199
173
 
200
174
  .formcontainer {
201
175
  width: 100%;
202
- }
203
176
 
204
- .modalForm {
205
- width: 100%;
206
- display: flex;
207
- align-items: flex-start;
208
- flex-wrap: wrap;
177
+ form {
178
+ width: 100%;
179
+ display: grid;
180
+ grid-template-columns: 1fr 1fr;
181
+ gap: 1em;
182
+ }
209
183
  }
210
184
 
211
185
  .formItem {
212
- width: 50%;
213
- padding: 0.35em;
186
+ width: 100%;
214
187
  position: relative;
215
188
  box-sizing: border-box;
189
+
190
+ .fi__label {
191
+ position: relative;
192
+ display: flex;
193
+ align-items: center;
194
+ }
195
+
196
+ .fi__span {
197
+ position: absolute;
198
+ transition: all 200ms;
199
+ opacity: 0.8;
200
+ left: 0;
201
+ transform-origin: top left;
202
+ cursor: text;
203
+ }
204
+
205
+ .fi__div {
206
+ transition: all 200ms;
207
+ opacity: 0.8;
208
+ left: 0;
209
+ padding: 19px 13px;
210
+ border-radius: var(--radius);
211
+ border: 1px solid rgba(var(--paragraph-rgb), 0.15);
212
+ box-shadow: none;
213
+ }
214
+
215
+ .fi__toggle {
216
+ width: max-content;
217
+ padding: 0 10px 0 0;
218
+ box-sizing: border-box;
219
+ display: inline;
220
+ }
221
+
222
+ .fi__toggletxt {
223
+ position: relative;
224
+ left: 5px;
225
+ font-size: 0.95em;
226
+ top: -5px;
227
+ }
216
228
  }
217
229
 
218
- .formItem .fi__label {
219
- position: relative;
220
- display: block;
230
+ .fwItem,
231
+ .fwBuilderItem {
232
+ grid-column: 1 / -1;
233
+ width: 100%;
221
234
  }
222
235
 
223
236
  .formItem textarea,
@@ -264,6 +277,10 @@
264
277
  border: 1px solid rgba(var(--highlight-color-rgb), 0.85);
265
278
  }
266
279
 
280
+ .formItem textarea {
281
+ line-height: 1.65 !important;
282
+ }
283
+
267
284
  input[type='file'] {
268
285
  background: var(--item-color) !important;
269
286
  border-radius: var (--br) !important;
@@ -299,9 +316,9 @@ input[type='file']:hover {
299
316
  .fi__span {
300
317
  position: absolute;
301
318
  transition: all 200ms;
302
- opacity: 0.8;
319
+ opacity: 1;
303
320
  left: 0;
304
- padding: 19px 20px;
321
+ padding: 0 1rem;
305
322
  transform-origin: top left;
306
323
  cursor: text;
307
324
  }
@@ -360,93 +377,21 @@ input[type='file']:hover {
360
377
  input:not(:placeholder-shown) + .fi__span,
361
378
  textarea:not(:placeholder-shown) + .fi__span,
362
379
  select:not(:placeholder-shown) + .fi__span {
363
- transform: translateY(-40%) translateX(10px) scale(0.75);
380
+ transform: translateY(-110%) translateX(10px) scale(0.75);
364
381
  opacity: 1;
365
- padding: 0 4px;
382
+ padding: 0;
366
383
  background: var(--tertiary-color);
367
384
  font-weight: 300;
368
- border-radius: var(--br);
385
+ transition: all 0.5s cubic-bezier(0.5, 0.5, 0, 1);
369
386
  }
370
387
 
371
388
  .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;
377
- font-weight: 300;
378
- border-radius: var(--br);
379
- top: 0;
380
- }
381
- /* Modal class */
382
- .modalwrap {
389
+ transform: translateY(-110%) translateX(10px) scale(0.75);
390
+ opacity: 1;
391
+ padding: 0;
383
392
  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);
393
+ font-weight: 300;
394
+ transition: all 0.5s cubic-bezier(0.5, 0.5, 0, 1);
450
395
  }
451
396
 
452
397
  /* Adding btn class */
@@ -500,49 +445,6 @@ select:not(:placeholder-shown) + .fi__span {
500
445
  border-color: red !important;
501
446
  }
502
447
 
503
- .AutocompletePlace {
504
- position: relative;
505
- }
506
-
507
- .AutocompletePlace svg {
508
- position: absolute;
509
- right: 0.5em;
510
- top: 0.5em;
511
- color: var(--paragraph-color);
512
- cursor: pointer;
513
- }
514
-
515
- .AutocompletePlace .toggleActive {
516
- color: var(--highlight-color);
517
- }
518
-
519
- .AutocompletePlace-input {
520
- padding: 0.65rem 3rem 0.65rem 0.95rem !important;
521
- height: 51.5px;
522
- }
523
-
524
- .AutocompletePlace-results {
525
- position: absolute;
526
- background-color: white;
527
- padding: 0;
528
- margin: 0;
529
- border: 1px solid rgba(var(--primary-color-rgb), 0.25);
530
- border-radius: var(--br);
531
- overflow: hidden;
532
- z-index: 999;
533
- }
534
-
535
- .AutocompletePlace-items {
536
- list-style: none;
537
- border-bottom: 1px solid rgba(var(--primary-color-rgb), 0.1);
538
- cursor: pointer;
539
- padding: 10px 10px;
540
- }
541
-
542
- .AutocompletePlace-items:hover {
543
- background-color: rgba(var(--paragraph-color-rgb), 0.065);
544
- }
545
-
546
448
  .react-datepicker-wrapper {
547
449
  width: 100% !important;
548
450
  }
@@ -0,0 +1,178 @@
1
+ .schedulingTable {
2
+ width: 100%;
3
+ border-collapse: collapse;
4
+ margin: 1em 0;
5
+
6
+ th,
7
+ td {
8
+ padding: 0.75rem;
9
+ text-align: left;
10
+ border: 1px solid rgba(var(--primary-rgb), 0.1);
11
+ }
12
+
13
+ th {
14
+ background-color: var(--secondary-color);
15
+ color: var(--item-color);
16
+ font-weight: bold;
17
+ }
18
+
19
+ td {
20
+ background-color: rgba(var(--primary-rgb), 0.05);
21
+ }
22
+ }
23
+
24
+ .categoryRow {
25
+ background-color: rgba(var(--primary-rgb), 0.1);
26
+ text-align: left;
27
+ font-weight: bold;
28
+ font-size: 1.2rem;
29
+ color: var(--primary-color);
30
+ }
31
+
32
+ .totalRow {
33
+ background-color: rgba(var(--primary-rgb), 0.05);
34
+ font-weight: bold;
35
+ text-align: right;
36
+ }
37
+
38
+ .noDataMessage {
39
+ text-align: center;
40
+ color: var(--secondary-color);
41
+ font-size: 1.125em;
42
+ padding: 1.5em;
43
+ margin: 2em auto;
44
+ background: #f9f9f9;
45
+ border: 1px solid #ddd;
46
+ border-radius: 6px;
47
+ max-width: 600px;
48
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
49
+ font-style: italic;
50
+ }
51
+
52
+ .polActions {
53
+ position: fixed;
54
+ bottom: 15px;
55
+ right: 20px;
56
+ width: auto;
57
+
58
+ button {
59
+ display: block;
60
+ padding: 0.35em 1em;
61
+ margin: 0 0.15em;
62
+ }
63
+ }
64
+
65
+ .gridtxt {
66
+ &__header {
67
+ width: 100%;
68
+ display: block;
69
+ background: rgba(var(--primary-rgb), 0.05);
70
+ box-sizing: border-box;
71
+ padding: 10px 20px;
72
+ border-radius: var(--br);
73
+ margin-bottom: 0;
74
+ font-weight: 700;
75
+ text-align: center;
76
+ color: var(--paragraph-color);
77
+
78
+ span {
79
+ font-weight: 700;
80
+ }
81
+ }
82
+
83
+ > ul {
84
+ width: 100%;
85
+ display: flex;
86
+ justify-content: flex-start;
87
+ flex-wrap: wrap;
88
+ list-style: none;
89
+ padding: 0.85rem;
90
+ margin: 0;
91
+
92
+ li {
93
+ flex: 0 0 calc(50% - 10px);
94
+ padding: 0.65rem;
95
+ border: 1px solid rgba(var(--primary-rgb), 0.095);
96
+ color: var(--paragraph-color);
97
+ background: rgba(var(--primary-rgb), 0.015);
98
+ margin: 3px;
99
+ border-radius: var(--br);
100
+ line-height: 1.45;
101
+ font-size: 0.85rem;
102
+
103
+ &.fw-grid-item {
104
+ flex: 0 0 calc(100% - 10px);
105
+ }
106
+
107
+ &.notecolor {
108
+ border: 1px solid var(--secondary-color);
109
+ }
110
+ }
111
+ }
112
+ }
113
+
114
+ .btn {
115
+ width: max-content;
116
+ display: inline-block;
117
+ position: relative;
118
+ padding: 0.65rem 1rem;
119
+ cursor: pointer;
120
+ font-size: 1rem;
121
+ color: var(--tertiary-color);
122
+ text-decoration: none;
123
+ overflow: hidden;
124
+ background: var(--primary-color);
125
+ border: 1px solid rgba(var(--primary-color--rgb), 1.1);
126
+ border-radius: var(--br);
127
+ outline: none;
128
+ transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
129
+ font-size: 1.25em;
130
+ }
131
+
132
+ .btn:hover {
133
+ color: var(--primary-color);
134
+ background: var(--highlight-color);
135
+ border: 1px solid rgba(var(--highlight-rgb), 1.05);
136
+ }
137
+
138
+ .tdactions {
139
+ width: 100%;
140
+ display: flex;
141
+ flex-wrap: nowrap;
142
+ justify-content: flex-start;
143
+ align-items: center;
144
+ gap: 0.1rem;
145
+
146
+ span {
147
+ display: flex;
148
+ align-items: center;
149
+ position: relative;
150
+ width: 18px;
151
+ height: 18px;
152
+
153
+ svg {
154
+ width: 18px;
155
+ height: 18px;
156
+ }
157
+ }
158
+ }
159
+
160
+ .noDataMessage {
161
+ text-align: center;
162
+ color: var(--primary-color);
163
+ font-size: 1rem;
164
+ padding: 2rem;
165
+ margin: 2rem auto;
166
+ background-color: var(--secondary-bg-color, #f8f8f8);
167
+ border: 1px solid rgba(var(--primary-rgb), 0.15);
168
+ border-radius: 6px;
169
+ max-width: 80%;
170
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
171
+ font-weight: 500;
172
+ font-family: var(--font-family, Arial, sans-serif);
173
+ }
174
+
175
+ .noDataMessage:hover {
176
+ background-color: rgba(var(--primary-rgb), 0.05);
177
+ border-color: rgba(var(--primary-rgb), 0.2);
178
+ }