react-core-ts 1.2.14 → 1.2.16

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.
@@ -0,0 +1,496 @@
1
+ .tooltip-container {
2
+ position: relative;
3
+ transition: background-color 0.3s, width 0.3s, height 0.3s, color 0.3s;
4
+ }
5
+
6
+ .bottom {
7
+ .tooltip {
8
+ position: absolute;
9
+ bottom: -40;
10
+ right: 3px;
11
+ transform: translateX(0%);
12
+ padding: 0.3em 0.6em;
13
+ opacity: 0;
14
+ width: max-content;
15
+ max-width: 100%;
16
+ z-index: 999;
17
+ font-size: 12px;
18
+ color: #fff !important;
19
+ pointer-events: none;
20
+ transition: all 0.3s;
21
+ border: 1px solid #e55353;
22
+ background-color: #e55353;
23
+ border-radius: 6px;
24
+ color: rgb(34, 34, 34);
25
+
26
+ &.info {
27
+ color: #ffffff !important;
28
+ border: 1px solid #ffffff;
29
+ background-color: #000000;
30
+ right: 1px;
31
+ top: 5px;
32
+ }
33
+
34
+ &.card {
35
+ color: #ffffff !important;
36
+ border: 1px solid #ffffff;
37
+ background-color: #000000;
38
+ right: -8px;
39
+ top: 5px;
40
+ }
41
+ }
42
+
43
+ .tooltip::before {
44
+ position: absolute;
45
+ content: '';
46
+ height: 0.6em;
47
+ width: 0.6em;
48
+ right: 20px;
49
+ z-index: 999;
50
+ top: -4px;
51
+ border: 1px solid #e55353;
52
+ border-right: none;
53
+ border-bottom: none;
54
+ transform: translate(50%) rotate(45deg);
55
+ background-color: #e55353;
56
+ }
57
+
58
+ .info.tooltip::before {
59
+ border: 1px solid #000000;
60
+ background-color: #000000;
61
+ right: 14px;
62
+ position: absolute;
63
+ content: '';
64
+ height: 0.6em;
65
+ width: 0.6em;
66
+ z-index: 999;
67
+ top: -4px;
68
+ border-right: none;
69
+ border-bottom: none;
70
+ transform: translate(50%) rotate(45deg);
71
+ }
72
+
73
+ .card.tooltip::before {
74
+ border: 1px solid #000000;
75
+ background-color: #000000;
76
+ right: 14px;
77
+ position: absolute;
78
+ content: '';
79
+ height: 0.6em;
80
+ width: 0.6em;
81
+ z-index: 999;
82
+ top: -3px;
83
+ border-right: none;
84
+ border-bottom: none;
85
+ transform: translate(50%) rotate(45deg);
86
+ }
87
+
88
+ .tooltip-container:hover .tooltip {
89
+ top: 46px;
90
+ opacity: 1;
91
+ visibility: visible;
92
+ z-index: 999;
93
+ pointer-events: auto;
94
+
95
+ &.info {
96
+ top: 30px;
97
+ max-width: 500px;
98
+ position: absolute;
99
+ }
100
+
101
+ &.card {
102
+ top: 20px;
103
+ max-width: 300px;
104
+ position: absolute;
105
+ }
106
+ }
107
+ .tooltip-info {
108
+ position: absolute;
109
+ bottom: -40;
110
+ right: 3px;
111
+ transform: translateX(0%);
112
+ padding: 0.3em 0.6em;
113
+ opacity: 0;
114
+ width: max-content;
115
+ max-width: 100%;
116
+ z-index: 999;
117
+ font-size: 12px;
118
+ color: #fff !important;
119
+ pointer-events: none;
120
+ transition: all 0.3s;
121
+ border: 1px solid #475467;
122
+ background-color: #475467;
123
+ border-radius: 6px;
124
+ }
125
+ .tooltip-info::before {
126
+ position: absolute;
127
+ content: '';
128
+ height: 0.6em;
129
+ width: 0.6em;
130
+ right: 20px;
131
+ z-index: 999;
132
+ top: -4px;
133
+ border: 1px solid #475467;
134
+ border-right: none;
135
+ border-bottom: none;
136
+ transform: translate(50%) rotate(45deg);
137
+ background-color: #475467;
138
+ }
139
+
140
+ .tooltip-container:hover .tooltip-info {
141
+ top: 46px;
142
+ opacity: 1;
143
+ visibility: visible;
144
+ z-index: 999;
145
+ pointer-events: auto;
146
+ }
147
+ }
148
+ .top-tool {
149
+ .tooltip {
150
+ position: absolute;
151
+ bottom: 45px !important;
152
+ left: 0;
153
+ top: auto !important;
154
+ transform: translateX(0%);
155
+ padding: 0.3em 0.6em;
156
+ opacity: 0;
157
+ width: max-content;
158
+ white-space: normal;
159
+ z-index: 999;
160
+ font-size: 12px;
161
+ max-width: 100%;
162
+ color: #ff681d !important;
163
+ pointer-events: none;
164
+ transition: all 0.3s;
165
+ border: 1px solid #ff681d;
166
+ background-color: #fff;
167
+ border-radius: 6px;
168
+ color: rgb(34, 34, 34);
169
+ }
170
+
171
+ .tooltip::before {
172
+ position: absolute;
173
+ content: '';
174
+ height: 0.6em;
175
+ width: 0.6em;
176
+ z-index: 999;
177
+ bottom: -4px;
178
+ border: 1px solid #ff681d;
179
+ border-left: none;
180
+ border-top: none;
181
+ transform: translate(50%) rotate(45deg);
182
+ background-color: #fff;
183
+ }
184
+
185
+ .tooltip-container:hover .tooltip {
186
+ bottom: 45px !important;
187
+ opacity: 1;
188
+ top: auto !important;
189
+ visibility: visible;
190
+ z-index: 999;
191
+ pointer-events: auto;
192
+ }
193
+ }
194
+ .bottom-tool {
195
+ .tooltip {
196
+ position: absolute;
197
+ bottom: -40;
198
+ transform: translateX(0%);
199
+ padding: 0.3em 0.6em;
200
+ opacity: 0;
201
+ width: max-content;
202
+ max-width: 100%;
203
+ z-index: 999;
204
+ font-size: 12px;
205
+ color: #ff681d !important;
206
+ white-space: wrap;
207
+ pointer-events: none;
208
+ transition: background-color 0.3s, width 0.3s, height 0.3s, color 0.3s;
209
+ border: 1px solid #ff681d;
210
+ background-color: #fff;
211
+ border-radius: 6px;
212
+ color: rgb(34, 34, 34);
213
+ }
214
+
215
+ .tooltip::before {
216
+ position: absolute;
217
+ content: '';
218
+ height: 0.6em;
219
+ width: 0.6em;
220
+ z-index: 999;
221
+ top: -4px;
222
+ border: 1px solid #ff681d;
223
+ border-right: none;
224
+ border-bottom: none;
225
+ transform: translate(50%) rotate(45deg);
226
+ background-color: #fff;
227
+ }
228
+
229
+ .tooltip-container:hover .tooltip {
230
+ top: 46px;
231
+ opacity: 1;
232
+ visibility: visible;
233
+ z-index: 999;
234
+ pointer-events: auto;
235
+ }
236
+ }
237
+
238
+ .right {
239
+ .tooltip {
240
+ position: absolute;
241
+ top: 2.5px;
242
+ left: calc(100% + 9px);
243
+ transform: translateX(0%);
244
+ padding: 8px;
245
+ opacity: 0;
246
+ min-width: 200px;
247
+ max-width: 200px;
248
+ min-height: calc(100% - 16px);
249
+ height: auto;
250
+ z-index: 999;
251
+ font-size: 12px;
252
+ color: #fff !important;
253
+ pointer-events: none;
254
+ transition: background-color 0.3s, width 0.3s, height 0.3s, color 0.3s;
255
+ border: 1px solid #e55353;
256
+ background-color: #e55353;
257
+ border-radius: 6px;
258
+ color: rgb(34, 34, 34);
259
+ }
260
+
261
+ .tooltip-card {
262
+ padding: 3px 10px 4px;
263
+ top: -4px;
264
+ min-width: 175px;
265
+ background-color: #3d414a;
266
+ border: 1px solid #3d414a;
267
+ }
268
+
269
+ .tooltip::before {
270
+ position: absolute;
271
+ content: '';
272
+ height: 0.6em;
273
+ width: 0.6em;
274
+ left: -8px;
275
+ top: 14px;
276
+ z-index: 999;
277
+ transform: translateY(10px);
278
+ border: 1px solid #e55353;
279
+ border-top: none;
280
+ border-right: none;
281
+ transform: translate(50%) rotate(45deg);
282
+ background-color: #e55353;
283
+ }
284
+
285
+ .tooltip-card::before {
286
+ top: 8px;
287
+ background-color: #3d414a;
288
+ border: 1px solid #3d414a;
289
+ }
290
+
291
+ .tooltip-container:hover {
292
+ .tooltip {
293
+ top: 2.5px;
294
+ opacity: 1;
295
+ visibility: visible;
296
+ z-index: 999;
297
+ pointer-events: auto;
298
+ }
299
+
300
+ .tooltip-card {
301
+ top: -4px;
302
+ }
303
+ }
304
+ }
305
+
306
+ .left {
307
+ .tooltip {
308
+ position: absolute;
309
+ top: 2.5px;
310
+ right: calc(100% + 9px);
311
+ transform: translateX(0%);
312
+ padding: 8px;
313
+ opacity: 0;
314
+ min-width: 200px;
315
+ max-width: 200px;
316
+ min-height: calc(100% - 16px);
317
+ z-index: 999;
318
+ font-size: 12px;
319
+ color: #fff !important;
320
+ pointer-events: none;
321
+ transition: background-color 0.3s, width 0.3s, height 0.3s, color 0.3s;
322
+ border: 1px solid #e55353;
323
+ background-color: #e55353;
324
+ border-radius: 6px;
325
+ color: rgb(34, 34, 34);
326
+ }
327
+
328
+ .tooltip::before {
329
+ position: absolute;
330
+ content: '';
331
+ height: 0.6em;
332
+ width: 0.6em;
333
+ right: 0px;
334
+ top: 14px;
335
+ z-index: 999;
336
+ transform: translateY(10px);
337
+ border: 1px solid #e55353;
338
+ border-bottom: none;
339
+ border-left: none;
340
+ transform: translate(50%) rotate(45deg);
341
+ background-color: #e55353;
342
+ }
343
+
344
+ .tooltip-container:hover .tooltip {
345
+ top: 2.5px;
346
+ opacity: 1;
347
+ visibility: visible;
348
+ z-index: 999;
349
+ pointer-events: auto;
350
+ }
351
+ }
352
+
353
+ .top {
354
+ .tooltip-info {
355
+ position: absolute;
356
+ top: -40;
357
+ left: 0;
358
+ transform: translateX(0%);
359
+ padding: 0.3em 0.6em;
360
+ opacity: 0;
361
+ width: 100%;
362
+ z-index: 999;
363
+ font-size: 12px;
364
+ color: #fff !important;
365
+ pointer-events: none;
366
+ transition: background-color 0.3s, width 0.3s, height 0.3s, color 0.3s;
367
+ border: 1px solid #475467;
368
+ background-color: #475467;
369
+ border-radius: 6px;
370
+ }
371
+
372
+ .tooltip-info::before {
373
+ position: absolute;
374
+ content: '';
375
+ height: 0.6em;
376
+ width: 0.6em;
377
+ right: 20px;
378
+ z-index: 999;
379
+ bottom: -4px;
380
+ border: 1px solid #475467;
381
+ border-left: none;
382
+ border-top: none;
383
+ transform: translate(50%) rotate(45deg);
384
+ background-color: #475467;
385
+ }
386
+
387
+ .tooltip-container:hover .tooltip-info {
388
+ top: -40px;
389
+ opacity: 1;
390
+ visibility: visible;
391
+ z-index: 999;
392
+ pointer-events: auto;
393
+ }
394
+ .tooltip {
395
+ position: absolute;
396
+ top: -40;
397
+ left: 0;
398
+ transform: translateX(0%);
399
+ padding: 0.3em 0.6em;
400
+ opacity: 0;
401
+ width: 100%;
402
+ z-index: 999;
403
+ font-size: 12px;
404
+ color: #fff !important;
405
+ pointer-events: none;
406
+ transition: background-color 0.3s, width 0.3s, height 0.3s, color 0.3s;
407
+ border: 1px solid #e55353;
408
+ background-color: #e55353;
409
+ border-radius: 6px;
410
+ color: rgb(34, 34, 34);
411
+ }
412
+
413
+ .tooltip::before {
414
+ position: absolute;
415
+ content: '';
416
+ height: 0.6em;
417
+ width: 0.6em;
418
+ right: 20px;
419
+ z-index: 999;
420
+ bottom: -4px;
421
+ border: 1px solid #e55353;
422
+ border-left: none;
423
+ border-top: none;
424
+ transform: translate(50%) rotate(45deg);
425
+ background-color: #e55353;
426
+ }
427
+
428
+ .tooltip-container:hover .tooltip {
429
+ top: -40px;
430
+ opacity: 1;
431
+ visibility: visible;
432
+ z-index: 999;
433
+ pointer-events: auto;
434
+ }
435
+ }
436
+
437
+ .custom-tooltip-container {
438
+ position: relative;
439
+ display: inline-block;
440
+ }
441
+
442
+ .custom-text {
443
+ font-size: 18px;
444
+ cursor: pointer;
445
+ }
446
+
447
+ .custom-tooltip {
448
+ position: absolute;
449
+ top: 100%;
450
+ left: 20%;
451
+ opacity: 0;
452
+ visibility: hidden;
453
+ font-size: 12px;
454
+ background: #deefff;
455
+ border-color: #bee0ff;
456
+ padding: 5px;
457
+ align-items: center;
458
+ transition: opacity 0.3s, visibility 0.3s, top 0.3s, background 0.3s;
459
+ z-index: 1;
460
+ }
461
+
462
+ .custom-tooltip::before {
463
+ content: '';
464
+ position: absolute;
465
+ bottom: 100%;
466
+ left: 20%;
467
+ /* Center the arrow */
468
+ border-width: 9px;
469
+ /* Slightly larger to act as border */
470
+ border-style: solid;
471
+ border-color: transparent transparent #bee0ff transparent;
472
+ /* Border color */
473
+ transform: translateX(-20%);
474
+ z-index: -1;
475
+ /* Ensure it's behind the ::after pseudo-element */
476
+ }
477
+
478
+ .custom-tooltip::after {
479
+ content: '';
480
+ position: absolute;
481
+ bottom: 100%;
482
+ left: 20%;
483
+ border-width: 8px;
484
+ border-style: solid;
485
+ border-color: transparent transparent #deefff transparent;
486
+ transform: translateX(-20%);
487
+ z-index: 1;
488
+ }
489
+
490
+ .custom-tooltip-container:hover .custom-tooltip {
491
+ top: 100%;
492
+ opacity: 1;
493
+ visibility: visible;
494
+ background: #deefff;
495
+ transform: translate(-20%, 10px);
496
+ }
@@ -0,0 +1,63 @@
1
+ .qbs-tree-list-container {
2
+ display: flex;
3
+ flex-direction: column;
4
+ }
5
+ .qbs-tree-list-container-sub {
6
+ display: flex;
7
+ flex-direction: row;
8
+ align-items: flex-start;
9
+ gap: 1rem; /* Corresponds to gap-4 in Tailwind */
10
+ }
11
+
12
+ .qbs-tree-list-container-sub .no-children {
13
+ margin-left: 1.75rem; /* Corresponds to ml-7 in Tailwind */
14
+ }
15
+ .qbs-tree-list-container-sub-icon {
16
+ margin-top: 0.25rem; /* Corresponds to mt-1 in Tailwind */
17
+ cursor: pointer;
18
+ padding-top: 0.5rem; /* Corresponds to py-2 in Tailwind */
19
+ padding-bottom: 0.5rem;
20
+ transition: transform 0.3s ease; /* Smooth rotation transition */
21
+ }
22
+
23
+ .qbs-tree-list-container-sub-icon.expanded {
24
+ transform: rotate(90deg); /* Corresponds to rotate-90 in Tailwind */
25
+ }
26
+ .qbs-tree-list-container-sub-container {
27
+ display: flex;
28
+ gap: 0.5rem; /* Corresponds to gap-2 in Tailwind */
29
+ padding: 0.5rem; /* Corresponds to p-2 in Tailwind */
30
+ flex-direction: row; /* Corresponds to flex-row in Tailwind */
31
+ width: 100%; /* Corresponds to w-full in Tailwind */
32
+ }
33
+
34
+ .qbs-tree-list-container-sub-container.checked {
35
+ background-color: rgba(
36
+ 141,
37
+ 194,
38
+ 240,
39
+ 0.15
40
+ ) !important; /* Corresponds to bg-green-200 in Tailwind */
41
+ }
42
+ .qbs-tree-list-container-sub-container.marginLeft {
43
+ margin-left: 28px; /* Corresponds to ml-2 in Tailwind */
44
+ }
45
+ .qbs-tree-list-container-sub- {
46
+ line-height: 18px; /* Corresponds to leading-[18px] in Tailwind */
47
+ font-size: 0.875rem; /* Corresponds to text-sm in Tailwind (14px) */
48
+ }
49
+ .qbs-tree-list-container-child {
50
+ margin-left: 1rem; /* Corresponds to ml-4 in Tailwind */
51
+ margin-top: 0.5rem; /* Corresponds to mt-2 in Tailwind */
52
+ display: flex; /* Corresponds to flex in Tailwind */
53
+ flex-direction: column; /* Corresponds to flex-col in Tailwind */
54
+ gap: 0.5rem; /* Corresponds to gap-2 in Tailwind */
55
+ }
56
+ .qbs-tree-list-container-sub-text {
57
+ line-height: 18px; /* Corresponds to leading-[18px] in Tailwind */
58
+ font-size: 14px; /* Corresponds to text-sm in Tailwind (14px) */
59
+ font-weight: 500;
60
+ letter-spacing: 0.28px;
61
+ font-family: 'Noto Sans';
62
+ color: #3d414a;
63
+ }
@@ -0,0 +1,8 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @import './components/autocomplete.css';
6
+ @import './components/treedropdown.css';
7
+ @import './components/selectedautocomplete.css';
8
+ @import './components/tooltip.css';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-core-ts",
3
- "version": "1.2.14",
3
+ "version": "1.2.16",
4
4
  "description": "React Components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -141,7 +141,7 @@ const AutoCompleteWithSelectedList = forwardRef<
