@sapudex/web-components 2.26.0 → 2.27.0

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.
Files changed (42) hide show
  1. package/cypress/specs/TabNavigation.cy.tsx +1024 -0
  2. package/cypress/support/component-imports.src.ts +4 -0
  3. package/dist/Tab.d.ts +57 -0
  4. package/dist/Tab.js +67 -0
  5. package/dist/Tab.js.map +1 -1
  6. package/dist/TabNavigation.d.ts +25 -3
  7. package/dist/TabNavigation.js +96 -18
  8. package/dist/TabNavigation.js.map +1 -1
  9. package/dist/assets/{InputSuggestions-CG5owMFQ.js → InputSuggestions-Bm_0fOBQ.js} +1 -1
  10. package/dist/assets/{ListItemStandardExpandableTextTemplate-DpVr7qdn.js → ListItemStandardExpandableTextTemplate-CHXlUP-E.js} +1 -1
  11. package/dist/assets/{bundle.esm-CTkLMr6f.js → bundle.esm-D_SXCGNu.js} +218 -218
  12. package/dist/css/themes/RatingIndicator.css +1 -1
  13. package/dist/css/themes/Slider.css +1 -1
  14. package/dist/css/themes/TabNavigation.css +1 -1
  15. package/dist/custom-elements-internal.json +205 -154
  16. package/dist/custom-elements.json +186 -139
  17. package/dist/generated/templates/TabHeaderTemplate.lit.js +30 -11
  18. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  19. package/dist/generated/templates/TabNavigationTemplate.lit.js +8 -6
  20. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  21. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  22. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  23. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  24. package/dist/generated/themes/Slider.css.d.ts +1 -1
  25. package/dist/generated/themes/Slider.css.js +1 -1
  26. package/dist/generated/themes/Slider.css.js.map +1 -1
  27. package/dist/generated/themes/TabNavigation.css.d.ts +1 -1
  28. package/dist/generated/themes/TabNavigation.css.js +1 -1
  29. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  30. package/dist/vscode.html-custom-data.json +11 -1
  31. package/dist/web-types.json +29 -2
  32. package/package.json +1 -1
  33. package/src/Tab.ts +98 -0
  34. package/src/TabHeader.hbs +85 -33
  35. package/src/TabNavigation.hbs +16 -0
  36. package/src/TabNavigation.ts +109 -21
  37. package/src/generated/templates/TabHeaderTemplate.lit.ts +29 -10
  38. package/src/generated/templates/TabNavigationTemplate.lit.ts +8 -6
  39. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  40. package/src/generated/themes/Slider.css.ts +1 -1
  41. package/src/generated/themes/TabNavigation.css.ts +1 -1
  42. package/src/themes/TabNavigation.css +203 -1
@@ -63,7 +63,9 @@
63
63
  --udex-tab-navigation-content-font-family: var(--sapFontFamily, sans-serif);
64
64
  --udex-tab-navigation-content-font-size: var(--udexTypographyNavigationRegularMFontSize, 14px);
65
65
  --udex-tab-navigation-content-font-weight: var(--udexTypographyFontWeightRegular, 400);
66
- --udex-tab-navigation-content-line-height: var(--udexTypographyHeadingLineHeight, 1.1);
66
+ --udex-tab-navigation-content-line-height: var(--udexTypographyBodyLineHeight, 1.5);
67
+
68
+ --udex-tab-header-width: 428px;
67
69
  }
68
70
 
69
71
  :host([icon-without-background]) .udex-tab-navigation__button-icon-outer {
@@ -375,13 +377,213 @@
375
377
  display: none;
376
378
  }
377
379
 
380
+ .visually-hidden {
381
+ position: absolute;
382
+ width: 1px;
383
+ height: 1px;
384
+ padding: 0;
385
+ margin: -1px;
386
+ overflow: hidden;
387
+ clip: rect(0, 0, 0, 0);
388
+ white-space: nowrap;
389
+ border-width: 0;
390
+ }
391
+
378
392
  .udex-tab-navigation__badge {
379
393
  margin-inline-start: var(--udexSpacer4);
380
394
  display: inline-flex;
381
395
  }
