@idds/styles 1.0.39 → 1.0.40

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idds/styles",
3
- "version": "1.0.39",
3
+ "version": "1.0.40",
4
4
  "description": "Shared CSS styles and colors for INA Digital Design System",
5
5
  "type": "module",
6
6
  "main": "./src/index.css",
@@ -10,6 +10,13 @@
10
10
  display: inline-block;
11
11
  }
12
12
 
13
+ /* Support force :hover state in developer tools */
14
+ .ina-tooltip:hover .ina-tooltip__content,
15
+ .ina-tooltip[data-hover='true'] .ina-tooltip__content {
16
+ opacity: 1;
17
+ visibility: visible;
18
+ }
19
+
13
20
  .ina-tooltip__trigger {
14
21
  display: inline-block;
15
22
  }
@@ -17,12 +24,15 @@
17
24
  /* Tooltip content container */
18
25
  .ina-tooltip__content {
19
26
  position: absolute;
20
- z-index: 999999;
27
+ z-index: 999999 !important;
21
28
  /* Ensure tooltip is always on top of everything */
22
29
  pointer-events: none;
23
30
  /* Prevent clipping by any parent container */
24
31
  transform: translateZ(0);
25
32
  will-change: transform;
33
+ /* Hidden by default, shown via JavaScript or :hover */
34
+ opacity: 0;
35
+ visibility: hidden;
26
36
  }
27
37
 
28
38
  /* Basic Tooltip Bubble */
@@ -198,14 +208,7 @@
198
208
  flex-shrink: 0;
199
209
  }
200
210
 
201
- /* Tooltip arrow using pseudo element ::after */
202
- .ina-tooltip__content::after {
203
- content: '';
204
- position: absolute;
205
- width: 0;
206
- height: 0;
207
- pointer-events: none;
208
- }
211
+ /* Arrow removed from here - now on .ina-tooltip__content--show-arrow::after */
209
212
 
210
213
  /* Positioning classes */
211
214
  /* Reduced margin to eliminate gap and prevent hover area break */
@@ -285,155 +288,229 @@
285
288
  margin-left: 0;
286
289
  }
287
290
 
288
- /* Arrow positioning using ::after pseudo element */
289
- /* Using smaller border size (4px) for sharper/lancip arrow */
290
- /* Arrow positioned at edge of content to eliminate gap */
291
- /* Top arrows (pointing down) */
291
+ /* Arrow positioning using ::after pseudo element on content */
292
+ /* Following W3Schools approach with sharper/lancip arrow */
293
+ /* Using 5px border-width for sharper arrow like W3Schools */
294
+ /* Base arrow styles - only show when tooltip is visible */
295
+ .ina-tooltip__content--show-arrow::after {
296
+ content: '';
297
+ position: absolute;
298
+ width: 0;
299
+ height: 0;
300
+ pointer-events: none;
301
+ border-style: solid;
302
+ }
303
+
304
+ /* Top arrows (pointing down to trigger) - arrow at bottom of tooltip */
292
305
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-top::after {
306
+ top: 100%; /* At the bottom of tooltip content */
293
307
  left: 50%;
294
- transform: translateX(-50%);
295
- bottom: -4px; /* Positioned at edge, overlapping trigger slightly */
296
- border-left: 4px solid transparent;
297
- border-right: 4px solid transparent;
298
- border-top: 4px solid;
299
- /* Color will inherit from parent bubble/card background */
308
+ margin-left: -5px; /* Half of border-width to center */
309
+ border-width: 5px;
310
+ border-color: transparent transparent transparent transparent;
311
+ /* Color will be set by variant classes below */
300
312
  }
301
313
 
302
314
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-top-start::after {
315
+ top: 100%;
303
316
  left: 16px;
304
- bottom: -4px;
305
- border-left: 4px solid transparent;
306
- border-right: 4px solid transparent;
307
- border-top: 4px solid;
317
+ margin-left: -5px;
318
+ border-width: 5px;
319
+ border-color: transparent transparent transparent transparent;
308
320
  }
309
321
 
310
322
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-top-end::after {
323
+ top: 100%;
311
324
  right: 16px;
312
- bottom: -4px;
313
- border-left: 4px solid transparent;
314
- border-right: 4px solid transparent;
315
- border-top: 4px solid;
325
+ margin-left: -5px;
326
+ border-width: 5px;
327
+ border-color: transparent transparent transparent transparent;
316
328
  }
317
329
 
