296 lines
7.6 KiB
SCSS
Executable File
296 lines
7.6 KiB
SCSS
Executable File
/**
|
|
* ref: https://github.com/alipajand/bootstrap4-rtl and some manual modifications
|
|
*/
|
|
|
|
[dir='rtl'] {
|
|
direction: rtl;
|
|
text-align: $right;
|
|
|
|
.nav {
|
|
padding-#{$right}: 0;
|
|
}
|
|
|
|
.navbar-nav .nav-item {
|
|
float: $right;
|
|
}
|
|
|
|
.alert-dismissible {
|
|
padding-#{$left}: 4rem;
|
|
padding-#{$right}: 1.25rem;
|
|
}
|
|
|
|
.dropdown-menu:not(.dropdown-menu-left) {
|
|
#{$right}: 0;
|
|
text-align: $right;
|
|
}
|
|
|
|
.checkbox label {
|
|
padding-#{$right}: 1.25rem;
|
|
padding-#{$left}: inherit;
|
|
}
|
|
|
|
.text-left {
|
|
text-align: right !important;
|
|
}
|
|
|
|
.text-right {
|
|
text-align: left !important;
|
|
}
|
|
|
|
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
|
|
@include border-radius(0 $border-radius $border-radius 0);
|
|
}
|
|
|
|
.btn-group > .btn:last-child:not(:first-child),
|
|
.btn-group > .dropdown-toggle:not(:first-child) {
|
|
@include border-radius($border-radius 0 0 $border-radius);
|
|
}
|
|
|
|
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
|
|
@include border-radius($border-radius 0 0 $border-radius);
|
|
}
|
|
|
|
/* .custom-control-label::after,
|
|
.custom-control-label::before {
|
|
#{$right}: -25px;
|
|
#{$left}: auto;
|
|
} */
|
|
|
|
.custom-select {
|
|
padding: $custom-select-padding-y $custom-select-padding-x
|
|
$custom-select-padding-y
|
|
($custom-select-padding-x + $custom-select-indicator-padding);
|
|
background: $custom-select-bg $custom-select-indicator no-repeat $left
|
|
$custom-select-padding-x center;
|
|
background-size: $custom-select-bg-size;
|
|
}
|
|
|
|
.input-group
|
|
> .input-group-append:last-child
|
|
> .btn:not(:last-child):not(.dropdown-toggle),
|
|
.input-group
|
|
> .input-group-append:last-child
|
|
> .input-group-text:not(:last-child),
|
|
.input-group > .input-group-append:not(:last-child) > .btn,
|
|
.input-group > .input-group-append:not(:last-child) > .input-group-text,
|
|
.input-group > .input-group-prepend > .btn,
|
|
.input-group > .input-group-prepend > .input-group-text {
|
|
@include border-radius(0 $border-radius $border-radius 0);
|
|
}
|
|
|
|
.input-group > .input-group-append > .btn,
|
|
.input-group > .input-group-append > .input-group-text,
|
|
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
|
|
.input-group
|
|
> .input-group-prepend:first-child
|
|
> .input-group-text:not(:first-child),
|
|
.input-group > .input-group-prepend:not(:first-child) > .btn,
|
|
.input-group > .input-group-prepend:not(:first-child) > .input-group-text {
|
|
@include border-radius($border-radius 0 0 $border-radius);
|
|
}
|
|
|
|
.input-group > .custom-select:not(:first-child),
|
|
.input-group > .form-control:not(:first-child) {
|
|
@include border-radius($border-radius 0 0 $border-radius);
|
|
}
|
|
|
|
.input-group > .custom-select:not(:last-child),
|
|
.input-group > .form-control:not(:last-child) {
|
|
@include border-radius(0 $border-radius $border-radius 0);
|
|
}
|
|
|
|
.input-group > .custom-select:not(:last-child):not(:first-child),
|
|
.input-group > .form-control:not(:last-child):not(:first-child) {
|
|
border-radius: 0;
|
|
}
|
|
/*
|
|
.custom-control {
|
|
margin-#{$left}: 1rem;
|
|
padding-#{$left}: inherit;
|
|
margin-#{$right}: inherit;
|
|
padding-#{$right}: $custom-control-spacer-x;
|
|
}
|
|
|
|
.custom-control-indicator {
|
|
#{$right}: 0;
|
|
#{$left}: inherit;
|
|
} */
|
|
|
|
.custom-file-label::after {
|
|
#{$left}: -1px;
|
|
#{$right}: initial;
|
|
border-radius: 0.25rem 0 0 0.25rem;
|
|
}
|
|
|
|
.radio input,
|
|
.radio-inline,
|
|
.checkbox input,
|
|
.checkbox-inline input {
|
|
margin-#{$right}: -$list-group-item-padding-x;
|
|
margin-#{$left}: inherit !important;
|
|
}
|
|
|
|
.list-group {
|
|
padding-#{$right}: 0;
|
|
padding-#{$left}: $list-group-item-padding-x;
|
|
}
|
|
|
|
.close {
|
|
float: $left;
|
|
}
|
|
|
|
.modal-header .close {
|
|
padding: $modal-header-padding;
|
|
margin: (-$modal-header-padding-y) auto (-$modal-header-padding-y)
|
|
(-$modal-header-padding-x);
|
|
}
|
|
|
|
.modal-footer > :not(:first-child) {
|
|
margin-#{$right}: 0.25rem;
|
|
}
|
|
|
|
.alert-dismissible .close {
|
|
#{$left}: 0;
|
|
#{$right}: inherit;
|
|
}
|
|
|
|
.dropdown-toggle::after {
|
|
margin-#{$left}: 0;
|
|
margin-#{$right}: 0.255em;
|
|
}
|
|
|
|
.form-check-input {
|
|
margin-#{$left}: inherit;
|
|
margin-#{$right}: -$list-group-item-padding-x;
|
|
}
|
|
|
|
.form-check-label {
|
|
padding-#{$right}: $list-group-item-padding-x;
|
|
padding-#{$left}: inherit;
|
|
}
|
|
|
|
.pagination .page-item:first-child .page-link {
|
|
@include border-radius(0 $border-radius $border-radius 0);
|
|
}
|
|
|
|
.pagination .page-item:last-child .page-link {
|
|
@include border-radius($border-radius 0 0 $border-radius);
|
|
}
|
|
|
|
.pagination-sm .page-item:first-child .page-link {
|
|
border-top-#{$right}-radius: $border-radius-sm;
|
|
border-bottom-#{$right}-radius: $border-radius-sm;
|
|
}
|
|
|
|
.pagination-sm .page-item:last-child .page-link {
|
|
border-top-#{$left}-radius: $border-radius-sm;
|
|
border-bottom-#{$left}-radius: $border-radius-sm;
|
|
}
|
|
|
|
.pagination-lg .page-item:first-child .page-link {
|
|
border-top-#{$right}-radius: $border-radius-lg;
|
|
border-bottom-#{$right}-radius: $border-radius-lg;
|
|
}
|
|
|
|
.pagination-lg .page-item:last-child .page-link {
|
|
border-top-#{$left}-radius: $border-radius-lg;
|
|
border-bottom-#{$left}-radius: $border-radius-lg;
|
|
}
|
|
|
|
.input-group > .custom-file:not(:last-child) .custom-file-label,
|
|
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
|
|
@include border-radius(0 $border-radius $border-radius 0);
|
|
}
|
|
|
|
@mixin make-col-offset($size, $columns: $grid-columns) {
|
|
$num: $size / $columns;
|
|
margin-#{$left}: 0;
|
|
margin-#{$right}: if($num == 0, 0, percentage($num));
|
|
}
|
|
|
|
@mixin make-grid-columns(
|
|
$columns: $grid-columns,
|
|
$gutter: $grid-gutter-width,
|
|
$breakpoints: $grid-breakpoints
|
|
) {
|
|
@each $breakpoint in map-keys($breakpoints) {
|
|
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
@include media-breakpoint-up($breakpoint, $breakpoints) {
|
|
@for $i from 0 through ($columns - 1) {
|
|
@if not($infix == '' and $i == 0) {
|
|
.offset#{$infix}-#{$i} {
|
|
@include make-col-offset($i, $columns);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@if $enable-grid-classes {
|
|
@include make-grid-columns();
|
|
}
|
|
|
|
// stylelint-disable declaration-no-important
|
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
|
@include media-breakpoint-up($breakpoint) {
|
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
|
|
|
@each $size, $length in $spacers {
|
|
.mr#{$infix}-#{$size} {
|
|
margin-#{$right}: 0 !important;
|
|
margin-#{$left}: $length !important;
|
|
}
|
|
.ml#{$infix}-#{$size} {
|
|
margin-#{$right}: $length !important;
|
|
margin-#{$left}: 0 !important;
|
|
}
|
|
}
|
|
|
|
@each $size, $length in $spacers {
|
|
.pr#{$infix}-#{$size} {
|
|
padding-#{$left}: $length !important;
|
|
padding-#{$right}: inherit !important;
|
|
}
|
|
.pl#{$infix}-#{$size} {
|
|
padding-#{$left}: inherit !important;
|
|
padding-#{$right}: $length !important;
|
|
}
|
|
}
|
|
|
|
.text#{$infix}-left {
|
|
text-align: $right !important;
|
|
}
|
|
|
|
.text#{$infix}-right {
|
|
text-align: $left !important;
|
|
}
|
|
|
|
.mr#{$infix}-auto {
|
|
margin-#{$left}: auto !important;
|
|
margin-#{$right}: inherit !important;
|
|
}
|
|
.ml#{$infix}-auto {
|
|
margin-#{$right}: auto !important;
|
|
margin-#{$left}: inherit !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// manually added
|
|
|
|
[dir='rtl'] {
|
|
@mixin float-left {
|
|
float: right !important;
|
|
@include deprecate('The `float-right` mixin', 'v4.3.0', 'v5');
|
|
}
|
|
@mixin float-right {
|
|
float: left !important;
|
|
@include deprecate('The `float-left` mixin', 'v4.3.0', 'v5');
|
|
}
|
|
.alert {
|
|
text-align: right;
|
|
}
|
|
}
|