@visns-studio/visns-components 5.11.2 → 5.11.4
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/README.md +55 -0
- package/package.json +1 -1
- package/src/components/crm/AssociationManager.jsx +431 -0
- package/src/components/crm/BusinessCardOcr.jsx +190 -6
- package/src/components/crm/ClientAssociationManager.jsx +362 -0
- package/src/components/crm/MergeEntity.jsx +1049 -0
- package/src/components/crm/MultiSelect.jsx +14 -3
- package/src/components/crm/Navigation.jsx +67 -8
- package/src/components/crm/cells/CellWithTooltip.jsx +35 -28
- package/src/components/crm/generic/GenericDetail.jsx +25 -0
- package/src/components/crm/generic/GenericReport.jsx +1457 -434
- package/src/components/crm/generic/styles/GenericReport.module.scss +598 -24
- package/src/components/crm/styles/AssociationManager.module.scss +364 -0
- package/src/components/crm/styles/BusinessCardOcr.module.scss +362 -94
- package/src/components/crm/styles/ClientAssociationManager.module.scss +290 -0
- package/src/components/crm/styles/MergeEntity.module.scss +690 -0
- package/src/components/crm/styles/MultiSelect.module.scss +18 -0
- package/src/components/crm/styles/Navigation.module.scss +148 -16
- package/src/components/crm/styles/global-datagrid.css +9 -0
- package/src/index.js +6 -0
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
line-height: 1.45;
|
|
14
14
|
margin-right: 1rem;
|
|
15
15
|
|
|
16
|
+
.logoButton {
|
|
17
|
+
background: none;
|
|
18
|
+
border: none;
|
|
19
|
+
padding: 0;
|
|
20
|
+
margin: 0;
|
|
21
|
+
cursor: pointer;
|
|
22
|
+
width: 100%;
|
|
23
|
+
display: block;
|
|
24
|
+
}
|
|
25
|
+
|
|
16
26
|
img {
|
|
17
27
|
width: 100%;
|
|
18
28
|
height: auto;
|
|
@@ -89,7 +99,8 @@
|
|
|
89
99
|
}
|
|
90
100
|
|
|
91
101
|
a,
|
|
92
|
-
span
|
|
102
|
+
span,
|
|
103
|
+
button {
|
|
93
104
|
font-size: 0.9rem;
|
|
94
105
|
display: flex;
|
|
95
106
|
flex-wrap: nowrap;
|
|
@@ -103,11 +114,16 @@
|
|
|
103
114
|
outline: none;
|
|
104
115
|
border-radius: var(--br);
|
|
105
116
|
transition: all 0.15s cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
117
|
+
background: none;
|
|
118
|
+
border: none;
|
|
119
|
+
cursor: pointer;
|
|
120
|
+
font-family: inherit;
|
|
106
121
|
}
|
|
107
122
|
|
|
108
123
|
&.nav-item {
|
|
109
124
|
a,
|
|
110
|
-
span
|
|
125
|
+
span,
|
|
126
|
+
button {
|
|
111
127
|
color: var(--tertiary-color);
|
|
112
128
|
}
|
|
113
129
|
|
|
@@ -120,7 +136,9 @@
|
|
|
120
136
|
&:hover a,
|
|
121
137
|
&.active a,
|
|
122
138
|
&:hover span,
|
|
123
|
-
&.active span
|
|
139
|
+
&.active span,
|
|
140
|
+
&:hover button,
|
|
141
|
+
&.active button {
|
|
124
142
|
background: rgba(var(--secondary-rgb), 1);
|
|
125
143
|
color: var(--tertiary-color);
|
|
126
144
|
}
|
|
@@ -175,7 +193,8 @@
|
|
|
175
193
|
border-radius: 0;
|
|
176
194
|
}
|
|
177
195
|
|
|
178
|
-
> a
|
|
196
|
+
> a,
|
|
197
|
+
> button {
|
|
179
198
|
width: 100%;
|
|
180
199
|
padding: 8px 20px;
|
|
181
200
|
box-sizing: border-box;
|
|
@@ -187,9 +206,14 @@
|
|
|
187
206
|
background: rgba(var(--primary-rgb), 1);
|
|
188
207
|
color: var(--tertiary-color) !important;
|
|
189
208
|
position: relative;
|
|
209
|
+
border: none;
|
|
210
|
+
cursor: pointer;
|
|
211
|
+
font-family: inherit;
|
|
212
|
+
text-align: left;
|
|
190
213
|
}
|
|
191
214
|
|
|
192
|
-
&:hover a
|
|
215
|
+
&:hover a,
|
|
216
|
+
&:hover button {
|
|
193
217
|
background: rgba(var(--primary-rgb), 1);
|
|
194
218
|
color: var(--tertiary-color);
|
|
195
219
|
}
|
|
@@ -304,6 +328,8 @@
|
|
|
304
328
|
.hactions {
|
|
305
329
|
width: max-content;
|
|
306
330
|
justify-self: end;
|
|
331
|
+
position: relative;
|
|
332
|
+
z-index: 1000; // Higher z-index to stay above sticky header
|
|
307
333
|
|
|
308
334
|
> ul {
|
|
309
335
|
list-style: none;
|
|
@@ -313,10 +339,21 @@
|
|
|
313
339
|
flex-wrap: nowrap;
|
|
314
340
|
flex-direction: row;
|
|
315
341
|
align-items: center;
|
|
316
|
-
justify-content:
|
|
342
|
+
justify-content: flex-end;
|
|
343
|
+
gap: 2px;
|
|
344
|
+
position: relative;
|
|
345
|
+
z-index: 1001;
|
|
317
346
|
|
|
318
347
|
li {
|
|
319
|
-
margin: 0
|
|
348
|
+
margin: 0 2px;
|
|
349
|
+
position: relative;
|
|
350
|
+
display: flex;
|
|
351
|
+
align-items: center;
|
|
352
|
+
flex-shrink: 0;
|
|
353
|
+
min-width: 32px; // Reduced from 40px for better spacing
|
|
354
|
+
min-height: 32px; // Reduced from 40px for better spacing
|
|
355
|
+
justify-content: center;
|
|
356
|
+
z-index: 1002;
|
|
320
357
|
}
|
|
321
358
|
|
|
322
359
|
a {
|
|
@@ -325,15 +362,30 @@
|
|
|
325
362
|
padding: 0.35rem;
|
|
326
363
|
text-decoration: none;
|
|
327
364
|
background: none;
|
|
328
|
-
border:
|
|
365
|
+
border: 1px solid var(--primary-color);
|
|
329
366
|
border-radius: 100%;
|
|
330
|
-
transition: all 0.
|
|
367
|
+
transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1); // Reduced duration
|
|
331
368
|
display: flex;
|
|
332
369
|
align-items: center;
|
|
370
|
+
justify-content: center;
|
|
371
|
+
width: 32px; // Reduced from 36px
|
|
372
|
+
height: 32px; // Reduced from 36px
|
|
373
|
+
position: relative;
|
|
374
|
+
z-index: 1003;
|
|
375
|
+
transform: translateZ(0) translateX(0) translateY(0); // Force compositor layer
|
|
376
|
+
will-change: transform, background-color; // Optimize for animations
|
|
377
|
+
/* Remove contain: layout to prevent rendering optimization conflicts */
|
|
378
|
+
outline: none;
|
|
379
|
+
appearance: none;
|
|
380
|
+
backface-visibility: hidden; // Prevent rendering glitches
|
|
381
|
+
-webkit-backface-visibility: hidden;
|
|
382
|
+
/* Force onto own layer to prevent culling */
|
|
383
|
+
isolation: isolate;
|
|
333
384
|
|
|
334
385
|
&:hover,
|
|
335
386
|
&.active {
|
|
336
387
|
background: var(--primary-color);
|
|
388
|
+
transform: translateZ(0) scale(1.05); // Slight scale on hover
|
|
337
389
|
|
|
338
390
|
svg {
|
|
339
391
|
color: var(--secondary-color);
|
|
@@ -349,15 +401,27 @@
|
|
|
349
401
|
background: none;
|
|
350
402
|
border: 1px solid var(--primary-color);
|
|
351
403
|
border-radius: 100%;
|
|
352
|
-
transition: all 0.
|
|
404
|
+
transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1); // Reduced duration
|
|
353
405
|
display: flex;
|
|
354
406
|
align-items: center;
|
|
407
|
+
justify-content: center;
|
|
408
|
+
width: 32px; // Reduced from 36px
|
|
409
|
+
height: 32px; // Reduced from 36px
|
|
355
410
|
outline: none;
|
|
356
411
|
appearance: none;
|
|
412
|
+
position: relative;
|
|
413
|
+
z-index: 1003;
|
|
414
|
+
transform: translateZ(0) translateX(0) translateY(0); // Force compositor layer
|
|
415
|
+
will-change: transform, background-color; // Optimize for animations
|
|
416
|
+
/* Remove contain: layout to prevent rendering optimization conflicts */
|
|
417
|
+
backface-visibility: hidden; // Prevent rendering glitches
|
|
418
|
+
-webkit-backface-visibility: hidden;
|
|
419
|
+
isolation: isolate;
|
|
357
420
|
|
|
358
421
|
&:hover,
|
|
359
422
|
&.active {
|
|
360
423
|
background: var(--primary-color);
|
|
424
|
+
transform: translateZ(0) scale(1.05); // Slight scale on hover
|
|
361
425
|
|
|
362
426
|
svg {
|
|
363
427
|
color: var(--secondary-color);
|
|
@@ -370,6 +434,8 @@
|
|
|
370
434
|
.hactions-alternate {
|
|
371
435
|
width: max-content;
|
|
372
436
|
justify-self: end;
|
|
437
|
+
position: relative;
|
|
438
|
+
z-index: 1000; // Higher z-index to stay above sticky header
|
|
373
439
|
|
|
374
440
|
> ul {
|
|
375
441
|
list-style: none;
|
|
@@ -379,10 +445,21 @@
|
|
|
379
445
|
flex-wrap: nowrap;
|
|
380
446
|
flex-direction: row;
|
|
381
447
|
align-items: center;
|
|
382
|
-
justify-content:
|
|
448
|
+
justify-content: flex-end;
|
|
449
|
+
gap: 2px;
|
|
450
|
+
position: relative;
|
|
451
|
+
z-index: 1001;
|
|
383
452
|
|
|
384
453
|
li {
|
|
385
|
-
margin: 0
|
|
454
|
+
margin: 0 2px;
|
|
455
|
+
position: relative;
|
|
456
|
+
display: flex;
|
|
457
|
+
align-items: center;
|
|
458
|
+
flex-shrink: 0;
|
|
459
|
+
min-width: 32px; // Reduced from 40px for better spacing
|
|
460
|
+
min-height: 32px; // Reduced from 40px for better spacing
|
|
461
|
+
justify-content: center;
|
|
462
|
+
z-index: 1002;
|
|
386
463
|
}
|
|
387
464
|
|
|
388
465
|
a {
|
|
@@ -391,15 +468,30 @@
|
|
|
391
468
|
padding: 0.35rem;
|
|
392
469
|
text-decoration: none;
|
|
393
470
|
background: none;
|
|
394
|
-
border:
|
|
471
|
+
border: 1px solid var(--primary-color);
|
|
395
472
|
border-radius: 100%;
|
|
396
|
-
transition: all 0.
|
|
473
|
+
transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1); // Reduced duration
|
|
397
474
|
display: flex;
|
|
398
475
|
align-items: center;
|
|
476
|
+
justify-content: center;
|
|
477
|
+
width: 32px; // Reduced from 36px
|
|
478
|
+
height: 32px; // Reduced from 36px
|
|
479
|
+
position: relative;
|
|
480
|
+
z-index: 1003;
|
|
481
|
+
transform: translateZ(0) translateX(0) translateY(0); // Force compositor layer
|
|
482
|
+
will-change: transform, background-color; // Optimize for animations
|
|
483
|
+
/* Remove contain: layout to prevent rendering optimization conflicts */
|
|
484
|
+
outline: none;
|
|
485
|
+
appearance: none;
|
|
486
|
+
backface-visibility: hidden; // Prevent rendering glitches
|
|
487
|
+
-webkit-backface-visibility: hidden;
|
|
488
|
+
/* Force onto own layer to prevent culling */
|
|
489
|
+
isolation: isolate;
|
|
399
490
|
|
|
400
491
|
&:hover,
|
|
401
492
|
&.active {
|
|
402
493
|
background: var(--primary-color);
|
|
494
|
+
transform: translateZ(0) scale(1.05); // Slight scale on hover
|
|
403
495
|
|
|
404
496
|
svg {
|
|
405
497
|
color: var(--tertiary-color);
|
|
@@ -415,15 +507,27 @@
|
|
|
415
507
|
background: none;
|
|
416
508
|
border: 1px solid var(--primary-color);
|
|
417
509
|
border-radius: 100%;
|
|
418
|
-
transition: all 0.
|
|
510
|
+
transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1); // Reduced duration
|
|
419
511
|
display: flex;
|
|
420
512
|
align-items: center;
|
|
513
|
+
justify-content: center;
|
|
514
|
+
width: 32px; // Reduced from 36px
|
|
515
|
+
height: 32px; // Reduced from 36px
|
|
421
516
|
outline: none;
|
|
422
517
|
appearance: none;
|
|
518
|
+
position: relative;
|
|
519
|
+
z-index: 1003;
|
|
520
|
+
transform: translateZ(0) translateX(0) translateY(0); // Force compositor layer
|
|
521
|
+
will-change: transform, background-color; // Optimize for animations
|
|
522
|
+
/* Remove contain: layout to prevent rendering optimization conflicts */
|
|
523
|
+
backface-visibility: hidden; // Prevent rendering glitches
|
|
524
|
+
-webkit-backface-visibility: hidden;
|
|
525
|
+
isolation: isolate;
|
|
423
526
|
|
|
424
527
|
&:hover,
|
|
425
528
|
&.active {
|
|
426
529
|
background: var(--primary-color);
|
|
530
|
+
transform: translateZ(0) scale(1.05); // Slight scale on hover
|
|
427
531
|
|
|
428
532
|
svg {
|
|
429
533
|
color: var(--tertiary-color);
|
|
@@ -629,13 +733,17 @@
|
|
|
629
733
|
flex-wrap: nowrap;
|
|
630
734
|
justify-content: space-between;
|
|
631
735
|
align-items: center;
|
|
632
|
-
overflow
|
|
736
|
+
overflow: visible; /* Allow icons to remain visible */
|
|
633
737
|
-webkit-overflow-scrolling: touch;
|
|
634
738
|
scrollbar-width: none; /* Firefox */
|
|
635
739
|
-ms-overflow-style: none; /* IE and Edge */
|
|
636
740
|
position: sticky;
|
|
637
741
|
top: 0;
|
|
638
742
|
z-index: 995;
|
|
743
|
+
/* Remove contain: layout as it can cause rendering issues with child elements */
|
|
744
|
+
transform: translateZ(0); /* Force hardware acceleration */
|
|
745
|
+
backface-visibility: hidden; /* Prevent rendering glitches */
|
|
746
|
+
-webkit-backface-visibility: hidden;
|
|
639
747
|
|
|
640
748
|
/* Hide scrollbar for Chrome/Safari/Opera */
|
|
641
749
|
&::-webkit-scrollbar {
|
|
@@ -980,6 +1088,30 @@
|
|
|
980
1088
|
}
|
|
981
1089
|
}
|
|
982
1090
|
|
|
1091
|
+
// Debug styles for troubleshooting icon disappearing
|
|
1092
|
+
.debug-icons {
|
|
1093
|
+
a, button {
|
|
1094
|
+
border: 2px solid red !important;
|
|
1095
|
+
background: rgba(255, 0, 0, 0.1) !important;
|
|
1096
|
+
|
|
1097
|
+
&::before {
|
|
1098
|
+
content: 'A' !important;
|
|
1099
|
+
position: absolute !important;
|
|
1100
|
+
top: -15px !important;
|
|
1101
|
+
left: 0 !important;
|
|
1102
|
+
font-size: 10px !important;
|
|
1103
|
+
background: red !important;
|
|
1104
|
+
color: white !important;
|
|
1105
|
+
padding: 2px !important;
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
button::before {
|
|
1110
|
+
content: 'B' !important;
|
|
1111
|
+
background: blue !important;
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
|
|
983
1115
|
@media (max-width: 960px) {
|
|
984
1116
|
.hwrap {
|
|
985
1117
|
grid-template-columns: auto 1fr auto;
|
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
overflow: hidden !important;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
+
/* Ensure tooltips always appear above all other elements */
|
|
7
|
+
.react-tooltip,
|
|
8
|
+
div[role="tooltip"],
|
|
9
|
+
[data-tooltip-id] + div[role="tooltip"],
|
|
10
|
+
.tooltip {
|
|
11
|
+
z-index: 999999 !important;
|
|
12
|
+
position: fixed !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
6
15
|
.InovuaReactDataGrid__header-wrapper {
|
|
7
16
|
border-top-left-radius: var(--br, 4px) !important;
|
|
8
17
|
border-top-right-radius: var(--br, 4px) !important;
|
package/src/index.js
CHANGED
|
@@ -6,15 +6,18 @@ import SortableList from './components/cms/sorting/List';
|
|
|
6
6
|
|
|
7
7
|
/** CRM Components */
|
|
8
8
|
import AsyncSelect from './components/crm/AsyncSelect';
|
|
9
|
+
import AssociationManager from './components/crm/AssociationManager';
|
|
9
10
|
import Autocomplete from './components/crm/Autocomplete';
|
|
10
11
|
import Breadcrumb from './components/crm/Breadcrumb';
|
|
11
12
|
import BusinessCardOcr from './components/crm/BusinessCardOcr';
|
|
12
13
|
import Call from './components/crm/Call';
|
|
14
|
+
import ClientAssociationManager from './components/crm/ClientAssociationManager';
|
|
13
15
|
import CustomFetch from './components/crm/Fetch';
|
|
14
16
|
import Download from './components/crm/Download';
|
|
15
17
|
import Field from './components/crm/Field';
|
|
16
18
|
import Form from './components/crm/Form';
|
|
17
19
|
import Loader from './components/crm/Loader';
|
|
20
|
+
import MergeEntity from './components/crm/MergeEntity';
|
|
18
21
|
import MultiSelect from './components/crm/MultiSelect';
|
|
19
22
|
import Navigation from './components/crm/Navigation';
|
|
20
23
|
import Notification from './components/crm/Notification';
|
|
@@ -64,6 +67,7 @@ import NotificationList from './components/crm/generic/NotificationList';
|
|
|
64
67
|
|
|
65
68
|
export {
|
|
66
69
|
AsyncSelect,
|
|
70
|
+
AssociationManager,
|
|
67
71
|
AudioPlayer,
|
|
68
72
|
AuditLog,
|
|
69
73
|
AuditLogs,
|
|
@@ -73,6 +77,7 @@ export {
|
|
|
73
77
|
BusinessCardOcr,
|
|
74
78
|
Call,
|
|
75
79
|
CellWithTooltip,
|
|
80
|
+
ClientAssociationManager,
|
|
76
81
|
ClientLogin,
|
|
77
82
|
ClientOTPVerify,
|
|
78
83
|
ClientPortal,
|
|
@@ -104,6 +109,7 @@ export {
|
|
|
104
109
|
GenericSort,
|
|
105
110
|
Loader,
|
|
106
111
|
Login,
|
|
112
|
+
MergeEntity,
|
|
107
113
|
MultiSelect,
|
|
108
114
|
Navigation,
|
|
109
115
|
Notification,
|