@capra/core 1.11.1 → 1.12.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.
package/dist/style.css CHANGED
@@ -3444,7 +3444,7 @@ input:disabled + .capra-Radio-module-ZI7rzq-inner:after {
3444
3444
  .capra-Toast-module-p7lQQG-toast[data-type="error"] {
3445
3445
  --_cds-toast-icon-color: var(--cds2-color-foreground-danger-default);
3446
3446
  }
3447
- .capra-Menu-module-3G4VeG-menu, .capra-Menu-module-3G4VeG-list {
3447
+ .capra-Menu-module-HIhAFW-menu, .capra-Menu-module-HIhAFW-list {
3448
3448
  gap: var(--cds2-spacing-xs);
3449
3449
  box-sizing: border-box;
3450
3450
  min-width: 152px;
@@ -3454,29 +3454,29 @@ input:disabled + .capra-Radio-module-ZI7rzq-inner:after {
3454
3454
  flex-direction: column;
3455
3455
  display: flex;
3456
3456
  overflow: auto;
3457
- }
3458
3457
 
3459
- .capra-Menu-module-3G4VeG-menu > :not(:last-child):not(.capra-Menu-module-3G4VeG-divider):not(:has( + .capra-Menu-module-3G4VeG-divider)), .capra-Menu-module-3G4VeG-list > :not(:last-child):not(.capra-Menu-module-3G4VeG-divider):not(:has( + .capra-Menu-module-3G4VeG-divider)) {
3460
- margin-block-end: var(--cds2-spacing-xs);
3461
- }
3458
+ & > :not(:last-child):not(.capra-Menu-module-HIhAFW-divider):not(:has( + .capra-Menu-module-HIhAFW-divider)) {
3459
+ margin-block-end: var(--cds2-spacing-xs);
3460
+ }
3462
3461
 
3463
- .capra-Menu-module-3G4VeG-menu {
3464
- padding: 5px;
3462
+ &:focus-visible {
3463
+ outline: none;
3464
+ }
3465
3465
  }
3466
3466
 
3467
- .capra-Menu-module-3G4VeG-menuTriggerSlot {
3468
- display: inline-block;
3469
- }
3467
+ .capra-Menu-module-HIhAFW-menu {
3468
+ padding: 5px;
3470
3469
 
3471
- .capra-Menu-module-3G4VeG-menu[data-panel-padding="none"] {
3472
- padding: var(--cds2-spacing-sm);
3470
+ &[data-panel-padding="none"] {
3471
+ padding: var(--cds2-spacing-sm);
3472
+ }
3473
3473
  }
3474
3474
 
3475
- .capra-Menu-module-3G4VeG-menu:focus-visible, .capra-Menu-module-3G4VeG-list:focus-visible {
3476
- outline: none;
3475
+ .capra-Menu-module-HIhAFW-menuTriggerSlot {
3476
+ display: inline-block;
3477
3477
  }
3478
3478
 
3479
- .capra-Menu-module-3G4VeG-menuItem {
3479
+ .capra-Menu-module-HIhAFW-menuItem {
3480
3480
  appearance: none;
3481
3481
  border-radius: var(--cds-radius-sm);
3482
3482
  color: var(--cds2-color-foreground-default);
@@ -3491,257 +3491,239 @@ input:disabled + .capra-Radio-module-ZI7rzq-inner:after {
3491
3491
  min-width: 152px;
3492
3492
  max-width: 256px;
3493
3493
  text-decoration: none;
3494
- }
3495
3494
 
3496
- .capra-Menu-module-3G4VeG-menuItemLeadingGutter {
3497
- margin-inline-end: var(--cds2-spacing-md);
3498
- }
3499
-
3500
- .capra-Menu-module-3G4VeG-menuItemTrailingGutter {
3501
- margin-inline-start: var(--cds2-spacing-md);
3502
- }
3503
-
3504
- .capra-Menu-module-3G4VeG-menuItem:hover:not(:disabled, [aria-disabled="true"]) {
3505
- background-color: var(--cds2-color-background-neutral-hover);
3506
- }
3495
+ &:hover:not(:disabled, [aria-disabled="true"]) {
3496
+ background-color: var(--cds2-color-background-neutral-hover);
3497
+ }
3507
3498
 
3508
- .capra-Menu-module-3G4VeG-menuItem:focus {
3509
- outline: none;
3510
- }
3499
+ &:focus {
3500
+ outline: none;
3501
+ }
3511
3502
 
3512
- .capra-Menu-module-3G4VeG-menuItem[data-focus-visible="true"] {
3513
- outline: var(--cds2-border-focus);
3514
- outline-offset: var(--cds2-spacing-xs);
3515
- }
3503
+ &[data-focus-visible="true"] {
3504
+ outline: var(--cds2-border-focus);
3505
+ outline-offset: var(--cds2-spacing-xs);
3506
+ }
3516
3507
 
3517
- .capra-Menu-module-3G4VeG-menuItem:is(:disabled, [aria-disabled="true"]) {
3518
- color: var(--cds2-color-foreground-disabled);
3519
- cursor: not-allowed;
3520
- }
3508
+ &:is(:disabled, [aria-disabled="true"]) {
3509
+ color: var(--cds2-color-foreground-disabled);
3510
+ cursor: not-allowed;
3521
3511
 
3522
- .capra-Menu-module-3G4VeG-menuItem:is(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemListItemShell, .capra-Menu-module-3G4VeG-menuItem:is(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3523
- color: var(--cds2-color-foreground-disabled);
3524
- }
3512
+ & .capra-Menu-module-HIhAFW-menuItemListItemShell, & .capra-Menu-module-HIhAFW-menuItemLabel, & .capra-Menu-module-HIhAFW-menuItemDescription, & .capra-Menu-module-HIhAFW-menuItemShortcut {
3513
+ color: var(--cds2-color-foreground-disabled);
3514
+ }
3525
3515
 
3526
- .capra-Menu-module-3G4VeG-menuItem:is(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemShortcut {
3527
- background-color: var(--cds-color-background-secondary);
3528
- border: var(--cds2-border-default);
3529
- color: var(--cds2-color-foreground-disabled);
3530
- }
3516
+ & .capra-Menu-module-HIhAFW-menuItemShortcut {
3517
+ background-color: var(--cds-color-background-secondary);
3518
+ border: var(--cds2-border-default);
3519
+ }
3520
+ }
3531
3521
 
3532
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"]:is(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel, .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"]:is(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemShortcut {
3533
- color: var(--cds2-color-foreground-disabled);
3534
- }
3522
+ &[data-active="true"] {
3523
+ background-color: var(--cds2-color-background-accent-selected);
3524
+ color: var(--cds2-color-foreground-default);
3535
3525
 
3536
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem:is(:disabled, [aria-disabled="true"]) {
3537
- color: var(--cds2-color-foreground-disabled);
3538
- background-color: #0000;
3539
- }
3526
+ & .capra-Menu-module-HIhAFW-menuItemLabel {
3527
+ color: inherit;
3528
+ }
3529
+ }
3540
3530
 
3541
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem:is(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3542
- color: var(--cds2-color-foreground-disabled);
3543
- }
3531
+ &[data-has-submenu][data-open]:not(:disabled, [aria-disabled="true"]) {
3532
+ background-color: var(--cds2-color-background-neutral-hover);
3533
+ color: var(--cds2-color-foreground-default);
3544
3534
 
3545
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"]:is(:disabled, [aria-disabled="true"]) {
3546
- color: var(--cds2-color-foreground-disabled);
3547
- background-color: #0000;
3548
- border-inline-end: none;
3549
- }
3535
+ & .capra-Menu-module-HIhAFW-menuItemLabel {
3536
+ color: inherit;
3537
+ }
3538
+ }
3550
3539
 
3551
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"]:is(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3552
- color: var(--cds2-color-foreground-disabled);
3553
- font: var(--cds2-typography-body-md-normal);
3554
- }
3540
+ &[data-variant="danger"] {
3541
+ color: var(--cds2-color-foreground-danger-default);
3555
3542
 
3556
- .capra-Menu-module-3G4VeG-menuItem[data-active="true"] {
3557
- background-color: var(--cds2-color-background-accent-selected);
3558
- color: var(--cds2-color-foreground-default);
3559
- }
3543
+ & .capra-Menu-module-HIhAFW-menuItemLabel {
3544
+ color: inherit;
3545
+ }
3560
3546
 
3561
- .capra-Menu-module-3G4VeG-menuItem[data-active="true"] .capra-Menu-module-3G4VeG-menuItemLabel {
3562
- color: inherit;
3563
- }
3547
+ &:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-HIhAFW-menuItemShortcut {
3548
+ border: var(--cds2-border-default);
3549
+ color: var(--cds2-color-foreground-danger-default);
3550
+ }
3564
3551
 
3565
- .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:not(:disabled, [aria-disabled="true"]) {
3566
- background-color: var(--cds2-color-background-neutral-hover);
3567
- color: var(--cds2-color-foreground-default);
3568
- }
3552
+ &:hover:not(:disabled, [aria-disabled="true"]) {
3553
+ background-color: var(--cds2-color-background-danger-subtle);
3554
+ color: var(--cds2-color-foreground-danger-default);
3555
+ }
3569
3556
 
3570
- .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3571
- color: inherit;
3572
- }
3557
+ &[data-active="true"] {
3558
+ background-color: var(--cds2-color-background-danger-hover);
3559
+ color: var(--cds2-color-foreground-danger-default);
3573
3560
 
3574
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"], .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"] .capra-Menu-module-3G4VeG-menuItemLabel {
3575
- color: var(--cds2-color-foreground-danger-default);
3576
- }
3561
+ &:hover:not(:disabled, [aria-disabled="true"]) {
3562
+ background-color: var(--cds2-color-background-danger-subtle);
3563
+ }
3564
+ }
3565
+ }
3577
3566
 
3578
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"]:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemShortcut {
3579
- border: var(--cds2-border-default);
3580
- color: var(--cds2-color-foreground-danger-default);
3581
- }
3567
+ &[data-indent="true"] {
3568
+ padding-inline-start: var(--cds2-spacing-xl);
3569
+ }
3582
3570
 
3583
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"]:hover:not(:disabled, [aria-disabled="true"]) {
3584
- background-color: var(--cds2-color-background-danger-subtle);
3585
- color: var(--cds2-color-foreground-danger-default);
3586
- }
3571
+ &[data-has-description="true"] {
3572
+ & .capra-Menu-module-HIhAFW-menuItemTrailingGutter {
3573
+ align-self: center;
3574
+ height: auto !important;
3575
+ }
3587
3576
 
3588
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3589
- color: var(--cds2-color-foreground-danger-default);
3590
- }
3577
+ & .capra-Menu-module-HIhAFW-menuItemListItemShell {
3578
+ align-items: start;
3579
+ }
3580
+ }
3591
3581
 
3592
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"] {
3593
- background-color: var(--cds2-color-background-danger-hover);
3594
- color: var(--cds2-color-foreground-danger-default);
3582
+ & .capra-Menu-module-HIhAFW-menuItemListItemShell {
3583
+ width: 100%;
3584
+ color: inherit;
3585
+ align-items: center;
3586
+ }
3595
3587
  }
3596
3588
 
3597
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"] .capra-Menu-module-3G4VeG-menuItemLabel {
3598
- color: var(--cds2-color-foreground-danger-default);
3599
- }
3589
+ .capra-Menu-module-HIhAFW-menuItemLeadingGutter {
3590
+ margin-inline-end: var(--cds2-spacing-md);
3600
3591
 
3601
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"]:hover:not(:disabled, [aria-disabled="true"]) {
3602
- background-color: var(--cds2-color-background-danger-subtle);
3603
- color: var(--cds2-color-foreground-danger-default);
3592
+ & .capra-Menu-module-HIhAFW-slot {
3593
+ line-height: 0;
3594
+ }
3604
3595
  }
