MOBILE-4598 styles: Import Bootstrap 5 bridge styles from LMS
parent
d63c06e328
commit
474b486441
|
@ -25,7 +25,7 @@ $grid-column-paddings: (
|
||||||
::ng-deep {
|
::ng-deep {
|
||||||
|
|
||||||
@import "theme/components/moodle.scss";
|
@import "theme/components/moodle.scss";
|
||||||
@import "theme/components/bootstrap/bootstrap_database.scss";
|
@import "theme/components/bootstrap/bootstrap.scss";
|
||||||
|
|
||||||
table {
|
table {
|
||||||
display: block;
|
display: block;
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
.close {
|
||||||
|
float: right;
|
||||||
|
@include font-size($close-font-size);
|
||||||
|
font-weight: $close-font-weight;
|
||||||
|
line-height: 1;
|
||||||
|
color: $close-color;
|
||||||
|
text-shadow: $close-text-shadow;
|
||||||
|
opacity: .5;
|
||||||
|
|
||||||
|
// Override <a>'s hover style
|
||||||
|
@include hover() {
|
||||||
|
color: $close-color;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:disabled):not(.disabled) {
|
||||||
|
@include hover-focus() {
|
||||||
|
opacity: .75;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Additional properties for button version
|
||||||
|
// iOS requires the button element instead of an anchor tag.
|
||||||
|
// If you want the anchor version, it requires `href="#"`.
|
||||||
|
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
|
||||||
|
|
||||||
|
// stylelint-disable-next-line selector-no-qualifying-type
|
||||||
|
button.close {
|
||||||
|
padding: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Future-proof disabling of clicks on `<a>` elements
|
||||||
|
|
||||||
|
// stylelint-disable-next-line selector-no-qualifying-type
|
||||||
|
a.close.disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
|
@ -1,5 +1,7 @@
|
||||||
@import "utilities/align";
|
@import "utilities/align";
|
||||||
@import "utilities/borders";
|
@import "utilities/borders";
|
||||||
@import "utilities/flex";
|
@import "utilities/flex";
|
||||||
|
@import "utilities/float";
|
||||||
|
@import "utilities/spacing";
|
||||||
@import "utilities/text";
|
@import "utilities/text";
|
||||||
@import "utilities/visibility";
|
@import "utilities/visibility";
|
||||||
|
|
|
@ -155,6 +155,10 @@ $grid-row-columns: 6;
|
||||||
//
|
//
|
||||||
// Font, line-height, and color for body text, headings, and more.
|
// Font, line-height, and color for body text, headings, and more.
|
||||||
|
|
||||||
|
$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
|
||||||
|
$font-size-lg: $font-size-base * 1.25 !default;
|
||||||
|
$font-size-sm: $font-size-base * .875 !default;
|
||||||
|
|
||||||
$font-weight-lighter: lighter !default;
|
$font-weight-lighter: lighter !default;
|
||||||
$font-weight-light: 300 !default;
|
$font-weight-light: 300 !default;
|
||||||
$font-weight-normal: 400 !default;
|
$font-weight-normal: 400 !default;
|
||||||
|
@ -215,3 +219,10 @@ $badge-pill-padding-x: .6em;
|
||||||
// Use a higher than normal value to ensure completely rounded edges when
|
// Use a higher than normal value to ensure completely rounded edges when
|
||||||
// customizing padding or font-size on labels.
|
// customizing padding or font-size on labels.
|
||||||
$badge-pill-border-radius: 10rem;
|
$badge-pill-border-radius: 10rem;
|
||||||
|
|
||||||
|
// Close
|
||||||
|
|
||||||
|
$close-font-size: $font-size-base * 1.5 !default;
|
||||||
|
$close-font-weight: $font-weight-bold !default;
|
||||||
|
$close-color: $black !default;
|
||||||
|
$close-text-shadow: 0 1px 0 $white !default;
|
||||||
|
|
|
@ -3,14 +3,28 @@
|
||||||
// Bootstrap 4 Styles
|
// Bootstrap 4 Styles
|
||||||
// -------------------------
|
// -------------------------
|
||||||
|
|
||||||
@import "reboot";
|
@import "functions";
|
||||||
@import "forms";
|
@import "variables";
|
||||||
|
@import "mixins";
|
||||||
|
|
||||||
|
@import "reboot";
|
||||||
|
|
||||||
|
@import "grid";
|
||||||
|
@import "forms";
|
||||||
@import "buttons";
|
@import "buttons";
|
||||||
|
@import "card";
|
||||||
|
@import "badge";
|
||||||
@import "alert";
|
@import "alert";
|
||||||
@import "media";
|
@import "media";
|
||||||
|
@import "close";
|
||||||
|
|
||||||
@import "utilities";
|
@import "utilities";
|
||||||
|
|
||||||
|
// Bootstrap 5 Styles
|
||||||
|
// -------------------------
|
||||||
|
@import "bs5-bridge";
|
||||||
|
|
||||||
|
|
||||||
// Deprecated styles.
|
// Deprecated styles.
|
||||||
.label {
|
.label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
|
@ -0,0 +1,109 @@
|
||||||
|
/**
|
||||||
|
* This file should be in sync with: https://github.com/moodle/moodle/blob/main/theme/boost/scss/moodle/bs5-bridge.scss
|
||||||
|
* This is partially done as part of https://tracker.moodle.org/browse/MDL-71979.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Bootstrap 5 bridge classes */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These function used to bridge the gap between Bootstrap 4 and Bootstrap 5 and
|
||||||
|
* and will be located in __functions.scss in Bootstrap 5
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Tint a color: mix a color with white based on the provided weight.
|
||||||
|
@function tint-color($color, $weight) {
|
||||||
|
@return mix(white, $color, $weight);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shade a color: mix a color with black.
|
||||||
|
// This function darkens a given color with black based on the provided weight.
|
||||||
|
@function shade-color($color, $weight) {
|
||||||
|
@return mix(black, $color, $weight);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shade the color if the weight is positive, else tint it.
|
||||||
|
@function shift-color($color, $weight) {
|
||||||
|
@return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* These classes are used to bridge the gap between Bootstrap 4 and Bootstrap 5. */
|
||||||
|
/* This file should be removed as part of MDL-75669. */
|
||||||
|
.g-0 {
|
||||||
|
@extend .no-gutters;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-close {
|
||||||
|
@extend .close;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate all spacer classes for all breakpoints for directions start and end.
|
||||||
|
// ps-1 > pl-1, pe-1 > pr-1, me-sm-1 > ml-sm-1, ...
|
||||||
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
@each $prop, $abbrev in (margin: m, padding: p) {
|
||||||
|
@each $size, $length in $spacers {
|
||||||
|
.#{$abbrev}s#{$infix}-#{$size} {
|
||||||
|
@extend .#{$abbrev}l#{$infix}-#{$size};
|
||||||
|
}
|
||||||
|
.#{$abbrev}e#{$infix}-#{$size} {
|
||||||
|
@extend .#{$abbrev}r#{$infix}-#{$size};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate all margin auto classes for all breakpoints for directions start and end.
|
||||||
|
// ps-auto > pl-auto, pe-auto > pr-auto, me-sm-auto > ml-sm-auto, ...
|
||||||
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
.ms#{$infix}-auto {
|
||||||
|
@extend .ml#{$infix}-auto;
|
||||||
|
}
|
||||||
|
.me#{$infix}-auto {
|
||||||
|
@extend .mr#{$infix}-auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate all float classes for all breakpoints for directions start and end.
|
||||||
|
// float-start > float-left, float-sm-end > float-sm-right, ...
|
||||||
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
.float#{$infix}-start {
|
||||||
|
@extend .float#{$infix}-left;
|
||||||
|
}
|
||||||
|
.float#{$infix}-end {
|
||||||
|
@extend .float#{$infix}-right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate all text classes for all breakpoints for directions start and end.
|
||||||
|
// text-start > text-left, text-sm-end > text-sm-right, ...
|
||||||
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
.text#{$infix}-start {
|
||||||
|
@extend .text#{$infix}-left;
|
||||||
|
}
|
||||||
|
.text#{$infix}-end {
|
||||||
|
@extend .text#{$infix}-right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-start {
|
||||||
|
@extend .border-left;
|
||||||
|
}
|
||||||
|
.border-end {
|
||||||
|
@extend .border-right;
|
||||||
|
}
|
||||||
|
.border-start-0 {
|
||||||
|
@extend .border-left-0;
|
||||||
|
}
|
||||||
|
.border-end-0 {
|
||||||
|
@extend .border-right-0;
|
||||||
|
}
|
||||||
|
.rounded-start {
|
||||||
|
@extend .rounded-left;
|
||||||
|
}
|
||||||
|
.rounded-end {
|
||||||
|
@extend .rounded-right;
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
// stylelint-disable declaration-no-important
|
||||||
|
|
||||||
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
|
@include media-breakpoint-up($breakpoint) {
|
||||||
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
|
||||||
|
.float#{$infix}-left { float: left !important; }
|
||||||
|
.float#{$infix}-right { float: right !important; }
|
||||||
|
.float#{$infix}-none { float: none !important; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,9 +15,15 @@
|
||||||
|
|
||||||
// Responsive alignment
|
// Responsive alignment
|
||||||
|
|
||||||
.text-left { text-align: left !important; }
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
.text-right { text-align: right !important; }
|
@include media-breakpoint-up($breakpoint) {
|
||||||
.text-center { text-align: center !important; }
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
|
||||||
|
.text#{$infix}-left { text-align: left !important; }
|
||||||
|
.text#{$infix}-right { text-align: right !important; }
|
||||||
|
.text#{$infix}-center { text-align: center !important; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Transformation
|
// Transformation
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue