"files": [
{
"path": "./dist/css/bootstrap-grid.css",
- "maxSize": "9.5 kB"
+ "maxSize": "10.0 kB"
},
{
"path": "./dist/css/bootstrap-grid.min.css",
- "maxSize": "8.5 kB"
+ "maxSize": "9.0 kB"
},
{
"path": "./dist/css/bootstrap-reboot.css",
},
{
"path": "./dist/css/bootstrap-utilities.css",
- "maxSize": "15.0 kB"
+ "maxSize": "15.25 kB"
},
{
"path": "./dist/css/bootstrap-utilities.min.css",
- "maxSize": "13.25 kB"
+ "maxSize": "13.5 kB"
},
{
"path": "./dist/css/bootstrap.css",
flex-shrink: 0;
width: var(--#{$prefix}accordion-btn-icon-width);
height: var(--#{$prefix}accordion-btn-icon-width);
- margin-left: auto;
+ margin-inline-start: auto;
content: "";
background-color: var(--#{$prefix}accordion-btn-color);
mask: var(--#{$prefix}accordion-btn-icon) no-repeat center 100%;
// Expand the right padding and account for the close button's positioning.
.alert-dismissible {
- padding-right: $alert-dismissible-padding-r;
+ padding-inline-end: $alert-dismissible-padding-r;
// Adjust close link position
.btn-close {
.breadcrumb-item {
// The separator between breadcrumbs (by default, a forward-slash: "/")
+ .breadcrumb-item {
- padding-left: var(--#{$prefix}breadcrumb-item-padding-x);
+ padding-inline-start: var(--#{$prefix}breadcrumb-item-padding-x);
&::before {
float: left; // Suppress inline spacings and underlining of the separator
- padding-right: var(--#{$prefix}breadcrumb-item-padding-x);
+ padding-inline-end: var(--#{$prefix}breadcrumb-item-padding-x);
color: var(--#{$prefix}breadcrumb-divider-color);
content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
}
@include box-shadow(var(--#{$prefix}card-box-shadow));
> hr {
- margin-right: 0;
- margin-left: 0;
+ margin-inline: 0;
}
> .list-group {
}
+ .card-link {
- margin-left: var(--#{$prefix}card-spacer-x);
+ margin-inline-start: var(--#{$prefix}card-spacer-x);
}
}
//
.card-header-tabs {
- margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x));
+ margin-inline: calc(-.5 * var(--#{$prefix}card-cap-padding-x));
margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y));
- margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x));
border-bottom: 0;
.nav-link.active {
}
.card-header-pills {
- margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x));
- margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x));
+ margin-inline: calc(-.5 * var(--#{$prefix}card-cap-padding-x));
}
// Card image
margin-bottom: 0;
+ .card {
- margin-left: 0;
+ margin-inline-start: 0;
border-left: 0;
}
display: none;
float: left;
width: 100%;
- margin-right: -100%;
+ margin-inline-end: -100%;
backface-visibility: hidden;
@include transition($carousel-transition);
}
justify-content: center;
padding: 0;
// Use the .carousel-control's width as margin so we don't overlay those
- margin-right: $carousel-control-width;
+ margin-inline: $carousel-control-width;
margin-bottom: 1rem;
- margin-left: $carousel-control-width;
[data-bs-target] {
box-sizing: content-box;
width: $carousel-indicator-width;
height: $carousel-indicator-height;
padding: 0;
- margin-right: $carousel-indicator-spacer;
- margin-left: $carousel-indicator-spacer;
+ margin-inline: $carousel-indicator-spacer;
text-indent: -999px;
cursor: pointer;
background-color: var(--#{$prefix}carousel-indicator-active-bg);
top: 0;
right: auto;
left: 100%;
+ margin-inline-start: var(--#{$prefix}dropdown-spacer);
margin-top: 0;
- margin-left: var(--#{$prefix}dropdown-spacer);
}
.dropdown-toggle {
top: 0;
right: 100%;
left: auto;
+ margin-inline-end: var(--#{$prefix}dropdown-spacer);
margin-top: 0;
- margin-right: var(--#{$prefix}dropdown-spacer);
}
.dropdown-toggle {
flex-direction: column;
// No need to set list-style: none; since .list-group-item is block level
- padding-left: 0; // reset padding because ul and ol
+ padding-inline-start: 0; // reset padding because ul and ol
margin-bottom: 0;
@include border-radius(var(--#{$prefix}list-group-border-radius));
}
border-left-width: 0;
&.active {
- margin-left: calc(-1 * var(--#{$prefix}list-group-border-width));
+ margin-inline-start: calc(-1 * var(--#{$prefix}list-group-border-width));
border-left-width: var(--#{$prefix}list-group-border-width);
}
}
.btn-close {
padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);
// Split properties to avoid invalid calc() function if value is 0
+ margin-inline-start: auto;
+ margin-inline-end: calc(-.5 * var(--#{$prefix}modal-header-padding-x));
margin-top: calc(-.5 * var(--#{$prefix}modal-header-padding-y));
- margin-right: calc(-.5 * var(--#{$prefix}modal-header-padding-x));
margin-bottom: calc(-.5 * var(--#{$prefix}modal-header-padding-y));
- margin-left: auto;
}
}
// Automatically set modal's width for larger viewports
.modal-dialog {
max-width: var(--#{$prefix}modal-width);
- margin-right: auto;
- margin-left: auto;
+ margin-inline: auto;
}
.modal-sm {
display: flex;
flex-wrap: wrap;
- padding-left: 0;
+ padding-inline-start: 0;
margin-bottom: 0;
list-style: none;
}
gap: var(--#{$prefix}nav-underline-gap);
.nav-link {
- padding-right: 0;
- padding-left: 0;
+ padding-inline: 0;
border-bottom: var(--#{$prefix}nav-underline-border-width) solid transparent;
&:hover,
.navbar-brand {
padding-top: var(--#{$prefix}navbar-brand-padding-y);
padding-bottom: var(--#{$prefix}navbar-brand-padding-y);
- margin-right: var(--#{$prefix}navbar-brand-margin-end);
+ margin-inline-end: var(--#{$prefix}navbar-brand-margin-end);
@include font-size(var(--#{$prefix}navbar-brand-font-size));
color: var(--#{$prefix}navbar-brand-color);
text-decoration: none;
display: flex;
flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
- padding-left: 0;
+ padding-inline-start: 0;
margin-bottom: 0;
list-style: none;
}
.nav-link {
- padding-right: var(--#{$prefix}navbar-nav-link-padding-x);
- padding-left: var(--#{$prefix}navbar-nav-link-padding-x);
+ padding-inline: var(--#{$prefix}navbar-nav-link-padding-x);
}
}
.btn-close {
padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);
// Split properties to avoid invalid calc() function if value is 0
+ margin-inline-start: auto;
+ margin-inline-end: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
- margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
- margin-left: auto;
}
}
.page-item {
&:not(:first-child) .page-link {
- margin-left: $pagination-margin-start;
+ margin-inline-start: $pagination-margin-start;
}
@if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {
left: 50%;
display: block;
width: var(--#{$prefix}popover-arrow-width);
- margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width));
+ margin-inline-start: calc(-.5 * var(--#{$prefix}popover-arrow-width));
content: "";
border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);
}
@include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));
.btn-close {
- margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x));
- margin-left: var(--#{$prefix}toast-padding-x);
+ margin-inline-start: var(--#{$prefix}toast-padding-x);
+ margin-inline-end: calc(-.5 * var(--#{$prefix}toast-padding-x));
}
}
),
"margin-x": (
responsive: true,
- property: margin-right margin-left,
+ property: margin-inline,
class: mx,
values: map.merge($spacers, (auto: auto))
),
"margin-y": (
responsive: true,
- property: margin-top margin-bottom,
+ property: margin-block,
class: my,
values: map.merge($spacers, (auto: auto))
),
"margin-top": (
responsive: true,
- property: margin-top,
+ property: margin-block-start,
class: mt,
values: map.merge($spacers, (auto: auto))
),
"margin-end": (
responsive: true,
- property: margin-right,
+ property: margin-inline-end,
class: me,
values: map.merge($spacers, (auto: auto))
),
"margin-bottom": (
responsive: true,
- property: margin-bottom,
+ property: margin-block-end,
class: mb,
values: map.merge($spacers, (auto: auto))
),
"margin-start": (
responsive: true,
- property: margin-left,
+ property: margin-inline-start,
class: ms,
values: map.merge($spacers, (auto: auto))
),
// ),
// "negative-margin-x": (
// responsive: true,
- // property: margin-right margin-left,
+ // property: margin-inline,
// class: mx,
// values: $negative-spacers
// ),
// "negative-margin-y": (
// responsive: true,
- // property: margin-top margin-bottom,
+ // property: margin-block,
// class: my,
// values: $negative-spacers
// ),
// "negative-margin-top": (
// responsive: true,
- // property: margin-top,
+ // property: margin-block-start,
// class: mt,
// values: $negative-spacers
// ),
// "negative-margin-end": (
// responsive: true,
- // property: margin-right,
+ // property: margin-inline-end,
// class: me,
// values: $negative-spacers
// ),
// "negative-margin-bottom": (
// responsive: true,
- // property: margin-bottom,
+ // property: margin-block-end,
// class: mb,
// values: $negative-spacers
// ),
// "negative-margin-start": (
// responsive: true,
- // property: margin-left,
+ // property: margin-inline-start,
// class: ms,
// values: $negative-spacers
// ),
),
"padding-x": (
responsive: true,
- property: padding-right padding-left,
+ property: padding-inline,
class: px,
values: $spacers
),
"padding-y": (
responsive: true,
- property: padding-top padding-bottom,
+ property: padding-block,
class: py,
values: $spacers
),
"padding-top": (
responsive: true,
- property: padding-top,
+ property: padding-block-start,
class: pt,
values: $spacers
),
"padding-end": (
responsive: true,
- property: padding-right,
+ property: padding-inline-end,
class: pe,
values: $spacers
),
"padding-bottom": (
responsive: true,
- property: padding-bottom,
+ property: padding-block-end,
class: pb,
values: $spacers
),
"padding-start": (
responsive: true,
- property: padding-left,
+ property: padding-inline-start,
class: ps,
values: $spacers
),
)
),
"rounded-top": (
- property: border-top-left-radius border-top-right-radius,
+ property: border-start-start-radius border-start-end-radius,
class: rounded-top,
values: (
null: var(--#{$prefix}border-radius),
)
),
"rounded-end": (
- property: border-top-right-radius border-bottom-right-radius,
+ property: border-end-end-radius border-end-start-radius,
class: rounded-end,
values: (
null: var(--#{$prefix}border-radius),
)
),
"rounded-bottom": (
- property: border-bottom-right-radius border-bottom-left-radius,
+ property: border-end-end-radius border-end-start-radius,
class: rounded-bottom,
values: (
null: var(--#{$prefix}border-radius),
)
),
"rounded-start": (
- property: border-bottom-left-radius border-top-left-radius,
+ property: border-start-start-radius border-start-end-radius,
class: rounded-start,
values: (
null: var(--#{$prefix}border-radius),
// Prevent double borders when buttons are next to each other
> :not(.btn-check:first-child) + .btn,
> .btn-group:not(:first-child) {
- margin-left: calc(-1 * #{$btn-border-width});
+ margin-inline-start: calc(-1 * #{$btn-border-width});
}
// Reset rounded corners
//
.dropdown-toggle-split {
- padding-right: $btn-padding-x * .75;
- padding-left: $btn-padding-x * .75;
+ padding-inline: $btn-padding-x * .75;
&::after,
.dropup &::after,
.dropend &::after {
- margin-left: 0;
+ margin-inline-start: 0;
}
.dropstart &::before {
- margin-right: 0;
+ margin-inline-end: 0;
}
}
.btn-sm + .dropdown-toggle-split {
- padding-right: $btn-padding-x-sm * .75;
- padding-left: $btn-padding-x-sm * .75;
+ padding-inline: $btn-padding-x-sm * .75;
}
.btn-lg + .dropdown-toggle-split {
- padding-right: $btn-padding-x-lg * .75;
- padding-left: $btn-padding-x-lg * .75;
+ padding-inline: $btn-padding-x-lg * .75;
}
}
blockquote {
- padding-left: calc(var(--#{$prefix}content-gap) / 2);
+ padding-inline-start: calc(var(--#{$prefix}content-gap) / 2);
margin: 0;
border-left: 4px solid var(--#{$prefix}border-color);
}
ol,
ul {
- padding-left: 2rem;
+ padding-inline-start: 2rem;
}
ol,
// 1. Undo browser default
dd {
+ margin-inline-start: 0; // 1
margin-bottom: .5rem;
- margin-left: 0; // 1
}
display: inline-block;
&:not(:last-child) {
- margin-right: $list-inline-padding;
+ margin-inline-end: $list-inline-padding;
}
}
}
> .form-select {
+ padding-inline-start: $form-floating-padding-x;
padding-top: $form-floating-input-padding-t;
padding-bottom: $form-floating-input-padding-b;
- padding-left: $form-floating-padding-x;
}
> .form-control:focus,
&.form-control-sm,
&.form-control-lg {
- padding-right: 0;
- padding-left: 0;
+ padding-inline: 0;
}
}
// stylelint-disable selector-no-qualifying-type
select.form-control {
- padding-right: calc(var(--#{$prefix}control-padding-x) * 3);
+ padding-inline-end: calc(var(--#{$prefix}control-padding-x) * 3);
background-image: var(--#{$prefix}control-select-bg);
background-repeat: no-repeat;
background-position: var(--#{$prefix}control-select-bg-position);
&[multiple],
&[size]:not([size="1"]) {
- padding-right: var(--#{$prefix}control-padding-x);
+ padding-inline-end: var(--#{$prefix}control-padding-x);
background-image: none;
}
}
> :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
- margin-left: calc(-1 * #{$input-border-width});
+ margin-inline-start: calc(-1 * #{$input-border-width});
@include border-start-radius(0);
}
border-color: $border-color;
@if $enable-validation-icons {
- padding-right: $input-height-inner;
+ padding-inline-end: $input-height-inner;
background-image: escape-svg($icon);
background-repeat: no-repeat;
background-position: right $input-height-inner-quarter center;
textarea.form-control {
@include form-validation-state-selector($state) {
@if $enable-validation-icons {
- padding-right: $input-height-inner;
+ padding-inline-end: $input-height-inner;
background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
}
}
}
.form-check-inline .form-check-input {
~ .#{$state}-feedback {
- margin-left: .5em;
+ margin-inline-start: .5em;
}
}
--#{$prefix}gutter-x: #{$gutter};
--#{$prefix}gutter-y: 0;
width: 100%;
- padding-right: calc(var(--#{$prefix}gutter-x) * .5);
- padding-left: calc(var(--#{$prefix}gutter-x) * .5);
- margin-right: auto;
- margin-left: auto;
+ padding-inline: calc(var(--#{$prefix}gutter-x) * .5);
+ margin-inline: auto;
}
@layer layout {
@if $enable-caret {
&::after {
display: inline-block;
- margin-left: $spacing;
+ margin-inline-start: $spacing;
vertical-align: $vertical-align;
content: "";
@if $direction == down {
&::before {
display: inline-block;
- margin-right: $spacing;
+ margin-inline-end: $spacing;
vertical-align: $vertical-align;
content: "";
@include caret-start($width);
}
&:empty::after {
- margin-left: 0;
+ margin-inline-start: 0;
}
}
}
border-color: $border-color;
@if $enable-validation-icons {
- padding-right: $input-height-inner;
+ padding-inline-end: $input-height-inner;
background-image: escape-svg($icon);
background-repeat: no-repeat;
background-position: right $input-height-inner-quarter center;
textarea.form-control {
@include form-validation-state-selector($state) {
@if $enable-validation-icons {
- padding-right: $input-height-inner;
+ padding-inline-end: $input-height-inner;
background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
}
}
&:not([multiple]):not([size]),
&:not([multiple])[size="1"] {
--#{$prefix}form-select-bg-icon: #{escape-svg($icon)};
- padding-right: $form-select-feedback-icon-padding-end;
+ padding-inline-end: $form-select-feedback-icon-padding-end;
background-position: $form-select-bg-position, $form-select-feedback-icon-position;
background-size: $form-select-bg-size, $form-select-feedback-icon-size;
}
}
.form-check-inline .form-check-input {
~ .#{$state}-feedback {
- margin-left: .5em;
+ margin-inline-start: .5em;
}
}
display: flex;
flex-wrap: wrap;
// TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed
+ margin-inline: calc(-.5 * var(--#{$prefix}gutter-x));
margin-top: calc(-1 * var(--#{$prefix}gutter-y));
- margin-right: calc(-.5 * var(--#{$prefix}gutter-x));
- margin-left: calc(-.5 * var(--#{$prefix}gutter-x));
}
@mixin make-col-ready() {
flex-shrink: 0;
width: 100%;
max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid
- padding-right: calc(var(--#{$prefix}gutter-x) * .5);
- padding-left: calc(var(--#{$prefix}gutter-x) * .5);
+ padding-inline: calc(var(--#{$prefix}gutter-x) * .5);
margin-top: var(--#{$prefix}gutter-y);
}
@mixin make-col-offset($size, $columns: $grid-columns) {
$num: math.div($size, $columns);
- margin-left: if($num == 0, 0, math.percentage($num));
+ margin-inline-start: if($num == 0, 0, math.percentage($num));
}
// Row columns
// Unstyled keeps list items block level, just removes default browser padding and list-style
@mixin list-unstyled {
- padding-left: 0;
+ padding-inline-start: 0;
list-style: none;
}
// Source mixin
@mixin make-container($padding-x: $container-padding-x) {
width: 100%;
- padding-right: $padding-x;
- padding-left: $padding-x;
- margin-right: auto;
- margin-left: auto;
+ padding-inline: $padding-x;
+ margin-inline: auto;
}
// Usage