@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.
@@ -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: center;
342
+ justify-content: flex-end;
343
+ gap: 2px;
344
+ position: relative;
345
+ z-index: 1001;
317
346
 
318
347
  li {
319
- margin: 0 5px;
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: 2px solid var(--primary-color);
365
+ border: 1px solid var(--primary-color);
329
366
  border-radius: 100%;
330
- transition: all 0.65s cubic-bezier(0.25, 0.8, 0.25, 1);
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.65s cubic-bezier(0.25, 0.8, 0.25, 1);
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: center;
448
+ justify-content: flex-end;
449
+ gap: 2px;
450
+ position: relative;
451
+ z-index: 1001;
383
452
 
384
453
  li {
385
- margin: 0 5px;
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: 2px solid var(--primary-color);
471
+ border: 1px solid var(--primary-color);
395
472
  border-radius: 100%;
396
- transition: all 0.65s cubic-bezier(0.25, 0.8, 0.25, 1);
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.65s cubic-bezier(0.25, 0.8, 0.25, 1);
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-x: auto; /* Allow horizontal scrolling if needed */
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,