@idds/styles 1.0.38 → 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.38",
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,239 +208,309 @@
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 */
214
+ /* Reduced margin to eliminate gap and prevent hover area break */
211
215
  .ina-tooltip--placement-top {
212
216
  bottom: 100%;
213
217
  left: 50%;
214
218
  transform: translateX(-50%);
215
- margin-bottom: 8px;
219
+ margin-bottom: 0;
216
220
  }
217
221
 
218
222
  .ina-tooltip--placement-top-start {
219
223
  bottom: 100%;
220
224
  left: 0;
221
- margin-bottom: 8px;
225
+ margin-bottom: 0;
222
226
  }
223
227
 
224
228
  .ina-tooltip--placement-top-end {
225
229
  bottom: 100%;
226
230
  right: 0;
227
- margin-bottom: 8px;
231
+ margin-bottom: 0;
228
232
  }
229
233
 
230
234
  .ina-tooltip--placement-bottom {
231
235
  top: 100%;
232
236
  left: 50%;
233
237
  transform: translateX(-50%);
234
- margin-top: 8px;
238
+ margin-top: 0;
235
239
  }
236
240
 
237
241
  .ina-tooltip--placement-bottom-start {
238
242
  top: 100%;
239
243
  left: 0;
240
- margin-top: 8px;
244
+ margin-top: 0;
241
245
  }
242
246
 
243
247
  .ina-tooltip--placement-bottom-end {
244
248
  top: 100%;
245
249
  right: 0;
246
- margin-top: 8px;
250
+ margin-top: 0;
247
251
  }
248
252
 
249
253
  .ina-tooltip--placement-left {
250
254
  right: 100%;
251
255
  top: 50%;
252
256
  transform: translateY(-50%);
253
- margin-right: 8px;
257
+ margin-right: 0;
254
258
  }
255
259
 
256
260
  .ina-tooltip--placement-left-start {
257
261
  right: 100%;
258
262
  top: 0;
259
- margin-right: 8px;
263
+ margin-right: 0;
260
264
  }
261
265
 
262
266
  .ina-tooltip--placement-left-end {
263
267
  right: 100%;
264
268
  bottom: 0;
265
- margin-right: 8px;
269
+ margin-right: 0;
266
270
  }
267
271
 
268
272
  .ina-tooltip--placement-right {
269
273
  left: 100%;
270
274
  top: 50%;
271
275
  transform: translateY(-50%);
272
- margin-left: 8px;
276
+ margin-left: 0;
273
277
  }
274
278
 
275
279
  .ina-tooltip--placement-right-start {
276
280
  left: 100%;
277
281
  top: 0;
278
- margin-left: 8px;
282
+ margin-left: 0;
279
283
  }
280
284
 
281
285
  .ina-tooltip--placement-right-end {
282
286
  left: 100%;
283
287
  bottom: 0;
284
- margin-left: 8px;
288
+ margin-left: 0;
285
289
  }
286
290
 
287
- /* Arrow positioning using ::after pseudo element */
288
- /* 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 */
289
305
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-top::after {
306
+ top: 100%; /* At the bottom of tooltip content */
290
307
  left: 50%;
291
- transform: translateX(-50%);
292
- bottom: -6px;
293
- border-left: 6px solid transparent;
294
- border-right: 6px solid transparent;
295
- border-top: 6px solid;
296
- /* 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 */
297
312
  }
298
313
 
299
314
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-top-start::after {
315
+ top: 100%;
300
316
  left: 16px;
301
- bottom: -6px;
302
- border-left: 6px solid transparent;
303
- border-right: 6px solid transparent;
304
- border-top: 6px solid;
317
+ margin-left: -5px;
318
+ border-width: 5px;
319
+ border-color: transparent transparent transparent transparent;
305
320
  }
306
321
 
307
322
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-top-end::after {
323
+ top: 100%;
308
324
  right: 16px;
309
- bottom: -6px;
310
- border-left: 6px solid transparent;
311
- border-right: 6px solid transparent;
312
- border-top: 6px solid;
325
+ margin-left: -5px;
326
+ border-width: 5px;
327
+ border-color: transparent transparent transparent transparent;
313
328
  }
314
329
 
315
- /* Bottom arrows (pointing up) */
330
+ /* Bottom arrows (pointing up to trigger) - arrow at top of tooltip */
316
331
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-bottom::after {
332
+ bottom: 100%; /* At the top of tooltip content */
317
333
  left: 50%;
318
- transform: translateX(-50%);
319
- top: -6px;
320
- border-left: 6px solid transparent;
321
- border-right: 6px solid transparent;
322
- border-bottom: 6px solid;
334
+ margin-left: -5px;
335
+ border-width: 5px;
336
+ border-color: transparent transparent transparent transparent;
323
337
  }
324
338
 
