at the end of the day, it was inevitable

This commit is contained in:
Mo Elzubeir
2022-12-09 08:36:26 -06:00
commit 1218570914
1768 changed files with 887087 additions and 0 deletions
@@ -0,0 +1,5 @@
// App Variables
// --------------------------------------------------
$direction: 'ltr';
$right: left;
$left: right;
@@ -0,0 +1,5 @@
// App Variables
// --------------------------------------------------
$direction: 'rtl';
$right: right;
$left: left;
+295
View File
@@ -0,0 +1,295 @@
/**
* 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;
}
}