|
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