3605
3596
 
3606
- .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3607
- color: var(--cds2-color-foreground-danger-default);
3597
+ .capra-Menu-module-HIhAFW-menuItemTrailingGutter {
3598
+ margin-inline-start: var(--cds2-spacing-md);
3608
3599
  }
3609
3600
 
3610
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"]:hover:not(:disabled, [aria-disabled="true"]) {
3611
- background-color: var(--cds2-color-background-danger-subtle);
3612
- color: var(--cds2-color-foreground-danger-default);
3601
+ .capra-Menu-module-HIhAFW-menuItemTrailingGroup {
3602
+ align-items: center;
3603
+ gap: var(--cds2-spacing-md);
3604
+ display: inline-flex;
3613
3605
  }
3614
3606
 
3615
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3616
- color: var(--cds2-color-foreground-danger-default);
3607
+ .capra-Menu-module-HIhAFW-menuItemLabel {
3608
+ color: inherit;
3617
3609
  font: var(--cds2-typography-body-md-normal);
3618
3610
  }
3619
3611
 
3620
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"] {
3621
- background-color: var(--cds2-color-border-danger-focus);
3622
- border-inline-end: 2px solid var(--cds2-color-border-accent-default);
3623
- color: var(--cds2-color-foreground-danger-default);
3624
- }
3625
-
3626
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"] .capra-Menu-module-3G4VeG-menuItemLabel {
3627
- color: var(--cds2-color-foreground-danger-default);
3628
- font: var(--cds2-typography-body-md-semibold);
3629
- }
3630
-
3631
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"]:hover:not(:disabled, [aria-disabled="true"]) {
3632
- background-color: var(--cds2-color-background-danger-subtle);
3633
- color: var(--cds2-color-foreground-danger-default);
3634
- }
3635
-
3636
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3637
- color: var(--cds2-color-foreground-danger-default);
3638
- font: var(--cds2-typography-body-md-semibold);
3639
- }
3640
-
3641
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem:hover:not(:disabled, [aria-disabled="true"]) {
3642
- background-color: var(--cds2-color-background-neutral-hover);
3612
+ .capra-Menu-module-HIhAFW-menuItemDescription {
3613
+ color: var(--cds2-color-foreground-default);
3614
+ font: var(--cds2-typography-body-sm-normal);
3643
3615
  }
3644
3616
 
3645
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemShortcut {
3617
+ .capra-Menu-module-HIhAFW-menuItemShortcut {
3618
+ background-color: var(--cds2-color-neutral-surface);
3619
+ border: var(--cds2-border-default);
3620
+ border-color: var(--cds2-color-border-neutral-subtle);
3621
+ border-radius: var(--cds2-radius-md);
3646
3622
  color: var(--cds2-color-foreground-subtle);
3623
+ font: var(--cds2-typography-body-sm-normal);
3624
+ padding: 0 var(--cds2-spacing-sm);
3625
+ white-space: nowrap;
3626
+ justify-content: center;
3627
+ align-items: center;
3628
+ display: inline-flex;
3647
3629
  }
3648
3630
 
3649
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"] {
3650
- background-color: var(--cds2-color-background-accent-selected);
3651
- border-inline-end: 2px solid var(--cds2-color-border-accent-default);
3652
- color: var(--cds2-color-foreground-accent-default);
3653
- }
3654
-
3655
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-accent-bar="false"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"], .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-accent-bar="false"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"] {
3656
- border-inline-end: none;
3657
- }
3658
-
3659
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-label-semibold="false"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"] .capra-Menu-module-3G4VeG-menuItemLabel, .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-label-semibold="false"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel, .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-label-semibold="false"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"] .capra-Menu-module-3G4VeG-menuItemLabel, .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-label-semibold="false"] .capra-Menu-module-3G4VeG-menuItem[data-variant="danger"].capra-Menu-module-3G4VeG-menuItem[data-active="true"]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3660
- font: var(--cds2-typography-body-md-normal);
3661
- }
3662
-
3663
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"] .capra-Menu-module-3G4VeG-menuItemLabel {
3664
- color: var(--cds2-color-foreground-accent-default);
3665
- font: var(--cds2-typography-body-md-semibold);
3666
- }
3667
-
3668
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-active="true"]:hover:not(:disabled, [aria-disabled="true"]) {
3669
- background-color: var(--cds2-color-background-accent-selected);
3670
- color: var(--cds2-color-foreground-accent-default);
3671
- }
3631
+ .capra-Menu-module-HIhAFW-menu[data-item-hover-appearance="accent"] {
3632
+ & .capra-Menu-module-HIhAFW-menuItem {
3633
+ &:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-HIhAFW-menuItemShortcut {
3634
+ color: var(--cds2-color-foreground-subtle);
3635
+ }
3672
3636
 
3673
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:not(:disabled, [aria-disabled="true"]) {
3674
- background-color: var(--cds2-color-border-focus);
3675
- border-inline-end: 2px solid var(--cds2-color-border-accent-default);
3676
- color: var(--cds2-color-foreground-accent-default);
3677
- }
3637
+ &:is(:disabled, [aria-disabled="true"]) {
3638
+ color: var(--cds2-color-foreground-disabled);
3639
+ background-color: #0000;
3678
3640
 
3679
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3680
- color: var(--cds2-color-foreground-accent-default);
3681
- font: var(--cds2-typography-body-md-semibold);
3682
- }
3641
+ &[data-active="true"] {
3642
+ background-color: #0000;
3643
+ border-inline-end: none;
3644
+ }
3683
3645
 
3684
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:hover:not(:disabled, [aria-disabled="true"]) {
3685
- background-color: var(--cds2-color-background-accent-selected);
3686
- color: var(--cds2-color-foreground-accent-default);
3687
- }
3646
+ &[data-active="true"] .capra-Menu-module-HIhAFW-menuItemLabel {
3647
+ font: var(--cds2-typography-body-md-normal);
3648
+ }
3649
+ }
3688
3650
 
3689
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3690
- color: var(--cds2-color-foreground-accent-default);
3691
- }
3651
+ &[data-active="true"] {
3652
+ background-color: var(--cds2-color-background-accent-selected);
3653
+ border-inline-end: 2px solid var(--cds2-color-border-accent-default);
3654
+ color: var(--cds2-color-foreground-accent-default);
3692
3655
 
3693
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-accent-bar="false"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open], .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-accent-bar="false"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:hover:not(:disabled, [aria-disabled="true"]) {
3694
- border-inline-end: none;
3695
- }
3656
+ & .capra-Menu-module-HIhAFW-menuItemLabel {
3657
+ color: var(--cds2-color-foreground-accent-default);
3658
+ font: var(--cds2-typography-body-md-semibold);
3659
+ }
3696
3660
 
