|
10 | 10 | --bb-tabs-bar-bg: #{$bb-tabs-bar-bg}; |
11 | 11 | --bb-tabs-body-padding: #{$bb-tabs-body-padding}; |
12 | 12 | --bb-tabs-header-vertical-min-width: #{$bb-tabs-header-vertical-min-width}; |
| 13 | + --bb-tabs-item-close-button-height: 21px; |
13 | 14 | display: flex; |
14 | 15 | flex-flow: column; |
15 | 16 |
|
|
140 | 141 | list-style: none; |
141 | 142 | } |
142 | 143 |
|
| 144 | +.tabs-item-wrap.active .tabs-item { |
| 145 | + color: var(--bb-tabs-item-active-color); |
| 146 | +} |
| 147 | + |
143 | 148 | .tabs-item { |
144 | 149 | padding: var(--bb-tabs-item-padding); |
145 | 150 | height: var(--bb-tabs-item-height); |
|
151 | 156 | align-items: center; |
152 | 157 | position: relative; |
153 | 158 | transition: color .3s cubic-bezier(.645,.045,.355,1), padding .3s cubic-bezier(.645,.045,.355,1), transform .3s linear; |
154 | | -} |
155 | 159 |
|
156 | | -.tabs-item.active { |
157 | | - color: var(--bb-tabs-item-active-color); |
158 | | -} |
159 | | - |
160 | | -.tabs-item:not(.disabled):hover { |
161 | | - color: var(--bb-tabs-item-hover-color); |
162 | | -} |
| 160 | + &.disabled { |
| 161 | + opacity: var(--bb-tabs-item-disabled-opacity); |
| 162 | + } |
163 | 163 |
|
164 | | -.tabs-item.disabled { |
165 | | - opacity: var(--bb-tabs-item-disabled-opacity); |
166 | | -} |
| 164 | + &:not(.disabled):hover { |
| 165 | + color: var(--bb-tabs-item-hover-color); |
| 166 | + } |
167 | 167 |
|
168 | | -.tabs-item .tabs-item-text { |
169 | | - padding: 0 0.25rem; |
170 | | - pointer-events: none; |
171 | | -} |
| 168 | + &:hover { |
| 169 | + .tabs-item-close { |
| 170 | + visibility: visible; |
| 171 | + } |
| 172 | + } |
172 | 173 |
|
173 | | -.tabs-item.is-closeable .tabs-item-text { |
174 | | - padding-right: 1rem; |
175 | | -} |
| 174 | + .tabs-item-body { |
| 175 | + display: flex; |
| 176 | + align-items: center; |
| 177 | + flex-wrap: nowrap; |
| 178 | + } |
176 | 179 |
|
177 | | -.tabs-item:hover .tabs-item-close { |
178 | | - display: flex; |
179 | | -} |
| 180 | + .tabs-item-text { |
| 181 | + padding: 0 0.25rem; |
| 182 | + pointer-events: none; |
| 183 | + user-select: none; |
| 184 | + } |
180 | 185 |
|
181 | | -.tabs-item .tabs-item-close { |
182 | | - width: 21px; |
183 | | - height: 21px; |
184 | | - display: none; |
185 | | - position: absolute; |
186 | | - right: .5rem; |
187 | | - top: 10px; |
188 | | - justify-content: center; |
189 | | - align-items: center; |
190 | | - transition: all .3s linear; |
191 | | -} |
| 186 | + .tabs-item-close { |
| 187 | + width: var(--bb-tabs-item-close-button-height); |
| 188 | + height: var(--bb-tabs-item-close-button-height); |
| 189 | + visibility: hidden; |
| 190 | + display: flex; |
| 191 | + justify-content: center; |
| 192 | + align-items: center; |
192 | 193 |
|
193 | | -.tabs-item .tabs-item-close:hover { |
194 | | - background-color: #e4e7ed; |
195 | | - border-radius: var(--bs-border-radius); |
| 194 | + &:hover { |
| 195 | + background-color: #e4e7ed; |
| 196 | + border-radius: var(--bs-border-radius); |
| 197 | + } |
| 198 | + } |
196 | 199 | } |
197 | 200 |
|
198 | 201 | .tabs .tabs-body { |
|
224 | 227 | border-width: 0 1px 1px 0; |
225 | 228 | } |
226 | 229 |
|
227 | | -.tabs.tabs-card > .tabs-header .tabs-item.active, |
228 | | -.tabs.tabs-border-card > .tabs-header .tabs-item.active { |
| 230 | +.tabs.tabs-card > .tabs-header .tabs-item-wrap.active .tabs-item, |
| 231 | +.tabs.tabs-border-card > .tabs-header .tabs-item-wrap.active .tabs-item { |
229 | 232 | border-width: 0 1px 0px 0; |
230 | 233 | } |
231 | 234 |
|
|
335 | 338 | border-width: 1px 1px 0 0; |
336 | 339 | } |
337 | 340 |
|
338 | | -.tabs.tabs-card.tabs-bottom > .tabs-header .tabs-item.active, |
339 | | -.tabs.tabs-border-card.tabs-bottom > .tabs-header .tabs-item.active { |
| 341 | +.tabs.tabs-card.tabs-bottom > .tabs-header .tabs-item-wrap.active .tabs-item, |
| 342 | +.tabs.tabs-border-card.tabs-bottom > .tabs-header .tabs-item-wrap.active .tabs-item { |
340 | 343 | border-width: 0 1px 0 0; |
341 | 344 | } |
342 | 345 |
|
|
394 | 397 | justify-content: flex-end; |
395 | 398 | } |
396 | 399 |
|
397 | | -.tabs.tabs-vertical > .tabs-header .tabs-item:last-child { |
| 400 | +.tabs.tabs-vertical > .tabs-header .tabs-item-wrap:last-child .tabs-item { |
398 | 401 | border-width: 0 1px 0 0; |
399 | 402 | } |
400 | 403 |
|
|
407 | 410 | justify-content: flex-start; |
408 | 411 | } |
409 | 412 |
|
410 | | -.tabs.tabs-vertical.tabs-card > .tabs-header .tabs-item.active, |
411 | | -.tabs.tabs-vertical.tabs-border-card > .tabs-header .tabs-item.active { |
| 413 | +.tabs.tabs-vertical.tabs-card > .tabs-header .tabs-item-wrap.active .tabs-item, |
| 414 | +.tabs.tabs-vertical.tabs-border-card > .tabs-header .tabs-item-wrap.active .tabs-item { |
412 | 415 | border-width: 0 0 1px 0; |
413 | 416 | } |
414 | 417 |
|
415 | | -.tabs.tabs-vertical.tabs-card > .tabs-header .tabs-item:last-child.active, |
416 | | -.tabs.tabs-vertical.tabs-border-card > .tabs-header .tabs-item:last-child.active { |
| 418 | +.tabs.tabs-vertical.tabs-card > .tabs-header .tabs-item-wrap:last-child.active .tabs-item, |
| 419 | +.tabs.tabs-vertical.tabs-border-card > .tabs-header .tabs-item-wrap:last-child.active .tabs-item { |
417 | 420 | border-width: 0; |
418 | 421 | } |
419 | 422 |
|
|
422 | 425 | border-width: 0 0 1px 1px; |
423 | 426 | } |
424 | 427 |
|
425 | | -.tabs.tabs-card.tabs-right > .tabs-header .tabs-item.active, |
426 | | -.tabs.tabs-border-card.tabs-right > .tabs-header .tabs-item.active { |
| 428 | +.tabs.tabs-card.tabs-right > .tabs-header .tabs-item-wrap.active .tabs-item, |
| 429 | +.tabs.tabs-border-card.tabs-right > .tabs-header .tabs-item-wrap.active .tabs-item { |
427 | 430 | border-width: 0 0 1px 0; |
428 | 431 | } |
429 | 432 |
|
430 | | -.tabs.tabs-card.tabs-right > .tabs-header .tabs-item:last-child.active, |
431 | | -.tabs.tabs-border-card.tabs-right > .tabs-header .tabs-item:last-child.active { |
| 433 | +.tabs.tabs-card.tabs-right > .tabs-header .tabs-item-wrap:last-child.active .tabs-item, |
| 434 | +.tabs.tabs-border-card.tabs-right > .tabs-header .tabs-item-wrap:last-child.active .tabs-item { |
432 | 435 | border-width: 0; |
433 | 436 | } |
434 | 437 |
|
|
486 | 489 |
|
487 | 490 | .tabs-chrome > .tabs-header, |
488 | 491 | .tabs-capsule > .tabs-header { |
| 492 | + --bb-tabs-header-height: 36px; |
489 | 493 | --bb-tabs-header-bg-color: var(--bs-border-color); |
| 494 | + --bb-tabs-item-body-border-radius: 14.5px; |
| 495 | + --bb-tabs-item-body-padding: 4px 10px; |
490 | 496 | --bb-tabs-item-hover-bg-color: rgba(var(--bs-body-color-rgb), 0.1); |
491 | 497 | --bb-tabs-item-active-bg-color: var(--bs-body-bg); |
492 | 498 | --bb-tabs-item-active-color: var(--bs-body-color); |
493 | 499 | --bb-tabs-item-hover-color: var(--bs-body-color); |
494 | 500 | --bb-tabs-item-bg-color: rgba(var(--bs-body-color-rgb), 0.08); |
| 501 | + --bb-tabs-item-text-padding: 0 .5rem; |
495 | 502 | background-color: var(--bb-tabs-header-bg-color); |
496 | 503 |
|
497 | 504 | .tabs-item-fix { |
|
504 | 511 | &:hover { |
505 | 512 | background-color: var(--bb-tabs-item-hover-bg-color); |
506 | 513 | } |
507 | | - } |
| 514 | + } |
508 | 515 | } |
509 | 516 |
|
510 | 517 | .btn-fs { |
|
513 | 520 |
|
514 | 521 | .tabs-item { |
515 | 522 | .tabs-item-body { |
516 | | - padding: 4px 10px; |
| 523 | + padding: var(--bb-tabs-item-body-padding); |
517 | 524 | display: flex; |
518 | 525 | align-items: center; |
519 | 526 | flex-wrap: nowrap; |
520 | | - border-radius: 14.5px; |
| 527 | + border-radius: var(--bb-tabs-item-body-border-radius); |
521 | 528 |
|
522 | 529 | .tabs-item-text { |
523 | | - padding: 0 .5rem; |
| 530 | + padding: var(--bb-tabs-item-text-padding); |
524 | 531 | } |
525 | 532 |
|
526 | 533 | .tabs-item-close { |
527 | 534 | display: flex; |
528 | 535 | position: unset; |
529 | | - width: 21px; |
530 | | - height: 21px; |
531 | 536 | border-radius: 50%; |
532 | 537 | } |
533 | 538 | } |
|
566 | 571 | } |
567 | 572 | } |
568 | 573 |
|
| 574 | +.tabs-chrome { |
| 575 | + --bb-tabs-header-padding: 0 0.25rem; |
| 576 | + --bb-tabs-item-wrap-padding-x: 1rem; |
| 577 | + --bb-tabs-item-body-margin-bottom: 4px; |
| 578 | +} |
| 579 | + |
569 | 580 | .tabs-chrome > .tabs-header { |
570 | | - padding: 0 .25rem; |
| 581 | + padding: var(--bb-tabs-header-padding); |
571 | 582 |
|
572 | 583 | .tabs-item-wrap { |
573 | 584 | overflow: hidden; |
574 | 585 | position: relative; |
575 | 586 | display: flex; |
576 | 587 | align-items: flex-end; |
577 | 588 | flex-shrink: 0; |
578 | | - padding: 0 1rem; |
| 589 | + padding: 0 var(--bb-tabs-item-wrap-padding-x); |
579 | 590 |
|
580 | 591 | &.active { |
581 | 592 | z-index: 1; |
|
590 | 601 | } |
591 | 602 |
|
592 | 603 | &:not(:first-child) { |
593 | | - margin-left: -2rem; |
| 604 | + margin-left: calc(0px - 2 * var(--bb-tabs-item-wrap-padding-x)); |
594 | 605 | } |
595 | 606 |
|
596 | 607 | &:not(.active) { |
|
607 | 618 | } |
608 | 619 | } |
609 | 620 | } |
| 621 | + } |
610 | 622 |
|
611 | | - &:hover + .tabs-item-wrap { |
| 623 | + &.active, |
| 624 | + &:hover { |
| 625 | + + .tabs-item-wrap { |
612 | 626 | .tabs-item { |
613 | 627 | &:before { |
614 | | - content: none; |
| 628 | + content: none !important; |
615 | 629 | } |
616 | 630 | } |
617 | 631 | } |
|
621 | 635 | border: none !important; |
622 | 636 | border-top-left-radius: 10px; |
623 | 637 | border-top-right-radius: 10px; |
624 | | - height: 36px !important; |
| 638 | + height: var(--bb-tabs-header-height) !important; |
625 | 639 |
|
626 | 640 | .tabs-item-body { |
627 | | - margin-bottom: 4px; |
| 641 | + margin-bottom: var(--bb-tabs-item-body-margin-bottom); |
628 | 642 | } |
629 | 643 | } |
630 | 644 |
|
631 | 645 | .tab-corner { |
632 | | - height: 2rem; |
633 | | - width: 2rem; |
| 646 | + height: calc(2 * var(--bb-tabs-item-wrap-padding-x)); |
| 647 | + width: calc(2 * var(--bb-tabs-item-wrap-padding-x)); |
634 | 648 | display: inline-flex; |
635 | 649 | justify-content: center; |
636 | 650 | align-items: center; |
|
647 | 661 |
|
648 | 662 | .tab-corner-left { |
649 | 663 | bottom: 0; |
650 | | - left: -1rem; |
| 664 | + left: calc(0px - var(--bb-tabs-item-wrap-padding-x)); |
651 | 665 |
|
652 | 666 | &::after { |
653 | 667 | border-bottom-right-radius: 50%; |
|
656 | 670 |
|
657 | 671 | .tab-corner-right { |
658 | 672 | bottom: 0; |
659 | | - right: -1rem; |
| 673 | + right: calc(0px - var(--bb-tabs-item-wrap-padding-x)); |
660 | 674 |
|
661 | 675 | &::after { |
662 | 676 | border-bottom-left-radius: 50%; |
|
667 | 681 |
|
668 | 682 | .tabs-capsule > .tabs-header { |
669 | 683 | .tabs-item-wrap { |
670 | | - margin-left: .5rem; |
| 684 | + margin-left: calc(var(--bb-tabs-item-wrap-padding-x) / 2); |
671 | 685 |
|
672 | 686 | &.active { |
673 | 687 | .tabs-item { |
|
0 commit comments