318
- /* Bottom arrows (pointing up) */
330
+ /* Bottom arrows (pointing up to trigger) - arrow at top of tooltip */
319
331
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-bottom::after {
332
+ bottom: 100%; /* At the top of tooltip content */
320
333
  left: 50%;
321
- transform: translateX(-50%);
322
- top: -4px; /* Positioned at edge, overlapping trigger slightly */
323
- border-left: 4px solid transparent;
324
- border-right: 4px solid transparent;
325
- border-bottom: 4px solid;
334
+ margin-left: -5px;
335
+ border-width: 5px;
336
+ border-color: transparent transparent transparent transparent;
326
337
  }
327
338
 
328
339
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-bottom-start::after {
340
+ bottom: 100%;
329
341
  left: 16px;
330
- top: -4px;
331
- border-left: 4px solid transparent;
332
- border-right: 4px solid transparent;
333
- border-bottom: 4px solid;
342
+ margin-left: -5px;
343
+ border-width: 5px;
344
+ border-color: transparent transparent transparent transparent;
334
345
  }
335
346
 
336
347
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-bottom-end::after {
348
+ bottom: 100%;
337
349
  right: 16px;
338
- top: -4px;
339
- border-left: 4px solid transparent;
340
- border-right: 4px solid transparent;
341
- border-bottom: 4px solid;
350
+ margin-left: -5px;
351
+ border-width: 5px;
352
+ border-color: transparent transparent transparent transparent;
342
353
  }
343
354
 
344
- /* Left arrows (pointing right) */
355
+ /* Left arrows (pointing right to trigger) - arrow at right of tooltip */
345
356
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-left::after {
346
357
  top: 50%;
347
- transform: translateY(-50%);
348
- right: -4px; /* Positioned at edge, overlapping trigger slightly */
349
- border-top: 4px solid transparent;
350
- border-bottom: 4px solid transparent;
351
- border-left: 4px solid;
358
+ right: 100%; /* To the left of tooltip content */
359
+ margin-top: -5px;
360
+ border-width: 5px;
361
+ border-color: transparent transparent transparent transparent;
352
362
  }
353
363
 
354
364
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-left-start::after {
355
365
  top: 16px;
356
- right: -4px;
357
- border-top: 4px solid transparent;
358
- border-bottom: 4px solid transparent;
359
- border-left: 4px solid;
366
+ right: 100%;
367
+ margin-top: -5px;
368
+ border-width: 5px;
369
+ border-color: transparent transparent transparent transparent;
360
370
  }
361
371
 
362
372
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-left-end::after {
363
373
  bottom: 16px;
364
- right: -4px;
365
- border-top: 4px solid transparent;
366
- border-bottom: 4px solid transparent;
367
- border-left: 4px solid;
374
+ right: 100%;
375
+ margin-top: -5px;
376
+ border-width: 5px;
377
+ border-color: transparent transparent transparent transparent;
368
378
  }
369
379
 
370
- /* Right arrows (pointing left) */
380
+ /* Right arrows (pointing left to trigger) - arrow at left of tooltip */
371
381
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-right::after {
372
382
  top: 50%;
373
- transform: translateY(-50%);
374
- left: -4px; /* Positioned at edge, overlapping trigger slightly */
375
- border-top: 4px solid transparent;
376
- border-bottom: 4px solid transparent;
377
- border-right: 4px solid;
383
+ left: 100%; /* To the right of tooltip content */
384
+ margin-top: -5px;
385
+ border-width: 5px;
386
+ border-color: transparent transparent transparent transparent;
378
387
  }
379
388
 
380
389
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-right-start::after {
381
390
  top: 16px;
382
- left: -4px;
383
- border-top: 4px solid transparent;
384
- border-bottom: 4px solid transparent;
385
- border-right: 4px solid;
391
+ left: 100%;
392
+ margin-top: -5px;
393
+ border-width: 5px;
394
+ border-color: transparent transparent transparent transparent;
386
395
  }
387
396
 
388
397
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-right-end::after {
389
398
  bottom: 16px;
390
- left: -4px;
391
- border-top: 4px solid transparent;
392
- border-bottom: 4px solid transparent;
393
- border-right: 4px solid;
399
+ left: 100%;
400
+ margin-top: -5px;
401
+ border-width: 5px;
402
+ border-color: transparent transparent transparent transparent;
394
403
  }
395
404
  .ina-tooltip__content {
396
405
  max-width: 320px;
397
406
  min-width: fit-content;
398
407
  }