3697
- .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-label-semibold="false"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open] .capra-Menu-module-3G4VeG-menuItemLabel, .capra-Menu-module-3G4VeG-menu[data-item-hover-appearance="accent"][data-item-active-label-semibold="false"] .capra-Menu-module-3G4VeG-menuItem[data-has-submenu][data-open]:hover:not(:disabled, [aria-disabled="true"]) .capra-Menu-module-3G4VeG-menuItemLabel {
3698
- font: var(--cds2-typography-body-md-normal);
3699
- }
3661
+ &:hover:not(:disabled, [aria-disabled="true"]) {
3662
+ background-color: var(--cds2-color-background-accent-selected);
3663
+ color: var(--cds2-color-foreground-accent-default);
3664
+ }
3665
+ }
3700
3666
 
3701
- .capra-Menu-module-3G4VeG-section {
3702
- display: contents;
3703
- }
3667
+ &[data-has-submenu][data-open]:not(:disabled, [aria-disabled="true"]) {
3668
+ background-color: var(--cds2-color-border-focus);
3669
+ border-inline-end: 2px solid var(--cds2-color-border-accent-default);
3670
+ color: var(--cds2-color-foreground-accent-default);
3704
3671
 
3705
- .capra-Menu-module-3G4VeG-menuItem[data-indent="true"] {
3706
- padding-inline-start: var(--cds2-spacing-xl);
3707
- }
3672
+ & .capra-Menu-module-HIhAFW-menuItemLabel {
3673
+ color: var(--cds2-color-foreground-accent-default);
3674
+ font: var(--cds2-typography-body-md-semibold);
3675
+ }
3708
3676
 
3709
- .capra-Menu-module-3G4VeG-menuItemLabel {
3710
- color: inherit;
3711
- font: var(--cds2-typography-body-md-normal);
3712
- }
3677
+ &:hover {
3678
+ background-color: var(--cds2-color-background-accent-selected);
3679
+ }
3680
+ }
3713
3681
 
