react-core-ts 1.2.32 → 1.3.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.
@@ -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.32",
3
+ "version": "1.3.1",
4
4
  "description": "React Components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -85,6 +85,7 @@ const AutoCompleteWithSelectedList = forwardRef<
85
85
  const [expandArrowClick, setExpandArrowClick] = useState<
86
86
  number | undefined
87
87
  >(1);
88
+ const [visible, setVisible] = useState<boolean>(false);
88
89
  const [activeTab, setActiveTab] = useState<number>(currentTab);
89
90
  // API call for suggestions through a custom hook
90
91
  const inputRef = useRef(null);
@@ -366,7 +367,7 @@ const AutoCompleteWithSelectedList = forwardRef<
366
367
  } else {
367
368
  if (inputRef.current) inputRef.current.focus();
368
369
  }
369
- handleOnClick();
370
+ // handleOnClick();
370
371
  }
371
372
  };
372
373
 
@@ -393,7 +394,11 @@ const AutoCompleteWithSelectedList = forwardRef<
393
394
  : '';
394
395
 
395
396
  const handleDropOpen = (e: any) => {
397
+ setVisible(false);
396
398
  if (!dropOpen) setDropOpen(true);
399
+ setTimeout(() => {
400
+ setVisible(true);
401
+ }, 100);
397
402
  };
398
403
 
399
404
  const handleDropClose = (e: any) => {
@@ -572,7 +577,7 @@ const AutoCompleteWithSelectedList = forwardRef<
572
577
  onChange={handleChange}
573
578
  // onBlur={handleBlur}
574
579
  onFocus={onFocus}
575
- onClick={() => handleOnClick()}
580
+ // onClick={() => handleOnClick()}
576
581
  className={generateClassName()}
577
582
  placeholder={selectedItems?.length > 0 ? '' : placeholder ?? ''}
578
583
  readOnly={
@@ -608,7 +613,11 @@ const AutoCompleteWithSelectedList = forwardRef<
608
613
  ReactDOM.createPortal(
609
614
  <div
610
615
  ref={dropRef}
611
- style={{ ...dropdownStyle, minHeight: viewMode ? 100 : 192 }}
616
+ style={{
617
+ ...dropdownStyle,
618
+ minHeight: viewMode ? 100 : 192,
619
+ visibility: visible ? 'visible' : 'hidden',
620
+ }}
612
621
  className={`qbs-autocomplete-suggestions qbs-autocomplete-selected-suggestions ${
613
622
  viewMode ? 'qbs-dropdown-selected-preview' : ''
614
623
  } ${viewMode && selectedItems?.length === 0 ? 'hidden' : ''}`}