399
408
  /* Arrow colors - match parent bubble/card background color */
400
- /* Arrow is ::after on .ina-tooltip__content, so we use variant class on content */
409
+ /* Following W3Schools pattern: only the side pointing to trigger has color */
401
410
  /* For basic variant - arrow color matches bubble background */
402
- .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic::after {
411
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-top::after,
412
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-top-start::after,
413
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-top-end::after {
403
414
  border-top-color: var(--ina-black, var(--ina-neutral-900));
415
+ }
416
+
417
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-bottom::after,
418
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-bottom-start::after,
419
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-bottom-end::after {
404
420
  border-bottom-color: var(--ina-black, var(--ina-neutral-900));
421
+ }
422
+
423
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-left::after,
424
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-left-start::after,
425
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-left-end::after {
405
426
  border-left-color: var(--ina-black, var(--ina-neutral-900));
427
+ }
428
+
429
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-right::after,
430
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-right-start::after,
431
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-basic.ina-tooltip--placement-right-end::after {
406
432
  border-right-color: var(--ina-black, var(--ina-neutral-900));
407
433
  }
408
434
 
409
435
  /* For light variant - arrow color matches card background */
410
- .ina-tooltip__content--show-arrow.ina-tooltip--variant-light::after {
436
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-top::after,
437
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-top-start::after,
438
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-top-end::after {
411
439
  border-top-color: var(--ina-background-primary, var(--ina-neutral-25));
440
+ }
441
+
442
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-bottom::after,
443
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-bottom-start::after,
444
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-bottom-end::after {
412
445
  border-bottom-color: var(--ina-background-primary, var(--ina-neutral-25));
446
+ }
447
+
448
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-left::after,
449
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-left-start::after,
450
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-left-end::after {
413
451
  border-left-color: var(--ina-background-primary, var(--ina-neutral-25));
452
+ }
453
+
454
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-right::after,
455
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-right-start::after,
456
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-light.ina-tooltip--placement-right-end::after {
414
457
  border-right-color: var(--ina-background-primary, var(--ina-neutral-25));
415
458
  }
416
459
 
417
460
  /* For dark variant - arrow color matches card background */
418
- .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark::after {
461
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-top::after,
462
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-top-start::after,
463
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-top-end::after {
419
464
  border-top-color: var(--ina-neutral-900, var(--ina-neutral-900));
465
+ }
466
+
467
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-bottom::after,
468
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-bottom-start::after,
469
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-bottom-end::after {
420
470
  border-bottom-color: var(--ina-neutral-900, var(--ina-neutral-900));
471
+ }
472
+
473
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-left::after,
474
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-left-start::after,
475
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-left-end::after {
421
476
  border-left-color: var(--ina-neutral-900, var(--ina-neutral-900));
477
+ }
478
+
479
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-right::after,
480
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-right-start::after,
481
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-dark.ina-tooltip--placement-right-end::after {
422
482
  border-right-color: var(--ina-neutral-900, var(--ina-neutral-900));
423
483
  }
424
484
 
425
485
  /* For media variant - arrow color matches card background */
426
- .ina-tooltip__content--show-arrow.ina-tooltip--variant-media::after {
486
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-top::after,
487
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-top-start::after,
488
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-top-end::after {
427
489
  border-top-color: var(--ina-background-primary, var(--ina-neutral-25));
490
+ }
491
+
492
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-bottom::after,
493
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-bottom-start::after,
494
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-bottom-end::after {
428
495
  border-bottom-color: var(--ina-background-primary, var(--ina-neutral-25));
496
+ }
497
+
498
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-left::after,
499
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-left-start::after,
500
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-left-end::after {
429
501
  border-left-color: var(--ina-background-primary, var(--ina-neutral-25));
502
+ }
503
+
504
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-right::after,
505
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-right-start::after,
506
+ .ina-tooltip__content--show-arrow.ina-tooltip--variant-media.ina-tooltip--placement-right-end::after {
430
507
  border-right-color: var(--ina-background-primary, var(--ina-neutral-25));
431
508
  }
432
509
 
433
510
  /* Visibility states */
434
511
  .ina-tooltip__content--visible {
435
- opacity: 1;
436
- visibility: visible;
512
+ opacity: 1 !important;
513
+ visibility: visible !important;
437
514
  transition: opacity 0.2s ease, visibility 0.2s ease;
438
515
  }
439
516