react-core-ts 1.2.9 → 1.2.11

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.9",
3
+ "version": "1.2.11",
4
4
  "description": "React Components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -122,8 +122,14 @@ const AutoCompleteWithSelectedList = forwardRef<
122
122
  dropdownPosition.top =
123
123
  inputRect.top + window.scrollY + inputRect.height;
124
124
  } else {
125
+ console.log(
126
+ inputRect.top,
127
+ window.scrollY,
128
+ dropdownHeight,
129
+ dropdownSelectedRef?.current?.clientHeight
130
+ );
125
131
  dropdownPosition.top = viewMode
126
- ? inputRect.top + window.scrollY - dropdownHeight + 73
132
+ ? inputRect.top + window.scrollY - dropdownHeight + 18
127
133
  : inputRect.top + window.scrollY - dropdownHeight + 73 + topMargin;
128
134
  }
129
135
 
@@ -142,15 +148,6 @@ const AutoCompleteWithSelectedList = forwardRef<
142
148
  };
143
149
  }, [selectedItems, expandArrowClick]);
144
150
 
145
- useEffect(() => {
146
- window.addEventListener('resize', adjustDropdownPosition);
147
- adjustDropdownPosition();
148
-
149
- return () => {
150
- window.removeEventListener('resize', adjustDropdownPosition);
151
- };
152
- }, []);
153
-
154
151
  const { suggestions, isLoading, handlePickSuggestions } = useSuggestions(
155
152
  getData,
156
153
  data,
@@ -402,8 +399,11 @@ const AutoCompleteWithSelectedList = forwardRef<
402
399
  .join(', ')
403
400
  : '';
404
401
 
405
- const handleDropOpen = (e: any) => {
406
- if (!dropOpen) setDropOpen(true);
402
+ const handleDropOpen = async (e: any) => {
403
+ adjustDropdownPosition();
404
+ setTimeout(() => {
405
+ if (!dropOpen) setDropOpen(true);
406
+ }, 100);
407
407
  };
408
408
 
409
409
  const handleDropClose = (e: any) => {