0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-11-29 11:24:18 +01:00

Release v5.0.2 (#34276)

* Bump version to v5.0.2.

* Dist
This commit is contained in:
XhmikosR 2021-06-22 21:29:16 +03:00 committed by GitHub
parent 16d5041a76
commit 688bce4fa6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
111 changed files with 3152 additions and 2850 deletions

View File

@ -46,11 +46,11 @@ Our default branch is for development of our Bootstrap 5 release. Head to the [`
Several quick start options are available:
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.0.1.zip)
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.0.2.zip)
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap`
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.0.1`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.0.2`
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass`
Read the [Getting started page](https://getbootstrap.com/docs/5.0/getting-started/introduction/) for information on the framework contents, templates and examples, and more.

View File

@ -47,8 +47,8 @@ params:
social_image_path: /docs/5.0/assets/brand/bootstrap-social.png
social_logo_path: /docs/5.0/assets/brand/bootstrap-social-logo.png
current_version: "5.0.1"
current_ruby_version: "5.0.1"
current_version: "5.0.2"
current_ruby_version: "5.0.2"
docs_version: "5.0"
rfs_version: "9.0.3"
github_org: "https://github.com/twbs"
@ -61,19 +61,19 @@ params:
icons: "https://icons.getbootstrap.com/"
download:
source: "https://github.com/twbs/bootstrap/archive/v5.0.1.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v5.0.1/bootstrap-5.0.1-dist.zip"
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.0.1/bootstrap-5.0.1-examples.zip"
source: "https://github.com/twbs/bootstrap/archive/v5.0.2.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v5.0.2/bootstrap-5.0.2-dist.zip"
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.0.2/bootstrap-5.0.2-examples.zip"
cdn:
# See https://www.srihash.org for info on how to generate the hashes
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
css_hash: "sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x"
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-LPvXVVAlyPoBSGkX8UddpctDks+1P4HG8MhT7/YwqHtJ40bstjzCqjj+VVVDhsCo"
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js"
js_hash: "sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT"
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4"
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
css_hash: "sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-gXt9imSW0VcJVHezoNQsP+TNrjYXoGcrqBZJpry9zJt8PCQjobwmhMGaDHTASo9N"
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js"
js_hash: "sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF"
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"
popper_hash: "sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p"

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Grid v5.0.1 (https://getbootstrap.com/)
* Bootstrap Grid v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -49,16 +49,16 @@
display: flex;
flex-wrap: wrap;
margin-top: calc(var(--bs-gutter-y) * -1);
margin-right: calc(var(--bs-gutter-x) / -2);
margin-left: calc(var(--bs-gutter-x) / -2);
margin-right: calc(var(--bs-gutter-x) * -.5);
margin-left: calc(var(--bs-gutter-x) * -.5);
}
.row > * {
box-sizing: border-box;
flex-shrink: 0;
width: 100%;
max-width: 100%;
padding-right: calc(var(--bs-gutter-x) / 2);
padding-left: calc(var(--bs-gutter-x) / 2);
padding-right: calc(var(--bs-gutter-x) * .5);
padding-left: calc(var(--bs-gutter-x) * .5);
margin-top: var(--bs-gutter-y);
}
@ -101,6 +101,206 @@
width: 16.6666666667%;
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
.col-auto {
flex: 0 0 auto;
width: auto;
@ -108,12 +308,12 @@
.col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-3 {
@ -123,12 +323,12 @@
.col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-6 {
@ -138,12 +338,12 @@
.col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-9 {
@ -153,12 +353,12 @@
.col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-12 {
@ -167,11 +367,11 @@
}
.offset-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-3 {
@ -179,11 +379,11 @@
}
.offset-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-6 {
@ -191,11 +391,11 @@
}
.offset-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-9 {
@ -203,11 +403,11 @@
}
.offset-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-0,
@ -271,45 +471,6 @@
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
@ -317,12 +478,12 @@
.col-sm-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-sm-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-sm-3 {
@ -332,12 +493,12 @@
.col-sm-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-sm-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-sm-6 {
@ -347,12 +508,12 @@
.col-sm-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-sm-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-sm-9 {
@ -362,12 +523,12 @@
.col-sm-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-sm-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-sm-12 {
@ -380,11 +541,11 @@
}
.offset-sm-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-sm-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-sm-3 {
@ -392,11 +553,11 @@
}
.offset-sm-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-sm-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-sm-6 {
@ -404,11 +565,11 @@
}
.offset-sm-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-sm-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-sm-9 {
@ -416,11 +577,11 @@
}
.offset-sm-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-sm-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-sm-0,
@ -484,45 +645,6 @@
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-md-auto {
flex: 0 0 auto;
width: auto;
@ -530,12 +652,12 @@
.col-md-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-md-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-md-3 {
@ -545,12 +667,12 @@
.col-md-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-md-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-md-6 {
@ -560,12 +682,12 @@
.col-md-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-md-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-md-9 {
@ -575,12 +697,12 @@
.col-md-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-md-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-md-12 {
@ -593,11 +715,11 @@
}
.offset-md-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-md-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-md-3 {
@ -605,11 +727,11 @@
}
.offset-md-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-md-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-md-6 {
@ -617,11 +739,11 @@
}
.offset-md-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-md-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-md-9 {
@ -629,11 +751,11 @@
}
.offset-md-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-md-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-md-0,
@ -697,45 +819,6 @@
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-lg-auto {
flex: 0 0 auto;
width: auto;
@ -743,12 +826,12 @@
.col-lg-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-lg-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-lg-3 {
@ -758,12 +841,12 @@
.col-lg-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-lg-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-lg-6 {
@ -773,12 +856,12 @@
.col-lg-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-lg-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-lg-9 {
@ -788,12 +871,12 @@
.col-lg-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-lg-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-lg-12 {
@ -806,11 +889,11 @@
}
.offset-lg-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-lg-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-lg-3 {
@ -818,11 +901,11 @@
}
.offset-lg-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-lg-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-lg-6 {
@ -830,11 +913,11 @@
}
.offset-lg-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-lg-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-lg-9 {
@ -842,11 +925,11 @@
}
.offset-lg-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-lg-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-lg-0,
@ -910,45 +993,6 @@
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xl-auto {
flex: 0 0 auto;
width: auto;
@ -956,12 +1000,12 @@
.col-xl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xl-3 {
@ -971,12 +1015,12 @@
.col-xl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xl-6 {
@ -986,12 +1030,12 @@
.col-xl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xl-9 {
@ -1001,12 +1045,12 @@
.col-xl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xl-12 {
@ -1019,11 +1063,11 @@
}
.offset-xl-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-xl-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-xl-3 {
@ -1031,11 +1075,11 @@
}
.offset-xl-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-xl-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-xl-6 {
@ -1043,11 +1087,11 @@
}
.offset-xl-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-xl-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-xl-9 {
@ -1055,11 +1099,11 @@
}
.offset-xl-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-xl-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-xl-0,
@ -1123,45 +1167,6 @@
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xxl-auto {
flex: 0 0 auto;
width: auto;
@ -1169,12 +1174,12 @@
.col-xxl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xxl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xxl-3 {
@ -1184,12 +1189,12 @@
.col-xxl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xxl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xxl-6 {
@ -1199,12 +1204,12 @@
.col-xxl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xxl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xxl-9 {
@ -1214,12 +1219,12 @@
.col-xxl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xxl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xxl-12 {
@ -1232,11 +1237,11 @@
}
.offset-xxl-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-xxl-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-xxl-3 {
@ -1244,11 +1249,11 @@
}
.offset-xxl-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-xxl-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-xxl-6 {
@ -1256,11 +1261,11 @@
}
.offset-xxl-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-xxl-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-xxl-9 {
@ -1268,11 +1273,11 @@
}
.offset-xxl-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-xxl-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-xxl-0,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Grid v5.0.1 (https://getbootstrap.com/)
* Bootstrap Grid v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -49,16 +49,16 @@
display: flex;
flex-wrap: wrap;
margin-top: calc(var(--bs-gutter-y) * -1);
margin-left: calc(var(--bs-gutter-x) / -2);
margin-right: calc(var(--bs-gutter-x) / -2);
margin-left: calc(var(--bs-gutter-x) * -.5);
margin-right: calc(var(--bs-gutter-x) * -.5);
}
.row > * {
box-sizing: border-box;
flex-shrink: 0;
width: 100%;
max-width: 100%;
padding-left: calc(var(--bs-gutter-x) / 2);
padding-right: calc(var(--bs-gutter-x) / 2);
padding-left: calc(var(--bs-gutter-x) * .5);
padding-right: calc(var(--bs-gutter-x) * .5);
margin-top: var(--bs-gutter-y);
}
@ -101,6 +101,206 @@
width: 16.6666666667%;
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
.col-auto {
flex: 0 0 auto;
width: auto;
@ -108,12 +308,12 @@
.col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-3 {
@ -123,12 +323,12 @@
.col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-6 {
@ -138,12 +338,12 @@
.col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-9 {
@ -153,12 +353,12 @@
.col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-12 {
@ -167,11 +367,11 @@
}
.offset-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-3 {
@ -179,11 +379,11 @@
}
.offset-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-6 {
@ -191,11 +391,11 @@
}
.offset-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-9 {
@ -203,11 +403,11 @@
}
.offset-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-0,
@ -271,45 +471,6 @@
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
@ -317,12 +478,12 @@
.col-sm-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-sm-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-sm-3 {
@ -332,12 +493,12 @@
.col-sm-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-sm-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-sm-6 {
@ -347,12 +508,12 @@
.col-sm-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-sm-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-sm-9 {
@ -362,12 +523,12 @@
.col-sm-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-sm-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-sm-12 {
@ -380,11 +541,11 @@
}
.offset-sm-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-sm-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-sm-3 {
@ -392,11 +553,11 @@
}
.offset-sm-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-sm-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-sm-6 {
@ -404,11 +565,11 @@
}
.offset-sm-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-sm-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-sm-9 {
@ -416,11 +577,11 @@
}
.offset-sm-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-sm-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-sm-0,
@ -484,45 +645,6 @@
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-md-auto {
flex: 0 0 auto;
width: auto;
@ -530,12 +652,12 @@
.col-md-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-md-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-md-3 {
@ -545,12 +667,12 @@
.col-md-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-md-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-md-6 {
@ -560,12 +682,12 @@
.col-md-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-md-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-md-9 {
@ -575,12 +697,12 @@
.col-md-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-md-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-md-12 {
@ -593,11 +715,11 @@
}
.offset-md-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-md-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-md-3 {
@ -605,11 +727,11 @@
}
.offset-md-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-md-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-md-6 {
@ -617,11 +739,11 @@
}
.offset-md-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-md-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-md-9 {
@ -629,11 +751,11 @@
}
.offset-md-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-md-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-md-0,
@ -697,45 +819,6 @@
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-lg-auto {
flex: 0 0 auto;
width: auto;
@ -743,12 +826,12 @@
.col-lg-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-lg-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-lg-3 {
@ -758,12 +841,12 @@
.col-lg-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-lg-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-lg-6 {
@ -773,12 +856,12 @@
.col-lg-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-lg-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-lg-9 {
@ -788,12 +871,12 @@
.col-lg-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-lg-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-lg-12 {
@ -806,11 +889,11 @@
}
.offset-lg-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-lg-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-lg-3 {
@ -818,11 +901,11 @@
}
.offset-lg-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-lg-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-lg-6 {
@ -830,11 +913,11 @@
}
.offset-lg-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-lg-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-lg-9 {
@ -842,11 +925,11 @@
}
.offset-lg-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-lg-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-lg-0,
@ -910,45 +993,6 @@
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xl-auto {
flex: 0 0 auto;
width: auto;
@ -956,12 +1000,12 @@
.col-xl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xl-3 {
@ -971,12 +1015,12 @@
.col-xl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xl-6 {
@ -986,12 +1030,12 @@
.col-xl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xl-9 {
@ -1001,12 +1045,12 @@
.col-xl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xl-12 {
@ -1019,11 +1063,11 @@
}
.offset-xl-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-xl-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-xl-3 {
@ -1031,11 +1075,11 @@
}
.offset-xl-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-xl-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-xl-6 {
@ -1043,11 +1087,11 @@
}
.offset-xl-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-xl-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-xl-9 {
@ -1055,11 +1099,11 @@
}
.offset-xl-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-xl-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-xl-0,
@ -1123,45 +1167,6 @@
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xxl-auto {
flex: 0 0 auto;
width: auto;
@ -1169,12 +1174,12 @@
.col-xxl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xxl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xxl-3 {
@ -1184,12 +1189,12 @@
.col-xxl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xxl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xxl-6 {
@ -1199,12 +1204,12 @@
.col-xxl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xxl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xxl-9 {
@ -1214,12 +1219,12 @@
.col-xxl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xxl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xxl-12 {
@ -1232,11 +1237,11 @@
}
.offset-xxl-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-xxl-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-xxl-3 {
@ -1244,11 +1249,11 @@
}
.offset-xxl-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-xxl-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-xxl-6 {
@ -1256,11 +1261,11 @@
}
.offset-xxl-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-xxl-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-xxl-9 {
@ -1268,11 +1273,11 @@
}
.offset-xxl-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-xxl-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-xxl-0,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.0.1 (https://getbootstrap.com/)
* Bootstrap Reboot v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.0.1 (https://getbootstrap.com/)
* Bootstrap Reboot v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.0.1 (https://getbootstrap.com/)
* Bootstrap Reboot v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.0.1 (https://getbootstrap.com/)
* Bootstrap Reboot v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Utilities v5.0.1 (https://getbootstrap.com/)
* Bootstrap Utilities v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Utilities v5.0.1 (https://getbootstrap.com/)
* Bootstrap Utilities v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Utilities v5.0.1 (https://getbootstrap.com/)
* Bootstrap Utilities v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap Utilities v5.0.1 (https://getbootstrap.com/)
* Bootstrap Utilities v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
@charset "UTF-8";
/*!
* Bootstrap v5.0.1 (https://getbootstrap.com/)
* Bootstrap v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -634,15 +634,15 @@ progress {
display: flex;
flex-wrap: wrap;
margin-top: calc(var(--bs-gutter-y) * -1);
margin-right: calc(var(--bs-gutter-x) / -2);
margin-left: calc(var(--bs-gutter-x) / -2);
margin-right: calc(var(--bs-gutter-x) * -.5);
margin-left: calc(var(--bs-gutter-x) * -.5);
}
.row > * {
flex-shrink: 0;
width: 100%;
max-width: 100%;
padding-right: calc(var(--bs-gutter-x) / 2);
padding-left: calc(var(--bs-gutter-x) / 2);
padding-right: calc(var(--bs-gutter-x) * .5);
padding-left: calc(var(--bs-gutter-x) * .5);
margin-top: var(--bs-gutter-y);
}
@ -685,6 +685,206 @@ progress {
width: 16.6666666667%;
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
.col-auto {
flex: 0 0 auto;
width: auto;
@ -692,12 +892,12 @@ progress {
.col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-3 {
@ -707,12 +907,12 @@ progress {
.col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-6 {
@ -722,12 +922,12 @@ progress {
.col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-9 {
@ -737,12 +937,12 @@ progress {
.col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-12 {
@ -751,11 +951,11 @@ progress {
}
.offset-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-3 {
@ -763,11 +963,11 @@ progress {
}
.offset-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-6 {
@ -775,11 +975,11 @@ progress {
}
.offset-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-9 {
@ -787,11 +987,11 @@ progress {
}
.offset-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-0,
@ -855,45 +1055,6 @@ progress {
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
@ -901,12 +1062,12 @@ progress {
.col-sm-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-sm-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-sm-3 {
@ -916,12 +1077,12 @@ progress {
.col-sm-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-sm-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-sm-6 {
@ -931,12 +1092,12 @@ progress {
.col-sm-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-sm-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-sm-9 {
@ -946,12 +1107,12 @@ progress {
.col-sm-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-sm-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-sm-12 {
@ -964,11 +1125,11 @@ progress {
}
.offset-sm-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-sm-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-sm-3 {
@ -976,11 +1137,11 @@ progress {
}
.offset-sm-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-sm-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-sm-6 {
@ -988,11 +1149,11 @@ progress {
}
.offset-sm-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-sm-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-sm-9 {
@ -1000,11 +1161,11 @@ progress {
}
.offset-sm-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-sm-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-sm-0,
@ -1068,45 +1229,6 @@ progress {
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-md-auto {
flex: 0 0 auto;
width: auto;
@ -1114,12 +1236,12 @@ progress {
.col-md-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-md-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-md-3 {
@ -1129,12 +1251,12 @@ progress {
.col-md-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-md-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-md-6 {
@ -1144,12 +1266,12 @@ progress {
.col-md-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-md-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-md-9 {
@ -1159,12 +1281,12 @@ progress {
.col-md-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-md-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-md-12 {
@ -1177,11 +1299,11 @@ progress {
}
.offset-md-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-md-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-md-3 {
@ -1189,11 +1311,11 @@ progress {
}
.offset-md-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-md-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-md-6 {
@ -1201,11 +1323,11 @@ progress {
}
.offset-md-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-md-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-md-9 {
@ -1213,11 +1335,11 @@ progress {
}
.offset-md-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-md-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-md-0,
@ -1281,45 +1403,6 @@ progress {
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-lg-auto {
flex: 0 0 auto;
width: auto;
@ -1327,12 +1410,12 @@ progress {
.col-lg-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-lg-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-lg-3 {
@ -1342,12 +1425,12 @@ progress {
.col-lg-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-lg-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-lg-6 {
@ -1357,12 +1440,12 @@ progress {
.col-lg-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-lg-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-lg-9 {
@ -1372,12 +1455,12 @@ progress {
.col-lg-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-lg-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-lg-12 {
@ -1390,11 +1473,11 @@ progress {
}
.offset-lg-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-lg-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-lg-3 {
@ -1402,11 +1485,11 @@ progress {
}
.offset-lg-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-lg-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-lg-6 {
@ -1414,11 +1497,11 @@ progress {
}
.offset-lg-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-lg-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-lg-9 {
@ -1426,11 +1509,11 @@ progress {
}
.offset-lg-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-lg-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-lg-0,
@ -1494,45 +1577,6 @@ progress {
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xl-auto {
flex: 0 0 auto;
width: auto;
@ -1540,12 +1584,12 @@ progress {
.col-xl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xl-3 {
@ -1555,12 +1599,12 @@ progress {
.col-xl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xl-6 {
@ -1570,12 +1614,12 @@ progress {
.col-xl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xl-9 {
@ -1585,12 +1629,12 @@ progress {
.col-xl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xl-12 {
@ -1603,11 +1647,11 @@ progress {
}
.offset-xl-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-xl-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-xl-3 {
@ -1615,11 +1659,11 @@ progress {
}
.offset-xl-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-xl-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-xl-6 {
@ -1627,11 +1671,11 @@ progress {
}
.offset-xl-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-xl-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-xl-9 {
@ -1639,11 +1683,11 @@ progress {
}
.offset-xl-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-xl-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-xl-0,
@ -1707,45 +1751,6 @@ progress {
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xxl-auto {
flex: 0 0 auto;
width: auto;
@ -1753,12 +1758,12 @@ progress {
.col-xxl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xxl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xxl-3 {
@ -1768,12 +1773,12 @@ progress {
.col-xxl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xxl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xxl-6 {
@ -1783,12 +1788,12 @@ progress {
.col-xxl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xxl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xxl-9 {
@ -1798,12 +1803,12 @@ progress {
.col-xxl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xxl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xxl-12 {
@ -1816,11 +1821,11 @@ progress {
}
.offset-xxl-1 {
margin-left: 8.3333333333%;
margin-left: 8.33333333%;
}
.offset-xxl-2 {
margin-left: 16.6666666667%;
margin-left: 16.66666667%;
}
.offset-xxl-3 {
@ -1828,11 +1833,11 @@ progress {
}
.offset-xxl-4 {
margin-left: 33.3333333333%;
margin-left: 33.33333333%;
}
.offset-xxl-5 {
margin-left: 41.6666666667%;
margin-left: 41.66666667%;
}
.offset-xxl-6 {
@ -1840,11 +1845,11 @@ progress {
}
.offset-xxl-7 {
margin-left: 58.3333333333%;
margin-left: 58.33333333%;
}
.offset-xxl-8 {
margin-left: 66.6666666667%;
margin-left: 66.66666667%;
}
.offset-xxl-9 {
@ -1852,11 +1857,11 @@ progress {
}
.offset-xxl-10 {
margin-left: 83.3333333333%;
margin-left: 83.33333333%;
}
.offset-xxl-11 {
margin-left: 91.6666666667%;
margin-left: 91.66666667%;
}
.g-xxl-0,
@ -2261,7 +2266,7 @@ progress {
}
.form-control-sm {
min-height: calc(1.5em + 0.5rem + 2px);
min-height: calc(1.5em + (0.5rem + 2px));
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
@ -2280,7 +2285,7 @@ progress {
}
.form-control-lg {
min-height: calc(1.5em + 1rem + 2px);
min-height: calc(1.5em + (1rem + 2px));
padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: 0.3rem;
@ -2299,13 +2304,13 @@ progress {
}
textarea.form-control {
min-height: calc(1.5em + 0.75rem + 2px);
min-height: calc(1.5em + (0.75rem + 2px));
}
textarea.form-control-sm {
min-height: calc(1.5em + 0.5rem + 2px);
min-height: calc(1.5em + (0.5rem + 2px));
}
textarea.form-control-lg {
min-height: calc(1.5em + 1rem + 2px);
min-height: calc(1.5em + (1rem + 2px));
}
.form-control-color {
@ -2329,6 +2334,7 @@ textarea.form-control-lg {
display: block;
width: 100%;
padding: 0.375rem 2.25rem 0.375rem 0.75rem;
-moz-padding-start: calc(0.75rem - 3px);
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
@ -2340,10 +2346,16 @@ textarea.form-control-lg {
background-size: 16px 12px;
border: 1px solid #ced4da;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
@media (prefers-reduced-motion: reduce) {
.form-select {
transition: none;
}
}
.form-select:focus {
border-color: #86b7fe;
outline: 0;
@ -2576,7 +2588,7 @@ textarea.form-control-lg {
.form-floating > .form-control,
.form-floating > .form-select {
height: calc(3.5rem + 2px);
padding: 1rem 0.75rem;
line-height: 1.25;
}
.form-floating > label {
position: absolute;
@ -2594,6 +2606,9 @@ textarea.form-control-lg {
transition: none;
}
}
.form-floating > .form-control {
padding: 1rem 0.75rem;
}
.form-floating > .form-control::-moz-placeholder {
color: transparent;
}
@ -3466,16 +3481,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
right: auto /* rtl:ignore */;
left: 0 /* rtl:ignore */;
right: auto;
left: 0;
}
.dropdown-menu-end {
--bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
right: 0 /* rtl:ignore */;
left: auto /* rtl:ignore */;
right: 0;
left: auto;
}
@media (min-width: 576px) {
@ -3483,16 +3498,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-sm-start[data-bs-popper] {
right: auto /* rtl:ignore */;
left: 0 /* rtl:ignore */;
right: auto;
left: 0;
}
.dropdown-menu-sm-end {
--bs-position: end;
}
.dropdown-menu-sm-end[data-bs-popper] {
right: 0 /* rtl:ignore */;
left: auto /* rtl:ignore */;
right: 0;
left: auto;
}
}
@media (min-width: 768px) {
@ -3500,16 +3515,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-md-start[data-bs-popper] {
right: auto /* rtl:ignore */;
left: 0 /* rtl:ignore */;
right: auto;
left: 0;
}
.dropdown-menu-md-end {
--bs-position: end;
}
.dropdown-menu-md-end[data-bs-popper] {
right: 0 /* rtl:ignore */;
left: auto /* rtl:ignore */;
right: 0;
left: auto;
}
}
@media (min-width: 992px) {
@ -3517,16 +3532,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-lg-start[data-bs-popper] {
right: auto /* rtl:ignore */;
left: 0 /* rtl:ignore */;
right: auto;
left: 0;
}
.dropdown-menu-lg-end {
--bs-position: end;
}
.dropdown-menu-lg-end[data-bs-popper] {
right: 0 /* rtl:ignore */;
left: auto /* rtl:ignore */;
right: 0;
left: auto;
}
}
@media (min-width: 1200px) {
@ -3534,16 +3549,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-xl-start[data-bs-popper] {
right: auto /* rtl:ignore */;
left: 0 /* rtl:ignore */;
right: auto;
left: 0;
}
.dropdown-menu-xl-end {
--bs-position: end;
}
.dropdown-menu-xl-end[data-bs-popper] {
right: 0 /* rtl:ignore */;
left: auto /* rtl:ignore */;
right: 0;
left: auto;
}
}
@media (min-width: 1400px) {
@ -3551,16 +3566,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-xxl-start[data-bs-popper] {
right: auto /* rtl:ignore */;
left: 0 /* rtl:ignore */;
right: auto;
left: 0;
}
.dropdown-menu-xxl-end {
--bs-position: end;
}
.dropdown-menu-xxl-end[data-bs-popper] {
right: 0 /* rtl:ignore */;
left: auto /* rtl:ignore */;
right: 0;
left: auto;
}
}
.dropup .dropdown-menu[data-bs-popper] {
@ -5700,7 +5715,7 @@ textarea.form-control-lg {
margin-bottom: 0;
font-size: 1rem;
background-color: #f0f0f0;
border-bottom: 1px solid #d8d8d8;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
border-top-left-radius: calc(0.3rem - 1px);
border-top-right-radius: calc(0.3rem - 1px);
}
@ -6019,7 +6034,9 @@ textarea.form-control-lg {
}
.offcanvas-header .btn-close {
padding: 0.5rem 0.5rem;
margin: -0.5rem -0.5rem -0.5rem auto;
margin-top: -0.5rem;
margin-right: -0.5rem;
margin-bottom: -0.5rem;
}
.offcanvas-title {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
@charset "UTF-8";
/*!
* Bootstrap v5.0.1 (https://getbootstrap.com/)
* Bootstrap v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -632,15 +632,15 @@ progress {
display: flex;
flex-wrap: wrap;
margin-top: calc(var(--bs-gutter-y) * -1);
margin-left: calc(var(--bs-gutter-x) / -2);
margin-right: calc(var(--bs-gutter-x) / -2);
margin-left: calc(var(--bs-gutter-x) * -.5);
margin-right: calc(var(--bs-gutter-x) * -.5);
}
.row > * {
flex-shrink: 0;
width: 100%;
max-width: 100%;
padding-left: calc(var(--bs-gutter-x) / 2);
padding-right: calc(var(--bs-gutter-x) / 2);
padding-left: calc(var(--bs-gutter-x) * .5);
padding-right: calc(var(--bs-gutter-x) * .5);
margin-top: var(--bs-gutter-y);
}
@ -683,6 +683,206 @@ progress {
width: 16.6666666667%;
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
}
.col-auto {
flex: 0 0 auto;
width: auto;
@ -690,12 +890,12 @@ progress {
.col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-3 {
@ -705,12 +905,12 @@ progress {
.col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-6 {
@ -720,12 +920,12 @@ progress {
.col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-9 {
@ -735,12 +935,12 @@ progress {
.col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-12 {
@ -749,11 +949,11 @@ progress {
}
.offset-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-3 {
@ -761,11 +961,11 @@ progress {
}
.offset-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-6 {
@ -773,11 +973,11 @@ progress {
}
.offset-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-9 {
@ -785,11 +985,11 @@ progress {
}
.offset-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-0,
@ -853,45 +1053,6 @@ progress {
}
@media (min-width: 576px) {
.col-sm {
flex: 1 0 0%;
}
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-sm-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-sm-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
@ -899,12 +1060,12 @@ progress {
.col-sm-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-sm-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-sm-3 {
@ -914,12 +1075,12 @@ progress {
.col-sm-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-sm-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-sm-6 {
@ -929,12 +1090,12 @@ progress {
.col-sm-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-sm-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-sm-9 {
@ -944,12 +1105,12 @@ progress {
.col-sm-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-sm-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-sm-12 {
@ -962,11 +1123,11 @@ progress {
}
.offset-sm-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-sm-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-sm-3 {
@ -974,11 +1135,11 @@ progress {
}
.offset-sm-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-sm-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-sm-6 {
@ -986,11 +1147,11 @@ progress {
}
.offset-sm-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-sm-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-sm-9 {
@ -998,11 +1159,11 @@ progress {
}
.offset-sm-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-sm-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-sm-0,
@ -1066,45 +1227,6 @@ progress {
}
}
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-md-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-md-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-md-auto {
flex: 0 0 auto;
width: auto;
@ -1112,12 +1234,12 @@ progress {
.col-md-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-md-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-md-3 {
@ -1127,12 +1249,12 @@ progress {
.col-md-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-md-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-md-6 {
@ -1142,12 +1264,12 @@ progress {
.col-md-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-md-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-md-9 {
@ -1157,12 +1279,12 @@ progress {
.col-md-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-md-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-md-12 {
@ -1175,11 +1297,11 @@ progress {
}
.offset-md-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-md-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-md-3 {
@ -1187,11 +1309,11 @@ progress {
}
.offset-md-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-md-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-md-6 {
@ -1199,11 +1321,11 @@ progress {
}
.offset-md-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-md-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-md-9 {
@ -1211,11 +1333,11 @@ progress {
}
.offset-md-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-md-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-md-0,
@ -1279,45 +1401,6 @@ progress {
}
}
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-lg-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-lg-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-lg-auto {
flex: 0 0 auto;
width: auto;
@ -1325,12 +1408,12 @@ progress {
.col-lg-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-lg-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-lg-3 {
@ -1340,12 +1423,12 @@ progress {
.col-lg-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-lg-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-lg-6 {
@ -1355,12 +1438,12 @@ progress {
.col-lg-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-lg-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-lg-9 {
@ -1370,12 +1453,12 @@ progress {
.col-lg-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-lg-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-lg-12 {
@ -1388,11 +1471,11 @@ progress {
}
.offset-lg-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-lg-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-lg-3 {
@ -1400,11 +1483,11 @@ progress {
}
.offset-lg-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-lg-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-lg-6 {
@ -1412,11 +1495,11 @@ progress {
}
.offset-lg-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-lg-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-lg-9 {
@ -1424,11 +1507,11 @@ progress {
}
.offset-lg-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-lg-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-lg-0,
@ -1492,45 +1575,6 @@ progress {
}
}
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xl-auto {
flex: 0 0 auto;
width: auto;
@ -1538,12 +1582,12 @@ progress {
.col-xl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xl-3 {
@ -1553,12 +1597,12 @@ progress {
.col-xl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xl-6 {
@ -1568,12 +1612,12 @@ progress {
.col-xl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xl-9 {
@ -1583,12 +1627,12 @@ progress {
.col-xl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xl-12 {
@ -1601,11 +1645,11 @@ progress {
}
.offset-xl-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-xl-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-xl-3 {
@ -1613,11 +1657,11 @@ progress {
}
.offset-xl-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-xl-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-xl-6 {
@ -1625,11 +1669,11 @@ progress {
}
.offset-xl-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-xl-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-xl-9 {
@ -1637,11 +1681,11 @@ progress {
}
.offset-xl-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-xl-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-xl-0,
@ -1705,45 +1749,6 @@ progress {
}
}
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
.row-cols-xxl-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
.row-cols-xxl-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
.col-xxl-auto {
flex: 0 0 auto;
width: auto;
@ -1751,12 +1756,12 @@ progress {
.col-xxl-1 {
flex: 0 0 auto;
width: 8.3333333333%;
width: 8.33333333%;
}
.col-xxl-2 {
flex: 0 0 auto;
width: 16.6666666667%;
width: 16.66666667%;
}
.col-xxl-3 {
@ -1766,12 +1771,12 @@ progress {
.col-xxl-4 {
flex: 0 0 auto;
width: 33.3333333333%;
width: 33.33333333%;
}
.col-xxl-5 {
flex: 0 0 auto;
width: 41.6666666667%;
width: 41.66666667%;
}
.col-xxl-6 {
@ -1781,12 +1786,12 @@ progress {
.col-xxl-7 {
flex: 0 0 auto;
width: 58.3333333333%;
width: 58.33333333%;
}
.col-xxl-8 {
flex: 0 0 auto;
width: 66.6666666667%;
width: 66.66666667%;
}
.col-xxl-9 {
@ -1796,12 +1801,12 @@ progress {
.col-xxl-10 {
flex: 0 0 auto;
width: 83.3333333333%;
width: 83.33333333%;
}
.col-xxl-11 {
flex: 0 0 auto;
width: 91.6666666667%;
width: 91.66666667%;
}
.col-xxl-12 {
@ -1814,11 +1819,11 @@ progress {
}
.offset-xxl-1 {
margin-right: 8.3333333333%;
margin-right: 8.33333333%;
}
.offset-xxl-2 {
margin-right: 16.6666666667%;
margin-right: 16.66666667%;
}
.offset-xxl-3 {
@ -1826,11 +1831,11 @@ progress {
}
.offset-xxl-4 {
margin-right: 33.3333333333%;
margin-right: 33.33333333%;
}
.offset-xxl-5 {
margin-right: 41.6666666667%;
margin-right: 41.66666667%;
}
.offset-xxl-6 {
@ -1838,11 +1843,11 @@ progress {
}
.offset-xxl-7 {
margin-right: 58.3333333333%;
margin-right: 58.33333333%;
}
.offset-xxl-8 {
margin-right: 66.6666666667%;
margin-right: 66.66666667%;
}
.offset-xxl-9 {
@ -1850,11 +1855,11 @@ progress {
}
.offset-xxl-10 {
margin-right: 83.3333333333%;
margin-right: 83.33333333%;
}
.offset-xxl-11 {
margin-right: 91.6666666667%;
margin-right: 91.66666667%;
}
.g-xxl-0,
@ -2259,7 +2264,7 @@ progress {
}
.form-control-sm {
min-height: calc(1.5em + 0.5rem + 2px);
min-height: calc(1.5em + (0.5rem + 2px));
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
@ -2278,7 +2283,7 @@ progress {
}
.form-control-lg {
min-height: calc(1.5em + 1rem + 2px);
min-height: calc(1.5em + (1rem + 2px));
padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: 0.3rem;
@ -2297,13 +2302,13 @@ progress {
}
textarea.form-control {
min-height: calc(1.5em + 0.75rem + 2px);
min-height: calc(1.5em + (0.75rem + 2px));
}
textarea.form-control-sm {
min-height: calc(1.5em + 0.5rem + 2px);
min-height: calc(1.5em + (0.5rem + 2px));
}
textarea.form-control-lg {
min-height: calc(1.5em + 1rem + 2px);
min-height: calc(1.5em + (1rem + 2px));
}
.form-control-color {
@ -2327,6 +2332,7 @@ textarea.form-control-lg {
display: block;
width: 100%;
padding: 0.375rem 0.75rem 0.375rem 2.25rem;
-moz-padding-start: calc(0.75rem - 3px);
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
@ -2338,10 +2344,16 @@ textarea.form-control-lg {
background-size: 16px 12px;
border: 1px solid #ced4da;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
@media (prefers-reduced-motion: reduce) {
.form-select {
transition: none;
}
}
.form-select:focus {
border-color: #86b7fe;
outline: 0;
@ -2574,7 +2586,7 @@ textarea.form-control-lg {
.form-floating > .form-control,
.form-floating > .form-select {
height: calc(3.5rem + 2px);
padding: 1rem 0.75rem;
line-height: 1.25;
}
.form-floating > label {
position: absolute;
@ -2592,6 +2604,9 @@ textarea.form-control-lg {
transition: none;
}
}
.form-floating > .form-control {
padding: 1rem 0.75rem;
}
.form-floating > .form-control::-moz-placeholder {
color: transparent;
}
@ -3464,16 +3479,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
right: auto ;
left: 0 ;
left: auto;
right: 0;
}
.dropdown-menu-end {
--bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
right: 0 ;
left: auto ;
left: 0;
right: auto;
}
@media (min-width: 576px) {
@ -3481,16 +3496,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-sm-start[data-bs-popper] {
right: auto ;
left: 0 ;
left: auto;
right: 0;
}
.dropdown-menu-sm-end {
--bs-position: end;
}
.dropdown-menu-sm-end[data-bs-popper] {
right: 0 ;
left: auto ;
left: 0;
right: auto;
}
}
@media (min-width: 768px) {
@ -3498,16 +3513,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-md-start[data-bs-popper] {
right: auto ;
left: 0 ;
left: auto;
right: 0;
}
.dropdown-menu-md-end {
--bs-position: end;
}
.dropdown-menu-md-end[data-bs-popper] {
right: 0 ;
left: auto ;
left: 0;
right: auto;
}
}
@media (min-width: 992px) {
@ -3515,16 +3530,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-lg-start[data-bs-popper] {
right: auto ;
left: 0 ;
left: auto;
right: 0;
}
.dropdown-menu-lg-end {
--bs-position: end;
}
.dropdown-menu-lg-end[data-bs-popper] {
right: 0 ;
left: auto ;
left: 0;
right: auto;
}
}
@media (min-width: 1200px) {
@ -3532,16 +3547,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-xl-start[data-bs-popper] {
right: auto ;
left: 0 ;
left: auto;
right: 0;
}
.dropdown-menu-xl-end {
--bs-position: end;
}
.dropdown-menu-xl-end[data-bs-popper] {
right: 0 ;
left: auto ;
left: 0;
right: auto;
}
}
@media (min-width: 1400px) {
@ -3549,16 +3564,16 @@ textarea.form-control-lg {
--bs-position: start;
}
.dropdown-menu-xxl-start[data-bs-popper] {
right: auto ;
left: 0 ;
left: auto;
right: 0;
}
.dropdown-menu-xxl-end {
--bs-position: end;
}
.dropdown-menu-xxl-end[data-bs-popper] {
right: 0 ;
left: auto ;
left: 0;
right: auto;
}
}
.dropup .dropdown-menu[data-bs-popper] {
@ -5698,7 +5713,7 @@ textarea.form-control-lg {
margin-bottom: 0;
font-size: 1rem;
background-color: #f0f0f0;
border-bottom: 1px solid #d8d8d8;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
border-top-right-radius: calc(0.3rem - 1px);
border-top-left-radius: calc(0.3rem - 1px);
}
@ -6004,7 +6019,9 @@ textarea.form-control-lg {
}
.offcanvas-header .btn-close {
padding: 0.5rem 0.5rem;
margin: -0.5rem auto -0.5rem -0.5rem;
margin-top: -0.5rem;
margin-left: -0.5rem;
margin-bottom: -0.5rem;
}
.offcanvas-title {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap v5.0.1 (https://getbootstrap.com/)
* Bootstrap v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/selector-engine.js
* Bootstrap (v5.0.2): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -82,7 +82,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/index.js
* Bootstrap (v5.0.2): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -204,24 +204,6 @@
return null;
};
const emulateTransitionEnd = (element, duration) => {
let called = false;
const durationPadding = 5;
const emulatedDuration = duration + durationPadding;
function listener() {
called = true;
element.removeEventListener(TRANSITION_END, listener);
}
element.addEventListener(TRANSITION_END, listener);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(element);
}
}, emulatedDuration);
};
const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(property => {
const expectedTypes = configTypes[property];
@ -235,17 +217,11 @@
};
const isVisible = element => {
if (!element) {
if (!isElement$1(element) || element.getClientRects().length === 0) {
return false;
}
if (element.style && element.parentNode && element.parentNode.style) {
const elementStyle = getComputedStyle(element);
const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
}
return false;
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const isDisabled = element => {
@ -303,9 +279,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -338,63 +323,66 @@
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const elementMap = new Map();
var Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key); // free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
if (!waitForTransition) {
execute(callback);
return;
}
const durationPadding = 5;
const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
let called = false;
const handler = ({
target
}) => {
if (target !== transitionElement) {
return;
}
called = true;
transitionElement.removeEventListener(TRANSITION_END, handler);
execute(callback);
};
transitionElement.addEventListener(TRANSITION_END, handler);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(transitionElement);
}
}, emulatedDuration);
};
/**
* Return the previous/next element of a list.
*
* @param {array} list The list of elements
* @param activeElement The active element
* @param shouldGetNext Choose to get next or previous element
* @param isCycleAllowed
* @return {Element|elem} The proper element
*/
const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed
if (index === -1) {
return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];
}
const listLength = list.length;
index += shouldGetNext ? 1 : -1;
if (isCycleAllowed) {
index = (index + listLength) % listLength;
}
return list[Math.max(0, Math.min(index, listLength - 1))];
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/event-handler.js
* Bootstrap (v5.0.2): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -683,7 +671,61 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): base-component.js
* Bootstrap (v5.0.2): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const elementMap = new Map();
var Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key); // free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.2): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -693,7 +735,7 @@
* ------------------------------------------------------------------------
*/
const VERSION = '5.0.1';
const VERSION = '5.0.2';
class BaseComponent {
constructor(element) {
@ -716,14 +758,7 @@
}
_queueCallback(callback, element, isAnimated = true) {
if (!isAnimated) {
execute(callback);
return;
}
const transitionDuration = getTransitionDurationFromElement(element);
EventHandler.one(element, 'transitionend', () => execute(callback));
emulateTransitionEnd(element, transitionDuration);
executeAfterTransition(callback, element, isAnimated);
}
/** Static */
@ -732,6 +767,10 @@
return Data.get(element, this.DATA_KEY);
}
static getOrCreateInstance(element, config = {}) {
return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
}
static get VERSION() {
return VERSION;
}
@ -752,7 +791,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): alert.js
* Bootstrap (v5.0.2): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -815,21 +854,14 @@
}
_destroyElement(element) {
if (element.parentNode) {
element.parentNode.removeChild(element);
}
element.remove();
EventHandler.trigger(element, EVENT_CLOSED);
} // Static
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$b);
if (!data) {
data = new Alert(this);
}
const data = Alert.getOrCreateInstance(this);
if (config === 'close') {
data[config](this);
@ -867,7 +899,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): button.js
* Bootstrap (v5.0.2): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -905,11 +937,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$a);
if (!data) {
data = new Button(this);
}
const data = Button.getOrCreateInstance(this);
if (config === 'toggle') {
data[config]();
@ -928,12 +956,7 @@
EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
event.preventDefault();
const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
let data = Data.get(button, DATA_KEY$a);
if (!data) {
data = new Button(button);
}
const data = Button.getOrCreateInstance(button);
data.toggle();
});
/**
@ -947,7 +970,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/manipulator.js
* Bootstrap (v5.0.2): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1021,7 +1044,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): carousel.js
* Bootstrap (v5.0.2): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1060,6 +1083,10 @@
const ORDER_PREV = 'prev';
const DIRECTION_LEFT = 'left';
const DIRECTION_RIGHT = 'right';
const KEY_TO_DIRECTION = {
[ARROW_LEFT_KEY]: DIRECTION_RIGHT,
[ARROW_RIGHT_KEY]: DIRECTION_LEFT
};
const EVENT_SLIDE = `slide${EVENT_KEY$9}`;
const EVENT_SLID = `slid${EVENT_KEY$9}`;
const EVENT_KEYDOWN = `keydown${EVENT_KEY$9}`;
@ -1128,9 +1155,7 @@
next() {
if (!this._isSliding) {
this._slide(ORDER_NEXT);
}
this._slide(ORDER_NEXT);
}
nextWhenVisible() {
@ -1142,9 +1167,7 @@
}
prev() {
if (!this._isSliding) {
this._slide(ORDER_PREV);
}
this._slide(ORDER_PREV);
}
pause(event) {
@ -1206,7 +1229,8 @@
_getConfig(config) {
config = { ...Default$9,
...config
...Manipulator.getDataAttributes(this._element),
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME$a, config, DefaultType$9);
return config;
@ -1304,14 +1328,12 @@
return;
}
if (event.key === ARROW_LEFT_KEY) {
const direction = KEY_TO_DIRECTION[event.key];
if (direction) {
event.preventDefault();
this._slide(DIRECTION_RIGHT);
} else if (event.key === ARROW_RIGHT_KEY) {
event.preventDefault();
this._slide(DIRECTION_LEFT);
this._slide(direction);
}
}
@ -1322,20 +1344,7 @@
_getItemByOrder(order, activeElement) {
const isNext = order === ORDER_NEXT;
const isPrev = order === ORDER_PREV;
const activeIndex = this._getItemIndex(activeElement);
const lastItemIndex = this._items.length - 1;
const isGoingToWrap = isPrev && activeIndex === 0 || isNext && activeIndex === lastItemIndex;
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
const delta = isPrev ? -1 : 1;
const itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);
}
_triggerSlideEvent(relatedTarget, eventDirectionName) {
@ -1408,6 +1417,10 @@
return;
}
if (this._isSliding) {
return;
}
const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.defaultPrevented) {
@ -1491,10 +1504,10 @@
static carouselInterface(element, config) {
let data = Data.get(element, DATA_KEY$9);
let _config = { ...Default$9,
...Manipulator.getDataAttributes(element)
};
const data = Carousel.getOrCreateInstance(element, config);
let {
_config
} = data;
if (typeof config === 'object') {
_config = { ..._config,
@ -1504,10 +1517,6 @@
const action = typeof config === 'string' ? config : _config.slide;
if (!data) {
data = new Carousel(element, _config);
}
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
@ -1547,7 +1556,7 @@
Carousel.carouselInterface(target, config);
if (slideIndex) {
Data.get(target, DATA_KEY$9).to(slideIndex);
Carousel.getInstance(target).to(slideIndex);
}
event.preventDefault();
@ -1566,7 +1575,7 @@
const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
for (let i = 0, len = carousels.length; i < len; i++) {
Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY$9));
Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));
}
});
/**
@ -1580,7 +1589,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): collapse.js
* Bootstrap (v5.0.2): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1696,7 +1705,7 @@
if (actives) {
const tempActiveData = actives.find(elem => container !== elem);
activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY$8) : null;
activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
if (activesData && activesData._isTransitioning) {
return;
@ -1859,7 +1868,7 @@
static collapseInterface(element, config) {
let data = Data.get(element, DATA_KEY$8);
let data = Collapse.getInstance(element);
const _config = { ...Default$8,
...Manipulator.getDataAttributes(element),
...(typeof config === 'object' && config ? config : {})
@ -1906,7 +1915,7 @@
const selector = getSelectorFromElement(this);
const selectorElements = SelectorEngine.find(selector);
selectorElements.forEach(element => {
const data = Data.get(element, DATA_KEY$8);
const data = Collapse.getInstance(element);
let config;
if (data) {
@ -3083,7 +3092,7 @@
});
}
function hide$1(_ref) {
function hide(_ref) {
var state = _ref.state,
name = _ref.name;
var referenceRect = state.rects.reference;
@ -3112,12 +3121,12 @@
} // eslint-disable-next-line import/no-unused-modules
var hide$2 = {
var hide$1 = {
name: 'hide',
enabled: true,
phase: 'main',
requiresIfExists: ['preventOverflow'],
fn: hide$1
fn: hide
};
function distanceAndSkiddingToXY(placement, rects, offset) {
@ -3640,7 +3649,7 @@
defaultModifiers: defaultModifiers$1
}); // eslint-disable-next-line import/no-unused-modules
var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$2];
var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
var createPopper = /*#__PURE__*/popperGenerator({
defaultModifiers: defaultModifiers
}); // eslint-disable-next-line import/no-unused-modules
@ -3681,7 +3690,7 @@
computeStyles: computeStyles$1,
eventListeners: eventListeners,
flip: flip$1,
hide: hide$2,
hide: hide$1,
offset: offset$1,
popperOffsets: popperOffsets$1,
preventOverflow: preventOverflow$1
@ -3689,7 +3698,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dropdown.js
* Bootstrap (v5.0.2): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4009,38 +4018,24 @@
};
}
_selectMenuItem(event) {
_selectMenuItem({
key,
target
}) {
const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
if (!items.length) {
return;
}
let index = items.indexOf(event.target); // Up
if (event.key === ARROW_UP_KEY && index > 0) {
index--;
} // Down
} // if target isn't included in items (e.g. when expanding the dropdown)
// allow cycling to get the last item in case key equals ARROW_UP_KEY
if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
index++;
} // index is -1 if the first keydown is an ArrowUp
index = index === -1 ? 0 : index;
items[index].focus();
getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();
} // Static
static dropdownInterface(element, config) {
let data = Data.get(element, DATA_KEY$7);
const _config = typeof config === 'object' ? config : null;
if (!data) {
data = new Dropdown(element, _config);
}
const data = Dropdown.getOrCreateInstance(element, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4065,7 +4060,7 @@
const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
for (let i = 0, len = toggles.length; i < len; i++) {
const context = Data.get(toggles[i], DATA_KEY$7);
const context = Dropdown.getInstance(toggles[i]);
if (!context || context._config.autoClose === false) {
continue;
@ -4138,17 +4133,19 @@
return;
}
if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
getToggleButton().click();
if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {
if (!isActive) {
getToggleButton().click();
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
return;
}
if (!isActive || event.key === SPACE_KEY) {
Dropdown.clearMenus();
return;
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
}
}
@ -4178,81 +4175,111 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/scrollBar.js
* Bootstrap (v5.0.2): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const getWidth = () => {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
};
const hide = (width = getWidth()) => {
_disableOverFlow(); // give padding to element to balances the hidden scrollbar width
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
};
const _disableOverFlow = () => {
const actualValue = document.body.style.overflow;
if (actualValue) {
Manipulator.setDataAttribute(document.body, 'overflow', actualValue);
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
document.body.style.overflow = 'hidden';
};
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
const _setElementAttributes = (selector, styleProp, callback) => {
const scrollbarWidth = getWidth();
SelectorEngine.find(selector).forEach(element => {
if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
hide() {
const width = this.getWidth();
this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
}
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProp, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProp);
const calculatedValue = window.getComputedStyle(element)[styleProp];
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, 'paddingRight');
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
}
_saveInitialAttribute(element, styleProp) {
const actualValue = element.style[styleProp];
const calculatedValue = window.getComputedStyle(element)[styleProp];
Manipulator.setDataAttribute(element, styleProp, actualValue);
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
});
};
const reset = () => {
_resetElementAttributes('body', 'overflow');
_resetElementAttributes('body', 'paddingRight');
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
};
const _resetElementAttributes = (selector, styleProp) => {
SelectorEngine.find(selector).forEach(element => {
const value = Manipulator.getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator.removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
if (actualValue) {
Manipulator.setDataAttribute(element, styleProp, actualValue);
}
});
};
}
_resetElementAttributes(selector, styleProp) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator.removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
}
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement$1(selector)) {
callBack(selector);
} else {
SelectorEngine.find(selector, this._element).forEach(callBack);
}
}
isOverflowing() {
return this.getWidth() > 0;
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/backdrop.js
* Bootstrap (v5.0.2): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4260,14 +4287,14 @@
isVisible: true,
// if false, we use the backdrop helper without adding any element to the dom
isAnimated: false,
rootElement: document.body,
rootElement: 'body',
// give the choice to place backdrop under different elements
clickCallback: null
};
const DefaultType$6 = {
isVisible: 'boolean',
isAnimated: 'boolean',
rootElement: 'element',
rootElement: '(element|string)',
clickCallback: '(function|null)'
};
const NAME$7 = 'backdrop';
@ -4335,8 +4362,9 @@
_getConfig(config) {
config = { ...Default$6,
...(typeof config === 'object' ? config : {})
};
config.rootElement = config.rootElement || document.body;
}; // use getElement() with the default "body" to get a fresh Element on each instantiation
config.rootElement = getElement(config.rootElement);
typeCheckConfig(NAME$7, config, DefaultType$6);
return config;
}
@ -4361,27 +4389,20 @@
EventHandler.off(this._element, EVENT_MOUSEDOWN);
this._getElement().parentNode.removeChild(this._element);
this._element.remove();
this._isAppended = false;
}
_emulateAnimation(callback) {
if (!this._config.isAnimated) {
execute(callback);
return;
}
const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
EventHandler.one(this._getElement(), 'transitionend', () => execute(callback));
emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): modal.js
* Bootstrap (v5.0.2): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4441,6 +4462,7 @@
this._isShown = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._scrollBar = new ScrollBarHelper();
} // Getters
@ -4462,20 +4484,22 @@
return;
}
if (this._isAnimated()) {
this._isTransitioning = true;
}
const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
relatedTarget
});
if (this._isShown || showEvent.defaultPrevented) {
if (showEvent.defaultPrevented) {
return;
}
this._isShown = true;
hide();
if (this._isAnimated()) {
this._isTransitioning = true;
}
this._scrollBar.hide();
document.body.classList.add(CLASS_NAME_OPEN);
this._adjustDialog();
@ -4497,7 +4521,7 @@
}
hide(event) {
if (event) {
if (event && ['A', 'AREA'].includes(event.target.tagName)) {
event.preventDefault();
}
@ -4564,7 +4588,7 @@
_getConfig(config) {
config = { ...Default$5,
...Manipulator.getDataAttributes(this._element),
...config
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME$6, config, DefaultType$5);
return config;
@ -4667,7 +4691,8 @@
this._resetAdjustments();
reset();
this._scrollBar.reset();
EventHandler.trigger(this._element, EVENT_HIDDEN$3);
});
}
@ -4704,27 +4729,32 @@
return;
}
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const {
classList,
scrollHeight,
style
} = this._element;
const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed
if (!isModalOverflowing) {
this._element.style.overflowY = 'hidden';
if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) {
return;
}
this._element.classList.add(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
style.overflowY = 'hidden';
}
const modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
EventHandler.off(this._element, 'transitionend');
EventHandler.one(this._element, 'transitionend', () => {
this._element.classList.remove(CLASS_NAME_STATIC);
classList.add(CLASS_NAME_STATIC);
this._queueCallback(() => {
classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
EventHandler.one(this._element, 'transitionend', () => {
this._element.style.overflowY = '';
});
emulateTransitionEnd(this._element, modalTransitionDuration);
this._queueCallback(() => {
style.overflowY = '';
}, this._dialog);
}
});
emulateTransitionEnd(this._element, modalTransitionDuration);
}, this._dialog);
this._element.focus();
} // ----------------------------------------------------------------------
@ -4734,7 +4764,9 @@
_adjustDialog() {
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const scrollbarWidth = getWidth();
const scrollbarWidth = this._scrollBar.getWidth();
const isBodyOverflowing = scrollbarWidth > 0;
if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) {
@ -4754,7 +4786,7 @@
static jQueryInterface(config, relatedTarget) {
return this.each(function () {
const data = Modal.getInstance(this) || new Modal(this, typeof config === 'object' ? config : {});
const data = Modal.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -4795,7 +4827,7 @@
}
});
});
const data = Modal.getInstance(target) || new Modal(target);
const data = Modal.getOrCreateInstance(target);
data.toggle(this);
});
/**
@ -4809,7 +4841,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): offcanvas.js
* Bootstrap (v5.0.2): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4896,7 +4928,7 @@
this._backdrop.show();
if (!this._config.scroll) {
hide();
new ScrollBarHelper().hide();
this._enforceFocusOnElement(this._element);
}
@ -4949,7 +4981,7 @@
this._element.style.visibility = 'hidden';
if (!this._config.scroll) {
reset();
new ScrollBarHelper().reset();
}
EventHandler.trigger(this._element, EVENT_HIDDEN$2);
@ -5007,7 +5039,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = Data.get(this, DATA_KEY$5) || new Offcanvas(this, typeof config === 'object' ? config : {});
const data = Offcanvas.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -5053,12 +5085,10 @@
Offcanvas.getInstance(allReadyOpen).hide();
}
const data = Data.get(target, DATA_KEY$5) || new Offcanvas(target);
const data = Offcanvas.getOrCreateInstance(target);
data.toggle(this);
});
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
SelectorEngine.find(OPEN_SELECTOR).forEach(el => (Data.get(el, DATA_KEY$5) || new Offcanvas(el)).show());
});
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show()));
/**
* ------------------------------------------------------------------------
* jQuery
@ -5069,7 +5099,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/sanitizer.js
* Bootstrap (v5.0.2): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -5164,7 +5194,7 @@
const elName = el.nodeName.toLowerCase();
if (!allowlistKeys.includes(elName)) {
el.parentNode.removeChild(el);
el.remove();
continue;
}
@ -5182,7 +5212,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tooltip.js
* Bootstrap (v5.0.2): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -5351,8 +5381,8 @@
clearTimeout(this._timeout);
EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
if (this.tip && this.tip.parentNode) {
this.tip.parentNode.removeChild(this.tip);
if (this.tip) {
this.tip.remove();
}
if (this._popper) {
@ -5457,8 +5487,8 @@
return;
}
if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
if (this._hoverState !== HOVER_STATE_SHOW) {
tip.remove();
}
this._cleanTipClass();
@ -5845,17 +5875,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$4);
const _config = typeof config === 'object' && config;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Tooltip(this, _config);
}
const data = Tooltip.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -5880,7 +5900,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): popover.js
* Bootstrap (v5.0.2): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -5950,6 +5970,24 @@
return this.getTitle() || this._getContent();
}
getTipElement() {
if (this.tip) {
return this.tip;
}
this.tip = super.getTipElement();
if (!this.getTitle()) {
SelectorEngine.findOne(SELECTOR_TITLE, this.tip).remove();
}
if (!this._getContent()) {
SelectorEngine.findOne(SELECTOR_CONTENT, this.tip).remove();
}
return this.tip;
}
setContent() {
const tip = this.getTipElement(); // we use append for html objects to maintain js events
@ -5986,18 +6024,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$3);
const _config = typeof config === 'object' ? config : null;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Popover(this, _config);
Data.set(this, DATA_KEY$3, data);
}
const data = Popover.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -6022,7 +6049,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): scrollspy.js
* Bootstrap (v5.0.2): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -6237,7 +6264,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = ScrollSpy.getInstance(this) || new ScrollSpy(this, typeof config === 'object' ? config : {});
const data = ScrollSpy.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -6273,7 +6300,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tab.js
* Bootstrap (v5.0.2): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -6428,7 +6455,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = Data.get(this, DATA_KEY$1) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -6457,7 +6484,7 @@
return;
}
const data = Data.get(this, DATA_KEY$1) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
data.show();
});
/**
@ -6471,7 +6498,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): toast.js
* Bootstrap (v5.0.2): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -6671,13 +6698,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY);
const _config = typeof config === 'object' && config;
if (!data) {
data = new Toast(this, _config);
}
const data = Toast.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -6702,7 +6723,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): index.umd.js
* Bootstrap (v5.0.2): index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap v5.0.1 (https://getbootstrap.com/)
* Bootstrap v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -7,7 +7,7 @@ import * as Popper from '@popperjs/core';
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/selector-engine.js
* Bootstrap (v5.0.2): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -78,7 +78,7 @@ const SelectorEngine = {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/index.js
* Bootstrap (v5.0.2): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -200,24 +200,6 @@ const getElement = obj => {
return null;
};
const emulateTransitionEnd = (element, duration) => {
let called = false;
const durationPadding = 5;
const emulatedDuration = duration + durationPadding;
function listener() {
called = true;
element.removeEventListener(TRANSITION_END, listener);
}
element.addEventListener(TRANSITION_END, listener);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(element);
}
}, emulatedDuration);
};
const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(property => {
const expectedTypes = configTypes[property];
@ -231,17 +213,11 @@ const typeCheckConfig = (componentName, config, configTypes) => {
};
const isVisible = element => {
if (!element) {
if (!isElement(element) || element.getClientRects().length === 0) {
return false;
}
if (element.style && element.parentNode && element.parentNode.style) {
const elementStyle = getComputedStyle(element);
const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
}
return false;
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const isDisabled = element => {
@ -299,9 +275,18 @@ const getjQuery = () => {
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -334,63 +319,66 @@ const execute = callback => {
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const elementMap = new Map();
var Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key); // free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
if (!waitForTransition) {
execute(callback);
return;
}
const durationPadding = 5;
const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
let called = false;
const handler = ({
target
}) => {
if (target !== transitionElement) {
return;
}
called = true;
transitionElement.removeEventListener(TRANSITION_END, handler);
execute(callback);
};
transitionElement.addEventListener(TRANSITION_END, handler);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(transitionElement);
}
}, emulatedDuration);
};
/**
* Return the previous/next element of a list.
*
* @param {array} list The list of elements
* @param activeElement The active element
* @param shouldGetNext Choose to get next or previous element
* @param isCycleAllowed
* @return {Element|elem} The proper element
*/
const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed
if (index === -1) {
return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];
}
const listLength = list.length;
index += shouldGetNext ? 1 : -1;
if (isCycleAllowed) {
index = (index + listLength) % listLength;
}
return list[Math.max(0, Math.min(index, listLength - 1))];
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/event-handler.js
* Bootstrap (v5.0.2): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -679,7 +667,61 @@ const EventHandler = {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): base-component.js
* Bootstrap (v5.0.2): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const elementMap = new Map();
var Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key); // free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.2): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -689,7 +731,7 @@ const EventHandler = {
* ------------------------------------------------------------------------
*/
const VERSION = '5.0.1';
const VERSION = '5.0.2';
class BaseComponent {
constructor(element) {
@ -712,14 +754,7 @@ class BaseComponent {
}
_queueCallback(callback, element, isAnimated = true) {
if (!isAnimated) {
execute(callback);
return;
}
const transitionDuration = getTransitionDurationFromElement(element);
EventHandler.one(element, 'transitionend', () => execute(callback));
emulateTransitionEnd(element, transitionDuration);
executeAfterTransition(callback, element, isAnimated);
}
/** Static */
@ -728,6 +763,10 @@ class BaseComponent {
return Data.get(element, this.DATA_KEY);
}
static getOrCreateInstance(element, config = {}) {
return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
}
static get VERSION() {
return VERSION;
}
@ -748,7 +787,7 @@ class BaseComponent {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): alert.js
* Bootstrap (v5.0.2): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -811,21 +850,14 @@ class Alert extends BaseComponent {
}
_destroyElement(element) {
if (element.parentNode) {
element.parentNode.removeChild(element);
}
element.remove();
EventHandler.trigger(element, EVENT_CLOSED);
} // Static
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$b);
if (!data) {
data = new Alert(this);
}
const data = Alert.getOrCreateInstance(this);
if (config === 'close') {
data[config](this);
@ -863,7 +895,7 @@ defineJQueryPlugin(Alert);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): button.js
* Bootstrap (v5.0.2): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -901,11 +933,7 @@ class Button extends BaseComponent {
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$a);
if (!data) {
data = new Button(this);
}
const data = Button.getOrCreateInstance(this);
if (config === 'toggle') {
data[config]();
@ -924,12 +952,7 @@ class Button extends BaseComponent {
EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
event.preventDefault();
const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
let data = Data.get(button, DATA_KEY$a);
if (!data) {
data = new Button(button);
}
const data = Button.getOrCreateInstance(button);
data.toggle();
});
/**
@ -943,7 +966,7 @@ defineJQueryPlugin(Button);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/manipulator.js
* Bootstrap (v5.0.2): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1017,7 +1040,7 @@ const Manipulator = {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): carousel.js
* Bootstrap (v5.0.2): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1056,6 +1079,10 @@ const ORDER_NEXT = 'next';
const ORDER_PREV = 'prev';
const DIRECTION_LEFT = 'left';
const DIRECTION_RIGHT = 'right';
const KEY_TO_DIRECTION = {
[ARROW_LEFT_KEY]: DIRECTION_RIGHT,
[ARROW_RIGHT_KEY]: DIRECTION_LEFT
};
const EVENT_SLIDE = `slide${EVENT_KEY$9}`;
const EVENT_SLID = `slid${EVENT_KEY$9}`;
const EVENT_KEYDOWN = `keydown${EVENT_KEY$9}`;
@ -1124,9 +1151,7 @@ class Carousel extends BaseComponent {
next() {
if (!this._isSliding) {
this._slide(ORDER_NEXT);
}
this._slide(ORDER_NEXT);
}
nextWhenVisible() {
@ -1138,9 +1163,7 @@ class Carousel extends BaseComponent {
}
prev() {
if (!this._isSliding) {
this._slide(ORDER_PREV);
}
this._slide(ORDER_PREV);
}
pause(event) {
@ -1202,7 +1225,8 @@ class Carousel extends BaseComponent {
_getConfig(config) {
config = { ...Default$9,
...config
...Manipulator.getDataAttributes(this._element),
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME$a, config, DefaultType$9);
return config;
@ -1300,14 +1324,12 @@ class Carousel extends BaseComponent {
return;
}
if (event.key === ARROW_LEFT_KEY) {
const direction = KEY_TO_DIRECTION[event.key];
if (direction) {
event.preventDefault();
this._slide(DIRECTION_RIGHT);
} else if (event.key === ARROW_RIGHT_KEY) {
event.preventDefault();
this._slide(DIRECTION_LEFT);
this._slide(direction);
}
}
@ -1318,20 +1340,7 @@ class Carousel extends BaseComponent {
_getItemByOrder(order, activeElement) {
const isNext = order === ORDER_NEXT;
const isPrev = order === ORDER_PREV;
const activeIndex = this._getItemIndex(activeElement);
const lastItemIndex = this._items.length - 1;
const isGoingToWrap = isPrev && activeIndex === 0 || isNext && activeIndex === lastItemIndex;
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
const delta = isPrev ? -1 : 1;
const itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);
}
_triggerSlideEvent(relatedTarget, eventDirectionName) {
@ -1404,6 +1413,10 @@ class Carousel extends BaseComponent {
return;
}
if (this._isSliding) {
return;
}
const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.defaultPrevented) {
@ -1487,10 +1500,10 @@ class Carousel extends BaseComponent {
static carouselInterface(element, config) {
let data = Data.get(element, DATA_KEY$9);
let _config = { ...Default$9,
...Manipulator.getDataAttributes(element)
};
const data = Carousel.getOrCreateInstance(element, config);
let {
_config
} = data;
if (typeof config === 'object') {
_config = { ..._config,
@ -1500,10 +1513,6 @@ class Carousel extends BaseComponent {
const action = typeof config === 'string' ? config : _config.slide;
if (!data) {
data = new Carousel(element, _config);
}
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
@ -1543,7 +1552,7 @@ class Carousel extends BaseComponent {
Carousel.carouselInterface(target, config);
if (slideIndex) {
Data.get(target, DATA_KEY$9).to(slideIndex);
Carousel.getInstance(target).to(slideIndex);
}
event.preventDefault();
@ -1562,7 +1571,7 @@ EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
for (let i = 0, len = carousels.length; i < len; i++) {
Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY$9));
Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));
}
});
/**
@ -1576,7 +1585,7 @@ defineJQueryPlugin(Carousel);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): collapse.js
* Bootstrap (v5.0.2): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1692,7 +1701,7 @@ class Collapse extends BaseComponent {
if (actives) {
const tempActiveData = actives.find(elem => container !== elem);
activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY$8) : null;
activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
if (activesData && activesData._isTransitioning) {
return;
@ -1855,7 +1864,7 @@ class Collapse extends BaseComponent {
static collapseInterface(element, config) {
let data = Data.get(element, DATA_KEY$8);
let data = Collapse.getInstance(element);
const _config = { ...Default$8,
...Manipulator.getDataAttributes(element),
...(typeof config === 'object' && config ? config : {})
@ -1902,7 +1911,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, functi
const selector = getSelectorFromElement(this);
const selectorElements = SelectorEngine.find(selector);
selectorElements.forEach(element => {
const data = Data.get(element, DATA_KEY$8);
const data = Collapse.getInstance(element);
let config;
if (data) {
@ -1931,7 +1940,7 @@ defineJQueryPlugin(Collapse);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dropdown.js
* Bootstrap (v5.0.2): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2251,38 +2260,24 @@ class Dropdown extends BaseComponent {
};
}
_selectMenuItem(event) {
_selectMenuItem({
key,
target
}) {
const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
if (!items.length) {
return;
}
let index = items.indexOf(event.target); // Up
if (event.key === ARROW_UP_KEY && index > 0) {
index--;
} // Down
} // if target isn't included in items (e.g. when expanding the dropdown)
// allow cycling to get the last item in case key equals ARROW_UP_KEY
if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
index++;
} // index is -1 if the first keydown is an ArrowUp
index = index === -1 ? 0 : index;
items[index].focus();
getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();
} // Static
static dropdownInterface(element, config) {
let data = Data.get(element, DATA_KEY$7);
const _config = typeof config === 'object' ? config : null;
if (!data) {
data = new Dropdown(element, _config);
}
const data = Dropdown.getOrCreateInstance(element, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -2307,7 +2302,7 @@ class Dropdown extends BaseComponent {
const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
for (let i = 0, len = toggles.length; i < len; i++) {
const context = Data.get(toggles[i], DATA_KEY$7);
const context = Dropdown.getInstance(toggles[i]);
if (!context || context._config.autoClose === false) {
continue;
@ -2380,17 +2375,19 @@ class Dropdown extends BaseComponent {
return;
}
if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
getToggleButton().click();
if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {
if (!isActive) {
getToggleButton().click();
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
return;
}
if (!isActive || event.key === SPACE_KEY) {
Dropdown.clearMenus();
return;
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
}
}
@ -2420,81 +2417,111 @@ defineJQueryPlugin(Dropdown);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/scrollBar.js
* Bootstrap (v5.0.2): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const getWidth = () => {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
};
const hide = (width = getWidth()) => {
_disableOverFlow(); // give padding to element to balances the hidden scrollbar width
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
};
const _disableOverFlow = () => {
const actualValue = document.body.style.overflow;
if (actualValue) {
Manipulator.setDataAttribute(document.body, 'overflow', actualValue);
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
document.body.style.overflow = 'hidden';
};
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
const _setElementAttributes = (selector, styleProp, callback) => {
const scrollbarWidth = getWidth();
SelectorEngine.find(selector).forEach(element => {
if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
hide() {
const width = this.getWidth();
this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
}
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProp, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProp);
const calculatedValue = window.getComputedStyle(element)[styleProp];
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, 'paddingRight');
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
}
_saveInitialAttribute(element, styleProp) {
const actualValue = element.style[styleProp];
const calculatedValue = window.getComputedStyle(element)[styleProp];
Manipulator.setDataAttribute(element, styleProp, actualValue);
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
});
};
const reset = () => {
_resetElementAttributes('body', 'overflow');
_resetElementAttributes('body', 'paddingRight');
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
};
const _resetElementAttributes = (selector, styleProp) => {
SelectorEngine.find(selector).forEach(element => {
const value = Manipulator.getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator.removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
if (actualValue) {
Manipulator.setDataAttribute(element, styleProp, actualValue);
}
});
};
}
_resetElementAttributes(selector, styleProp) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator.removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
}
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
} else {
SelectorEngine.find(selector, this._element).forEach(callBack);
}
}
isOverflowing() {
return this.getWidth() > 0;
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/backdrop.js
* Bootstrap (v5.0.2): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2502,14 +2529,14 @@ const Default$6 = {
isVisible: true,
// if false, we use the backdrop helper without adding any element to the dom
isAnimated: false,
rootElement: document.body,
rootElement: 'body',
// give the choice to place backdrop under different elements
clickCallback: null
};
const DefaultType$6 = {
isVisible: 'boolean',
isAnimated: 'boolean',
rootElement: 'element',
rootElement: '(element|string)',
clickCallback: '(function|null)'
};
const NAME$7 = 'backdrop';
@ -2577,8 +2604,9 @@ class Backdrop {
_getConfig(config) {
config = { ...Default$6,
...(typeof config === 'object' ? config : {})
};
config.rootElement = config.rootElement || document.body;
}; // use getElement() with the default "body" to get a fresh Element on each instantiation
config.rootElement = getElement(config.rootElement);
typeCheckConfig(NAME$7, config, DefaultType$6);
return config;
}
@ -2603,27 +2631,20 @@ class Backdrop {
EventHandler.off(this._element, EVENT_MOUSEDOWN);
this._getElement().parentNode.removeChild(this._element);
this._element.remove();
this._isAppended = false;
}
_emulateAnimation(callback) {
if (!this._config.isAnimated) {
execute(callback);
return;
}
const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
EventHandler.one(this._getElement(), 'transitionend', () => execute(callback));
emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): modal.js
* Bootstrap (v5.0.2): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2683,6 +2704,7 @@ class Modal extends BaseComponent {
this._isShown = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._scrollBar = new ScrollBarHelper();
} // Getters
@ -2704,20 +2726,22 @@ class Modal extends BaseComponent {
return;
}
if (this._isAnimated()) {
this._isTransitioning = true;
}
const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
relatedTarget
});
if (this._isShown || showEvent.defaultPrevented) {
if (showEvent.defaultPrevented) {
return;
}
this._isShown = true;
hide();
if (this._isAnimated()) {
this._isTransitioning = true;
}
this._scrollBar.hide();
document.body.classList.add(CLASS_NAME_OPEN);
this._adjustDialog();
@ -2739,7 +2763,7 @@ class Modal extends BaseComponent {
}
hide(event) {
if (event) {
if (event && ['A', 'AREA'].includes(event.target.tagName)) {
event.preventDefault();
}
@ -2806,7 +2830,7 @@ class Modal extends BaseComponent {
_getConfig(config) {
config = { ...Default$5,
...Manipulator.getDataAttributes(this._element),
...config
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME$6, config, DefaultType$5);
return config;
@ -2909,7 +2933,8 @@ class Modal extends BaseComponent {
this._resetAdjustments();
reset();
this._scrollBar.reset();
EventHandler.trigger(this._element, EVENT_HIDDEN$3);
});
}
@ -2946,27 +2971,32 @@ class Modal extends BaseComponent {
return;
}
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const {
classList,
scrollHeight,
style
} = this._element;
const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed
if (!isModalOverflowing) {
this._element.style.overflowY = 'hidden';
if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) {
return;
}
this._element.classList.add(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
style.overflowY = 'hidden';
}
const modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
EventHandler.off(this._element, 'transitionend');
EventHandler.one(this._element, 'transitionend', () => {
this._element.classList.remove(CLASS_NAME_STATIC);
classList.add(CLASS_NAME_STATIC);
this._queueCallback(() => {
classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
EventHandler.one(this._element, 'transitionend', () => {
this._element.style.overflowY = '';
});
emulateTransitionEnd(this._element, modalTransitionDuration);
this._queueCallback(() => {
style.overflowY = '';
}, this._dialog);
}
});
emulateTransitionEnd(this._element, modalTransitionDuration);
}, this._dialog);
this._element.focus();
} // ----------------------------------------------------------------------
@ -2976,7 +3006,9 @@ class Modal extends BaseComponent {
_adjustDialog() {
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const scrollbarWidth = getWidth();
const scrollbarWidth = this._scrollBar.getWidth();
const isBodyOverflowing = scrollbarWidth > 0;
if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) {
@ -2996,7 +3028,7 @@ class Modal extends BaseComponent {
static jQueryInterface(config, relatedTarget) {
return this.each(function () {
const data = Modal.getInstance(this) || new Modal(this, typeof config === 'object' ? config : {});
const data = Modal.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -3037,7 +3069,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, functi
}
});
});
const data = Modal.getInstance(target) || new Modal(target);
const data = Modal.getOrCreateInstance(target);
data.toggle(this);
});
/**
@ -3051,7 +3083,7 @@ defineJQueryPlugin(Modal);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): offcanvas.js
* Bootstrap (v5.0.2): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3138,7 +3170,7 @@ class Offcanvas extends BaseComponent {
this._backdrop.show();
if (!this._config.scroll) {
hide();
new ScrollBarHelper().hide();
this._enforceFocusOnElement(this._element);
}
@ -3191,7 +3223,7 @@ class Offcanvas extends BaseComponent {
this._element.style.visibility = 'hidden';
if (!this._config.scroll) {
reset();
new ScrollBarHelper().reset();
}
EventHandler.trigger(this._element, EVENT_HIDDEN$2);
@ -3249,7 +3281,7 @@ class Offcanvas extends BaseComponent {
static jQueryInterface(config) {
return this.each(function () {
const data = Data.get(this, DATA_KEY$5) || new Offcanvas(this, typeof config === 'object' ? config : {});
const data = Offcanvas.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -3295,12 +3327,10 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, functi
Offcanvas.getInstance(allReadyOpen).hide();
}
const data = Data.get(target, DATA_KEY$5) || new Offcanvas(target);
const data = Offcanvas.getOrCreateInstance(target);
data.toggle(this);
});
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
SelectorEngine.find(OPEN_SELECTOR).forEach(el => (Data.get(el, DATA_KEY$5) || new Offcanvas(el)).show());
});
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show()));
/**
* ------------------------------------------------------------------------
* jQuery
@ -3311,7 +3341,7 @@ defineJQueryPlugin(Offcanvas);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/sanitizer.js
* Bootstrap (v5.0.2): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3406,7 +3436,7 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {
const elName = el.nodeName.toLowerCase();
if (!allowlistKeys.includes(elName)) {
el.parentNode.removeChild(el);
el.remove();
continue;
}
@ -3424,7 +3454,7 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tooltip.js
* Bootstrap (v5.0.2): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3593,8 +3623,8 @@ class Tooltip extends BaseComponent {
clearTimeout(this._timeout);
EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
if (this.tip && this.tip.parentNode) {
this.tip.parentNode.removeChild(this.tip);
if (this.tip) {
this.tip.remove();
}
if (this._popper) {
@ -3699,8 +3729,8 @@ class Tooltip extends BaseComponent {
return;
}
if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
if (this._hoverState !== HOVER_STATE_SHOW) {
tip.remove();
}
this._cleanTipClass();
@ -4087,17 +4117,7 @@ class Tooltip extends BaseComponent {
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$4);
const _config = typeof config === 'object' && config;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Tooltip(this, _config);
}
const data = Tooltip.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4122,7 +4142,7 @@ defineJQueryPlugin(Tooltip);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): popover.js
* Bootstrap (v5.0.2): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4192,6 +4212,24 @@ class Popover extends Tooltip {
return this.getTitle() || this._getContent();
}
getTipElement() {
if (this.tip) {
return this.tip;
}
this.tip = super.getTipElement();
if (!this.getTitle()) {
SelectorEngine.findOne(SELECTOR_TITLE, this.tip).remove();
}
if (!this._getContent()) {
SelectorEngine.findOne(SELECTOR_CONTENT, this.tip).remove();
}
return this.tip;
}
setContent() {
const tip = this.getTipElement(); // we use append for html objects to maintain js events
@ -4228,18 +4266,7 @@ class Popover extends Tooltip {
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$3);
const _config = typeof config === 'object' ? config : null;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Popover(this, _config);
Data.set(this, DATA_KEY$3, data);
}
const data = Popover.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4264,7 +4291,7 @@ defineJQueryPlugin(Popover);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): scrollspy.js
* Bootstrap (v5.0.2): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4479,7 +4506,7 @@ class ScrollSpy extends BaseComponent {
static jQueryInterface(config) {
return this.each(function () {
const data = ScrollSpy.getInstance(this) || new ScrollSpy(this, typeof config === 'object' ? config : {});
const data = ScrollSpy.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -4515,7 +4542,7 @@ defineJQueryPlugin(ScrollSpy);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tab.js
* Bootstrap (v5.0.2): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4670,7 +4697,7 @@ class Tab extends BaseComponent {
static jQueryInterface(config) {
return this.each(function () {
const data = Data.get(this, DATA_KEY$1) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4699,7 +4726,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (
return;
}
const data = Data.get(this, DATA_KEY$1) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
data.show();
});
/**
@ -4713,7 +4740,7 @@ defineJQueryPlugin(Tab);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): toast.js
* Bootstrap (v5.0.2): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4913,13 +4940,7 @@ class Toast extends BaseComponent {
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY);
const _config = typeof config === 'object' && config;
if (!data) {
data = new Toast(this, _config);
}
const data = Toast.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap v5.0.1 (https://getbootstrap.com/)
* Bootstrap v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -33,7 +33,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/selector-engine.js
* Bootstrap (v5.0.2): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -104,7 +104,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/index.js
* Bootstrap (v5.0.2): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -226,24 +226,6 @@
return null;
};
const emulateTransitionEnd = (element, duration) => {
let called = false;
const durationPadding = 5;
const emulatedDuration = duration + durationPadding;
function listener() {
called = true;
element.removeEventListener(TRANSITION_END, listener);
}
element.addEventListener(TRANSITION_END, listener);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(element);
}
}, emulatedDuration);
};
const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(property => {
const expectedTypes = configTypes[property];
@ -257,17 +239,11 @@
};
const isVisible = element => {
if (!element) {
if (!isElement(element) || element.getClientRects().length === 0) {
return false;
}
if (element.style && element.parentNode && element.parentNode.style) {
const elementStyle = getComputedStyle(element);
const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
}
return false;
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const isDisabled = element => {
@ -325,9 +301,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -360,63 +345,66 @@
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const elementMap = new Map();
var Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key); // free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
if (!waitForTransition) {
execute(callback);
return;
}
const durationPadding = 5;
const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
let called = false;
const handler = ({
target
}) => {
if (target !== transitionElement) {
return;
}
called = true;
transitionElement.removeEventListener(TRANSITION_END, handler);
execute(callback);
};
transitionElement.addEventListener(TRANSITION_END, handler);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(transitionElement);
}
}, emulatedDuration);
};
/**
* Return the previous/next element of a list.
*
* @param {array} list The list of elements
* @param activeElement The active element
* @param shouldGetNext Choose to get next or previous element
* @param isCycleAllowed
* @return {Element|elem} The proper element
*/
const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed
if (index === -1) {
return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];
}
const listLength = list.length;
index += shouldGetNext ? 1 : -1;
if (isCycleAllowed) {
index = (index + listLength) % listLength;
}
return list[Math.max(0, Math.min(index, listLength - 1))];
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/event-handler.js
* Bootstrap (v5.0.2): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -705,7 +693,61 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): base-component.js
* Bootstrap (v5.0.2): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const elementMap = new Map();
var Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key); // free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.2): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -715,7 +757,7 @@
* ------------------------------------------------------------------------
*/
const VERSION = '5.0.1';
const VERSION = '5.0.2';
class BaseComponent {
constructor(element) {
@ -738,14 +780,7 @@
}
_queueCallback(callback, element, isAnimated = true) {
if (!isAnimated) {
execute(callback);
return;
}
const transitionDuration = getTransitionDurationFromElement(element);
EventHandler.one(element, 'transitionend', () => execute(callback));
emulateTransitionEnd(element, transitionDuration);
executeAfterTransition(callback, element, isAnimated);
}
/** Static */
@ -754,6 +789,10 @@
return Data.get(element, this.DATA_KEY);
}
static getOrCreateInstance(element, config = {}) {
return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
}
static get VERSION() {
return VERSION;
}
@ -774,7 +813,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): alert.js
* Bootstrap (v5.0.2): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -837,21 +876,14 @@
}
_destroyElement(element) {
if (element.parentNode) {
element.parentNode.removeChild(element);
}
element.remove();
EventHandler.trigger(element, EVENT_CLOSED);
} // Static
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$b);
if (!data) {
data = new Alert(this);
}
const data = Alert.getOrCreateInstance(this);
if (config === 'close') {
data[config](this);
@ -889,7 +921,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): button.js
* Bootstrap (v5.0.2): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -927,11 +959,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$a);
if (!data) {
data = new Button(this);
}
const data = Button.getOrCreateInstance(this);
if (config === 'toggle') {
data[config]();
@ -950,12 +978,7 @@
EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
event.preventDefault();
const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
let data = Data.get(button, DATA_KEY$a);
if (!data) {
data = new Button(button);
}
const data = Button.getOrCreateInstance(button);
data.toggle();
});
/**
@ -969,7 +992,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/manipulator.js
* Bootstrap (v5.0.2): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1043,7 +1066,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): carousel.js
* Bootstrap (v5.0.2): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1082,6 +1105,10 @@
const ORDER_PREV = 'prev';
const DIRECTION_LEFT = 'left';
const DIRECTION_RIGHT = 'right';
const KEY_TO_DIRECTION = {
[ARROW_LEFT_KEY]: DIRECTION_RIGHT,
[ARROW_RIGHT_KEY]: DIRECTION_LEFT
};
const EVENT_SLIDE = `slide${EVENT_KEY$9}`;
const EVENT_SLID = `slid${EVENT_KEY$9}`;
const EVENT_KEYDOWN = `keydown${EVENT_KEY$9}`;
@ -1150,9 +1177,7 @@
next() {
if (!this._isSliding) {
this._slide(ORDER_NEXT);
}
this._slide(ORDER_NEXT);
}
nextWhenVisible() {
@ -1164,9 +1189,7 @@
}
prev() {
if (!this._isSliding) {
this._slide(ORDER_PREV);
}
this._slide(ORDER_PREV);
}
pause(event) {
@ -1228,7 +1251,8 @@
_getConfig(config) {
config = { ...Default$9,
...config
...Manipulator.getDataAttributes(this._element),
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME$a, config, DefaultType$9);
return config;
@ -1326,14 +1350,12 @@
return;
}
if (event.key === ARROW_LEFT_KEY) {
const direction = KEY_TO_DIRECTION[event.key];
if (direction) {
event.preventDefault();
this._slide(DIRECTION_RIGHT);
} else if (event.key === ARROW_RIGHT_KEY) {
event.preventDefault();
this._slide(DIRECTION_LEFT);
this._slide(direction);
}
}
@ -1344,20 +1366,7 @@
_getItemByOrder(order, activeElement) {
const isNext = order === ORDER_NEXT;
const isPrev = order === ORDER_PREV;
const activeIndex = this._getItemIndex(activeElement);
const lastItemIndex = this._items.length - 1;
const isGoingToWrap = isPrev && activeIndex === 0 || isNext && activeIndex === lastItemIndex;
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
const delta = isPrev ? -1 : 1;
const itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);
}
_triggerSlideEvent(relatedTarget, eventDirectionName) {
@ -1430,6 +1439,10 @@
return;
}
if (this._isSliding) {
return;
}
const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.defaultPrevented) {
@ -1513,10 +1526,10 @@
static carouselInterface(element, config) {
let data = Data.get(element, DATA_KEY$9);
let _config = { ...Default$9,
...Manipulator.getDataAttributes(element)
};
const data = Carousel.getOrCreateInstance(element, config);
let {
_config
} = data;
if (typeof config === 'object') {
_config = { ..._config,
@ -1526,10 +1539,6 @@
const action = typeof config === 'string' ? config : _config.slide;
if (!data) {
data = new Carousel(element, _config);
}
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
@ -1569,7 +1578,7 @@
Carousel.carouselInterface(target, config);
if (slideIndex) {
Data.get(target, DATA_KEY$9).to(slideIndex);
Carousel.getInstance(target).to(slideIndex);
}
event.preventDefault();
@ -1588,7 +1597,7 @@
const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
for (let i = 0, len = carousels.length; i < len; i++) {
Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY$9));
Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));
}
});
/**
@ -1602,7 +1611,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): collapse.js
* Bootstrap (v5.0.2): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1718,7 +1727,7 @@
if (actives) {
const tempActiveData = actives.find(elem => container !== elem);
activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY$8) : null;
activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
if (activesData && activesData._isTransitioning) {
return;
@ -1881,7 +1890,7 @@
static collapseInterface(element, config) {
let data = Data.get(element, DATA_KEY$8);
let data = Collapse.getInstance(element);
const _config = { ...Default$8,
...Manipulator.getDataAttributes(element),
...(typeof config === 'object' && config ? config : {})
@ -1928,7 +1937,7 @@
const selector = getSelectorFromElement(this);
const selectorElements = SelectorEngine.find(selector);
selectorElements.forEach(element => {
const data = Data.get(element, DATA_KEY$8);
const data = Collapse.getInstance(element);
let config;
if (data) {
@ -1957,7 +1966,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dropdown.js
* Bootstrap (v5.0.2): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2277,38 +2286,24 @@
};
}
_selectMenuItem(event) {
_selectMenuItem({
key,
target
}) {
const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
if (!items.length) {
return;
}
let index = items.indexOf(event.target); // Up
if (event.key === ARROW_UP_KEY && index > 0) {
index--;
} // Down
} // if target isn't included in items (e.g. when expanding the dropdown)
// allow cycling to get the last item in case key equals ARROW_UP_KEY
if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
index++;
} // index is -1 if the first keydown is an ArrowUp
index = index === -1 ? 0 : index;
items[index].focus();
getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();
} // Static
static dropdownInterface(element, config) {
let data = Data.get(element, DATA_KEY$7);
const _config = typeof config === 'object' ? config : null;
if (!data) {
data = new Dropdown(element, _config);
}
const data = Dropdown.getOrCreateInstance(element, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -2333,7 +2328,7 @@
const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
for (let i = 0, len = toggles.length; i < len; i++) {
const context = Data.get(toggles[i], DATA_KEY$7);
const context = Dropdown.getInstance(toggles[i]);
if (!context || context._config.autoClose === false) {
continue;
@ -2406,17 +2401,19 @@
return;
}
if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
getToggleButton().click();
if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {
if (!isActive) {
getToggleButton().click();
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
return;
}
if (!isActive || event.key === SPACE_KEY) {
Dropdown.clearMenus();
return;
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
}
}
@ -2446,81 +2443,111 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/scrollBar.js
* Bootstrap (v5.0.2): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const getWidth = () => {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
};
const hide = (width = getWidth()) => {
_disableOverFlow(); // give padding to element to balances the hidden scrollbar width
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
};
const _disableOverFlow = () => {
const actualValue = document.body.style.overflow;
if (actualValue) {
Manipulator.setDataAttribute(document.body, 'overflow', actualValue);
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
document.body.style.overflow = 'hidden';
};
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
const _setElementAttributes = (selector, styleProp, callback) => {
const scrollbarWidth = getWidth();
SelectorEngine.find(selector).forEach(element => {
if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
hide() {
const width = this.getWidth();
this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
}
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProp, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProp);
const calculatedValue = window.getComputedStyle(element)[styleProp];
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, 'paddingRight');
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
}
_saveInitialAttribute(element, styleProp) {
const actualValue = element.style[styleProp];
const calculatedValue = window.getComputedStyle(element)[styleProp];
Manipulator.setDataAttribute(element, styleProp, actualValue);
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
});
};
const reset = () => {
_resetElementAttributes('body', 'overflow');
_resetElementAttributes('body', 'paddingRight');
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
};
const _resetElementAttributes = (selector, styleProp) => {
SelectorEngine.find(selector).forEach(element => {
const value = Manipulator.getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator.removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
if (actualValue) {
Manipulator.setDataAttribute(element, styleProp, actualValue);
}
});
};
}
_resetElementAttributes(selector, styleProp) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator.removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
}
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
} else {
SelectorEngine.find(selector, this._element).forEach(callBack);
}
}
isOverflowing() {
return this.getWidth() > 0;
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/backdrop.js
* Bootstrap (v5.0.2): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2528,14 +2555,14 @@
isVisible: true,
// if false, we use the backdrop helper without adding any element to the dom
isAnimated: false,
rootElement: document.body,
rootElement: 'body',
// give the choice to place backdrop under different elements
clickCallback: null
};
const DefaultType$6 = {
isVisible: 'boolean',
isAnimated: 'boolean',
rootElement: 'element',
rootElement: '(element|string)',
clickCallback: '(function|null)'
};
const NAME$7 = 'backdrop';
@ -2603,8 +2630,9 @@
_getConfig(config) {
config = { ...Default$6,
...(typeof config === 'object' ? config : {})
};
config.rootElement = config.rootElement || document.body;
}; // use getElement() with the default "body" to get a fresh Element on each instantiation
config.rootElement = getElement(config.rootElement);
typeCheckConfig(NAME$7, config, DefaultType$6);
return config;
}
@ -2629,27 +2657,20 @@
EventHandler.off(this._element, EVENT_MOUSEDOWN);
this._getElement().parentNode.removeChild(this._element);
this._element.remove();
this._isAppended = false;
}
_emulateAnimation(callback) {
if (!this._config.isAnimated) {
execute(callback);
return;
}
const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
EventHandler.one(this._getElement(), 'transitionend', () => execute(callback));
emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): modal.js
* Bootstrap (v5.0.2): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2709,6 +2730,7 @@
this._isShown = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._scrollBar = new ScrollBarHelper();
} // Getters
@ -2730,20 +2752,22 @@
return;
}
if (this._isAnimated()) {
this._isTransitioning = true;
}
const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
relatedTarget
});
if (this._isShown || showEvent.defaultPrevented) {
if (showEvent.defaultPrevented) {
return;
}
this._isShown = true;
hide();
if (this._isAnimated()) {
this._isTransitioning = true;
}
this._scrollBar.hide();
document.body.classList.add(CLASS_NAME_OPEN);
this._adjustDialog();
@ -2765,7 +2789,7 @@
}
hide(event) {
if (event) {
if (event && ['A', 'AREA'].includes(event.target.tagName)) {
event.preventDefault();
}
@ -2832,7 +2856,7 @@
_getConfig(config) {
config = { ...Default$5,
...Manipulator.getDataAttributes(this._element),
...config
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME$6, config, DefaultType$5);
return config;
@ -2935,7 +2959,8 @@
this._resetAdjustments();
reset();
this._scrollBar.reset();
EventHandler.trigger(this._element, EVENT_HIDDEN$3);
});
}
@ -2972,27 +2997,32 @@
return;
}
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const {
classList,
scrollHeight,
style
} = this._element;
const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed
if (!isModalOverflowing) {
this._element.style.overflowY = 'hidden';
if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) {
return;
}
this._element.classList.add(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
style.overflowY = 'hidden';
}
const modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
EventHandler.off(this._element, 'transitionend');
EventHandler.one(this._element, 'transitionend', () => {
this._element.classList.remove(CLASS_NAME_STATIC);
classList.add(CLASS_NAME_STATIC);
this._queueCallback(() => {
classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
EventHandler.one(this._element, 'transitionend', () => {
this._element.style.overflowY = '';
});
emulateTransitionEnd(this._element, modalTransitionDuration);
this._queueCallback(() => {
style.overflowY = '';
}, this._dialog);
}
});
emulateTransitionEnd(this._element, modalTransitionDuration);
}, this._dialog);
this._element.focus();
} // ----------------------------------------------------------------------
@ -3002,7 +3032,9 @@
_adjustDialog() {
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const scrollbarWidth = getWidth();
const scrollbarWidth = this._scrollBar.getWidth();
const isBodyOverflowing = scrollbarWidth > 0;
if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) {
@ -3022,7 +3054,7 @@
static jQueryInterface(config, relatedTarget) {
return this.each(function () {
const data = Modal.getInstance(this) || new Modal(this, typeof config === 'object' ? config : {});
const data = Modal.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -3063,7 +3095,7 @@
}
});
});
const data = Modal.getInstance(target) || new Modal(target);
const data = Modal.getOrCreateInstance(target);
data.toggle(this);
});
/**
@ -3077,7 +3109,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): offcanvas.js
* Bootstrap (v5.0.2): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3164,7 +3196,7 @@
this._backdrop.show();
if (!this._config.scroll) {
hide();
new ScrollBarHelper().hide();
this._enforceFocusOnElement(this._element);
}
@ -3217,7 +3249,7 @@
this._element.style.visibility = 'hidden';
if (!this._config.scroll) {
reset();
new ScrollBarHelper().reset();
}
EventHandler.trigger(this._element, EVENT_HIDDEN$2);
@ -3275,7 +3307,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = Data.get(this, DATA_KEY$5) || new Offcanvas(this, typeof config === 'object' ? config : {});
const data = Offcanvas.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -3321,12 +3353,10 @@
Offcanvas.getInstance(allReadyOpen).hide();
}
const data = Data.get(target, DATA_KEY$5) || new Offcanvas(target);
const data = Offcanvas.getOrCreateInstance(target);
data.toggle(this);
});
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
SelectorEngine.find(OPEN_SELECTOR).forEach(el => (Data.get(el, DATA_KEY$5) || new Offcanvas(el)).show());
});
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show()));
/**
* ------------------------------------------------------------------------
* jQuery
@ -3337,7 +3367,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/sanitizer.js
* Bootstrap (v5.0.2): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3432,7 +3462,7 @@
const elName = el.nodeName.toLowerCase();
if (!allowlistKeys.includes(elName)) {
el.parentNode.removeChild(el);
el.remove();
continue;
}
@ -3450,7 +3480,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tooltip.js
* Bootstrap (v5.0.2): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3619,8 +3649,8 @@
clearTimeout(this._timeout);
EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
if (this.tip && this.tip.parentNode) {
this.tip.parentNode.removeChild(this.tip);
if (this.tip) {
this.tip.remove();
}
if (this._popper) {
@ -3725,8 +3755,8 @@
return;
}
if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
if (this._hoverState !== HOVER_STATE_SHOW) {
tip.remove();
}
this._cleanTipClass();
@ -4113,17 +4143,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$4);
const _config = typeof config === 'object' && config;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Tooltip(this, _config);
}
const data = Tooltip.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4148,7 +4168,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): popover.js
* Bootstrap (v5.0.2): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4218,6 +4238,24 @@
return this.getTitle() || this._getContent();
}
getTipElement() {
if (this.tip) {
return this.tip;
}
this.tip = super.getTipElement();
if (!this.getTitle()) {
SelectorEngine.findOne(SELECTOR_TITLE, this.tip).remove();
}
if (!this._getContent()) {
SelectorEngine.findOne(SELECTOR_CONTENT, this.tip).remove();
}
return this.tip;
}
setContent() {
const tip = this.getTipElement(); // we use append for html objects to maintain js events
@ -4254,18 +4292,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY$3);
const _config = typeof config === 'object' ? config : null;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Popover(this, _config);
Data.set(this, DATA_KEY$3, data);
}
const data = Popover.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4290,7 +4317,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): scrollspy.js
* Bootstrap (v5.0.2): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4505,7 +4532,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = ScrollSpy.getInstance(this) || new ScrollSpy(this, typeof config === 'object' ? config : {});
const data = ScrollSpy.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -4541,7 +4568,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tab.js
* Bootstrap (v5.0.2): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4696,7 +4723,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = Data.get(this, DATA_KEY$1) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4725,7 +4752,7 @@
return;
}
const data = Data.get(this, DATA_KEY$1) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
data.show();
});
/**
@ -4739,7 +4766,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): toast.js
* Bootstrap (v5.0.2): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4939,13 +4966,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data.get(this, DATA_KEY);
const _config = typeof config === 'object' && config;
if (!data) {
data = new Toast(this, _config);
}
const data = Toast.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -4970,7 +4991,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): index.umd.js
* Bootstrap (v5.0.2): index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

35
js/dist/alert.js vendored
View File

@ -1,17 +1,16 @@
/*!
* Bootstrap alert.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap alert.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/data.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/data', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.SelectorEngine, global.Data, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, Data, EventHandler, BaseComponent) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.SelectorEngine, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, EventHandler, BaseComponent) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
@ -56,9 +55,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -85,7 +93,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): alert.js
* Bootstrap (v5.0.2): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -148,21 +156,14 @@
}
_destroyElement(element) {
if (element.parentNode) {
element.parentNode.removeChild(element);
}
element.remove();
EventHandler__default['default'].trigger(element, EVENT_CLOSED);
} // Static
static jQueryInterface(config) {
return this.each(function () {
let data = Data__default['default'].get(this, DATA_KEY);
if (!data) {
data = new Alert(this);
}
const data = Alert.getOrCreateInstance(this);
if (config === 'close') {
data[config](this);

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap base-component.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap base-component.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -70,33 +70,45 @@
return null;
};
const emulateTransitionEnd = (element, duration) => {
let called = false;
const durationPadding = 5;
const emulatedDuration = duration + durationPadding;
function listener() {
called = true;
element.removeEventListener(TRANSITION_END, listener);
}
element.addEventListener(TRANSITION_END, listener);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(element);
}
}, emulatedDuration);
};
const execute = callback => {
if (typeof callback === 'function') {
callback();
}
};
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
if (!waitForTransition) {
execute(callback);
return;
}
const durationPadding = 5;
const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
let called = false;
const handler = ({
target
}) => {
if (target !== transitionElement) {
return;
}
called = true;
transitionElement.removeEventListener(TRANSITION_END, handler);
execute(callback);
};
transitionElement.addEventListener(TRANSITION_END, handler);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(transitionElement);
}
}, emulatedDuration);
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): base-component.js
* Bootstrap (v5.0.2): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -106,7 +118,7 @@
* ------------------------------------------------------------------------
*/
const VERSION = '5.0.1';
const VERSION = '5.0.2';
class BaseComponent {
constructor(element) {
@ -129,14 +141,7 @@
}
_queueCallback(callback, element, isAnimated = true) {
if (!isAnimated) {
execute(callback);
return;
}
const transitionDuration = getTransitionDurationFromElement(element);
EventHandler__default['default'].one(element, 'transitionend', () => execute(callback));
emulateTransitionEnd(element, transitionDuration);
executeAfterTransition(callback, element, isAnimated);
}
/** Static */
@ -145,6 +150,10 @@
return Data__default['default'].get(element, this.DATA_KEY);
}
static getOrCreateInstance(element, config = {}) {
return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
}
static get VERSION() {
return VERSION;
}

File diff suppressed because one or more lines are too long

37
js/dist/button.js vendored
View File

@ -1,17 +1,16 @@
/*!
* Bootstrap button.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap button.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/data.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/data', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.SelectorEngine, global.Data, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, Data, EventHandler, BaseComponent) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.SelectorEngine, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, EventHandler, BaseComponent) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
@ -27,9 +26,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -56,7 +64,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): button.js
* Bootstrap (v5.0.2): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -94,11 +102,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data__default['default'].get(this, DATA_KEY);
if (!data) {
data = new Button(this);
}
const data = Button.getOrCreateInstance(this);
if (config === 'toggle') {
data[config]();
@ -117,12 +121,7 @@
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
event.preventDefault();
const button = event.target.closest(SELECTOR_DATA_TOGGLE);
let data = Data__default['default'].get(button, DATA_KEY);
if (!data) {
data = new Button(button);
}
const data = Button.getOrCreateInstance(button);
data.toggle();
});
/**

File diff suppressed because one or more lines are too long

121
js/dist/carousel.js vendored
View File

@ -1,18 +1,17 @@
/*!
* Bootstrap carousel.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap carousel.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/data', './dom/event-handler', './dom/manipulator', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.SelectorEngine, global.Data, global.EventHandler, global.Manipulator, global.Base));
}(this, (function (SelectorEngine, Data, EventHandler, Manipulator, BaseComponent) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/event-handler', './dom/manipulator', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.SelectorEngine, global.EventHandler, global.Manipulator, global.Base));
}(this, (function (SelectorEngine, EventHandler, Manipulator, BaseComponent) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
@ -85,17 +84,11 @@
};
const isVisible = element => {
if (!element) {
if (!isElement(element) || element.getClientRects().length === 0) {
return false;
}
if (element.style && element.parentNode && element.parentNode.style) {
const elementStyle = getComputedStyle(element);
const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
}
return false;
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const reflow = element => element.offsetHeight;
@ -112,9 +105,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -140,10 +142,37 @@
}
});
};
/**
* Return the previous/next element of a list.
*
* @param {array} list The list of elements
* @param activeElement The active element
* @param shouldGetNext Choose to get next or previous element
* @param isCycleAllowed
* @return {Element|elem} The proper element
*/
const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed
if (index === -1) {
return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];
}
const listLength = list.length;
index += shouldGetNext ? 1 : -1;
if (isCycleAllowed) {
index = (index + listLength) % listLength;
}
return list[Math.max(0, Math.min(index, listLength - 1))];
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): carousel.js
* Bootstrap (v5.0.2): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -182,6 +211,10 @@
const ORDER_PREV = 'prev';
const DIRECTION_LEFT = 'left';
const DIRECTION_RIGHT = 'right';
const KEY_TO_DIRECTION = {
[ARROW_LEFT_KEY]: DIRECTION_RIGHT,
[ARROW_RIGHT_KEY]: DIRECTION_LEFT
};
const EVENT_SLIDE = `slide${EVENT_KEY}`;
const EVENT_SLID = `slid${EVENT_KEY}`;
const EVENT_KEYDOWN = `keydown${EVENT_KEY}`;
@ -250,9 +283,7 @@
next() {
if (!this._isSliding) {
this._slide(ORDER_NEXT);
}
this._slide(ORDER_NEXT);
}
nextWhenVisible() {
@ -264,9 +295,7 @@
}
prev() {
if (!this._isSliding) {
this._slide(ORDER_PREV);
}
this._slide(ORDER_PREV);
}
pause(event) {
@ -328,7 +357,8 @@
_getConfig(config) {
config = { ...Default,
...config
...Manipulator__default['default'].getDataAttributes(this._element),
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME, config, DefaultType);
return config;
@ -426,14 +456,12 @@
return;
}
if (event.key === ARROW_LEFT_KEY) {
const direction = KEY_TO_DIRECTION[event.key];
if (direction) {
event.preventDefault();
this._slide(DIRECTION_RIGHT);
} else if (event.key === ARROW_RIGHT_KEY) {
event.preventDefault();
this._slide(DIRECTION_LEFT);
this._slide(direction);
}
}
@ -444,20 +472,7 @@
_getItemByOrder(order, activeElement) {
const isNext = order === ORDER_NEXT;
const isPrev = order === ORDER_PREV;
const activeIndex = this._getItemIndex(activeElement);
const lastItemIndex = this._items.length - 1;
const isGoingToWrap = isPrev && activeIndex === 0 || isNext && activeIndex === lastItemIndex;
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
const delta = isPrev ? -1 : 1;
const itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);
}
_triggerSlideEvent(relatedTarget, eventDirectionName) {
@ -530,6 +545,10 @@
return;
}
if (this._isSliding) {
return;
}
const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.defaultPrevented) {
@ -613,10 +632,10 @@
static carouselInterface(element, config) {
let data = Data__default['default'].get(element, DATA_KEY);
let _config = { ...Default,
...Manipulator__default['default'].getDataAttributes(element)
};
const data = Carousel.getOrCreateInstance(element, config);
let {
_config
} = data;
if (typeof config === 'object') {
_config = { ..._config,
@ -626,10 +645,6 @@
const action = typeof config === 'string' ? config : _config.slide;
if (!data) {
data = new Carousel(element, _config);
}
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
@ -669,7 +684,7 @@
Carousel.carouselInterface(target, config);
if (slideIndex) {
Data__default['default'].get(target, DATA_KEY).to(slideIndex);
Carousel.getInstance(target).to(slideIndex);
}
event.preventDefault();
@ -688,7 +703,7 @@
const carousels = SelectorEngine__default['default'].find(SELECTOR_DATA_RIDE);
for (let i = 0, len = carousels.length; i < len; i++) {
Carousel.carouselInterface(carousels[i], Data__default['default'].get(carousels[i], DATA_KEY));
Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));
}
});
/**

File diff suppressed because one or more lines are too long

21
js/dist/collapse.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Bootstrap collapse.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap collapse.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -115,9 +115,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -144,7 +153,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): collapse.js
* Bootstrap (v5.0.2): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -260,7 +269,7 @@
if (actives) {
const tempActiveData = actives.find(elem => container !== elem);
activesData = tempActiveData ? Data__default['default'].get(tempActiveData, DATA_KEY) : null;
activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
if (activesData && activesData._isTransitioning) {
return;
@ -423,7 +432,7 @@
static collapseInterface(element, config) {
let data = Data__default['default'].get(element, DATA_KEY);
let data = Collapse.getInstance(element);
const _config = { ...Default,
...Manipulator__default['default'].getDataAttributes(element),
...(typeof config === 'object' && config ? config : {})
@ -470,7 +479,7 @@
const selector = getSelectorFromElement(this);
const selectorElements = SelectorEngine__default['default'].find(selector);
selectorElements.forEach(element => {
const data = Data__default['default'].get(element, DATA_KEY);
const data = Collapse.getInstance(element);
let config;
if (data) {

File diff suppressed because one or more lines are too long

4
js/dist/dom/data.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Bootstrap data.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap data.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/data.js
* Bootstrap (v5.0.2): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1 +1 @@
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB;AAEA,aAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,QAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB;EACD;;EAED,UAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,QAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,+EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,EAA+B,CAA/B,CAAkC,GAA/H;EACA;EACD;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB;EACD,GAjBY;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,QAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;EAC3B,aAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,KAAoC,IAA3C;EACD;;EAED,WAAO,IAAP;EACD,GAzBY;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,QAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B;EACD;;EAED,UAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,QAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;EAC1BT,MAAAA,UAAU,CAACgB,MAAX,CAAkBb,OAAlB;EACD;EACF;;EAxCY,CAAf;;;;;;;;"}
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB;AAEA,aAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,QAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB;EACD;;EAED,UAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,QAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,+EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,EAA+B,CAA/B,CAAkC,GAA/H;EACA;EACD;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB;EACD,GAjBY;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,QAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;EAC3B,aAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,KAAoC,IAA3C;EACD;;EAED,WAAO,IAAP;EACD,GAzBY;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,QAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B;EACD;;EAED,UAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,QAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;EAC1BT,MAAAA,UAAU,CAACgB,MAAX,CAAkBb,OAAlB;EACD;EACF;;EAxCY,CAAf;;;;;;;;"}

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap event-handler.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap event-handler.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -23,7 +23,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/event-handler.js
* Bootstrap (v5.0.2): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap manipulator.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap manipulator.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/manipulator.js
* Bootstrap (v5.0.2): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1 +1 @@
{"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","val","Number","toString","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","value","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","Object","keys","dataset","filter","startsWith","forEach","pureKey","charAt","slice","length","getDataAttribute","getAttribute","offset","rect","getBoundingClientRect","top","document","body","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAEA,SAASA,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,MAAIA,GAAG,KAAK,MAAZ,EAAoB;EAClB,WAAO,IAAP;EACD;;EAED,MAAIA,GAAG,KAAK,OAAZ,EAAqB;EACnB,WAAO,KAAP;EACD;;EAED,MAAIA,GAAG,KAAKC,MAAM,CAACD,GAAD,CAAN,CAAYE,QAAZ,EAAZ,EAAoC;EAClC,WAAOD,MAAM,CAACD,GAAD,CAAb;EACD;;EAED,MAAIA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;EAChC,WAAO,IAAP;EACD;;EAED,SAAOA,GAAP;EACD;;EAED,SAASG,gBAAT,CAA0BC,GAA1B,EAA+B;EAC7B,SAAOA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsBC,GAAG,IAAK,IAAGA,GAAG,CAACC,WAAJ,EAAkB,EAAnD,CAAP;EACD;;QAEKC,WAAW,GAAG;EAClBC,EAAAA,gBAAgB,CAACC,OAAD,EAAUN,GAAV,EAAeO,KAAf,EAAsB;EACpCD,IAAAA,OAAO,CAACE,YAAR,CAAsB,WAAUT,gBAAgB,CAACC,GAAD,CAAM,EAAtD,EAAyDO,KAAzD;EACD,GAHiB;;EAKlBE,EAAAA,mBAAmB,CAACH,OAAD,EAAUN,GAAV,EAAe;EAChCM,IAAAA,OAAO,CAACI,eAAR,CAAyB,WAAUX,gBAAgB,CAACC,GAAD,CAAM,EAAzD;EACD,GAPiB;;EASlBW,EAAAA,iBAAiB,CAACL,OAAD,EAAU;EACzB,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,EAAP;EACD;;EAED,UAAMM,UAAU,GAAG,EAAnB;EAEAC,IAAAA,MAAM,CAACC,IAAP,CAAYR,OAAO,CAACS,OAApB,EACGC,MADH,CACUhB,GAAG,IAAIA,GAAG,CAACiB,UAAJ,CAAe,IAAf,CADjB,EAEGC,OAFH,CAEWlB,GAAG,IAAI;EACd,UAAImB,OAAO,GAAGnB,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAd;EACAkB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,CAAf,EAAkBjB,WAAlB,KAAkCgB,OAAO,CAACE,KAAR,CAAc,CAAd,EAAiBF,OAAO,CAACG,MAAzB,CAA5C;EACAV,MAAAA,UAAU,CAACO,OAAD,CAAV,GAAsBxB,aAAa,CAACW,OAAO,CAACS,OAAR,CAAgBf,GAAhB,CAAD,CAAnC;EACD,KANH;EAQA,WAAOY,UAAP;EACD,GAzBiB;;EA2BlBW,EAAAA,gBAAgB,CAACjB,OAAD,EAAUN,GAAV,EAAe;EAC7B,WAAOL,aAAa,CAACW,OAAO,CAACkB,YAAR,CAAsB,WAAUzB,gBAAgB,CAACC,GAAD,CAAM,EAAtD,CAAD,CAApB;EACD,GA7BiB;;EA+BlByB,EAAAA,MAAM,CAACnB,OAAD,EAAU;EACd,UAAMoB,IAAI,GAAGpB,OAAO,CAACqB,qBAAR,EAAb;EAEA,WAAO;EACLC,MAAAA,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAWC,QAAQ,CAACC,IAAT,CAAcC,SADzB;EAELC,MAAAA,IAAI,EAAEN,IAAI,CAACM,IAAL,GAAYH,QAAQ,CAACC,IAAT,CAAcG;EAF3B,KAAP;EAID,GAtCiB;;EAwClBC,EAAAA,QAAQ,CAAC5B,OAAD,EAAU;EAChB,WAAO;EACLsB,MAAAA,GAAG,EAAEtB,OAAO,CAAC6B,SADR;EAELH,MAAAA,IAAI,EAAE1B,OAAO,CAAC8B;EAFT,KAAP;EAID;;EA7CiB;;;;;;;;"}
{"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","val","Number","toString","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","value","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","Object","keys","dataset","filter","startsWith","forEach","pureKey","charAt","slice","length","getDataAttribute","getAttribute","offset","rect","getBoundingClientRect","top","document","body","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAEA,SAASA,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,MAAIA,GAAG,KAAK,MAAZ,EAAoB;EAClB,WAAO,IAAP;EACD;;EAED,MAAIA,GAAG,KAAK,OAAZ,EAAqB;EACnB,WAAO,KAAP;EACD;;EAED,MAAIA,GAAG,KAAKC,MAAM,CAACD,GAAD,CAAN,CAAYE,QAAZ,EAAZ,EAAoC;EAClC,WAAOD,MAAM,CAACD,GAAD,CAAb;EACD;;EAED,MAAIA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;EAChC,WAAO,IAAP;EACD;;EAED,SAAOA,GAAP;EACD;;EAED,SAASG,gBAAT,CAA0BC,GAA1B,EAA+B;EAC7B,SAAOA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsBC,GAAG,IAAK,IAAGA,GAAG,CAACC,WAAJ,EAAkB,EAAnD,CAAP;EACD;;QAEKC,WAAW,GAAG;EAClBC,EAAAA,gBAAgB,CAACC,OAAD,EAAUN,GAAV,EAAeO,KAAf,EAAsB;EACpCD,IAAAA,OAAO,CAACE,YAAR,CAAsB,WAAUT,gBAAgB,CAACC,GAAD,CAAM,EAAtD,EAAyDO,KAAzD;EACD,GAHiB;;EAKlBE,EAAAA,mBAAmB,CAACH,OAAD,EAAUN,GAAV,EAAe;EAChCM,IAAAA,OAAO,CAACI,eAAR,CAAyB,WAAUX,gBAAgB,CAACC,GAAD,CAAM,EAAzD;EACD,GAPiB;;EASlBW,EAAAA,iBAAiB,CAACL,OAAD,EAAU;EACzB,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,EAAP;EACD;;EAED,UAAMM,UAAU,GAAG,EAAnB;EAEAC,IAAAA,MAAM,CAACC,IAAP,CAAYR,OAAO,CAACS,OAApB,EACGC,MADH,CACUhB,GAAG,IAAIA,GAAG,CAACiB,UAAJ,CAAe,IAAf,CADjB,EAEGC,OAFH,CAEWlB,GAAG,IAAI;EACd,UAAImB,OAAO,GAAGnB,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAd;EACAkB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,CAAf,EAAkBjB,WAAlB,KAAkCgB,OAAO,CAACE,KAAR,CAAc,CAAd,EAAiBF,OAAO,CAACG,MAAzB,CAA5C;EACAV,MAAAA,UAAU,CAACO,OAAD,CAAV,GAAsBxB,aAAa,CAACW,OAAO,CAACS,OAAR,CAAgBf,GAAhB,CAAD,CAAnC;EACD,KANH;EAQA,WAAOY,UAAP;EACD,GAzBiB;;EA2BlBW,EAAAA,gBAAgB,CAACjB,OAAD,EAAUN,GAAV,EAAe;EAC7B,WAAOL,aAAa,CAACW,OAAO,CAACkB,YAAR,CAAsB,WAAUzB,gBAAgB,CAACC,GAAD,CAAM,EAAtD,CAAD,CAApB;EACD,GA7BiB;;EA+BlByB,EAAAA,MAAM,CAACnB,OAAD,EAAU;EACd,UAAMoB,IAAI,GAAGpB,OAAO,CAACqB,qBAAR,EAAb;EAEA,WAAO;EACLC,MAAAA,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAWC,QAAQ,CAACC,IAAT,CAAcC,SADzB;EAELC,MAAAA,IAAI,EAAEN,IAAI,CAACM,IAAL,GAAYH,QAAQ,CAACC,IAAT,CAAcG;EAF3B,KAAP;EAID,GAtCiB;;EAwClBC,EAAAA,QAAQ,CAAC5B,OAAD,EAAU;EAChB,WAAO;EACLsB,MAAAA,GAAG,EAAEtB,OAAO,CAAC6B,SADR;EAELH,MAAAA,IAAI,EAAE1B,OAAO,CAAC8B;EAFT,KAAP;EAID;;EA7CiB;;;;;;;;"}

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap selector-engine.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap selector-engine.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/selector-engine.js
* Bootstrap (v5.0.2): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1 +1 @@
{"version":3,"file":"selector-engine.js","sources":["../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n"],"names":["NODE_TEXT","SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,MAAMA,SAAS,GAAG,CAAlB;QAEMC,cAAc,GAAG;EACrBC,EAAAA,IAAI,CAACC,QAAD,EAAWC,OAAO,GAAGC,QAAQ,CAACC,eAA9B,EAA+C;EACjD,WAAO,GAAGC,MAAH,CAAU,GAAGC,OAAO,CAACC,SAAR,CAAkBC,gBAAlB,CAAmCC,IAAnC,CAAwCP,OAAxC,EAAiDD,QAAjD,CAAb,CAAP;EACD,GAHoB;;EAKrBS,EAAAA,OAAO,CAACT,QAAD,EAAWC,OAAO,GAAGC,QAAQ,CAACC,eAA9B,EAA+C;EACpD,WAAOE,OAAO,CAACC,SAAR,CAAkBI,aAAlB,CAAgCF,IAAhC,CAAqCP,OAArC,EAA8CD,QAA9C,CAAP;EACD,GAPoB;;EASrBW,EAAAA,QAAQ,CAACV,OAAD,EAAUD,QAAV,EAAoB;EAC1B,WAAO,GAAGI,MAAH,CAAU,GAAGH,OAAO,CAACU,QAArB,EACJC,MADI,CACGC,KAAK,IAAIA,KAAK,CAACC,OAAN,CAAcd,QAAd,CADZ,CAAP;EAED,GAZoB;;EAcrBe,EAAAA,OAAO,CAACd,OAAD,EAAUD,QAAV,EAAoB;EACzB,UAAMe,OAAO,GAAG,EAAhB;EAEA,QAAIC,QAAQ,GAAGf,OAAO,CAACgB,UAAvB;;EAEA,WAAOD,QAAQ,IAAIA,QAAQ,CAACE,QAAT,KAAsBC,IAAI,CAACC,YAAvC,IAAuDJ,QAAQ,CAACE,QAAT,KAAsBrB,SAApF,EAA+F;EAC7F,UAAImB,QAAQ,CAACF,OAAT,CAAiBd,QAAjB,CAAJ,EAAgC;EAC9Be,QAAAA,OAAO,CAACM,IAAR,CAAaL,QAAb;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,UAApB;EACD;;EAED,WAAOF,OAAP;EACD,GA5BoB;;EA8BrBO,EAAAA,IAAI,CAACrB,OAAD,EAAUD,QAAV,EAAoB;EACtB,QAAIuB,QAAQ,GAAGtB,OAAO,CAACuB,sBAAvB;;EAEA,WAAOD,QAAP,EAAiB;EACf,UAAIA,QAAQ,CAACT,OAAT,CAAiBd,QAAjB,CAAJ,EAAgC;EAC9B,eAAO,CAACuB,QAAD,CAAP;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,sBAApB;EACD;;EAED,WAAO,EAAP;EACD,GA1CoB;;EA4CrBC,EAAAA,IAAI,CAACxB,OAAD,EAAUD,QAAV,EAAoB;EACtB,QAAIyB,IAAI,GAAGxB,OAAO,CAACyB,kBAAnB;;EAEA,WAAOD,IAAP,EAAa;EACX,UAAIA,IAAI,CAACX,OAAL,CAAad,QAAb,CAAJ,EAA4B;EAC1B,eAAO,CAACyB,IAAD,CAAP;EACD;;EAEDA,MAAAA,IAAI,GAAGA,IAAI,CAACC,kBAAZ;EACD;;EAED,WAAO,EAAP;EACD;;EAxDoB;;;;;;;;"}
{"version":3,"file":"selector-engine.js","sources":["../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n"],"names":["NODE_TEXT","SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,MAAMA,SAAS,GAAG,CAAlB;QAEMC,cAAc,GAAG;EACrBC,EAAAA,IAAI,CAACC,QAAD,EAAWC,OAAO,GAAGC,QAAQ,CAACC,eAA9B,EAA+C;EACjD,WAAO,GAAGC,MAAH,CAAU,GAAGC,OAAO,CAACC,SAAR,CAAkBC,gBAAlB,CAAmCC,IAAnC,CAAwCP,OAAxC,EAAiDD,QAAjD,CAAb,CAAP;EACD,GAHoB;;EAKrBS,EAAAA,OAAO,CAACT,QAAD,EAAWC,OAAO,GAAGC,QAAQ,CAACC,eAA9B,EAA+C;EACpD,WAAOE,OAAO,CAACC,SAAR,CAAkBI,aAAlB,CAAgCF,IAAhC,CAAqCP,OAArC,EAA8CD,QAA9C,CAAP;EACD,GAPoB;;EASrBW,EAAAA,QAAQ,CAACV,OAAD,EAAUD,QAAV,EAAoB;EAC1B,WAAO,GAAGI,MAAH,CAAU,GAAGH,OAAO,CAACU,QAArB,EACJC,MADI,CACGC,KAAK,IAAIA,KAAK,CAACC,OAAN,CAAcd,QAAd,CADZ,CAAP;EAED,GAZoB;;EAcrBe,EAAAA,OAAO,CAACd,OAAD,EAAUD,QAAV,EAAoB;EACzB,UAAMe,OAAO,GAAG,EAAhB;EAEA,QAAIC,QAAQ,GAAGf,OAAO,CAACgB,UAAvB;;EAEA,WAAOD,QAAQ,IAAIA,QAAQ,CAACE,QAAT,KAAsBC,IAAI,CAACC,YAAvC,IAAuDJ,QAAQ,CAACE,QAAT,KAAsBrB,SAApF,EAA+F;EAC7F,UAAImB,QAAQ,CAACF,OAAT,CAAiBd,QAAjB,CAAJ,EAAgC;EAC9Be,QAAAA,OAAO,CAACM,IAAR,CAAaL,QAAb;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,UAApB;EACD;;EAED,WAAOF,OAAP;EACD,GA5BoB;;EA8BrBO,EAAAA,IAAI,CAACrB,OAAD,EAAUD,QAAV,EAAoB;EACtB,QAAIuB,QAAQ,GAAGtB,OAAO,CAACuB,sBAAvB;;EAEA,WAAOD,QAAP,EAAiB;EACf,UAAIA,QAAQ,CAACT,OAAT,CAAiBd,QAAjB,CAAJ,EAAgC;EAC9B,eAAO,CAACuB,QAAD,CAAP;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,sBAApB;EACD;;EAED,WAAO,EAAP;EACD,GA1CoB;;EA4CrBC,EAAAA,IAAI,CAACxB,OAAD,EAAUD,QAAV,EAAoB;EACtB,QAAIyB,IAAI,GAAGxB,OAAO,CAACyB,kBAAnB;;EAEA,WAAOD,IAAP,EAAa;EACX,UAAIA,IAAI,CAACX,OAAL,CAAad,QAAb,CAAJ,EAA4B;EAC1B,eAAO,CAACyB,IAAD,CAAP;EACD;;EAEDA,MAAAA,IAAI,GAAGA,IAAI,CAACC,kBAAZ;EACD;;EAED,WAAO,EAAP;EACD;;EAxDoB;;;;;;;;"}

105
js/dist/dropdown.js vendored
View File

@ -1,13 +1,13 @@
/*!
* Bootstrap dropdown.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap dropdown.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core'), require('./dom/selector-engine.js'), require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['@popperjs/core', './dom/selector-engine', './dom/data', './dom/event-handler', './dom/manipulator', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.Popper, global.SelectorEngine, global.Data, global.EventHandler, global.Manipulator, global.Base));
}(this, (function (Popper, SelectorEngine, Data, EventHandler, Manipulator, BaseComponent) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core'), require('./dom/selector-engine.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['@popperjs/core', './dom/selector-engine', './dom/event-handler', './dom/manipulator', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.Popper, global.SelectorEngine, global.EventHandler, global.Manipulator, global.Base));
}(this, (function (Popper, SelectorEngine, EventHandler, Manipulator, BaseComponent) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@ -33,7 +33,6 @@
var Popper__namespace = /*#__PURE__*/_interopNamespace(Popper);
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
@ -113,17 +112,11 @@
};
const isVisible = element => {
if (!element) {
if (!isElement(element) || element.getClientRects().length === 0) {
return false;
}
if (element.style && element.parentNode && element.parentNode.style) {
const elementStyle = getComputedStyle(element);
const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
}
return false;
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const isDisabled = element => {
@ -156,9 +149,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -184,10 +186,37 @@
}
});
};
/**
* Return the previous/next element of a list.
*
* @param {array} list The list of elements
* @param activeElement The active element
* @param shouldGetNext Choose to get next or previous element
* @param isCycleAllowed
* @return {Element|elem} The proper element
*/
const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed
if (index === -1) {
return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];
}
const listLength = list.length;
index += shouldGetNext ? 1 : -1;
if (isCycleAllowed) {
index = (index + listLength) % listLength;
}
return list[Math.max(0, Math.min(index, listLength - 1))];
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dropdown.js
* Bootstrap (v5.0.2): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -507,38 +536,24 @@
};
}
_selectMenuItem(event) {
_selectMenuItem({
key,
target
}) {
const items = SelectorEngine__default['default'].find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
if (!items.length) {
return;
}
let index = items.indexOf(event.target); // Up
if (event.key === ARROW_UP_KEY && index > 0) {
index--;
} // Down
} // if target isn't included in items (e.g. when expanding the dropdown)
// allow cycling to get the last item in case key equals ARROW_UP_KEY
if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
index++;
} // index is -1 if the first keydown is an ArrowUp
index = index === -1 ? 0 : index;
items[index].focus();
getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();
} // Static
static dropdownInterface(element, config) {
let data = Data__default['default'].get(element, DATA_KEY);
const _config = typeof config === 'object' ? config : null;
if (!data) {
data = new Dropdown(element, _config);
}
const data = Dropdown.getOrCreateInstance(element, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -563,7 +578,7 @@
const toggles = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
for (let i = 0, len = toggles.length; i < len; i++) {
const context = Data__default['default'].get(toggles[i], DATA_KEY);
const context = Dropdown.getInstance(toggles[i]);
if (!context || context._config.autoClose === false) {
continue;
@ -636,17 +651,19 @@
return;
}
if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
getToggleButton().click();
if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {
if (!isActive) {
getToggleButton().click();
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
return;
}
if (!isActive || event.key === SPACE_KEY) {
Dropdown.clearMenus();
return;
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
}
}

File diff suppressed because one or more lines are too long

309
js/dist/modal.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Bootstrap modal.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap modal.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -95,22 +95,17 @@
return typeof obj.nodeType !== 'undefined';
};
const emulateTransitionEnd = (element, duration) => {
let called = false;
const durationPadding = 5;
const emulatedDuration = duration + durationPadding;
function listener() {
called = true;
element.removeEventListener(TRANSITION_END, listener);
const getElement = obj => {
if (isElement(obj)) {
// it's a jQuery object or a node element
return obj.jquery ? obj[0] : obj;
}
element.addEventListener(TRANSITION_END, listener);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(element);
}
}, emulatedDuration);
if (typeof obj === 'string' && obj.length > 0) {
return SelectorEngine__default['default'].findOne(obj);
}
return null;
};
const typeCheckConfig = (componentName, config, configTypes) => {
@ -126,17 +121,11 @@
};
const isVisible = element => {
if (!element) {
if (!isElement(element) || element.getClientRects().length === 0) {
return false;
}
if (element.style && element.parentNode && element.parentNode.style) {
const elementStyle = getComputedStyle(element);
const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
}
return false;
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const reflow = element => element.offsetHeight;
@ -153,9 +142,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -188,83 +186,143 @@
}
};
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
if (!waitForTransition) {
execute(callback);
return;
}
const durationPadding = 5;
const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
let called = false;
const handler = ({
target
}) => {
if (target !== transitionElement) {
return;
}
called = true;
transitionElement.removeEventListener(TRANSITION_END, handler);
execute(callback);
};
transitionElement.addEventListener(TRANSITION_END, handler);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(transitionElement);
}
}, emulatedDuration);
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/scrollBar.js
* Bootstrap (v5.0.2): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const getWidth = () => {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
};
const hide = (width = getWidth()) => {
_disableOverFlow(); // give padding to element to balances the hidden scrollbar width
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
};
const _disableOverFlow = () => {
const actualValue = document.body.style.overflow;
if (actualValue) {
Manipulator__default['default'].setDataAttribute(document.body, 'overflow', actualValue);
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
document.body.style.overflow = 'hidden';
};
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
const _setElementAttributes = (selector, styleProp, callback) => {
const scrollbarWidth = getWidth();
SelectorEngine__default['default'].find(selector).forEach(element => {
if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
hide() {
const width = this.getWidth();
this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
}
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProp, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProp);
const calculatedValue = window.getComputedStyle(element)[styleProp];
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, 'paddingRight');
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
}
_saveInitialAttribute(element, styleProp) {
const actualValue = element.style[styleProp];
const calculatedValue = window.getComputedStyle(element)[styleProp];
Manipulator__default['default'].setDataAttribute(element, styleProp, actualValue);
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
});
};
const reset = () => {
_resetElementAttributes('body', 'overflow');
_resetElementAttributes('body', 'paddingRight');
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
};
const _resetElementAttributes = (selector, styleProp) => {
SelectorEngine__default['default'].find(selector).forEach(element => {
const value = Manipulator__default['default'].getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator__default['default'].removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
if (actualValue) {
Manipulator__default['default'].setDataAttribute(element, styleProp, actualValue);
}
});
};
}
_resetElementAttributes(selector, styleProp) {
const manipulationCallBack = element => {
const value = Manipulator__default['default'].getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator__default['default'].removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
}
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
} else {
SelectorEngine__default['default'].find(selector, this._element).forEach(callBack);
}
}
isOverflowing() {
return this.getWidth() > 0;
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/backdrop.js
* Bootstrap (v5.0.2): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -272,14 +330,14 @@
isVisible: true,
// if false, we use the backdrop helper without adding any element to the dom
isAnimated: false,
rootElement: document.body,
rootElement: 'body',
// give the choice to place backdrop under different elements
clickCallback: null
};
const DefaultType$1 = {
isVisible: 'boolean',
isAnimated: 'boolean',
rootElement: 'element',
rootElement: '(element|string)',
clickCallback: '(function|null)'
};
const NAME$1 = 'backdrop';
@ -347,8 +405,9 @@
_getConfig(config) {
config = { ...Default$1,
...(typeof config === 'object' ? config : {})
};
config.rootElement = config.rootElement || document.body;
}; // use getElement() with the default "body" to get a fresh Element on each instantiation
config.rootElement = getElement(config.rootElement);
typeCheckConfig(NAME$1, config, DefaultType$1);
return config;
}
@ -373,27 +432,20 @@
EventHandler__default['default'].off(this._element, EVENT_MOUSEDOWN);
this._getElement().parentNode.removeChild(this._element);
this._element.remove();
this._isAppended = false;
}
_emulateAnimation(callback) {
if (!this._config.isAnimated) {
execute(callback);
return;
}
const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
EventHandler__default['default'].one(this._getElement(), 'transitionend', () => execute(callback));
emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): modal.js
* Bootstrap (v5.0.2): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -453,6 +505,7 @@
this._isShown = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._scrollBar = new ScrollBarHelper();
} // Getters
@ -474,20 +527,22 @@
return;
}
if (this._isAnimated()) {
this._isTransitioning = true;
}
const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, {
relatedTarget
});
if (this._isShown || showEvent.defaultPrevented) {
if (showEvent.defaultPrevented) {
return;
}
this._isShown = true;
hide();
if (this._isAnimated()) {
this._isTransitioning = true;
}
this._scrollBar.hide();
document.body.classList.add(CLASS_NAME_OPEN);
this._adjustDialog();
@ -509,7 +564,7 @@
}
hide(event) {
if (event) {
if (event && ['A', 'AREA'].includes(event.target.tagName)) {
event.preventDefault();
}
@ -576,7 +631,7 @@
_getConfig(config) {
config = { ...Default,
...Manipulator__default['default'].getDataAttributes(this._element),
...config
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME, config, DefaultType);
return config;
@ -679,7 +734,8 @@
this._resetAdjustments();
reset();
this._scrollBar.reset();
EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
});
}
@ -716,27 +772,32 @@
return;
}
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const {
classList,
scrollHeight,
style
} = this._element;
const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed
if (!isModalOverflowing) {
this._element.style.overflowY = 'hidden';
if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) {
return;
}
this._element.classList.add(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
style.overflowY = 'hidden';
}
const modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
EventHandler__default['default'].off(this._element, 'transitionend');
EventHandler__default['default'].one(this._element, 'transitionend', () => {
this._element.classList.remove(CLASS_NAME_STATIC);
classList.add(CLASS_NAME_STATIC);
this._queueCallback(() => {
classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
EventHandler__default['default'].one(this._element, 'transitionend', () => {
this._element.style.overflowY = '';
});
emulateTransitionEnd(this._element, modalTransitionDuration);
this._queueCallback(() => {
style.overflowY = '';
}, this._dialog);
}
});
emulateTransitionEnd(this._element, modalTransitionDuration);
}, this._dialog);
this._element.focus();
} // ----------------------------------------------------------------------
@ -746,7 +807,9 @@
_adjustDialog() {
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
const scrollbarWidth = getWidth();
const scrollbarWidth = this._scrollBar.getWidth();
const isBodyOverflowing = scrollbarWidth > 0;
if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) {
@ -766,7 +829,7 @@
static jQueryInterface(config, relatedTarget) {
return this.each(function () {
const data = Modal.getInstance(this) || new Modal(this, typeof config === 'object' ? config : {});
const data = Modal.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -807,7 +870,7 @@
}
});
});
const data = Modal.getInstance(target) || new Modal(target);
const data = Modal.getOrCreateInstance(target);
data.toggle(this);
});
/**

File diff suppressed because one or more lines are too long

267
js/dist/offcanvas.js vendored
View File

@ -1,19 +1,18 @@
/*!
* Bootstrap offcanvas.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap offcanvas.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/manipulator.js'), require('./dom/data.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/manipulator', './dom/data', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.SelectorEngine, global.Manipulator, global.Data, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, Manipulator, Data, EventHandler, BaseComponent) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/manipulator.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/manipulator', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.SelectorEngine, global.Manipulator, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, Manipulator, EventHandler, BaseComponent) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
@ -96,22 +95,17 @@
return typeof obj.nodeType !== 'undefined';
};
const emulateTransitionEnd = (element, duration) => {
let called = false;
const durationPadding = 5;
const emulatedDuration = duration + durationPadding;
function listener() {
called = true;
element.removeEventListener(TRANSITION_END, listener);
const getElement = obj => {
if (isElement(obj)) {
// it's a jQuery object or a node element
return obj.jquery ? obj[0] : obj;
}
element.addEventListener(TRANSITION_END, listener);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(element);
}
}, emulatedDuration);
if (typeof obj === 'string' && obj.length > 0) {
return SelectorEngine__default['default'].findOne(obj);
}
return null;
};
const typeCheckConfig = (componentName, config, configTypes) => {
@ -127,17 +121,11 @@
};
const isVisible = element => {
if (!element) {
if (!isElement(element) || element.getClientRects().length === 0) {
return false;
}
if (element.style && element.parentNode && element.parentNode.style) {
const elementStyle = getComputedStyle(element);
const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
}
return false;
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const isDisabled = element => {
@ -170,9 +158,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -203,83 +200,143 @@
}
};
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
if (!waitForTransition) {
execute(callback);
return;
}
const durationPadding = 5;
const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
let called = false;
const handler = ({
target
}) => {
if (target !== transitionElement) {
return;
}
called = true;
transitionElement.removeEventListener(TRANSITION_END, handler);
execute(callback);
};
transitionElement.addEventListener(TRANSITION_END, handler);
setTimeout(() => {
if (!called) {
triggerTransitionEnd(transitionElement);
}
}, emulatedDuration);
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/scrollBar.js
* Bootstrap (v5.0.2): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const getWidth = () => {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
};
const hide = (width = getWidth()) => {
_disableOverFlow(); // give padding to element to balances the hidden scrollbar width
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
};
const _disableOverFlow = () => {
const actualValue = document.body.style.overflow;
if (actualValue) {
Manipulator__default['default'].setDataAttribute(document.body, 'overflow', actualValue);
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
document.body.style.overflow = 'hidden';
};
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
const _setElementAttributes = (selector, styleProp, callback) => {
const scrollbarWidth = getWidth();
SelectorEngine__default['default'].find(selector).forEach(element => {
if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
hide() {
const width = this.getWidth();
this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
}
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProp, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProp);
const calculatedValue = window.getComputedStyle(element)[styleProp];
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, 'paddingRight');
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
}
_saveInitialAttribute(element, styleProp) {
const actualValue = element.style[styleProp];
const calculatedValue = window.getComputedStyle(element)[styleProp];
Manipulator__default['default'].setDataAttribute(element, styleProp, actualValue);
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
});
};
const reset = () => {
_resetElementAttributes('body', 'overflow');
_resetElementAttributes('body', 'paddingRight');
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
};
const _resetElementAttributes = (selector, styleProp) => {
SelectorEngine__default['default'].find(selector).forEach(element => {
const value = Manipulator__default['default'].getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator__default['default'].removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
if (actualValue) {
Manipulator__default['default'].setDataAttribute(element, styleProp, actualValue);
}
});
};
}
_resetElementAttributes(selector, styleProp) {
const manipulationCallBack = element => {
const value = Manipulator__default['default'].getDataAttribute(element, styleProp);
if (typeof value === 'undefined') {
element.style.removeProperty(styleProp);
} else {
Manipulator__default['default'].removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
}
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
} else {
SelectorEngine__default['default'].find(selector, this._element).forEach(callBack);
}
}
isOverflowing() {
return this.getWidth() > 0;
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/backdrop.js
* Bootstrap (v5.0.2): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -287,14 +344,14 @@
isVisible: true,
// if false, we use the backdrop helper without adding any element to the dom
isAnimated: false,
rootElement: document.body,
rootElement: 'body',
// give the choice to place backdrop under different elements
clickCallback: null
};
const DefaultType$1 = {
isVisible: 'boolean',
isAnimated: 'boolean',
rootElement: 'element',
rootElement: '(element|string)',
clickCallback: '(function|null)'
};
const NAME$1 = 'backdrop';
@ -362,8 +419,9 @@
_getConfig(config) {
config = { ...Default$1,
...(typeof config === 'object' ? config : {})
};
config.rootElement = config.rootElement || document.body;
}; // use getElement() with the default "body" to get a fresh Element on each instantiation
config.rootElement = getElement(config.rootElement);
typeCheckConfig(NAME$1, config, DefaultType$1);
return config;
}
@ -388,27 +446,20 @@
EventHandler__default['default'].off(this._element, EVENT_MOUSEDOWN);
this._getElement().parentNode.removeChild(this._element);
this._element.remove();
this._isAppended = false;
}
_emulateAnimation(callback) {
if (!this._config.isAnimated) {
execute(callback);
return;
}
const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
EventHandler__default['default'].one(this._getElement(), 'transitionend', () => execute(callback));
emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): offcanvas.js
* Bootstrap (v5.0.2): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -495,7 +546,7 @@
this._backdrop.show();
if (!this._config.scroll) {
hide();
new ScrollBarHelper().hide();
this._enforceFocusOnElement(this._element);
}
@ -548,7 +599,7 @@
this._element.style.visibility = 'hidden';
if (!this._config.scroll) {
reset();
new ScrollBarHelper().reset();
}
EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
@ -606,7 +657,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = Data__default['default'].get(this, DATA_KEY) || new Offcanvas(this, typeof config === 'object' ? config : {});
const data = Offcanvas.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;
@ -652,12 +703,10 @@
Offcanvas.getInstance(allReadyOpen).hide();
}
const data = Data__default['default'].get(target, DATA_KEY) || new Offcanvas(target);
const data = Offcanvas.getOrCreateInstance(target);
data.toggle(this);
});
EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API, () => {
SelectorEngine__default['default'].find(OPEN_SELECTOR).forEach(el => (Data__default['default'].get(el, DATA_KEY) || new Offcanvas(el)).show());
});
EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API, () => SelectorEngine__default['default'].find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show()));
/**
* ------------------------------------------------------------------------
* jQuery

File diff suppressed because one or more lines are too long

55
js/dist/popover.js vendored
View File

@ -1,18 +1,17 @@
/*!
* Bootstrap popover.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap popover.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/data.js'), require('./tooltip.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/data', './tooltip'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.SelectorEngine, global.Data, global.Tooltip));
}(this, (function (SelectorEngine, Data, Tooltip) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./tooltip.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './tooltip'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.SelectorEngine, global.Tooltip));
}(this, (function (SelectorEngine, Tooltip) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
const getjQuery = () => {
@ -27,9 +26,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -56,7 +64,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): popover.js
* Bootstrap (v5.0.2): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -126,6 +134,24 @@
return this.getTitle() || this._getContent();
}
getTipElement() {
if (this.tip) {
return this.tip;
}
this.tip = super.getTipElement();
if (!this.getTitle()) {
SelectorEngine__default['default'].findOne(SELECTOR_TITLE, this.tip).remove();
}
if (!this._getContent()) {
SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, this.tip).remove();
}
return this.tip;
}
setContent() {
const tip = this.getTipElement(); // we use append for html objects to maintain js events
@ -162,18 +188,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data__default['default'].get(this, DATA_KEY);
const _config = typeof config === 'object' ? config : null;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Popover(this, _config);
Data__default['default'].set(this, DATA_KEY, data);
}
const data = Popover.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {

File diff suppressed because one or more lines are too long

19
js/dist/scrollspy.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Bootstrap scrollspy.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap scrollspy.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -18,7 +18,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/index.js
* Bootstrap (v5.0.2): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -117,9 +117,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -146,7 +155,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): scrollspy.js
* Bootstrap (v5.0.2): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -361,7 +370,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = ScrollSpy.getInstance(this) || new ScrollSpy(this, typeof config === 'object' ? config : {});
const data = ScrollSpy.getOrCreateInstance(this, config);
if (typeof config !== 'string') {
return;

File diff suppressed because one or more lines are too long

28
js/dist/tab.js vendored
View File

@ -1,18 +1,17 @@
/*!
* Bootstrap tab.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap tab.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/data.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/data', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.SelectorEngine, global.Data, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, Data, EventHandler, BaseComponent) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/event-handler.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/event-handler', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.SelectorEngine, global.EventHandler, global.Base));
}(this, (function (SelectorEngine, EventHandler, BaseComponent) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
@ -75,9 +74,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -104,7 +112,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tab.js
* Bootstrap (v5.0.2): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -259,7 +267,7 @@
static jQueryInterface(config) {
return this.each(function () {
const data = Data__default['default'].get(this, DATA_KEY) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
@ -288,7 +296,7 @@
return;
}
const data = Data__default['default'].get(this, DATA_KEY) || new Tab(this);
const data = Tab.getOrCreateInstance(this);
data.show();
});
/**

2
js/dist/tab.js.map vendored

File diff suppressed because one or more lines are too long

32
js/dist/toast.js vendored
View File

@ -1,17 +1,16 @@
/*!
* Bootstrap toast.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap toast.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator, global.Base));
}(this, (function (Data, EventHandler, Manipulator, BaseComponent) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './base-component'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.EventHandler, global.Manipulator, global.Base));
}(this, (function (EventHandler, Manipulator, BaseComponent) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
@ -62,9 +61,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -91,7 +99,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): toast.js
* Bootstrap (v5.0.2): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -291,13 +299,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data__default['default'].get(this, DATA_KEY);
const _config = typeof config === 'object' && config;
if (!data) {
data = new Toast(this, _config);
}
const data = Toast.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {

File diff suppressed because one or more lines are too long

41
js/dist/tooltip.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Bootstrap tooltip.js v5.0.1 (https://getbootstrap.com/)
* Bootstrap tooltip.js v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@ -40,7 +40,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/index.js
* Bootstrap (v5.0.2): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -143,9 +143,18 @@
return null;
};
const DOMContentLoadedCallbacks = [];
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
// add listener on the first call when the document is in loading state
if (!DOMContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
DOMContentLoadedCallbacks.forEach(callback => callback());
});
}
DOMContentLoadedCallbacks.push(callback);
} else {
callback();
}
@ -174,7 +183,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/sanitizer.js
* Bootstrap (v5.0.2): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -269,7 +278,7 @@
const elName = el.nodeName.toLowerCase();
if (!allowlistKeys.includes(elName)) {
el.parentNode.removeChild(el);
el.remove();
continue;
}
@ -287,7 +296,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tooltip.js
* Bootstrap (v5.0.2): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -456,8 +465,8 @@
clearTimeout(this._timeout);
EventHandler__default['default'].off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
if (this.tip && this.tip.parentNode) {
this.tip.parentNode.removeChild(this.tip);
if (this.tip) {
this.tip.remove();
}
if (this._popper) {
@ -562,8 +571,8 @@
return;
}
if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
if (this._hoverState !== HOVER_STATE_SHOW) {
tip.remove();
}
this._cleanTipClass();
@ -950,17 +959,7 @@
static jQueryInterface(config) {
return this.each(function () {
let data = Data__default['default'].get(this, DATA_KEY);
const _config = typeof config === 'object' && config;
if (!data && /dispose|hide/.test(config)) {
return;
}
if (!data) {
data = new Tooltip(this, _config);
}
const data = Tooltip.getOrCreateInstance(this, config);
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): index.esm.js
* Bootstrap (v5.0.2): index.esm.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): index.umd.js
* Bootstrap (v5.0.2): index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): alert.js
* Bootstrap (v5.0.2): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): base-component.js
* Bootstrap (v5.0.2): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@ -18,7 +18,7 @@ import EventHandler from './dom/event-handler'
* ------------------------------------------------------------------------
*/
const VERSION = '5.0.1'
const VERSION = '5.0.2'
class BaseComponent {
constructor(element) {

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): button.js
* Bootstrap (v5.0.2): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): carousel.js
* Bootstrap (v5.0.2): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): collapse.js
* Bootstrap (v5.0.2): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/data.js
* Bootstrap (v5.0.2): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/event-handler.js
* Bootstrap (v5.0.2): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/manipulator.js
* Bootstrap (v5.0.2): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dom/selector-engine.js
* Bootstrap (v5.0.2): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): dropdown.js
* Bootstrap (v5.0.2): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): modal.js
* Bootstrap (v5.0.2): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): offcanvas.js
* Bootstrap (v5.0.2): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): popover.js
* Bootstrap (v5.0.2): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): scrollspy.js
* Bootstrap (v5.0.2): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tab.js
* Bootstrap (v5.0.2): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): toast.js
* Bootstrap (v5.0.2): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): tooltip.js
* Bootstrap (v5.0.2): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/

View File

@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.1): util/backdrop.js
* Bootstrap (v5.0.2): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/

Some files were not shown because too many files have changed in this diff Show More