141
141
  return () => {
142
142
  window.removeEventListener('resize', adjustDropdownPosition);
143
143
  };
144
- }, [selectedItems, expandArrowClick, dropOpen]);
144
+ }, [selectedItems, expandArrowClick]);
145
145
 
146
146
  const { suggestions, isLoading, handlePickSuggestions } = useSuggestions(
147
147
  getData,
@@ -395,10 +395,7 @@ const AutoCompleteWithSelectedList = forwardRef<
395
395
  : '';
396
396
 
397
397
  const handleDropOpen = async (e: any) => {
398
- adjustDropdownPosition();
399
- setTimeout(() => {
400
- if (!dropOpen) setDropOpen(true);
401
- }, 100);
398
+ setDropOpen(!dropOpen);
402
399
  };
403
400
 
404
401
  const handleDropClose = (e: any) => {
@@ -479,7 +476,11 @@ const AutoCompleteWithSelectedList = forwardRef<
479
476
  </div>
480
477
  );
481
478
  };
482
-
479
+ useEffect(() => {
480
+ if (dropOpen) {
481
+ setTimeout(() => adjustDropdownPosition(), 100);
482
+ }
483
+ }, [dropOpen]);
483
484
  const getTabItems = () => {
484
485
  return (
485
486
  <ul
@@ -694,46 +695,50 @@ const AutoCompleteWithSelectedList = forwardRef<
694
695
  )}