325
339
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-bottom-start::after {
340
+ bottom: 100%;
326
341
  left: 16px;
327
- top: -6px;
328
- border-left: 6px solid transparent;
329
- border-right: 6px solid transparent;
330
- border-bottom: 6px solid;
342
+ margin-left: -5px;
343
+ border-width: 5px;
344
+ border-color: transparent transparent transparent transparent;
331
345
  }
332
346
 
333
347
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-bottom-end::after {
348
+ bottom: 100%;
334
349
  right: 16px;
335
- top: -6px;
336
- border-left: 6px solid transparent;
337
- border-right: 6px solid transparent;
338
- border-bottom: 6px solid;
350
+ margin-left: -5px;
351
+ border-width: 5px;
352
+ border-color: transparent transparent transparent transparent;
339
353
  }
340
354
 
341
- /* Left arrows (pointing right) */
355
+ /* Left arrows (pointing right to trigger) - arrow at right of tooltip */
342
356
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-left::after {
343
357
  top: 50%;
344
- transform: translateY(-50%);
345
- right: -6px;
346
- border-top: 6px solid transparent;
347
- border-bottom: 6px solid transparent;
348
- border-left: 6px 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;
349
362
  }
350
363
 
351
364
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-left-start::after {
352
365
  top: 16px;
353
- right: -6px;
354
- border-top: 6px solid transparent;
355
- border-bottom: 6px solid transparent;
356
- border-left: 6px solid;
366
+ right: 100%;
367
+ margin-top: -5px;
368
+ border-width: 5px;
369
+ border-color: transparent transparent transparent transparent;
357
370
  }
358
371
 
359
372
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-left-end::after {
360
373
  bottom: 16px;
361
- right: -6px;
362
- border-top: 6px solid transparent;
363
- border-bottom: 6px solid transparent;
364
- border-left: 6px solid;
374
+ right: 100%;
375
+ margin-top: -5px;
376
+ border-width: 5px;
377
+ border-color: transparent transparent transparent transparent;
365
378
  }
366
379
 
367
- /* Right arrows (pointing left) */
380
+ /* Right arrows (pointing left to trigger) - arrow at left of tooltip */
368
381
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-right::after {
369
382
  top: 50%;
370
- transform: translateY(-50%);
371
- left: -6px;
372
- border-top: 6px solid transparent;
373
- border-bottom: 6px solid transparent;
374
- border-right: 6px 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;
375
387
  }
376
388
 
377
389
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-right-start::after {
378
390
  top: 16px;
379
- left: -6px;
380
- border-top: 6px solid transparent;
381
- border-bottom: 6px solid transparent;
382
- border-right: 6px solid;
391
+ left: 100%;
392
+ margin-top: -5px;
393
+ border-width: 5px;
394
+ border-color: transparent transparent transparent transparent;
383
395
  }
384
396
 
385
397
  .ina-tooltip__content--show-arrow.ina-tooltip--placement-right-end::after {
386
398
  bottom: 16px;
387
- left: -6px;
388
- border-top: 6px solid transparent;
389
- border-bottom: 6px solid transparent;
390
- border-right: 6px solid;
399
+ left: 100%;
400
+ margin-top: -5px;
401
+ border-width: 5px;
402
+ border-color: transparent transparent transparent transparent;
391
403
  }
392
404
  .ina-tooltip__content {
393
405
  max-width: 320px;
394
406
  min-width: fit-content;
395
407
  }
396
408
  /* Arrow colors - match parent bubble/card background color */
397
- /* 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 */
398
410
  /* For basic variant - arrow color matches bubble background */
399
- .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 {
400
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 {
401
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 {
402
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 {
403
432
  border-right-color: var(--ina-black, var(--ina-neutral-900));
404
433
  }
405
434
 
406
435
  /* For light variant - arrow color matches card background */
407
- .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 {
408
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 {
409
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 {
410
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 {
411
457
  border-right-color: var(--ina-background-primary, var(--ina-neutral-25));
412
458
  }
413
459
 
414
460
  /* For dark variant - arrow color matches card background */
415
- .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 {
416
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 {
417
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 {
418
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 {
419
482
  border-right-color: var(--ina-neutral-900, var(--ina-neutral-900));
420
483
  }
421
484
 
422
485
  /* For media variant - arrow color matches card background */
423
- .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 {
424
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 {
425
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 {
426
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 {
427
507
  border-right-color: var(--ina-background-primary, var(--ina-neutral-25));
428
508
  }
429
509
 
430
510
  /* Visibility states */
431
511
  .ina-tooltip__content--visible {
432
- opacity: 1;
433
- visibility: visible;
512
+ opacity: 1 !important;
513
+ visibility: visible !important;
434
514
  transition: opacity 0.2s ease, visibility 0.2s ease;
435
515
  }
436
516