382
396
 
397
+ /* Hide body text and link by default (horizontal tabs) */
398
+ .udex-tab-navigation__button-body-text,
399
+ .udex-tab-navigation__button-link {
400
+ display: none;
401
+ }
402
+
383
403
  @media screen and (max-width: 979px) {
384
404
  .udex-tab-navigation__content {
385
405
  padding-block-start: var(--udex-tab-navigation-content-padding-vertical-mobile);
386
406
  }
407
+
408
+ :host([orientation="Vertical"]) .udex-tab-navigation__root {
409
+ flex-direction: column;
410
+ }
411
+
412
+ :host([orientation="Vertical"]) .udex-tab-navigation__header {
413
+ flex: 0 0 100%;
414
+ }
415
+
416
+ :host([orientation="Vertical"]) .udex-tab-navigation__content {
417
+ flex: 0 0 100%;
418
+ padding-inline-start: 0;
419
+ }
420
+
421
+ :host([orientation="Vertical"]) > .udex-tab-navigation__root > .udex-tab-navigation__content {
422
+ display: none;
423
+ }
424
+ }
425
+
426
+ /* Vertical Tabs Styles */
427
+ :host([orientation="Vertical"]) .udex-tab-navigation__root {
428
+ display: flex;
429
+ gap: var(--udexSpacer24, 24px);
430
+ }
431
+
432
+ :host([orientation="Vertical"]) .udex-tab-navigation__header {
433
+ flex-direction: column;
434
+ align-items: stretch;
435
+ min-height: auto;
436
+ height: 100%;
437
+ flex: 0 0 25%;
438
+ width: 100%;
439
+ max-height: none;
440
+ }
441
+
442
+ :host([orientation="Vertical"]) .udex-tab-navigation__header:before {
443
+ display: none;
444
+ }
445
+
446
+ :host([orientation="Vertical"]) .udex-tab-navigation__header-tabs {
447
+ flex-direction: column;
448
+ gap: var(--udexSpacer32, 32px);
449
+ overflow: visible;
450
+ white-space: normal;
451
+ max-height: none;
452
+ border-inline-start: 1px solid var(--udexColorGrey3, #D5DADD);
453
+ }
454
+
455
+ @media screen and (max-width: 979px) {
456
+ :host([orientation="Vertical"]) .udex-tab-navigation__header-tabs {
457
+ gap: var(--udexSpacer24, 24px);
458
+ }
459
+
460
+ :host([orientation="Vertical"]) .udex-tab-navigation__header-tabs > .udex-tab-navigation__button-tab:not(:last-child):not(:has(+ .udex-tab-navigation__content)),
461
+ :host([orientation="Vertical"]) .udex-tab-navigation__header-tabs > .udex-tab-navigation__tab-wrapper:not(:last-child):not(:has(+ .udex-tab-navigation__content)),
462
+ :host([orientation="Vertical"]) .udex-tab-navigation__header-tabs > .udex-tab-navigation__button-link:not(:last-child):not(:has(+ .udex-tab-navigation__content)) {
463
+ margin-block-end: var(--udexSpacer8, 8px);
464
+ }
465
+ }
466
+
467
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-tab {
468
+ padding: 0 var(--udexSpacer16, 16px);
469
+ align-items: flex-start;
470
+ width: 100%;
471
+ height: auto;
472
+ min-height: auto;
473
+ margin-inline-end: 0;
474
+ transition: all 200ms ease-in;
475
+ }
476
+
477
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-tab:not(:last-child) {
478
+ margin-inline-end: 0;
479
+ }
480
+
481
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-tab--active {
482
+ padding: var(--udexSpacer16, 16px);
483
+ }
484
+
485
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-tab--active::before {
486
+ content: '';
487
+ position: absolute;
488
+ inset-inline-start: -1px;
489
+ inset-block: 0;
490
+ z-index: 1;
491
+ width: 3px;
492
+ height: 100%;
493
+ background-color: var(--udex-button-tab-border-color-active);
494
+ border-start-start-radius: 0;
495
+ border-start-end-radius: 2px;
496
+ border-end-start-radius: 0;
497
+ border-end-end-radius: 2px;
498
+ }
499
+
500
+ :host([orientation="Vertical"]) .udex-tab-navigation__tab-wrapper {
501
+ position: relative;
502
+ display: flex;
503
+ flex-direction: column;
504
+ gap: var(--udexSpacer16, 16px);
505
+ padding: 0 var(--udexSpacer16, 16px);
506
+ transition: all 200ms ease-in;
507
+ }
508
+
509
+ :host([orientation="Vertical"]) .udex-tab-navigation__tab-wrapper:has(.udex-tab-navigation__button-tab--active) {
510
+ padding: var(--udexSpacer16, 16px);
511
+ }
512
+
513
+ :host([orientation="Vertical"]) .udex-tab-navigation__tab-wrapper:has(.udex-tab-navigation__button-tab--active)::before {
514
+ content: '';
515
+ position: absolute;
516
+ inset-inline-start: -1px;
517
+ inset-block: 0;
518
+ z-index: 1;
519
+ width: 3px;
520
+ height: 100%;
521
+ background-color: var(--udex-button-tab-border-color-active);
522
+ border-start-start-radius: 0;
523
+ border-start-end-radius: 2px;
524
+ border-end-start-radius: 0;
525
+ border-end-end-radius: 2px;
526
+ }
527
+
528
+ :host([orientation="Vertical"]) .udex-tab-navigation__tab-wrapper > .udex-tab-navigation__button-tab {
529
+ padding: 0;
530
+ }
531
+
532
+ :host([orientation="Vertical"]) .udex-tab-navigation__tab-wrapper > .udex-tab-navigation__button-tab--active::before {
533
+ display: none;
534
+ }
535
+
536
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-badge {
537
+ inset-block-start: 0;
538
+ inset-inline-end: -10px;
539
+ }
540
+
541
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-text {
542
+ position: relative;
543
+ font-size: var(--udexTypographyHeadingRegularXXSFontSize, 20px);
544
+ line-height: 1.1;
545
+ font-weight: var(--udexTypographyFontWeightMedium);
546
+ text-align: start;
547
+ }
548
+
549
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-body-text {
550
+ display: none;
551
+ margin: 0;
552
+ font-family: var(--udex-button-tab-font-family);
553
+ font-size: var(--udexTypographyBodyXSFontSize, 14px);
554
+ font-weight: var(--udexTypographyFontWeightRegular, 400);
555
+ color: var(--udexColorGrey7);
556
+ line-height: var(--udex-tab-navigation-content-line-height);
557
+ text-align: start;
558
+ }
559
+
560
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-tab--active ~ .udex-tab-navigation__button-body-text {
561
+ display: block;
562
+ }
563
+
564
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-link {
565
+ font-size: var(--udexTypographyNavigationRegularXLFontSize, 16px);
566
+ font-weight: var(--udexTypographyFontWeightRegular, 400);
567
+ line-height: 24px;
568
+ display: none;
569
+ }
570
+
571
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-tab--active ~ .udex-tab-navigation__button-link {
572
+ display: block;
573
+ }
574
+
575
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-links {
576
+ display: none;
577
+ flex-direction: column;
578
+ gap: var(--udexSpacer2, 2px);
579
+ }
580
+
581
+ :host([orientation="Vertical"]) .udex-tab-navigation__button-tab--active ~ .udex-tab-navigation__button-links {
582
+ display: flex;
583
+ }
584
+
585
+ :host([orientation="Vertical"]) .udex-tab-navigation__content {
586
+ flex: 1 1 75%;
587
+ padding-block-start: 0;
588
+ padding-inline-start: var(--udexSpacer16, 16px);
387
589
  }