695
696
  </div>
696
697
  <>
697
- {countOnly && selectedItems?.length > 0 && (
698
- <>
699
- <div
700
- className={`qbs-expandable-container qbs-dropdown-selected-container`}
701
- ref={dropdownSelectedRef}
702
- >
703
- <div className={`qbs-flex qbs-w-full qbs-text-xs`}>
704
- <div className="qbs-selected-lbs qbs-flex-grow">
705
- Selected Items
706
- </div>
707
- <div
708
- className={`qbs-clear-link qbs-text-right qbs-cursor-pointer ${
709
- viewMode ? 'hidden' : ''
710
- }`}
711
- onClick={handleClearSelected}
712
- >
713
- Clear all
698
+ <div>
699
+ {countOnly && selectedItems?.length > 0 && (
700
+ <>
701
+ <div
702
+ className={`qbs-expandable-container qbs-dropdown-selected-container`}
703
+ ref={dropdownSelectedRef}
704
+ >
705
+ <div className={`qbs-flex qbs-w-full qbs-text-xs`}>
706
+ <div className="qbs-selected-lbs qbs-flex-grow">
707
+ Selected Items
708
+ </div>
709
+ <div
710
+ className={`qbs-clear-link qbs-text-right qbs-cursor-pointer ${
711
+ viewMode ? 'hidden' : ''
712
+ }`}
713
+ onClick={handleClearSelected}
714
+ >
715
+ Clear all
716
+ </div>
714
717
  </div>
715
- </div>
716
718
 
717
- {getSelectedItems(true)}
718
-
719
- <>
720
- {selectedItems?.length > itemCount &&
721
- showAllSelected && (
722
- <div className="qbs-readmore-collapse">
723
- <div
724
- className="qbs-more-collapse"
725
- onClick={() => {
726
- handleCollapseArrowClick();
727
- }}
728
- >
729
- <DropArrow className={`icon-button-rotate`} />
719
+ {getSelectedItems(true)}
720
+
721
+ <>
722
+ {selectedItems?.length > itemCount &&
723
+ showAllSelected && (
724
+ <div className="qbs-readmore-collapse">
725
+ <div
726
+ className="qbs-more-collapse"
727
+ onClick={() => {
728
+ handleCollapseArrowClick();
729
+ }}
730
+ >
731
+ <DropArrow
732
+ className={`icon-button-rotate`}
733
+ />
734
+ </div>
730
735
  </div>
731
- </div>
732
- )}
733
- </>
734
- </div>
735
- </>
736
- )}
736
+ )}
737
+ </>
738
+ </div>
739
+ </>
740
+ )}
741
+ </div>
737
742
  </>
738
743
  </div>,
739
744
  document.body