3714
- .capra-Menu-module-3G4VeG-menuItemDescription {
3715
- color: var(--cds2-color-foreground-default);
3716
- font: var(--cds2-typography-body-sm-normal);
3717
- }
3682
+ &[data-variant="danger"] {
3683
+ &:hover:not(:disabled, [aria-disabled="true"]) {
3684
+ background-color: var(--cds2-color-background-danger-subtle);
3685
+ color: var(--cds2-color-foreground-danger-default);
3686
+
3687
+ & .capra-Menu-module-HIhAFW-menuItemLabel {
3688
+ font: var(--cds2-typography-body-md-normal);
3689
+ }
3690
+ }
3691
+
3692
+ &[data-active="true"] {
3693
+ background-color: var(--cds2-color-border-danger-focus);
3694
+ border-inline-end: 2px solid var(--cds2-color-border-accent-default);
3695
+ color: var(--cds2-color-foreground-danger-default);
3696
+
3697
+ & .capra-Menu-module-HIhAFW-menuItemLabel {
3698
+ color: var(--cds2-color-foreground-danger-default);
3699
+ font: var(--cds2-typography-body-md-semibold);
3700
+ }
3701
+
3702
+ &:hover:not(:disabled, [aria-disabled="true"]) {
3703
+ background-color: var(--cds2-color-background-danger-subtle);
3704
+ }
3705
+ }
3706
+ }
3707
+ }
3718
3708
 
3719
- .capra-Menu-module-3G4VeG-menuItem[data-has-description="true"] .capra-Menu-module-3G4VeG-menuItemTrailingGutter {
3720
- align-self: center;
3721
- height: auto !important;
3722
- }
3709
+ &[data-item-active-accent-bar="false"] {
3710
+ & .capra-Menu-module-HIhAFW-menuItem[data-active="true"], & .capra-Menu-module-HIhAFW-menuItem[data-has-submenu][data-open] {
3711
+ border-inline-end: none;
3712
+ }
3713
+ }
3723
3714
 
3724
- .capra-Menu-module-3G4VeG-menuItemTrailingGroup {
3725
- align-items: center;
3726
- gap: var(--cds2-spacing-md);
3727
- display: inline-flex;
3715
+ &[data-item-active-label-semibold="false"] {
3716
+ & .capra-Menu-module-HIhAFW-menuItem[data-active="true"] .capra-Menu-module-HIhAFW-menuItemLabel, & .capra-Menu-module-HIhAFW-menuItem[data-has-submenu][data-open] .capra-Menu-module-HIhAFW-menuItemLabel {
3717
+ font: var(--cds2-typography-body-md-normal);
3718
+ }
3719
+ }
3728
3720
  }
3729
3721
 
3730
- .capra-Menu-module-3G4VeG-menuItemShortcut {
3731
- background-color: var(--cds2-color-neutral-surface);
3732
- border: var(--cds2-border-default);
3733
- border-color: var(--cds2-color-border-neutral-subtle);
3734
- border-radius: var(--cds2-radius-md);
3735
- color: var(--cds2-color-foreground-subtle);
3736
- font: var(--cds2-typography-body-sm-normal);
3737
- padding: 0 var(--cds2-spacing-sm);
3738
- white-space: nowrap;
3739
- justify-content: center;
3740
- align-items: center;
3741
- display: inline-flex;
3722
+ .capra-Menu-module-HIhAFW-section {
3723
+ display: contents;
3742
3724
  }
3743
3725
 
3744
- .capra-Menu-module-3G4VeG-header {
3726
+ .capra-Menu-module-HIhAFW-header {
3745
3727
  box-sizing: border-box;
3746
3728
  color: var(--cds2-color-foreground-default);
3747
3729
  font: var(--cds2-typography-body-md-semibold);
@@ -3752,7 +3734,7 @@ input:disabled + .capra-Radio-module-ZI7rzq-inner:after {
3752
3734
  display: flex;
3753
3735
  }
3754
3736
 
3755
- .capra-Menu-module-3G4VeG-divider {
3737
+ .capra-Menu-module-HIhAFW-divider {
3756
3738
  border: none;
3757
3739
  border-block-start: var(--cds2-border-default);
3758
3740
  border-color: var(--cds2-color-border-neutral-subtle);
@@ -3762,10 +3744,6 @@ input:disabled + .capra-Radio-module-ZI7rzq-inner:after {
3762
3744
  width: 100%;
3763
3745
  padding: 0;
3764
3746
  }
3765
-
3766
- .capra-Menu-module-3G4VeG-menuItemListItemShell {
3767
- width: 100%;
3768
- }
3769
3747
  .capra-TabNav-module-pLDWhG-root {
3770
3748
  flex-direction: column;
3771
3749
  width: 100%;
@@ -14,5 +14,5 @@
14
14
  | `itemActiveAccentBar` | `boolean` | No | true | When `itemHoverAppearance` is `accent`, whether the active/selected row shows the inline-end accent bar (vertical TabNav indicator). Set to `false` for horizontal TabNav flyout menus where selection should not show that bar.<br>@default true |
15
15
  | `itemActiveLabelSemibold` | `boolean` | No | true | When `itemHoverAppearance` is `accent`, whether the active/selected row uses a semibold label. Set to `false` for TabNav horizontal submenus where the active item should match normal menu weight.<br>@default true |
16
16
  | `panelPadding` | `'default' \| 'none'` | No | 'default' | Inset of the menu panel (`role="menu"`). `none` uses a minimal inset so focus rings are not clipped under scroll/overflow; use for flyouts that should sit close to the popover edge (e.g. TabNav submenu).<br>@default 'default' |
17
- | `popoverOffset` | `number` | No | 0 | Gap along the main axis between the trigger and the menu panel (React Aria `Popover` `offset`).<br>Use a small value (e.g. 1) when the panel should clear a trigger underline/border (e.g. horizontal TabNav).<br>@default 0 |
17
+ | `popoverOffset` | `number` | No | 2 | Gap along the main axis between the trigger and the menu panel (React Aria `Popover` `offset`).<br>Defaults to 2px to match `spacing.xs`; `Popover` positioning takes a number, so the token cannot be applied via CSS.<br>Use a smaller value (e.g. 1) when the panel should clear a trigger underline/border (e.g. horizontal TabNav).<br>@default 2 |
18
18
  | `trapFocus` | `boolean` | No | false | When `true`, focus is contained in the menu panel while it is open (Tab cycles within the panel; focus restores on close).<br>The popover stays non-modal so outside pointer dismiss still works. Use for patterns that must not move focus to sibling controls until the menu closes (e.g. horizontal TabNav flyouts).<br>@default false |
@@ -71,6 +71,8 @@ TabNav uses link-based navigation. The following apply:
71
71
  * Active nav links have `aria-current="page"` set.
72
72
  * Tabs that contain a dropdown use a button with `aria-haspopup="menu"` and `aria-expanded` set.
73
73
  * Dropdown menu items use the Menu component with appropriate roles.
74
+ * The tab bar does not add outer spacing for surrounding layout. Handle page-level spacing where `TabNav` is composed.
75
+ * Interactive tabs and sub-items keep the `.tab` styles on the focusable element so hover, active, and focus treatments match the hit target.
74
76
 
75
77
  ### Orientation
76
78
 
@@ -8,7 +8,8 @@ TabNav provides a horizontal or vertical navigation styled as tabs. Tab items ar
8
8
  | `style` | `never` | No | `--` | Inline styles are not supported; use component props or `FORCE__className`. |
9
9
  | `FORCE__className` | `string` | No | `--` | 🚨 This prop is meant to be an escape hatch. 🚨<br><br>If the desired style cannot be achieved using component props, use this as a last resort. The inner workings of Capra components are implementation details and this escape hatch gives one access to those implementation details. We cannot make any guarantees that styles will applied correctly across version updates. Please use it responsibly.<br><br>Add a CSS class to the component. |
10
10
  | `activeKey` | `string` | No | `--` | Key of the currently active tab (for visual styling). Typically derived from the current URL. |
11
- | `onTabClick` | `(key: string, event: React.MouseEvent) => void` | No | `--` | Callback when a tab link is clicked (before navigation). |
11
+ | `onTabPress` | `(key: string) => void` | No | `--` | Callback when a tab link is pressed (before navigation). |
12
+ | `onTabClick` | `(key: string, event: React.MouseEvent) => void` | No | `--` | Callback when a tab link is clicked (before navigation).<br>@deprecated Use `onTabPress` instead. |
12
13
  | `items` | `TabNavItemType[]` | Yes | `--` | Tab items configuration. |
13
14
  | `tabPlacement` | `(typeof tabNavPlacements)[number]` | No | 'horizontal' | Orientation of the tab bar: horizontal (bottom) or vertical (left).<br>@default 'horizontal' |
14
15
  | `centered` | `boolean` | No | false | Whether to center the tabs.<br>@default false |
@@ -19,7 +20,7 @@ TabNav provides a horizontal or vertical navigation styled as tabs. Tab items ar
19
20
  ## Usage
20
21
 
21
22
  ```tsx
22
- import { TabNav } from '@capra/core';
23
+ import { RouterProvider, TabNav } from '@capra/core';
23
24
 
24
25
  // Basic usage - tab items are links that redirect to URLs
25
26
  <TabNav
@@ -62,4 +63,21 @@ import { TabNav } from '@capra/core';
62
63
  { key: 'settings', name: 'Settings', href: '/settings' },
63
64
  ]}
64
65
  />
65
- ```
66
+
67
+ // With client-side routing
68
+ <RouterProvider navigate={navigate}>
69
+ <TabNav
70
+ activeKey={currentPath}
71
+ items={[
72
+ { key: 'overview', name: 'Overview', href: '/overview' },
73
+ {
74
+ key: 'settings',
75
+ name: 'Settings',
76
+ subItems: [{ key: 'profile', name: 'Profile', href: '/settings/profile' }],
77
+ },
78
+ ]}
79
+ />
80
+ </RouterProvider>
81
+ ```
82
+
83
+ When the app provides `RouterProvider`, `TabNav` passes `href` and the rest of `RoutedLinkProps` through to navigable tabs and sub-items so routing stays client-side.
@@ -1,5 +1,21 @@
1
1
  # History/Changelogs/@capra-core
2
2
 
3
+ ### 1.12.0
4
+
5
+ #### Minor Changes
6
+
7
+ * [1fdb8d2](https://bitbucket.org/cribl/capra-ui/commits/1fdb8d2): Add `TabNav` `onTabPress` for sub-item client-side routing support.
8
+
9
+ #### Patch Changes
10
+
11
+ * [9550263](https://bitbucket.org/cribl/capra-ui/commits/9550263): Fix Menu submenu viewport clipping by enabling popover flip when nested panels would overflow the screen edge.
12
+ * [9550263](https://bitbucket.org/cribl/capra-ui/commits/9550263): Fix Menu leading icon vertical alignment with item labels.
13
+ * [b4285e0](https://bitbucket.org/cribl/capra-ui/commits/b4285e0): Fix menu description text color when disabled.
14
+ * [9550263](https://bitbucket.org/cribl/capra-ui/commits/9550263): Fix Menu danger item icons so leading icons inherit the same semantic foreground color as the label.
15
+ * Updated dependencies [928c9a8](https://bitbucket.org/cribl/capra-ui/commits/928c9a8) — added new icons: AddressBook, AlignCenter, AlignJustify, AlignLeft, AlignRight, ArrowDownLeftAndArrowUpRightToCenter, ArrowTurnDownLeft, ArrowUpRightAndArrowDownLeftFromCenter, ArrowsMaximize, ArrowsMinimize, At, Backward, BackwardStep, BadgeCheck, BagShopping, Ban, Barcode, Bold, Bolt, Book, BookOpen, BoxArchive, BracketsCurly, BriefcaseMedical, Bug, Bullhorn, Bullseye, Car, CaretDownSolid, CaretLeftSolid, CaretRightSolid, CaretUpSolid, CartShopping, ChartEvents, ChartFunnel, ChartMap, ChartScatter, ChartSingle, Check, CircleCheck, CircleCheckSolid, CircleExclamation, CircleInfo, CircleInfoSolid, CirclePlusSolid, CircleQuestion, CircleR, CircleStopSolid, CircleUpFilled, CircleXmarkSolid, Code, CodeBlock, CodeBranch, CodeFork, CodeMerge, CodePullRequest, Compass, Copyright, CriblOutlined, Crown, CupTogo, Database, DiagramSankey, EmptySet, FaceFrown, FaceMeh, FaceSmile, File, FileLines, FilePlusMinus, Fire, Flask, Forward, ForwardStep, GaugeSimple, Gift, GitAlt, Grid2Plus, GripDotsVertical, HardDrive, Headphones, Heart, HeartSolid, HibernatingCloud, Highlighter, Hourglass, IdCard, Image, Italic, Keyboard, Lightbulb, LinkSlash, ListOrdered, ListTree, Lock, Mars, Message, Messages, Microphone, Mobile, MugHot, Notebook, Outbound, Palette, Paperclip, Pause, Play, Print, Qrcode, Robot, RocketLaunch, Scissors, Share, Shirt, SlashForward, Sliders, SlidersUp, SortAlphaAscending, SortAlphaDescending, SortDown, SortDownSolid, SortNumericAscending, SortNumericDescending, SortOutlined, SortUp, SortUpSolid, SpinnerThird, SquareExclamation, SquareExclamationSolid, Star, StarSolid, Store, Strikethrough, Tablet, Tag, ThumbsDown, ThumbsDownSolid, ThumbsUp, ThumbtackAngleFilled, ThumbtackAngleOutlined, Token, Trash, TriangleExclamation, TriangleExclamationSolid, Trophy, Underline, Venus, Video, Volume
16
+ * Updated dependencies [3572a4f](https://bitbucket.org/cribl/capra-ui/commits/3572a4f) — Updated fill color for HibernatingCloud icon
17
+ * @capra/icons\@1.10.0
18
+
3
19
  ### 1.11.1
4
20
 
5
21
  #### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capra/core",
3
- "version": "1.11.1",
3
+ "version": "1.12.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "type": "module",
6
6
  "description": "Core React components for the Capra design system",
@@ -35,7 +35,7 @@
35
35
  "dependencies": {
36
36
  "react-aria": "^3.48.0",
37
37
  "react-aria-components": "^1.17.0",
38
- "@capra/icons": "^1.9.0"
38
+ "@capra/icons": "^1.10.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "clsx": "^2.1.1",
@@ -43,9 +43,9 @@
43
43
  "antd": "4.24.16",
44
44
  "storybook": "^10.4.6",
45
45
  "tsdown": "^0.22.7",
46
+ "@private/linting": "^0.0.1",
46
47
  "@private/building": "^0.1.0",
47
48
  "@capra/theme": "^1.4.0",
48
- "@private/linting": "^0.0.1",
49
49
  "@private/stories": "^0.0.0",
50
50
  "@private/testing": "^0.0.7"
51
51
  },