Release v5.0.0-beta3 (#33439)

This commit is contained in:
XhmikosR 2021-03-23 18:26:54 +02:00 committed by GitHub
parent 69b9d638f8
commit 220139a89f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
110 changed files with 9395 additions and 9335 deletions

View File

@ -46,11 +46,11 @@ Our default branch is for development of our upcoming Bootstrap 5 release. Head
Several quick start options are available: Several quick start options are available:
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.0.0-beta2.zip) - [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.0.0-beta3.zip)
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git` - Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap@next` - Install with [npm](https://www.npmjs.com/): `npm install bootstrap@next`
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@next` - Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@next`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.0.0-beta2` - Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.0.0-beta3`
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass` - 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. 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_image_path: /docs/5.0/assets/brand/bootstrap-social.png
social_logo_path: /docs/5.0/assets/brand/bootstrap-social-logo.png social_logo_path: /docs/5.0/assets/brand/bootstrap-social-logo.png
current_version: "5.0.0-beta2" current_version: "5.0.0-beta3"
current_ruby_version: "5.0.0.beta2" current_ruby_version: "5.0.0.beta3"
docs_version: "5.0" docs_version: "5.0"
rfs_version: "9.0.3" rfs_version: "9.0.3"
github_org: "https://github.com/twbs" github_org: "https://github.com/twbs"
@ -61,19 +61,19 @@ params:
icons: "https://icons.getbootstrap.com/" icons: "https://icons.getbootstrap.com/"
download: download:
source: "https://github.com/twbs/bootstrap/archive/v5.0.0-beta2.zip" source: "https://github.com/twbs/bootstrap/archive/v5.0.0-beta3.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v5.0.0-beta2/bootstrap-5.0.0-beta2-dist.zip" dist: "https://github.com/twbs/bootstrap/releases/download/v5.0.0-beta3/bootstrap-5.0.0-beta3-dist.zip"
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.0.0-beta2/bootstrap-5.0.0-beta2-examples.zip" dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.0.0-beta3/bootstrap-5.0.0-beta3-examples.zip"
cdn: cdn:
# See https://www.srihash.org for info on how to generate the hashes # See https://www.srihash.org for info on how to generate the hashes
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" css: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
css_hash: "sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" css_hash: "sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.rtl.min.css" css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-4dNpRvNX0c/TdYEbYup8qbjvjaMrgUPh+g4I03CnNtANuv+VAvPL6LqdwzZKV38G" css_rtl_hash: "sha384-trxYGD5BY4TyBTvU5H23FalSCYwpLA0vWEvXXGm5eytyztxb+97WzzY+IWDOSbav"
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.min.js" js: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.min.js"
js_hash: "sha384-nsg8ua9HAw1y0W1btsyWgBklPnCUAFLuTMS2G72MMONqmOymq585AcH49TLBQObG" js_hash: "sha384-j0CNLUeiqtyaRmlzUHCPZ+Gy5fQu0dQ6eZ/xAww941Ai1SxSY+0EQqNXNE6DZiVc"
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js" js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0" js_bundle_hash: "sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js" popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js"
popper_hash: "sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG" popper_hash: "sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG"

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Grid v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Grid v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * 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 Grid v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Grid v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * 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 Grid v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Grid v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * 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 Grid v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Grid v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * 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.0-beta2 (https://getbootstrap.com/) * Bootstrap Reboot v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -29,10 +29,6 @@ body {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
} }
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr { hr {
margin: 1rem 0; margin: 1rem 0;
color: inherit; color: inherit;
@ -103,7 +99,6 @@ p {
abbr[title], abbr[title],
abbr[data-bs-original-title] { abbr[data-bs-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted; -webkit-text-decoration: underline dotted;
text-decoration: underline dotted; text-decoration: underline dotted;
cursor: help; cursor: help;
@ -309,6 +304,9 @@ select {
select { select {
word-wrap: normal; word-wrap: normal;
} }
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator { [list]::-webkit-calendar-picker-indicator {
display: none; display: none;

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,8 @@
/*! /*!
* Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Reboot v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important} */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ /*# sourceMappingURL=bootstrap-reboot.min.css.map */

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Reboot v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -29,10 +29,6 @@ body {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
} }
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr { hr {
margin: 1rem 0; margin: 1rem 0;
color: inherit; color: inherit;
@ -103,7 +99,6 @@ p {
abbr[title], abbr[title],
abbr[data-bs-original-title] { abbr[data-bs-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted; -webkit-text-decoration: underline dotted;
text-decoration: underline dotted; text-decoration: underline dotted;
cursor: help; cursor: help;
@ -309,6 +304,9 @@ select {
select { select {
word-wrap: normal; word-wrap: normal;
} }
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator { [list]::-webkit-calendar-picker-indicator {
display: none; display: none;

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,8 @@
/*! /*!
* Bootstrap Reboot v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Reboot v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important} */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */ /*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Utilities v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Utilities v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -456,10 +456,6 @@
border-color: #fff !important; border-color: #fff !important;
} }
.border-0 {
border-width: 0 !important;
}
.border-1 { .border-1 {
border-width: 1px !important; border-width: 1px !important;
} }
@ -1130,6 +1126,10 @@
padding-left: 3rem !important; padding-left: 3rem !important;
} }
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.fs-1 { .fs-1 {
font-size: calc(1.375rem + 1.5vw) !important; font-size: calc(1.375rem + 1.5vw) !important;
} }
@ -1182,16 +1182,20 @@
font-weight: bolder !important; font-weight: bolder !important;
} }
.text-lowercase { .lh-1 {
text-transform: lowercase !important; line-height: 1 !important;
} }
.text-uppercase { .lh-sm {
text-transform: uppercase !important; line-height: 1.25 !important;
} }
.text-capitalize { .lh-base {
text-transform: capitalize !important; line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
} }
.text-start { .text-start {
@ -1206,6 +1210,45 @@
text-align: center !important; text-align: center !important;
} }
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
.text-lowercase {
text-transform: lowercase !important;
}
.text-uppercase {
text-transform: uppercase !important;
}
.text-capitalize {
text-transform: capitalize !important;
}
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
.text-primary { .text-primary {
color: #0d6efd !important; color: #0d6efd !important;
} }
@ -1262,22 +1305,6 @@
color: inherit !important; color: inherit !important;
} }
.lh-1 {
line-height: 1 !important;
}
.lh-sm {
line-height: 1.25 !important;
}
.lh-base {
line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
}
.bg-primary { .bg-primary {
background-color: #0d6efd !important; background-color: #0d6efd !important;
} }
@ -1326,37 +1353,6 @@
background-image: var(--bs-gradient) !important; background-image: var(--bs-gradient) !important;
} }
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.user-select-all { .user-select-all {
-webkit-user-select: all !important; -webkit-user-select: all !important;
-moz-user-select: all !important; -moz-user-select: all !important;

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 Utilities v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap Utilities v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -456,10 +456,6 @@
border-color: #fff !important; border-color: #fff !important;
} }
.border-0 {
border-width: 0 !important;
}
.border-1 { .border-1 {
border-width: 1px !important; border-width: 1px !important;
} }
@ -1130,6 +1126,10 @@
padding-right: 3rem !important; padding-right: 3rem !important;
} }
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.fs-1 { .fs-1 {
font-size: calc(1.375rem + 1.5vw) !important; font-size: calc(1.375rem + 1.5vw) !important;
} }
@ -1182,16 +1182,20 @@
font-weight: bolder !important; font-weight: bolder !important;
} }
.text-lowercase { .lh-1 {
text-transform: lowercase !important; line-height: 1 !important;
} }
.text-uppercase { .lh-sm {
text-transform: uppercase !important; line-height: 1.25 !important;
} }
.text-capitalize { .lh-base {
text-transform: capitalize !important; line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
} }
.text-start { .text-start {
@ -1206,6 +1210,37 @@
text-align: center !important; text-align: center !important;
} }
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
.text-lowercase {
text-transform: lowercase !important;
}
.text-uppercase {
text-transform: uppercase !important;
}
.text-capitalize {
text-transform: capitalize !important;
}
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
.text-primary { .text-primary {
color: #0d6efd !important; color: #0d6efd !important;
} }
@ -1262,22 +1297,6 @@
color: inherit !important; color: inherit !important;
} }
.lh-1 {
line-height: 1 !important;
}
.lh-sm {
line-height: 1.25 !important;
}
.lh-base {
line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
}
.bg-primary { .bg-primary {
background-color: #0d6efd !important; background-color: #0d6efd !important;
} }
@ -1326,29 +1345,6 @@
background-image: var(--bs-gradient) !important; background-image: var(--bs-gradient) !important;
} }
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.user-select-all { .user-select-all {
-webkit-user-select: all !important; -webkit-user-select: all !important;
-moz-user-select: all !important; -moz-user-select: all !important;

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"; @charset "UTF-8";
/*! /*!
* Bootstrap v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -56,10 +56,6 @@ body {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
} }
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr { hr {
margin: 1rem 0; margin: 1rem 0;
color: inherit; color: inherit;
@ -130,7 +126,6 @@ p {
abbr[title], abbr[title],
abbr[data-bs-original-title] { abbr[data-bs-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted; -webkit-text-decoration: underline dotted;
text-decoration: underline dotted; text-decoration: underline dotted;
cursor: help; cursor: help;
@ -336,6 +331,9 @@ select {
select { select {
word-wrap: normal; word-wrap: normal;
} }
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator { [list]::-webkit-calendar-picker-indicator {
display: none; display: none;
@ -2184,10 +2182,6 @@ progress {
.form-control::-webkit-date-and-time-value { .form-control::-webkit-date-and-time-value {
height: 1.5em; height: 1.5em;
} }
.form-control::-webkit-input-placeholder {
color: #6c757d;
opacity: 1;
}
.form-control::-moz-placeholder { .form-control::-moz-placeholder {
color: #6c757d; color: #6c757d;
opacity: 1; opacity: 1;
@ -2359,7 +2353,6 @@ textarea.form-control-lg {
background-image: none; background-image: none;
} }
.form-select:disabled { .form-select:disabled {
color: #6c757d;
background-color: #e9ecef; background-color: #e9ecef;
} }
.form-select:-moz-focusring { .form-select:-moz-focusring {
@ -2600,9 +2593,6 @@ textarea.form-control-lg {
transition: none; transition: none;
} }
} }
.form-floating > .form-control::-webkit-input-placeholder {
color: transparent;
}
.form-floating > .form-control::-moz-placeholder { .form-floating > .form-control::-moz-placeholder {
color: transparent; color: transparent;
} }
@ -2796,6 +2786,12 @@ textarea.form-control-lg {
margin-left: 0.5em; margin-left: 0.5em;
} }
.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
.was-validated .input-group .form-select:valid,
.input-group .form-select.is-valid {
z-index: 3;
}
.invalid-feedback { .invalid-feedback {
display: none; display: none;
width: 100%; width: 100%;
@ -2872,6 +2868,12 @@ textarea.form-control-lg {
margin-left: 0.5em; margin-left: 0.5em;
} }
.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
.was-validated .input-group .form-select:invalid,
.input-group .form-select.is-invalid {
z-index: 3;
}
.btn { .btn {
display: inline-block; display: inline-block;
font-weight: 400; font-weight: 400;
@ -3546,11 +3548,9 @@ textarea.form-control-lg {
left: auto /* rtl:ignore */; left: auto /* rtl:ignore */;
} }
} }
.dropup .dropdown-menu { .dropup .dropdown-menu[data-bs-popper] {
top: auto; top: auto;
bottom: 100%; bottom: 100%;
}
.dropup .dropdown-menu[data-bs-popper] {
margin-top: 0; margin-top: 0;
margin-bottom: 0.125rem; margin-bottom: 0.125rem;
} }
@ -3887,6 +3887,11 @@ textarea.form-control-lg {
text-align: center; text-align: center;
} }
.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
width: 100%;
}
.tab-content > .tab-pane { .tab-content > .tab-pane {
display: none; display: none;
} }
@ -4268,7 +4273,7 @@ textarea.form-control-lg {
text-decoration: none; text-decoration: none;
} }
.card-link + .card-link { .card-link + .card-link {
margin-left: 1rem /* rtl:ignore */; margin-left: 1rem;
} }
.card-header { .card-header {
@ -4381,8 +4386,8 @@ textarea.form-control-lg {
font-size: 1rem; font-size: 1rem;
color: #212529; color: #212529;
text-align: left; text-align: left;
background-color: transparent; background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125); border: 0;
border-radius: 0; border-radius: 0;
overflow-anchor: none; overflow-anchor: none;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
@ -4392,12 +4397,10 @@ textarea.form-control-lg {
transition: none; transition: none;
} }
} }
.accordion-button.collapsed {
border-bottom-width: 0;
}
.accordion-button:not(.collapsed) { .accordion-button:not(.collapsed) {
color: #0c63e4; color: #0c63e4;
background-color: #e7f1ff; background-color: #e7f1ff;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
} }
.accordion-button:not(.collapsed)::after { .accordion-button:not(.collapsed)::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
@ -4433,47 +4436,53 @@ textarea.form-control-lg {
margin-bottom: 0; margin-bottom: 0;
} }
.accordion-item:first-of-type .accordion-button { .accordion-item {
margin-bottom: -1px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
.accordion-item:first-of-type {
border-top-left-radius: 0.25rem; border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem; border-top-right-radius: 0.25rem;
} }
.accordion-item:last-of-type .accordion-button.collapsed { .accordion-item:first-of-type .accordion-button {
border-bottom-width: 1px; border-top-left-radius: calc(0.25rem - 1px);
border-top-right-radius: calc(0.25rem - 1px);
}
.accordion-item:last-of-type {
margin-bottom: 0;
border-bottom-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem;
} }
.accordion-item:last-of-type .accordion-button.collapsed {
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
.accordion-item:last-of-type .accordion-collapse { .accordion-item:last-of-type .accordion-collapse {
border-bottom-width: 1px;
border-bottom-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem;
} }
.accordion-collapse {
border: solid rgba(0, 0, 0, 0.125);
border-width: 0 1px;
}
.accordion-body { .accordion-body {
padding: 1rem 1.25rem; padding: 1rem 1.25rem;
} }
.accordion-flush .accordion-button { .accordion-flush .accordion-collapse {
border-width: 0;
}
.accordion-flush .accordion-item {
border-right: 0; border-right: 0;
border-left: 0; border-left: 0;
border-radius: 0; border-radius: 0;
} }
.accordion-flush .accordion-collapse { .accordion-flush .accordion-item:first-child {
border-width: 0; border-top: 0;
} }
.accordion-flush .accordion-item:first-of-type .accordion-button { .accordion-flush .accordion-item:last-child {
border-top-width: 0; border-bottom: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
} }
.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed { .accordion-flush .accordion-item .accordion-button {
border-bottom-width: 0; border-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
} }
.breadcrumb { .breadcrumb {
@ -4767,6 +4776,15 @@ textarea.form-control-lg {
border-radius: 0.25rem; border-radius: 0.25rem;
} }
.list-group-numbered {
list-style-type: none;
counter-reset: section;
}
.list-group-numbered > li::before {
content: counters(section, ".") ". ";
counter-increment: section;
}
.list-group-item-action { .list-group-item-action {
width: 100%; width: 100%;
color: #495057; color: #495057;
@ -4787,6 +4805,7 @@ textarea.form-control-lg {
position: relative; position: relative;
display: block; display: block;
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
color: #212529;
text-decoration: none; text-decoration: none;
background-color: #fff; background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125); border: 1px solid rgba(0, 0, 0, 0.125);
@ -5178,7 +5197,7 @@ textarea.form-control-lg {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: 1050; z-index: 1060;
display: none; display: none;
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -5242,7 +5261,7 @@ textarea.form-control-lg {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: 1040; z-index: 1050;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
background-color: #000; background-color: #000;
@ -5465,7 +5484,7 @@ textarea.form-control-lg {
} }
.tooltip { .tooltip {
position: absolute; position: absolute;
z-index: 1070; z-index: 1080;
display: block; display: block;
margin: 0; margin: 0;
font-family: var(--bs-font-sans-serif); font-family: var(--bs-font-sans-serif);
@ -5567,7 +5586,7 @@ textarea.form-control-lg {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0 /* rtl:ignore */; left: 0 /* rtl:ignore */;
z-index: 1060; z-index: 1070;
display: block; display: block;
max-width: 276px; max-width: 276px;
font-family: var(--bs-font-sans-serif); font-family: var(--bs-font-sans-serif);
@ -5972,6 +5991,86 @@ textarea.form-control-lg {
animation-duration: 1.5s; animation-duration: 1.5s;
} }
} }
.offcanvas {
position: fixed;
bottom: 0;
z-index: 1040;
display: flex;
flex-direction: column;
max-width: 100%;
visibility: hidden;
background-color: #fff;
background-clip: padding-box;
outline: 0;
transition: transform 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.offcanvas {
transition: none;
}
}
.offcanvas-header {
display: flex;
justify-content: space-between;
padding: 1rem 1rem;
}
.offcanvas-header .btn-close {
padding: 0.5rem 0.5rem;
margin: -0.5rem -0.5rem -0.5rem auto;
}
.offcanvas-title {
margin-bottom: 0;
line-height: 1.5;
}
.offcanvas-body {
flex-grow: 1;
padding: 1rem 1rem;
overflow-y: auto;
}
.offcanvas-start {
top: 0;
left: 0;
width: 400px;
border-right: 1px solid rgba(0, 0, 0, 0.2);
transform: translateX(-100%);
}
.offcanvas-end {
top: 0;
right: 0;
width: 400px;
border-left: 1px solid rgba(0, 0, 0, 0.2);
transform: translateX(100%);
}
.offcanvas-bottom {
right: 0;
left: 0;
height: 30vh;
max-height: 100%;
border-top: 1px solid rgba(0, 0, 0, 0.2);
transform: translateY(100%);
}
.offcanvas.show {
transform: none;
}
.offcanvas-backdrop::before {
position: fixed;
top: 0;
left: 0;
z-index: 1039;
width: 100vw;
height: 100vh;
content: "";
background-color: rgba(0, 0, 0, 0.5);
}
.clearfix::after { .clearfix::after {
display: block; display: block;
clear: both; clear: both;
@ -6424,10 +6523,6 @@ textarea.form-control-lg {
border-color: #fff !important; border-color: #fff !important;
} }
.border-0 {
border-width: 0 !important;
}
.border-1 { .border-1 {
border-width: 1px !important; border-width: 1px !important;
} }
@ -7098,6 +7193,10 @@ textarea.form-control-lg {
padding-left: 3rem !important; padding-left: 3rem !important;
} }
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.fs-1 { .fs-1 {
font-size: calc(1.375rem + 1.5vw) !important; font-size: calc(1.375rem + 1.5vw) !important;
} }
@ -7150,16 +7249,20 @@ textarea.form-control-lg {
font-weight: bolder !important; font-weight: bolder !important;
} }
.text-lowercase { .lh-1 {
text-transform: lowercase !important; line-height: 1 !important;
} }
.text-uppercase { .lh-sm {
text-transform: uppercase !important; line-height: 1.25 !important;
} }
.text-capitalize { .lh-base {
text-transform: capitalize !important; line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
} }
.text-start { .text-start {
@ -7174,6 +7277,45 @@ textarea.form-control-lg {
text-align: center !important; text-align: center !important;
} }
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
.text-lowercase {
text-transform: lowercase !important;
}
.text-uppercase {
text-transform: uppercase !important;
}
.text-capitalize {
text-transform: capitalize !important;
}
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
.text-primary { .text-primary {
color: #0d6efd !important; color: #0d6efd !important;
} }
@ -7230,22 +7372,6 @@ textarea.form-control-lg {
color: inherit !important; color: inherit !important;
} }
.lh-1 {
line-height: 1 !important;
}
.lh-sm {
line-height: 1.25 !important;
}
.lh-base {
line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
}
.bg-primary { .bg-primary {
background-color: #0d6efd !important; background-color: #0d6efd !important;
} }
@ -7294,37 +7420,6 @@ textarea.form-control-lg {
background-image: var(--bs-gradient) !important; background-image: var(--bs-gradient) !important;
} }
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.user-select-all { .user-select-all {
-webkit-user-select: all !important; -webkit-user-select: all !important;
-moz-user-select: all !important; -moz-user-select: all !important;

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"; @charset "UTF-8";
/*! /*!
* Bootstrap v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@ -56,10 +56,6 @@ body {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
} }
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr { hr {
margin: 1rem 0; margin: 1rem 0;
color: inherit; color: inherit;
@ -130,7 +126,6 @@ p {
abbr[title], abbr[title],
abbr[data-bs-original-title] { abbr[data-bs-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted; -webkit-text-decoration: underline dotted;
text-decoration: underline dotted; text-decoration: underline dotted;
cursor: help; cursor: help;
@ -336,6 +331,9 @@ select {
select { select {
word-wrap: normal; word-wrap: normal;
} }
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator { [list]::-webkit-calendar-picker-indicator {
display: none; display: none;
@ -2182,10 +2180,6 @@ progress {
.form-control::-webkit-date-and-time-value { .form-control::-webkit-date-and-time-value {
height: 1.5em; height: 1.5em;
} }
.form-control::-webkit-input-placeholder {
color: #6c757d;
opacity: 1;
}
.form-control::-moz-placeholder { .form-control::-moz-placeholder {
color: #6c757d; color: #6c757d;
opacity: 1; opacity: 1;
@ -2357,7 +2351,6 @@ textarea.form-control-lg {
background-image: none; background-image: none;
} }
.form-select:disabled { .form-select:disabled {
color: #6c757d;
background-color: #e9ecef; background-color: #e9ecef;
} }
.form-select:-moz-focusring { .form-select:-moz-focusring {
@ -2598,9 +2591,6 @@ textarea.form-control-lg {
transition: none; transition: none;
} }
} }
.form-floating > .form-control::-webkit-input-placeholder {
color: transparent;
}
.form-floating > .form-control::-moz-placeholder { .form-floating > .form-control::-moz-placeholder {
color: transparent; color: transparent;
} }
@ -2794,6 +2784,12 @@ textarea.form-control-lg {
margin-right: 0.5em; margin-right: 0.5em;
} }
.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
.was-validated .input-group .form-select:valid,
.input-group .form-select.is-valid {
z-index: 3;
}
.invalid-feedback { .invalid-feedback {
display: none; display: none;
width: 100%; width: 100%;
@ -2870,6 +2866,12 @@ textarea.form-control-lg {
margin-right: 0.5em; margin-right: 0.5em;
} }
.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
.was-validated .input-group .form-select:invalid,
.input-group .form-select.is-invalid {
z-index: 3;
}
.btn { .btn {
display: inline-block; display: inline-block;
font-weight: 400; font-weight: 400;
@ -3544,11 +3546,9 @@ textarea.form-control-lg {
left: auto ; left: auto ;
} }
} }
.dropup .dropdown-menu { .dropup .dropdown-menu[data-bs-popper] {
top: auto; top: auto;
bottom: 100%; bottom: 100%;
}
.dropup .dropdown-menu[data-bs-popper] {
margin-top: 0; margin-top: 0;
margin-bottom: 0.125rem; margin-bottom: 0.125rem;
} }
@ -3885,6 +3885,11 @@ textarea.form-control-lg {
text-align: center; text-align: center;
} }
.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
width: 100%;
}
.tab-content > .tab-pane { .tab-content > .tab-pane {
display: none; display: none;
} }
@ -4266,7 +4271,7 @@ textarea.form-control-lg {
text-decoration: none; text-decoration: none;
} }
.card-link + .card-link { .card-link + .card-link {
margin-left: 1rem ; margin-right: 1rem;
} }
.card-header { .card-header {
@ -4379,8 +4384,8 @@ textarea.form-control-lg {
font-size: 1rem; font-size: 1rem;
color: #212529; color: #212529;
text-align: right; text-align: right;
background-color: transparent; background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125); border: 0;
border-radius: 0; border-radius: 0;
overflow-anchor: none; overflow-anchor: none;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
@ -4390,12 +4395,10 @@ textarea.form-control-lg {
transition: none; transition: none;
} }
} }
.accordion-button.collapsed {
border-bottom-width: 0;
}
.accordion-button:not(.collapsed) { .accordion-button:not(.collapsed) {
color: #0c63e4; color: #0c63e4;
background-color: #e7f1ff; background-color: #e7f1ff;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
} }
.accordion-button:not(.collapsed)::after { .accordion-button:not(.collapsed)::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
@ -4431,47 +4434,53 @@ textarea.form-control-lg {
margin-bottom: 0; margin-bottom: 0;
} }
.accordion-item:first-of-type .accordion-button { .accordion-item {
margin-bottom: -1px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
.accordion-item:first-of-type {
border-top-right-radius: 0.25rem; border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem; border-top-left-radius: 0.25rem;
} }
.accordion-item:last-of-type .accordion-button.collapsed { .accordion-item:first-of-type .accordion-button {
border-bottom-width: 1px; border-top-right-radius: calc(0.25rem - 1px);
border-top-left-radius: calc(0.25rem - 1px);
}
.accordion-item:last-of-type {
margin-bottom: 0;
border-bottom-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem;
border-bottom-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;
} }
.accordion-item:last-of-type .accordion-button.collapsed {
border-bottom-left-radius: calc(0.25rem - 1px);
border-bottom-right-radius: calc(0.25rem - 1px);
}
.accordion-item:last-of-type .accordion-collapse { .accordion-item:last-of-type .accordion-collapse {
border-bottom-width: 1px;
border-bottom-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem;
border-bottom-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;
} }
.accordion-collapse {
border: solid rgba(0, 0, 0, 0.125);
border-width: 0 1px;
}
.accordion-body { .accordion-body {
padding: 1rem 1.25rem; padding: 1rem 1.25rem;
} }
.accordion-flush .accordion-button { .accordion-flush .accordion-collapse {
border-width: 0;
}
.accordion-flush .accordion-item {
border-left: 0; border-left: 0;
border-right: 0; border-right: 0;
border-radius: 0; border-radius: 0;
} }
.accordion-flush .accordion-collapse { .accordion-flush .accordion-item:first-child {
border-width: 0; border-top: 0;
} }
.accordion-flush .accordion-item:first-of-type .accordion-button { .accordion-flush .accordion-item:last-child {
border-top-width: 0; border-bottom: 0;
border-top-right-radius: 0;
border-top-left-radius: 0;
} }
.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed { .accordion-flush .accordion-item .accordion-button {
border-bottom-width: 0; border-radius: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
} }
.breadcrumb { .breadcrumb {
@ -4765,6 +4774,15 @@ textarea.form-control-lg {
border-radius: 0.25rem; border-radius: 0.25rem;
} }
.list-group-numbered {
list-style-type: none;
counter-reset: section;
}
.list-group-numbered > li::before {
content: counters(section, ".") ". ";
counter-increment: section;
}
.list-group-item-action { .list-group-item-action {
width: 100%; width: 100%;
color: #495057; color: #495057;
@ -4785,6 +4803,7 @@ textarea.form-control-lg {
position: relative; position: relative;
display: block; display: block;
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
color: #212529;
text-decoration: none; text-decoration: none;
background-color: #fff; background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125); border: 1px solid rgba(0, 0, 0, 0.125);
@ -5176,7 +5195,7 @@ textarea.form-control-lg {
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
z-index: 1050; z-index: 1060;
display: none; display: none;
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -5240,7 +5259,7 @@ textarea.form-control-lg {
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
z-index: 1040; z-index: 1050;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
background-color: #000; background-color: #000;
@ -5463,7 +5482,7 @@ textarea.form-control-lg {
} }
.tooltip { .tooltip {
position: absolute; position: absolute;
z-index: 1070; z-index: 1080;
display: block; display: block;
margin: 0; margin: 0;
font-family: var(--bs-font-sans-serif); font-family: var(--bs-font-sans-serif);
@ -5565,7 +5584,7 @@ textarea.form-control-lg {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0 ; left: 0 ;
z-index: 1060; z-index: 1070;
display: block; display: block;
max-width: 276px; max-width: 276px;
font-family: var(--bs-font-sans-serif); font-family: var(--bs-font-sans-serif);
@ -5957,6 +5976,86 @@ textarea.form-control-lg {
animation-duration: 1.5s; animation-duration: 1.5s;
} }
} }
.offcanvas {
position: fixed;
bottom: 0;
z-index: 1040;
display: flex;
flex-direction: column;
max-width: 100%;
visibility: hidden;
background-color: #fff;
background-clip: padding-box;
outline: 0;
transition: transform 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.offcanvas {
transition: none;
}
}
.offcanvas-header {
display: flex;
justify-content: space-between;
padding: 1rem 1rem;
}
.offcanvas-header .btn-close {
padding: 0.5rem 0.5rem;
margin: -0.5rem auto -0.5rem -0.5rem;
}
.offcanvas-title {
margin-bottom: 0;
line-height: 1.5;
}
.offcanvas-body {
flex-grow: 1;
padding: 1rem 1rem;
overflow-y: auto;
}
.offcanvas-start {
top: 0;
right: 0;
width: 400px;
border-left: 1px solid rgba(0, 0, 0, 0.2);
transform: translateX(100%);
}
.offcanvas-end {
top: 0;
left: 0;
width: 400px;
border-right: 1px solid rgba(0, 0, 0, 0.2);
transform: translateX(-100%);
}
.offcanvas-bottom {
left: 0;
right: 0;
height: 30vh;
max-height: 100%;
border-top: 1px solid rgba(0, 0, 0, 0.2);
transform: translateY(100%);
}
.offcanvas.show {
transform: none;
}
.offcanvas-backdrop::before {
position: fixed;
top: 0;
right: 0;
z-index: 1039;
width: 100vw;
height: 100vh;
content: "";
background-color: rgba(0, 0, 0, 0.5);
}
.clearfix::after { .clearfix::after {
display: block; display: block;
clear: both; clear: both;
@ -6409,10 +6508,6 @@ textarea.form-control-lg {
border-color: #fff !important; border-color: #fff !important;
} }
.border-0 {
border-width: 0 !important;
}
.border-1 { .border-1 {
border-width: 1px !important; border-width: 1px !important;
} }
@ -7083,6 +7178,10 @@ textarea.form-control-lg {
padding-right: 3rem !important; padding-right: 3rem !important;
} }
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.fs-1 { .fs-1 {
font-size: calc(1.375rem + 1.5vw) !important; font-size: calc(1.375rem + 1.5vw) !important;
} }
@ -7135,16 +7234,20 @@ textarea.form-control-lg {
font-weight: bolder !important; font-weight: bolder !important;
} }
.text-lowercase { .lh-1 {
text-transform: lowercase !important; line-height: 1 !important;
} }
.text-uppercase { .lh-sm {
text-transform: uppercase !important; line-height: 1.25 !important;
} }
.text-capitalize { .lh-base {
text-transform: capitalize !important; line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
} }
.text-start { .text-start {
@ -7159,6 +7262,37 @@ textarea.form-control-lg {
text-align: center !important; text-align: center !important;
} }
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
.text-lowercase {
text-transform: lowercase !important;
}
.text-uppercase {
text-transform: uppercase !important;
}
.text-capitalize {
text-transform: capitalize !important;
}
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
.text-primary { .text-primary {
color: #0d6efd !important; color: #0d6efd !important;
} }
@ -7215,22 +7349,6 @@ textarea.form-control-lg {
color: inherit !important; color: inherit !important;
} }
.lh-1 {
line-height: 1 !important;
}
.lh-sm {
line-height: 1.25 !important;
}
.lh-base {
line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
}
.bg-primary { .bg-primary {
background-color: #0d6efd !important; background-color: #0d6efd !important;
} }
@ -7279,29 +7397,6 @@ textarea.form-control-lg {
background-image: var(--bs-gradient) !important; background-image: var(--bs-gradient) !important;
} }
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.user-select-all { .user-select-all {
-webkit-user-select: all !important; -webkit-user-select: all !important;
-moz-user-select: all !important; -moz-user-select: all !important;

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

File diff suppressed because it is too large Load Diff

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

4026
dist/js/bootstrap.esm.js vendored

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

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

191
js/dist/alert.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap alert.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap alert.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -15,52 +15,20 @@
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var MILLISECONDS_MULTIPLIER = 1000; const MILLISECONDS_MULTIPLIER = 1000;
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var getSelector = function getSelector(element) { const getSelector = element => {
var selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector, // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid. // `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273 // See https://github.com/twbs/bootstrap/issues/32273
@ -80,23 +48,23 @@
return selector; return selector;
}; };
var getElementFromSelector = function getElementFromSelector(element) { const getElementFromSelector = element => {
var selector = getSelector(element); const selector = getSelector(element);
return selector ? document.querySelector(selector) : null; return selector ? document.querySelector(selector) : null;
}; };
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) { const getTransitionDurationFromElement = element => {
if (!element) { if (!element) {
return 0; return 0;
} // Get transition-duration of the element } // Get transition-duration of the element
var _window$getComputedSt = window.getComputedStyle(element), let {
transitionDuration = _window$getComputedSt.transitionDuration, transitionDuration,
transitionDelay = _window$getComputedSt.transitionDelay; transitionDelay
} = window.getComputedStyle(element);
var floatTransitionDuration = Number.parseFloat(transitionDuration); const floatTransitionDuration = Number.parseFloat(transitionDuration);
var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration && !floatTransitionDelay) { if (!floatTransitionDuration && !floatTransitionDelay) {
return 0; return 0;
@ -108,14 +76,14 @@
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
}; };
var triggerTransitionEnd = function triggerTransitionEnd(element) { const triggerTransitionEnd = element => {
element.dispatchEvent(new Event(TRANSITION_END)); element.dispatchEvent(new Event(TRANSITION_END));
}; };
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) { const emulateTransitionEnd = (element, duration) => {
var called = false; let called = false;
var durationPadding = 5; const durationPadding = 5;
var emulatedDuration = duration + durationPadding; const emulatedDuration = duration + durationPadding;
function listener() { function listener() {
called = true; called = true;
@ -123,16 +91,17 @@
} }
element.addEventListener(TRANSITION_END, listener); element.addEventListener(TRANSITION_END, listener);
setTimeout(function () { setTimeout(() => {
if (!called) { if (!called) {
triggerTransitionEnd(element); triggerTransitionEnd(element);
} }
}, emulatedDuration); }, emulatedDuration);
}; };
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -141,7 +110,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -149,19 +118,17 @@
} }
}; };
document.documentElement.dir === 'rtl'; const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const $ = getjQuery();
onDOMContentLoaded(function () {
var $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -169,43 +136,46 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'alert'; const NAME = 'alert';
var DATA_KEY = 'bs.alert'; const DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var DATA_API_KEY = '.data-api'; const DATA_API_KEY = '.data-api';
var SELECTOR_DISMISS = '[data-bs-dismiss="alert"]'; const SELECTOR_DISMISS = '[data-bs-dismiss="alert"]';
var EVENT_CLOSE = "close" + EVENT_KEY; const EVENT_CLOSE = `close${EVENT_KEY}`;
var EVENT_CLOSED = "closed" + EVENT_KEY; const EVENT_CLOSED = `closed${EVENT_KEY}`;
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
var CLASS_NAME_ALERT = 'alert'; const CLASS_NAME_ALERT = 'alert';
var CLASS_NAME_FADE = 'fade'; const CLASS_NAME_FADE = 'fade';
var CLASS_NAME_SHOW = 'show'; const CLASS_NAME_SHOW = 'show';
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Alert = /*#__PURE__*/function (_BaseComponent) { class Alert extends BaseComponent__default['default'] {
_inheritsLoose(Alert, _BaseComponent); // Getters
static get DATA_KEY() {
return DATA_KEY;
} // Public
function Alert() {
return _BaseComponent.apply(this, arguments) || this;
}
var _proto = Alert.prototype; close(element) {
const rootElement = element ? this._getRootElement(element) : this._element;
// Public const customEvent = this._triggerCloseEvent(rootElement);
_proto.close = function close(element) {
var rootElement = element ? this._getRootElement(element) : this._element;
var customEvent = this._triggerCloseEvent(rootElement);
if (customEvent === null || customEvent.defaultPrevented) { if (customEvent === null || customEvent.defaultPrevented) {
return; return;
@ -213,19 +183,17 @@
this._removeElement(rootElement); this._removeElement(rootElement);
} // Private } // Private
;
_proto._getRootElement = function _getRootElement(element) {
return getElementFromSelector(element) || element.closest("." + CLASS_NAME_ALERT);
};
_proto._triggerCloseEvent = function _triggerCloseEvent(element) { _getRootElement(element) {
return getElementFromSelector(element) || element.closest(`.${CLASS_NAME_ALERT}`);
}
_triggerCloseEvent(element) {
return EventHandler__default['default'].trigger(element, EVENT_CLOSE); return EventHandler__default['default'].trigger(element, EVENT_CLOSE);
}; }
_proto._removeElement = function _removeElement(element) {
var _this = this;
_removeElement(element) {
element.classList.remove(CLASS_NAME_SHOW); element.classList.remove(CLASS_NAME_SHOW);
if (!element.classList.contains(CLASS_NAME_FADE)) { if (!element.classList.contains(CLASS_NAME_FADE)) {
@ -234,25 +202,23 @@
return; return;
} }
var transitionDuration = getTransitionDurationFromElement(element); const transitionDuration = getTransitionDurationFromElement(element);
EventHandler__default['default'].one(element, 'transitionend', function () { EventHandler__default['default'].one(element, 'transitionend', () => this._destroyElement(element));
return _this._destroyElement(element);
});
emulateTransitionEnd(element, transitionDuration); emulateTransitionEnd(element, transitionDuration);
}; }
_proto._destroyElement = function _destroyElement(element) { _destroyElement(element) {
if (element.parentNode) { if (element.parentNode) {
element.parentNode.removeChild(element); element.parentNode.removeChild(element);
} }
EventHandler__default['default'].trigger(element, EVENT_CLOSED); EventHandler__default['default'].trigger(element, EVENT_CLOSED);
} // Static } // Static
;
Alert.jQueryInterface = function jQueryInterface(config) {
static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
var data = Data__default['default'].getData(this, DATA_KEY); let data = Data__default['default'].get(this, DATA_KEY);
if (!data) { if (!data) {
data = new Alert(this); data = new Alert(this);
@ -262,9 +228,9 @@
data[config](this); data[config](this);
} }
}); });
}; }
Alert.handleDismiss = function handleDismiss(alertInstance) { static handleDismiss(alertInstance) {
return function (event) { return function (event) {
if (event) { if (event) {
event.preventDefault(); event.preventDefault();
@ -272,18 +238,9 @@
alertInstance.close(this); alertInstance.close(this);
}; };
};
_createClass(Alert, null, [{
key: "DATA_KEY",
get: // Getters
function get() {
return DATA_KEY;
} }
}]);
return Alert; }
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap base-component.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap base-component.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -13,62 +13,48 @@
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data); var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
function _defineProperties(target, props) { /**
for (var i = 0; i < props.length; i++) { * --------------------------------------------------------------------------
var descriptor = props[i]; * Bootstrap (v5.0.0-beta3): base-component.js
descriptor.enumerable = descriptor.enumerable || false; * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
descriptor.configurable = true; * --------------------------------------------------------------------------
if ("value" in descriptor) descriptor.writable = true; */
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var VERSION = '5.0.0-beta2'; const VERSION = '5.0.0-beta3';
class BaseComponent {
constructor(element) {
element = typeof element === 'string' ? document.querySelector(element) : element;
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) { if (!element) {
return; return;
} }
this._element = element; this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this); Data__default['default'].set(this._element, this.constructor.DATA_KEY, this);
} }
var _proto = BaseComponent.prototype; dispose() {
Data__default['default'].remove(this._element, this.constructor.DATA_KEY);
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null; this._element = null;
} }
/** Static */ /** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{ static getInstance(element) {
key: "VERSION", return Data__default['default'].get(element, this.DATA_KEY);
get: function get() { }
static get VERSION() {
return VERSION; return VERSION;
} }
}]);
return BaseComponent; }
}();
return BaseComponent; return BaseComponent;

View File

@ -1 +1 @@
{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.0-beta2'\n\nclass BaseComponent {\n constructor(element) {\n if (!element) {\n return\n }\n\n this._element = element\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.removeData(this._element, this.constructor.DATA_KEY)\n this._element = null\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.getData(element, this.DATA_KEY)\n }\n\n static get VERSION() {\n return VERSION\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","element","_element","Data","setData","constructor","DATA_KEY","dispose","removeData","getInstance","getData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASA;EACA;EACA;EACA;EACA;;EAEA,IAAMA,OAAO,GAAG,aAAhB;;MAEMC;EACJ,yBAAYC,OAAZ,EAAqB;EACnB,QAAI,CAACA,OAAL,EAAc;EACZ;EACD;;EAED,SAAKC,QAAL,GAAgBD,OAAhB;EACAE,IAAAA,wBAAI,CAACC,OAAL,CAAaH,OAAb,EAAsB,KAAKI,WAAL,CAAiBC,QAAvC,EAAiD,IAAjD;EACD;;;;WAEDC,UAAA,mBAAU;EACRJ,IAAAA,wBAAI,CAACK,UAAL,CAAgB,KAAKN,QAArB,EAA+B,KAAKG,WAAL,CAAiBC,QAAhD;EACA,SAAKJ,QAAL,GAAgB,IAAhB;EACD;EAED;;;kBAEOO,cAAP,qBAAmBR,OAAnB,EAA4B;EAC1B,WAAOE,wBAAI,CAACO,OAAL,CAAaT,OAAb,EAAsB,KAAKK,QAA3B,CAAP;EACD;;;;WAED,eAAqB;EACnB,aAAOP,OAAP;EACD;;;;;;;;;;;;"} {"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.0-beta3'\n\nclass BaseComponent {\n constructor(element) {\n element = typeof element === 'string' ? document.querySelector(element) : element\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n this._element = null\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(element, this.DATA_KEY)\n }\n\n static get VERSION() {\n return VERSION\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","constructor","element","document","querySelector","_element","Data","set","DATA_KEY","dispose","remove","getInstance","get"],"mappings":";;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,aAAhB;;EAEA,MAAMC,aAAN,CAAoB;EAClBC,EAAAA,WAAW,CAACC,OAAD,EAAU;EACnBA,IAAAA,OAAO,GAAG,OAAOA,OAAP,KAAmB,QAAnB,GAA8BC,QAAQ,CAACC,aAAT,CAAuBF,OAAvB,CAA9B,GAAgEA,OAA1E;;EAEA,QAAI,CAACA,OAAL,EAAc;EACZ;EACD;;EAED,SAAKG,QAAL,GAAgBH,OAAhB;EACAI,IAAAA,wBAAI,CAACC,GAAL,CAAS,KAAKF,QAAd,EAAwB,KAAKJ,WAAL,CAAiBO,QAAzC,EAAmD,IAAnD;EACD;;EAEDC,EAAAA,OAAO,GAAG;EACRH,IAAAA,wBAAI,CAACI,MAAL,CAAY,KAAKL,QAAjB,EAA2B,KAAKJ,WAAL,CAAiBO,QAA5C;EACA,SAAKH,QAAL,GAAgB,IAAhB;EACD;EAED;;;EAEkB,SAAXM,WAAW,CAACT,OAAD,EAAU;EAC1B,WAAOI,wBAAI,CAACM,GAAL,CAASV,OAAT,EAAkB,KAAKM,QAAvB,CAAP;EACD;;EAEiB,aAAPT,OAAO,GAAG;EACnB,WAAOA,OAAP;EACD;;EAzBiB;;;;;;;;"}

115
js/dist/button.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap button.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap button.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -15,48 +15,17 @@
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -65,7 +34,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -73,19 +42,17 @@
} }
}; };
document.documentElement.dir === 'rtl'; const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const $ = getjQuery();
onDOMContentLoaded(function () {
var $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -93,44 +60,47 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'button'; const NAME = 'button';
var DATA_KEY = 'bs.button'; const DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var DATA_API_KEY = '.data-api'; const DATA_API_KEY = '.data-api';
var CLASS_NAME_ACTIVE = 'active'; const CLASS_NAME_ACTIVE = 'active';
var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="button"]'; const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="button"]';
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Button = /*#__PURE__*/function (_BaseComponent) { class Button extends BaseComponent__default['default'] {
_inheritsLoose(Button, _BaseComponent); // Getters
static get DATA_KEY() {
return DATA_KEY;
} // Public
function Button() {
return _BaseComponent.apply(this, arguments) || this;
}
var _proto = Button.prototype; toggle() {
// Public
_proto.toggle = function toggle() {
// Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE)); this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));
} // Static } // Static
;
Button.jQueryInterface = function jQueryInterface(config) {
static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
var data = Data__default['default'].getData(this, DATA_KEY); let data = Data__default['default'].get(this, DATA_KEY);
if (!data) { if (!data) {
data = new Button(this); data = new Button(this);
@ -140,18 +110,9 @@
data[config](); data[config]();
} }
}); });
};
_createClass(Button, null, [{
key: "DATA_KEY",
get: // Getters
function get() {
return DATA_KEY;
} }
}]);
return Button; }
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
@ -159,10 +120,10 @@
*/ */
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
event.preventDefault(); event.preventDefault();
var button = event.target.closest(SELECTOR_DATA_TOGGLE); const button = event.target.closest(SELECTOR_DATA_TOGGLE);
var data = Data__default['default'].getData(button, DATA_KEY); let data = Data__default['default'].get(button, DATA_KEY);
if (!data) { if (!data) {
data = new Button(button); data = new Button(button);

File diff suppressed because one or more lines are too long

658
js/dist/carousel.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

423
js/dist/collapse.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap collapse.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap collapse.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -17,78 +17,28 @@
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var MILLISECONDS_MULTIPLIER = 1000; const MILLISECONDS_MULTIPLIER = 1000;
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var toType = function toType(obj) { const toType = obj => {
if (obj === null || obj === undefined) { if (obj === null || obj === undefined) {
return "" + obj; return `${obj}`;
} }
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
}; };
var getSelector = function getSelector(element) { const getSelector = element => {
var selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector, // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid. // `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273 // See https://github.com/twbs/bootstrap/issues/32273
@ -108,8 +58,8 @@
return selector; return selector;
}; };
var getSelectorFromElement = function getSelectorFromElement(element) { const getSelectorFromElement = element => {
var selector = getSelector(element); const selector = getSelector(element);
if (selector) { if (selector) {
return document.querySelector(selector) ? selector : null; return document.querySelector(selector) ? selector : null;
@ -118,23 +68,23 @@
return null; return null;
}; };
var getElementFromSelector = function getElementFromSelector(element) { const getElementFromSelector = element => {
var selector = getSelector(element); const selector = getSelector(element);
return selector ? document.querySelector(selector) : null; return selector ? document.querySelector(selector) : null;
}; };
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) { const getTransitionDurationFromElement = element => {
if (!element) { if (!element) {
return 0; return 0;
} // Get transition-duration of the element } // Get transition-duration of the element
var _window$getComputedSt = window.getComputedStyle(element), let {
transitionDuration = _window$getComputedSt.transitionDuration, transitionDuration,
transitionDelay = _window$getComputedSt.transitionDelay; transitionDelay
} = window.getComputedStyle(element);
var floatTransitionDuration = Number.parseFloat(transitionDuration); const floatTransitionDuration = Number.parseFloat(transitionDuration);
var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration && !floatTransitionDelay) { if (!floatTransitionDuration && !floatTransitionDelay) {
return 0; return 0;
@ -146,18 +96,16 @@
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
}; };
var triggerTransitionEnd = function triggerTransitionEnd(element) { const triggerTransitionEnd = element => {
element.dispatchEvent(new Event(TRANSITION_END)); element.dispatchEvent(new Event(TRANSITION_END));
}; };
var isElement = function isElement(obj) { const isElement = obj => (obj[0] || obj).nodeType;
return (obj[0] || obj).nodeType;
};
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) { const emulateTransitionEnd = (element, duration) => {
var called = false; let called = false;
var durationPadding = 5; const durationPadding = 5;
var emulatedDuration = duration + durationPadding; const emulatedDuration = duration + durationPadding;
function listener() { function listener() {
called = true; called = true;
@ -165,32 +113,31 @@
} }
element.addEventListener(TRANSITION_END, listener); element.addEventListener(TRANSITION_END, listener);
setTimeout(function () { setTimeout(() => {
if (!called) { if (!called) {
triggerTransitionEnd(element); triggerTransitionEnd(element);
} }
}, emulatedDuration); }, emulatedDuration);
}; };
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) { const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(function (property) { Object.keys(configTypes).forEach(property => {
var expectedTypes = configTypes[property]; const expectedTypes = configTypes[property];
var value = config[property]; const value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value); const valueType = value && isElement(value) ? 'element' : toType(value);
if (!new RegExp(expectedTypes).test(valueType)) { if (!new RegExp(expectedTypes).test(valueType)) {
throw new TypeError(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); throw new TypeError(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`);
} }
}); });
}; };
var reflow = function reflow(element) { const reflow = element => element.offsetHeight;
return element.offsetHeight;
};
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -199,7 +146,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -207,19 +154,17 @@
} }
}; };
document.documentElement.dir === 'rtl'; const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const $ = getjQuery();
onDOMContentLoaded(function () {
var $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -227,108 +172,110 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'collapse'; const NAME = 'collapse';
var DATA_KEY = 'bs.collapse'; const DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var DATA_API_KEY = '.data-api'; const DATA_API_KEY = '.data-api';
var Default = { const Default = {
toggle: true, toggle: true,
parent: '' parent: ''
}; };
var DefaultType = { const DefaultType = {
toggle: 'boolean', toggle: 'boolean',
parent: '(string|element)' parent: '(string|element)'
}; };
var EVENT_SHOW = "show" + EVENT_KEY; const EVENT_SHOW = `show${EVENT_KEY}`;
var EVENT_SHOWN = "shown" + EVENT_KEY; const EVENT_SHOWN = `shown${EVENT_KEY}`;
var EVENT_HIDE = "hide" + EVENT_KEY; const EVENT_HIDE = `hide${EVENT_KEY}`;
var EVENT_HIDDEN = "hidden" + EVENT_KEY; const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
var CLASS_NAME_SHOW = 'show'; const CLASS_NAME_SHOW = 'show';
var CLASS_NAME_COLLAPSE = 'collapse'; const CLASS_NAME_COLLAPSE = 'collapse';
var CLASS_NAME_COLLAPSING = 'collapsing'; const CLASS_NAME_COLLAPSING = 'collapsing';
var CLASS_NAME_COLLAPSED = 'collapsed'; const CLASS_NAME_COLLAPSED = 'collapsed';
var WIDTH = 'width'; const WIDTH = 'width';
var HEIGHT = 'height'; const HEIGHT = 'height';
var SELECTOR_ACTIVES = '.show, .collapsing'; const SELECTOR_ACTIVES = '.show, .collapsing';
var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]'; const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]';
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Collapse = /*#__PURE__*/function (_BaseComponent) { class Collapse extends BaseComponent__default['default'] {
_inheritsLoose(Collapse, _BaseComponent); constructor(element, config) {
super(element);
this._isTransitioning = false;
this._config = this._getConfig(config);
this._triggerArray = SelectorEngine__default['default'].find(`${SELECTOR_DATA_TOGGLE}[href="#${this._element.id}"],` + `${SELECTOR_DATA_TOGGLE}[data-bs-target="#${this._element.id}"]`);
const toggleList = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
function Collapse(element, config) { for (let i = 0, len = toggleList.length; i < len; i++) {
var _this; const elem = toggleList[i];
const selector = getSelectorFromElement(elem);
_this = _BaseComponent.call(this, element) || this; const filterElement = SelectorEngine__default['default'].find(selector).filter(foundElem => foundElem === this._element);
_this._isTransitioning = false;
_this._config = _this._getConfig(config);
_this._triggerArray = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE + "[data-bs-target=\"#" + element.id + "\"]"));
var toggleList = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
var selector = getSelectorFromElement(elem);
var filterElement = SelectorEngine__default['default'].find(selector).filter(function (foundElem) {
return foundElem === element;
});
if (selector !== null && filterElement.length) { if (selector !== null && filterElement.length) {
_this._selector = selector; this._selector = selector;
_this._triggerArray.push(elem); this._triggerArray.push(elem);
} }
} }
_this._parent = _this._config.parent ? _this._getParent() : null; this._parent = this._config.parent ? this._getParent() : null;
if (!_this._config.parent) { if (!this._config.parent) {
_this._addAriaAndCollapsedClass(_this._element, _this._triggerArray); this._addAriaAndCollapsedClass(this._element, this._triggerArray);
} }
if (_this._config.toggle) { if (this._config.toggle) {
_this.toggle(); this.toggle();
} }
return _this;
} // Getters } // Getters
var _proto = Collapse.prototype; static get Default() {
return Default;
}
// Public static get DATA_KEY() {
_proto.toggle = function toggle() { return DATA_KEY;
} // Public
toggle() {
if (this._element.classList.contains(CLASS_NAME_SHOW)) { if (this._element.classList.contains(CLASS_NAME_SHOW)) {
this.hide(); this.hide();
} else { } else {
this.show(); this.show();
} }
}; }
_proto.show = function show() {
var _this2 = this;
show() {
if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) { if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
return; return;
} }
var actives; let actives;
var activesData; let activesData;
if (this._parent) { if (this._parent) {
actives = SelectorEngine__default['default'].find(SELECTOR_ACTIVES, this._parent).filter(function (elem) { actives = SelectorEngine__default['default'].find(SELECTOR_ACTIVES, this._parent).filter(elem => {
if (typeof _this2._config.parent === 'string') { if (typeof this._config.parent === 'string') {
return elem.getAttribute('data-bs-parent') === _this2._config.parent; return elem.getAttribute('data-bs-parent') === this._config.parent;
} }
return elem.classList.contains(CLASS_NAME_COLLAPSE); return elem.classList.contains(CLASS_NAME_COLLAPSE);
@ -339,38 +286,36 @@
} }
} }
var container = SelectorEngine__default['default'].findOne(this._selector); const container = SelectorEngine__default['default'].findOne(this._selector);
if (actives) { if (actives) {
var tempActiveData = actives.find(function (elem) { const tempActiveData = actives.find(elem => container !== elem);
return container !== elem; activesData = tempActiveData ? Data__default['default'].get(tempActiveData, DATA_KEY) : null;
});
activesData = tempActiveData ? Data__default['default'].getData(tempActiveData, DATA_KEY) : null;
if (activesData && activesData._isTransitioning) { if (activesData && activesData._isTransitioning) {
return; return;
} }
} }
var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW); const startEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
if (startEvent.defaultPrevented) { if (startEvent.defaultPrevented) {
return; return;
} }
if (actives) { if (actives) {
actives.forEach(function (elemActive) { actives.forEach(elemActive => {
if (container !== elemActive) { if (container !== elemActive) {
Collapse.collapseInterface(elemActive, 'hide'); Collapse.collapseInterface(elemActive, 'hide');
} }
if (!activesData) { if (!activesData) {
Data__default['default'].setData(elemActive, DATA_KEY, null); Data__default['default'].set(elemActive, DATA_KEY, null);
} }
}); });
} }
var dimension = this._getDimension(); const dimension = this._getDimension();
this._element.classList.remove(CLASS_NAME_COLLAPSE); this._element.classList.remove(CLASS_NAME_COLLAPSE);
@ -379,7 +324,7 @@
this._element.style[dimension] = 0; this._element.style[dimension] = 0;
if (this._triggerArray.length) { if (this._triggerArray.length) {
this._triggerArray.forEach(function (element) { this._triggerArray.forEach(element => {
element.classList.remove(CLASS_NAME_COLLAPSED); element.classList.remove(CLASS_NAME_COLLAPSED);
element.setAttribute('aria-expanded', true); element.setAttribute('aria-expanded', true);
}); });
@ -387,54 +332,50 @@
this.setTransitioning(true); this.setTransitioning(true);
var complete = function complete() { const complete = () => {
_this2._element.classList.remove(CLASS_NAME_COLLAPSING); this._element.classList.remove(CLASS_NAME_COLLAPSING);
_this2._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW); this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
_this2._element.style[dimension] = ''; this._element.style[dimension] = '';
this.setTransitioning(false);
_this2.setTransitioning(false); EventHandler__default['default'].trigger(this._element, EVENT_SHOWN);
EventHandler__default['default'].trigger(_this2._element, EVENT_SHOWN);
}; };
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = "scroll" + capitalizedDimension; const scrollSize = `scroll${capitalizedDimension}`;
var transitionDuration = getTransitionDurationFromElement(this._element); const transitionDuration = getTransitionDurationFromElement(this._element);
EventHandler__default['default'].one(this._element, 'transitionend', complete); EventHandler__default['default'].one(this._element, 'transitionend', complete);
emulateTransitionEnd(this._element, transitionDuration); emulateTransitionEnd(this._element, transitionDuration);
this._element.style[dimension] = this._element[scrollSize] + "px"; this._element.style[dimension] = `${this._element[scrollSize]}px`;
}; }
_proto.hide = function hide() {
var _this3 = this;
hide() {
if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) { if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
return; return;
} }
var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE); const startEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
if (startEvent.defaultPrevented) { if (startEvent.defaultPrevented) {
return; return;
} }
var dimension = this._getDimension(); const dimension = this._getDimension();
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
reflow(this._element); reflow(this._element);
this._element.classList.add(CLASS_NAME_COLLAPSING); this._element.classList.add(CLASS_NAME_COLLAPSING);
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW); this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
var triggerArrayLength = this._triggerArray.length; const triggerArrayLength = this._triggerArray.length;
if (triggerArrayLength > 0) { if (triggerArrayLength > 0) {
for (var i = 0; i < triggerArrayLength; i++) { for (let i = 0; i < triggerArrayLength; i++) {
var trigger = this._triggerArray[i]; const trigger = this._triggerArray[i];
var elem = getElementFromSelector(trigger); const elem = getElementFromSelector(trigger);
if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) { if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
trigger.classList.add(CLASS_NAME_COLLAPSED); trigger.classList.add(CLASS_NAME_COLLAPSED);
@ -445,52 +386,53 @@
this.setTransitioning(true); this.setTransitioning(true);
var complete = function complete() { const complete = () => {
_this3.setTransitioning(false); this.setTransitioning(false);
_this3._element.classList.remove(CLASS_NAME_COLLAPSING); this._element.classList.remove(CLASS_NAME_COLLAPSING);
_this3._element.classList.add(CLASS_NAME_COLLAPSE); this._element.classList.add(CLASS_NAME_COLLAPSE);
EventHandler__default['default'].trigger(_this3._element, EVENT_HIDDEN); EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
}; };
this._element.style[dimension] = ''; this._element.style[dimension] = '';
var transitionDuration = getTransitionDurationFromElement(this._element); const transitionDuration = getTransitionDurationFromElement(this._element);
EventHandler__default['default'].one(this._element, 'transitionend', complete); EventHandler__default['default'].one(this._element, 'transitionend', complete);
emulateTransitionEnd(this._element, transitionDuration); emulateTransitionEnd(this._element, transitionDuration);
}; }
_proto.setTransitioning = function setTransitioning(isTransitioning) { setTransitioning(isTransitioning) {
this._isTransitioning = isTransitioning; this._isTransitioning = isTransitioning;
}; }
_proto.dispose = function dispose() {
_BaseComponent.prototype.dispose.call(this);
dispose() {
super.dispose();
this._config = null; this._config = null;
this._parent = null; this._parent = null;
this._triggerArray = null; this._triggerArray = null;
this._isTransitioning = null; this._isTransitioning = null;
} // Private } // Private
;
_proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config); _getConfig(config) {
config = { ...Default,
...config
};
config.toggle = Boolean(config.toggle); // Coerce string values config.toggle = Boolean(config.toggle); // Coerce string values
typeCheckConfig(NAME, config, DefaultType); typeCheckConfig(NAME, config, DefaultType);
return config; return config;
}; }
_proto._getDimension = function _getDimension() { _getDimension() {
return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT; return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT;
}; }
_proto._getParent = function _getParent() { _getParent() {
var _this4 = this; let {
parent
var parent = this._config.parent; } = this._config;
if (isElement(parent)) { if (isElement(parent)) {
// it's a jQuery object // it's a jQuery object
@ -501,22 +443,22 @@
parent = SelectorEngine__default['default'].findOne(parent); parent = SelectorEngine__default['default'].findOne(parent);
} }
var selector = SELECTOR_DATA_TOGGLE + "[data-bs-parent=\"" + parent + "\"]"; const selector = `${SELECTOR_DATA_TOGGLE}[data-bs-parent="${parent}"]`;
SelectorEngine__default['default'].find(selector, parent).forEach(function (element) { SelectorEngine__default['default'].find(selector, parent).forEach(element => {
var selected = getElementFromSelector(element); const selected = getElementFromSelector(element);
_this4._addAriaAndCollapsedClass(selected, [element]); this._addAriaAndCollapsedClass(selected, [element]);
}); });
return parent; return parent;
}; }
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { _addAriaAndCollapsedClass(element, triggerArray) {
if (!element || !triggerArray.length) { if (!element || !triggerArray.length) {
return; return;
} }
var isOpen = element.classList.contains(CLASS_NAME_SHOW); const isOpen = element.classList.contains(CLASS_NAME_SHOW);
triggerArray.forEach(function (elem) { triggerArray.forEach(elem => {
if (isOpen) { if (isOpen) {
elem.classList.remove(CLASS_NAME_COLLAPSED); elem.classList.remove(CLASS_NAME_COLLAPSED);
} else { } else {
@ -526,12 +468,14 @@
elem.setAttribute('aria-expanded', isOpen); elem.setAttribute('aria-expanded', isOpen);
}); });
} // Static } // Static
;
Collapse.collapseInterface = function collapseInterface(element, config) {
var data = Data__default['default'].getData(element, DATA_KEY);
var _config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(element), typeof config === 'object' && config ? config : {}); static collapseInterface(element, config) {
let data = Data__default['default'].get(element, DATA_KEY);
const _config = { ...Default,
...Manipulator__default['default'].getDataAttributes(element),
...(typeof config === 'object' && config ? config : {})
};
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
_config.toggle = false; _config.toggle = false;
@ -543,33 +487,20 @@
if (typeof config === 'string') { if (typeof config === 'string') {
if (typeof data[config] === 'undefined') { if (typeof data[config] === 'undefined') {
throw new TypeError("No method named \"" + config + "\""); throw new TypeError(`No method named "${config}"`);
} }
data[config](); data[config]();
} }
}; }
Collapse.jQueryInterface = function jQueryInterface(config) { static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
Collapse.collapseInterface(this, config); Collapse.collapseInterface(this, config);
}); });
};
_createClass(Collapse, null, [{
key: "Default",
get: function get() {
return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]);
return Collapse; }
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
@ -583,12 +514,12 @@
event.preventDefault(); event.preventDefault();
} }
var triggerData = Manipulator__default['default'].getDataAttributes(this); const triggerData = Manipulator__default['default'].getDataAttributes(this);
var selector = getSelectorFromElement(this); const selector = getSelectorFromElement(this);
var selectorElements = SelectorEngine__default['default'].find(selector); const selectorElements = SelectorEngine__default['default'].find(selector);
selectorElements.forEach(function (element) { selectorElements.forEach(element => {
var data = Data__default['default'].getData(element, DATA_KEY); const data = Data__default['default'].get(element, DATA_KEY);
var config; let config;
if (data) { if (data) {
// update parent attribute // update parent attribute

File diff suppressed because one or more lines are too long

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

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap data.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap data.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -11,7 +11,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): dom/data.js * Bootstrap (v5.0.0-beta3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -21,62 +21,49 @@
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var mapData = function () { const elementMap = new Map();
var storeData = {}; var data = {
var id = 1; set(element, key, instance) {
return { if (!elementMap.has(element)) {
set: function set(element, key, data) { elementMap.set(element, new Map());
if (typeof element.bsKey === 'undefined') {
element.bsKey = {
key: key,
id: id
};
id++;
} }
storeData[element.bsKey.id] = data; 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
get: function get(element, key) {
if (!element || typeof element.bsKey === 'undefined') {
return null;
}
var keyProperties = element.bsKey; if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
if (keyProperties.key === key) { console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return storeData[keyProperties.id];
}
return null;
},
delete: function _delete(element, key) {
if (typeof element.bsKey === 'undefined') {
return; return;
} }
var keyProperties = element.bsKey; instanceMap.set(key, instance);
if (keyProperties.key === key) {
delete storeData[keyProperties.id];
delete element.bsKey;
}
}
};
}();
var Data = {
setData: function setData(instance, key, data) {
mapData.set(instance, key, data);
}, },
getData: function getData(instance, key) {
return mapData.get(instance, key); get(element, key) {
}, if (elementMap.has(element)) {
removeData: function removeData(instance, key) { return elementMap.get(element).get(key) || null;
mapData.delete(instance, key);
} }
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);
}
}
}; };
return Data; return data;
}))); })));
//# sourceMappingURL=data.js.map //# sourceMappingURL=data.js.map

View File

@ -1 +1 @@
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n"],"names":["mapData","storeData","id","set","element","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,IAAMA,OAAO,GAAI,YAAM;EACrB,MAAMC,SAAS,GAAG,EAAlB;EACA,MAAIC,EAAE,GAAG,CAAT;EACA,SAAO;EACLC,IAAAA,GADK,eACDC,OADC,EACQC,GADR,EACaC,IADb,EACmB;EACtB,UAAI,OAAOF,OAAO,CAACG,KAAf,KAAyB,WAA7B,EAA0C;EACxCH,QAAAA,OAAO,CAACG,KAAR,GAAgB;EACdF,UAAAA,GAAG,EAAHA,GADc;EAEdH,UAAAA,EAAE,EAAFA;EAFc,SAAhB;EAIAA,QAAAA,EAAE;EACH;;EAEDD,MAAAA,SAAS,CAACG,OAAO,CAACG,KAAR,CAAcL,EAAf,CAAT,GAA8BI,IAA9B;EACD,KAXI;EAYLE,IAAAA,GAZK,eAYDJ,OAZC,EAYQC,GAZR,EAYa;EAChB,UAAI,CAACD,OAAD,IAAY,OAAOA,OAAO,CAACG,KAAf,KAAyB,WAAzC,EAAsD;EACpD,eAAO,IAAP;EACD;;EAED,UAAME,aAAa,GAAGL,OAAO,CAACG,KAA9B;;EACA,UAAIE,aAAa,CAACJ,GAAd,KAAsBA,GAA1B,EAA+B;EAC7B,eAAOJ,SAAS,CAACQ,aAAa,CAACP,EAAf,CAAhB;EACD;;EAED,aAAO,IAAP;EACD,KAvBI;EAwBLQ,IAAAA,MAxBK,mBAwBEN,OAxBF,EAwBWC,GAxBX,EAwBgB;EACnB,UAAI,OAAOD,OAAO,CAACG,KAAf,KAAyB,WAA7B,EAA0C;EACxC;EACD;;EAED,UAAME,aAAa,GAAGL,OAAO,CAACG,KAA9B;;EACA,UAAIE,aAAa,CAACJ,GAAd,KAAsBA,GAA1B,EAA+B;EAC7B,eAAOJ,SAAS,CAACQ,aAAa,CAACP,EAAf,CAAhB;EACA,eAAOE,OAAO,CAACG,KAAf;EACD;EACF;EAlCI,GAAP;EAoCD,CAvCe,EAAhB;;MAyCMI,IAAI,GAAG;EACXC,EAAAA,OADW,mBACHC,QADG,EACOR,GADP,EACYC,IADZ,EACkB;EAC3BN,IAAAA,OAAO,CAACG,GAAR,CAAYU,QAAZ,EAAsBR,GAAtB,EAA2BC,IAA3B;EACD,GAHU;EAIXQ,EAAAA,OAJW,mBAIHD,QAJG,EAIOR,GAJP,EAIY;EACrB,WAAOL,OAAO,CAACQ,GAAR,CAAYK,QAAZ,EAAsBR,GAAtB,CAAP;EACD,GANU;EAOXU,EAAAA,UAPW,sBAOAF,QAPA,EAOUR,GAPV,EAOe;EACxBL,IAAAA,OAAO,CAACU,MAAR,CAAeG,QAAf,EAAyBR,GAAzB;EACD;EATU;;;;;;;;"} {"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): 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.0-beta2 (https://getbootstrap.com/) * Bootstrap event-handler.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -11,14 +11,15 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -27,11 +28,9 @@
return null; return null;
}; };
document.documentElement.dir === 'rtl';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): dom/event-handler.js * Bootstrap (v5.0.0-beta3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -41,17 +40,17 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var namespaceRegex = /[^.]*(?=\..*)\.|.*/; const namespaceRegex = /[^.]*(?=\..*)\.|.*/;
var stripNameRegex = /\..*/; const stripNameRegex = /\..*/;
var stripUidRegex = /::\d+$/; const stripUidRegex = /::\d+$/;
var eventRegistry = {}; // Events storage const eventRegistry = {}; // Events storage
var uidEvent = 1; let uidEvent = 1;
var customEvents = { const customEvents = {
mouseenter: 'mouseover', mouseenter: 'mouseover',
mouseleave: 'mouseout' mouseleave: 'mouseout'
}; };
var nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Private methods * Private methods
@ -59,11 +58,11 @@
*/ */
function getUidEvent(element, uid) { function getUidEvent(element, uid) {
return uid && uid + "::" + uidEvent++ || element.uidEvent || uidEvent++; return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
} }
function getEvent(element) { function getEvent(element) {
var uid = getUidEvent(element); const uid = getUidEvent(element);
element.uidEvent = uid; element.uidEvent = uid;
eventRegistry[uid] = eventRegistry[uid] || {}; eventRegistry[uid] = eventRegistry[uid] || {};
return eventRegistry[uid]; return eventRegistry[uid];
@ -83,10 +82,12 @@
function bootstrapDelegationHandler(element, selector, fn) { function bootstrapDelegationHandler(element, selector, fn) {
return function handler(event) { return function handler(event) {
var domElements = element.querySelectorAll(selector); const domElements = element.querySelectorAll(selector);
for (var target = event.target; target && target !== this; target = target.parentNode) { for (let {
for (var i = domElements.length; i--;) { target
} = event; target && target !== this; target = target.parentNode) {
for (let i = domElements.length; i--;) {
if (domElements[i] === target) { if (domElements[i] === target) {
event.delegateTarget = target; event.delegateTarget = target;
@ -105,15 +106,11 @@
}; };
} }
function findHandler(events, handler, delegationSelector) { function findHandler(events, handler, delegationSelector = null) {
if (delegationSelector === void 0) { const uidEventList = Object.keys(events);
delegationSelector = null;
}
var uidEventList = Object.keys(events); for (let i = 0, len = uidEventList.length; i < len; i++) {
const event = events[uidEventList[i]];
for (var i = 0, len = uidEventList.length; i < len; i++) {
var event = events[uidEventList[i]];
if (event.originalHandler === handler && event.delegationSelector === delegationSelector) { if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {
return event; return event;
@ -124,17 +121,17 @@
} }
function normalizeParams(originalTypeEvent, handler, delegationFn) { function normalizeParams(originalTypeEvent, handler, delegationFn) {
var delegation = typeof handler === 'string'; const delegation = typeof handler === 'string';
var originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click') const originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
var typeEvent = originalTypeEvent.replace(stripNameRegex, ''); let typeEvent = originalTypeEvent.replace(stripNameRegex, '');
var custom = customEvents[typeEvent]; const custom = customEvents[typeEvent];
if (custom) { if (custom) {
typeEvent = custom; typeEvent = custom;
} }
var isNative = nativeEvents.has(typeEvent); const isNative = nativeEvents.has(typeEvent);
if (!isNative) { if (!isNative) {
typeEvent = originalTypeEvent; typeEvent = originalTypeEvent;
@ -153,22 +150,18 @@
delegationFn = null; delegationFn = null;
} }
var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn), const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);
delegation = _normalizeParams[0], const events = getEvent(element);
originalHandler = _normalizeParams[1], const handlers = events[typeEvent] || (events[typeEvent] = {});
typeEvent = _normalizeParams[2]; const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
var events = getEvent(element);
var handlers = events[typeEvent] || (events[typeEvent] = {});
var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
if (previousFn) { if (previousFn) {
previousFn.oneOff = previousFn.oneOff && oneOff; previousFn.oneOff = previousFn.oneOff && oneOff;
return; return;
} }
var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler); const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
fn.delegationSelector = delegation ? handler : null; fn.delegationSelector = delegation ? handler : null;
fn.originalHandler = originalHandler; fn.originalHandler = originalHandler;
fn.oneOff = oneOff; fn.oneOff = oneOff;
@ -178,7 +171,7 @@
} }
function removeHandler(element, events, typeEvent, handler, delegationSelector) { function removeHandler(element, events, typeEvent, handler, delegationSelector) {
var fn = findHandler(events[typeEvent], handler, delegationSelector); const fn = findHandler(events[typeEvent], handler, delegationSelector);
if (!fn) { if (!fn) {
return; return;
@ -189,35 +182,33 @@
} }
function removeNamespacedHandlers(element, events, typeEvent, namespace) { function removeNamespacedHandlers(element, events, typeEvent, namespace) {
var storeElementEvent = events[typeEvent] || {}; const storeElementEvent = events[typeEvent] || {};
Object.keys(storeElementEvent).forEach(function (handlerKey) { Object.keys(storeElementEvent).forEach(handlerKey => {
if (handlerKey.includes(namespace)) { if (handlerKey.includes(namespace)) {
var event = storeElementEvent[handlerKey]; const event = storeElementEvent[handlerKey];
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
} }
}); });
} }
var EventHandler = { const EventHandler = {
on: function on(element, event, handler, delegationFn) { on(element, event, handler, delegationFn) {
addHandler(element, event, handler, delegationFn, false); addHandler(element, event, handler, delegationFn, false);
}, },
one: function one(element, event, handler, delegationFn) {
one(element, event, handler, delegationFn) {
addHandler(element, event, handler, delegationFn, true); addHandler(element, event, handler, delegationFn, true);
}, },
off: function off(element, originalTypeEvent, handler, delegationFn) {
off(element, originalTypeEvent, handler, delegationFn) {
if (typeof originalTypeEvent !== 'string' || !element) { if (typeof originalTypeEvent !== 'string' || !element) {
return; return;
} }
var _normalizeParams2 = normalizeParams(originalTypeEvent, handler, delegationFn), const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);
delegation = _normalizeParams2[0], const inNamespace = typeEvent !== originalTypeEvent;
originalHandler = _normalizeParams2[1], const events = getEvent(element);
typeEvent = _normalizeParams2[2]; const isNamespace = originalTypeEvent.startsWith('.');
var inNamespace = typeEvent !== originalTypeEvent;
var events = getEvent(element);
var isNamespace = originalTypeEvent.startsWith('.');
if (typeof originalHandler !== 'undefined') { if (typeof originalHandler !== 'undefined') {
// Simplest case: handler is passed, remove that listener ONLY. // Simplest case: handler is passed, remove that listener ONLY.
@ -230,35 +221,36 @@
} }
if (isNamespace) { if (isNamespace) {
Object.keys(events).forEach(function (elementEvent) { Object.keys(events).forEach(elementEvent => {
removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
}); });
} }
var storeElementEvent = events[typeEvent] || {}; const storeElementEvent = events[typeEvent] || {};
Object.keys(storeElementEvent).forEach(function (keyHandlers) { Object.keys(storeElementEvent).forEach(keyHandlers => {
var handlerKey = keyHandlers.replace(stripUidRegex, ''); const handlerKey = keyHandlers.replace(stripUidRegex, '');
if (!inNamespace || originalTypeEvent.includes(handlerKey)) { if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
var event = storeElementEvent[keyHandlers]; const event = storeElementEvent[keyHandlers];
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
} }
}); });
}, },
trigger: function trigger(element, event, args) {
trigger(element, event, args) {
if (typeof event !== 'string' || !element) { if (typeof event !== 'string' || !element) {
return null; return null;
} }
var $ = getjQuery(); const $ = getjQuery();
var typeEvent = event.replace(stripNameRegex, ''); const typeEvent = event.replace(stripNameRegex, '');
var inNamespace = event !== typeEvent; const inNamespace = event !== typeEvent;
var isNative = nativeEvents.has(typeEvent); const isNative = nativeEvents.has(typeEvent);
var jQueryEvent; let jQueryEvent;
var bubbles = true; let bubbles = true;
var nativeDispatch = true; let nativeDispatch = true;
var defaultPrevented = false; let defaultPrevented = false;
var evt = null; let evt = null;
if (inNamespace && $) { if (inNamespace && $) {
jQueryEvent = $.Event(event, args); jQueryEvent = $.Event(event, args);
@ -273,18 +265,19 @@
evt.initEvent(typeEvent, bubbles, true); evt.initEvent(typeEvent, bubbles, true);
} else { } else {
evt = new CustomEvent(event, { evt = new CustomEvent(event, {
bubbles: bubbles, bubbles,
cancelable: true cancelable: true
}); });
} // merge custom information in our event } // merge custom information in our event
if (typeof args !== 'undefined') { if (typeof args !== 'undefined') {
Object.keys(args).forEach(function (key) { Object.keys(args).forEach(key => {
Object.defineProperty(evt, key, { Object.defineProperty(evt, key, {
get: function get() { get() {
return args[key]; return args[key];
} }
}); });
}); });
} }
@ -303,6 +296,7 @@
return evt; return evt;
} }
}; };
return EventHandler; return EventHandler;

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap manipulator.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap manipulator.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -11,7 +11,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): dom/manipulator.js * Bootstrap (v5.0.0-beta3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -36,49 +36,51 @@
} }
function normalizeDataKey(key) { function normalizeDataKey(key) {
return key.replace(/[A-Z]/g, function (chr) { return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
return "-" + chr.toLowerCase();
});
} }
var Manipulator = { const Manipulator = {
setDataAttribute: function setDataAttribute(element, key, value) { setDataAttribute(element, key, value) {
element.setAttribute("data-bs-" + normalizeDataKey(key), value); element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
}, },
removeDataAttribute: function removeDataAttribute(element, key) {
element.removeAttribute("data-bs-" + normalizeDataKey(key)); removeDataAttribute(element, key) {
element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
}, },
getDataAttributes: function getDataAttributes(element) {
getDataAttributes(element) {
if (!element) { if (!element) {
return {}; return {};
} }
var attributes = {}; const attributes = {};
Object.keys(element.dataset).filter(function (key) { Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {
return key.startsWith('bs'); let pureKey = key.replace(/^bs/, '');
}).forEach(function (key) {
var pureKey = key.replace(/^bs/, '');
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
attributes[pureKey] = normalizeData(element.dataset[key]); attributes[pureKey] = normalizeData(element.dataset[key]);
}); });
return attributes; return attributes;
}, },
getDataAttribute: function getDataAttribute(element, key) {
return normalizeData(element.getAttribute("data-bs-" + normalizeDataKey(key))); getDataAttribute(element, key) {
return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
}, },
offset: function offset(element) {
var rect = element.getBoundingClientRect(); offset(element) {
const rect = element.getBoundingClientRect();
return { return {
top: rect.top + document.body.scrollTop, top: rect.top + document.body.scrollTop,
left: rect.left + document.body.scrollLeft left: rect.left + document.body.scrollLeft
}; };
}, },
position: function position(element) {
position(element) {
return { return {
top: element.offsetTop, top: element.offsetTop,
left: element.offsetLeft left: element.offsetLeft
}; };
} }
}; };
return Manipulator; return Manipulator;

View File

@ -1 +1 @@
{"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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,EAAsB,UAAAC,GAAG;EAAA,iBAAQA,GAAG,CAACC,WAAJ,EAAR;EAAA,GAAzB,CAAP;EACD;;MAEKC,WAAW,GAAG;EAClBC,EAAAA,gBADkB,4BACDC,OADC,EACQN,GADR,EACaO,KADb,EACoB;EACpCD,IAAAA,OAAO,CAACE,YAAR,cAAgCT,gBAAgB,CAACC,GAAD,CAAhD,EAAyDO,KAAzD;EACD,GAHiB;EAKlBE,EAAAA,mBALkB,+BAKEH,OALF,EAKWN,GALX,EAKgB;EAChCM,IAAAA,OAAO,CAACI,eAAR,cAAmCX,gBAAgB,CAACC,GAAD,CAAnD;EACD,GAPiB;EASlBW,EAAAA,iBATkB,6BASAL,OATA,EASS;EACzB,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,EAAP;EACD;;EAED,QAAMM,UAAU,GAAG,EAAnB;EAEAC,IAAAA,MAAM,CAACC,IAAP,CAAYR,OAAO,CAACS,OAApB,EACGC,MADH,CACU,UAAAhB,GAAG;EAAA,aAAIA,GAAG,CAACiB,UAAJ,CAAe,IAAf,CAAJ;EAAA,KADb,EAEGC,OAFH,CAEW,UAAAlB,GAAG,EAAI;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,gBA3BkB,4BA2BDjB,OA3BC,EA2BQN,GA3BR,EA2Ba;EAC7B,WAAOL,aAAa,CAACW,OAAO,CAACkB,YAAR,cAAgCzB,gBAAgB,CAACC,GAAD,CAAhD,CAAD,CAApB;EACD,GA7BiB;EA+BlByB,EAAAA,MA/BkB,kBA+BXnB,OA/BW,EA+BF;EACd,QAAMoB,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,QAxCkB,oBAwCT5B,OAxCS,EAwCA;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.0-beta3): 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.0-beta2 (https://getbootstrap.com/) * Bootstrap selector-engine.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -11,7 +11,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): dom/selector-engine.js * Bootstrap (v5.0.0-beta3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -21,34 +21,23 @@
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NODE_TEXT = 3; const NODE_TEXT = 3;
var SelectorEngine = { const SelectorEngine = {
find: function find(selector, element) { find(selector, element = document.documentElement) {
var _ref; return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
if (element === void 0) {
element = document.documentElement;
}
return (_ref = []).concat.apply(_ref, Element.prototype.querySelectorAll.call(element, selector));
}, },
findOne: function findOne(selector, element) {
if (element === void 0) {
element = document.documentElement;
}
findOne(selector, element = document.documentElement) {
return Element.prototype.querySelector.call(element, selector); return Element.prototype.querySelector.call(element, selector);
}, },
children: function children(element, selector) {
var _ref2;
return (_ref2 = []).concat.apply(_ref2, element.children).filter(function (child) { children(element, selector) {
return child.matches(selector); return [].concat(...element.children).filter(child => child.matches(selector));
});
}, },
parents: function parents(element, selector) {
var parents = []; parents(element, selector) {
var ancestor = element.parentNode; const parents = [];
let ancestor = element.parentNode;
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
if (ancestor.matches(selector)) { if (ancestor.matches(selector)) {
@ -60,8 +49,9 @@
return parents; return parents;
}, },
prev: function prev(element, selector) {
var previous = element.previousElementSibling; prev(element, selector) {
let previous = element.previousElementSibling;
while (previous) { while (previous) {
if (previous.matches(selector)) { if (previous.matches(selector)) {
@ -73,8 +63,9 @@
return []; return [];
}, },
next: function next(element, selector) {
var next = element.nextElementSibling; next(element, selector) {
let next = element.nextElementSibling;
while (next) { while (next) {
if (next.matches(selector)) { if (next.matches(selector)) {
@ -86,6 +77,7 @@
return []; return [];
} }
}; };
return SelectorEngine; return SelectorEngine;

View File

@ -1 +1 @@
{"version":3,"file":"selector-engine.js","sources":["../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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,IAAMA,SAAS,GAAG,CAAlB;MAEMC,cAAc,GAAG;EACrBC,EAAAA,IADqB,gBAChBC,QADgB,EACNC,OADM,EAC8B;EAAA;;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BC,QAAQ,CAACC,eAAiB;EAAA;;EACjD,WAAO,YAAGC,MAAH,aAAaC,OAAO,CAACC,SAAR,CAAkBC,gBAAlB,CAAmCC,IAAnC,CAAwCP,OAAxC,EAAiDD,QAAjD,CAAb,CAAP;EACD,GAHoB;EAKrBS,EAAAA,OALqB,mBAKbT,QALa,EAKHC,OALG,EAKiC;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BC,QAAQ,CAACC,eAAiB;EAAA;;EACpD,WAAOE,OAAO,CAACC,SAAR,CAAkBI,aAAlB,CAAgCF,IAAhC,CAAqCP,OAArC,EAA8CD,QAA9C,CAAP;EACD,GAPoB;EASrBW,EAAAA,QATqB,oBASZV,OATY,EASHD,QATG,EASO;EAAA;;EAC1B,WAAO,aAAGI,MAAH,cAAaH,OAAO,CAACU,QAArB,EACJC,MADI,CACG,UAAAC,KAAK;EAAA,aAAIA,KAAK,CAACC,OAAN,CAAcd,QAAd,CAAJ;EAAA,KADR,CAAP;EAED,GAZoB;EAcrBe,EAAAA,OAdqB,mBAcbd,OAda,EAcJD,QAdI,EAcM;EACzB,QAAMe,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,IA9BqB,gBA8BhBrB,OA9BgB,EA8BPD,QA9BO,EA8BG;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,IA5CqB,gBA4ChBxB,OA5CgB,EA4CPD,QA5CO,EA4CG;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.0-beta3): 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;;;;;;;;"}

456
js/dist/dropdown.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap dropdown.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap dropdown.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -38,76 +38,26 @@
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var toType = function toType(obj) { const toType = obj => {
if (obj === null || obj === undefined) { if (obj === null || obj === undefined) {
return "" + obj; return `${obj}`;
} }
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
}; };
var getSelector = function getSelector(element) { const getSelector = element => {
var selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector, // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid. // `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273 // See https://github.com/twbs/bootstrap/issues/32273
@ -127,48 +77,45 @@
return selector; return selector;
}; };
var getElementFromSelector = function getElementFromSelector(element) { const getElementFromSelector = element => {
var selector = getSelector(element); const selector = getSelector(element);
return selector ? document.querySelector(selector) : null; return selector ? document.querySelector(selector) : null;
}; };
var isElement = function isElement(obj) { const isElement = obj => (obj[0] || obj).nodeType;
return (obj[0] || obj).nodeType;
};
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) { const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(function (property) { Object.keys(configTypes).forEach(property => {
var expectedTypes = configTypes[property]; const expectedTypes = configTypes[property];
var value = config[property]; const value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value); const valueType = value && isElement(value) ? 'element' : toType(value);
if (!new RegExp(expectedTypes).test(valueType)) { if (!new RegExp(expectedTypes).test(valueType)) {
throw new TypeError(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); throw new TypeError(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`);
} }
}); });
}; };
var isVisible = function isVisible(element) { const isVisible = element => {
if (!element) { if (!element) {
return false; return false;
} }
if (element.style && element.parentNode && element.parentNode.style) { if (element.style && element.parentNode && element.parentNode.style) {
var elementStyle = getComputedStyle(element); const elementStyle = getComputedStyle(element);
var parentNodeStyle = getComputedStyle(element.parentNode); const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden'; return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
} }
return false; return false;
}; };
var noop = function noop() { const noop = () => function () {};
return function () {};
};
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -177,7 +124,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -185,19 +132,19 @@
} }
}; };
var isRTL = document.documentElement.dir === 'rtl'; const isRTL = () => document.documentElement.dir === 'rtl';
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(function () { onDOMContentLoaded(() => {
var $ = getjQuery(); const $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -205,60 +152,63 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'dropdown'; const NAME = 'dropdown';
var DATA_KEY = 'bs.dropdown'; const DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var DATA_API_KEY = '.data-api'; const DATA_API_KEY = '.data-api';
var ESCAPE_KEY = 'Escape'; const ESCAPE_KEY = 'Escape';
var SPACE_KEY = 'Space'; const SPACE_KEY = 'Space';
var TAB_KEY = 'Tab'; const TAB_KEY = 'Tab';
var ARROW_UP_KEY = 'ArrowUp'; const ARROW_UP_KEY = 'ArrowUp';
var ARROW_DOWN_KEY = 'ArrowDown'; const ARROW_DOWN_KEY = 'ArrowDown';
var RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEY + "|" + ARROW_DOWN_KEY + "|" + ESCAPE_KEY); const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`);
var EVENT_HIDE = "hide" + EVENT_KEY; const EVENT_HIDE = `hide${EVENT_KEY}`;
var EVENT_HIDDEN = "hidden" + EVENT_KEY; const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
var EVENT_SHOW = "show" + EVENT_KEY; const EVENT_SHOW = `show${EVENT_KEY}`;
var EVENT_SHOWN = "shown" + EVENT_KEY; const EVENT_SHOWN = `shown${EVENT_KEY}`;
var EVENT_CLICK = "click" + EVENT_KEY; const EVENT_CLICK = `click${EVENT_KEY}`;
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY + DATA_API_KEY; const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;
var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY + DATA_API_KEY; const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`;
var CLASS_NAME_DISABLED = 'disabled'; const CLASS_NAME_DISABLED = 'disabled';
var CLASS_NAME_SHOW = 'show'; const CLASS_NAME_SHOW = 'show';
var CLASS_NAME_DROPUP = 'dropup'; const CLASS_NAME_DROPUP = 'dropup';
var CLASS_NAME_DROPEND = 'dropend'; const CLASS_NAME_DROPEND = 'dropend';
var CLASS_NAME_DROPSTART = 'dropstart'; const CLASS_NAME_DROPSTART = 'dropstart';
var CLASS_NAME_NAVBAR = 'navbar'; const CLASS_NAME_NAVBAR = 'navbar';
var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]'; const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]';
var SELECTOR_FORM_CHILD = '.dropdown form'; const SELECTOR_MENU = '.dropdown-menu';
var SELECTOR_MENU = '.dropdown-menu'; const SELECTOR_NAVBAR_NAV = '.navbar-nav';
var SELECTOR_NAVBAR_NAV = '.navbar-nav'; const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
var PLACEMENT_TOP = isRTL ? 'top-end' : 'top-start'; const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
var PLACEMENT_TOPEND = isRTL ? 'top-start' : 'top-end'; const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
var PLACEMENT_BOTTOM = isRTL ? 'bottom-end' : 'bottom-start'; const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
var PLACEMENT_BOTTOMEND = isRTL ? 'bottom-start' : 'bottom-end'; const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
var PLACEMENT_RIGHT = isRTL ? 'left-start' : 'right-start'; const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
var PLACEMENT_LEFT = isRTL ? 'right-start' : 'left-start'; const Default = {
var Default = {
offset: [0, 2], offset: [0, 2],
flip: true,
boundary: 'clippingParents', boundary: 'clippingParents',
reference: 'toggle', reference: 'toggle',
display: 'dynamic', display: 'dynamic',
popperConfig: null popperConfig: null
}; };
var DefaultType = { const DefaultType = {
offset: '(array|string|function)', offset: '(array|string|function)',
flip: 'boolean',
boundary: '(string|element)', boundary: '(string|element)',
reference: '(string|element|object)', reference: '(string|element|object)',
display: 'string', display: 'string',
@ -270,33 +220,37 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Dropdown = /*#__PURE__*/function (_BaseComponent) { class Dropdown extends BaseComponent__default['default'] {
_inheritsLoose(Dropdown, _BaseComponent); constructor(element, config) {
super(element);
this._popper = null;
this._config = this._getConfig(config);
this._menu = this._getMenuElement();
this._inNavbar = this._detectNavbar();
function Dropdown(element, config) { this._addEventListeners();
var _this;
_this = _BaseComponent.call(this, element) || this;
_this._popper = null;
_this._config = _this._getConfig(config);
_this._menu = _this._getMenuElement();
_this._inNavbar = _this._detectNavbar();
_this._addEventListeners();
return _this;
} // Getters } // Getters
var _proto = Dropdown.prototype; static get Default() {
return Default;
}
// Public static get DefaultType() {
_proto.toggle = function toggle() { return DefaultType;
}
static get DATA_KEY() {
return DATA_KEY;
} // Public
toggle() {
if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) { if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {
return; return;
} }
var isActive = this._element.classList.contains(CLASS_NAME_SHOW); const isActive = this._element.classList.contains(CLASS_NAME_SHOW);
Dropdown.clearMenus(); Dropdown.clearMenus();
@ -305,18 +259,18 @@
} }
this.show(); this.show();
}; }
_proto.show = function show() { show() {
if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) { if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {
return; return;
} }
var parent = Dropdown.getParentFromElement(this._element); const parent = Dropdown.getParentFromElement(this._element);
var relatedTarget = { const relatedTarget = {
relatedTarget: this._element relatedTarget: this._element
}; };
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, relatedTarget); const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, relatedTarget);
if (showEvent.defaultPrevented) { if (showEvent.defaultPrevented) {
return; return;
@ -330,7 +284,7 @@
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
} }
var referenceElement = this._element; let referenceElement = this._element;
if (this._config.reference === 'parent') { if (this._config.reference === 'parent') {
referenceElement = parent; referenceElement = parent;
@ -344,12 +298,10 @@
referenceElement = this._config.reference; referenceElement = this._config.reference;
} }
var popperConfig = this._getPopperConfig(); const popperConfig = this._getPopperConfig();
var isDisplayStatic = popperConfig.modifiers.find(function (modifier) { const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false);
return modifier.name === 'applyStyles' && modifier.enabled === false; this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig);
});
this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);
if (isDisplayStatic) { if (isDisplayStatic) {
Manipulator__default['default'].setDataAttribute(this._menu, 'popper', 'static'); Manipulator__default['default'].setDataAttribute(this._menu, 'popper', 'static');
@ -361,11 +313,7 @@
if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) { if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {
var _ref; [].concat(...document.body.children).forEach(elem => EventHandler__default['default'].on(elem, 'mouseover', null, noop()));
(_ref = []).concat.apply(_ref, document.body.children).forEach(function (elem) {
return EventHandler__default['default'].on(elem, 'mouseover', null, noop());
});
} }
this._element.focus(); this._element.focus();
@ -377,17 +325,17 @@
this._element.classList.toggle(CLASS_NAME_SHOW); this._element.classList.toggle(CLASS_NAME_SHOW);
EventHandler__default['default'].trigger(this._element, EVENT_SHOWN, relatedTarget); EventHandler__default['default'].trigger(this._element, EVENT_SHOWN, relatedTarget);
}; }
_proto.hide = function hide() { hide() {
if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) { if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {
return; return;
} }
var relatedTarget = { const relatedTarget = {
relatedTarget: this._element relatedTarget: this._element
}; };
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE, relatedTarget); const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE, relatedTarget);
if (hideEvent.defaultPrevented) { if (hideEvent.defaultPrevented) {
return; return;
@ -403,11 +351,9 @@
Manipulator__default['default'].removeDataAttribute(this._menu, 'popper'); Manipulator__default['default'].removeDataAttribute(this._menu, 'popper');
EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN, relatedTarget); EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN, relatedTarget);
}; }
_proto.dispose = function dispose() {
_BaseComponent.prototype.dispose.call(this);
dispose() {
EventHandler__default['default'].off(this._element, EVENT_KEY); EventHandler__default['default'].off(this._element, EVENT_KEY);
this._menu = null; this._menu = null;
@ -416,46 +362,47 @@
this._popper = null; this._popper = null;
} }
};
_proto.update = function update() { super.dispose();
}
update() {
this._inNavbar = this._detectNavbar(); this._inNavbar = this._detectNavbar();
if (this._popper) { if (this._popper) {
this._popper.update(); this._popper.update();
} }
} // Private } // Private
;
_proto._addEventListeners = function _addEventListeners() {
var _this2 = this;
EventHandler__default['default'].on(this._element, EVENT_CLICK, function (event) { _addEventListeners() {
EventHandler__default['default'].on(this._element, EVENT_CLICK, event => {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); this.toggle();
_this2.toggle();
}); });
}; }
_proto._getConfig = function _getConfig(config) { _getConfig(config) {
config = _extends({}, this.constructor.Default, Manipulator__default['default'].getDataAttributes(this._element), config); config = { ...this.constructor.Default,
...Manipulator__default['default'].getDataAttributes(this._element),
...config
};
typeCheckConfig(NAME, config, this.constructor.DefaultType); typeCheckConfig(NAME, config, this.constructor.DefaultType);
if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
// Popper virtual elements require a getBoundingClientRect method // Popper virtual elements require a getBoundingClientRect method
throw new TypeError(NAME.toUpperCase() + ": Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method."); throw new TypeError(`${NAME.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
} }
return config; return config;
}; }
_proto._getMenuElement = function _getMenuElement() { _getMenuElement() {
return SelectorEngine__default['default'].next(this._element, SELECTOR_MENU)[0]; return SelectorEngine__default['default'].next(this._element, SELECTOR_MENU)[0];
}; }
_proto._getPlacement = function _getPlacement() { _getPlacement() {
var parentDropdown = this._element.parentNode; const parentDropdown = this._element.parentNode;
if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
return PLACEMENT_RIGHT; return PLACEMENT_RIGHT;
@ -466,46 +413,41 @@
} // We need to trim the value because custom properties can also include spaces } // We need to trim the value because custom properties can also include spaces
var isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';
if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;
} }
return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;
}; }
_proto._detectNavbar = function _detectNavbar() { _detectNavbar() {
return this._element.closest("." + CLASS_NAME_NAVBAR) !== null; return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null;
}; }
_proto._getOffset = function _getOffset() { _getOffset() {
var _this3 = this; const {
offset
var offset = this._config.offset; } = this._config;
if (typeof offset === 'string') { if (typeof offset === 'string') {
return offset.split(',').map(function (val) { return offset.split(',').map(val => Number.parseInt(val, 10));
return Number.parseInt(val, 10);
});
} }
if (typeof offset === 'function') { if (typeof offset === 'function') {
return function (popperData) { return popperData => offset(popperData, this._element);
return offset(popperData, _this3._element);
};
} }
return offset; return offset;
}; }
_proto._getPopperConfig = function _getPopperConfig() { _getPopperConfig() {
var defaultBsPopperConfig = { const defaultBsPopperConfig = {
placement: this._getPlacement(), placement: this._getPlacement(),
modifiers: [{ modifiers: [{
name: 'preventOverflow', name: 'preventOverflow',
options: { options: {
altBoundary: this._config.flip,
boundary: this._config.boundary boundary: this._config.boundary
} }
}, { }, {
@ -523,14 +465,16 @@
}]; }];
} }
return _extends({}, defaultBsPopperConfig, typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig); return { ...defaultBsPopperConfig,
...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
};
} // Static } // Static
;
Dropdown.dropdownInterface = function dropdownInterface(element, config) {
var data = Data__default['default'].getData(element, DATA_KEY);
var _config = typeof config === 'object' ? config : null; static dropdownInterface(element, config) {
let data = Data__default['default'].get(element, DATA_KEY);
const _config = typeof config === 'object' ? config : null;
if (!data) { if (!data) {
data = new Dropdown(element, _config); data = new Dropdown(element, _config);
@ -538,29 +482,35 @@
if (typeof config === 'string') { if (typeof config === 'string') {
if (typeof data[config] === 'undefined') { if (typeof data[config] === 'undefined') {
throw new TypeError("No method named \"" + config + "\""); throw new TypeError(`No method named "${config}"`);
} }
data[config](); data[config]();
} }
}; }
Dropdown.jQueryInterface = function jQueryInterface(config) { static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
Dropdown.dropdownInterface(this, config); Dropdown.dropdownInterface(this, config);
}); });
}; }
Dropdown.clearMenus = function clearMenus(event) { static clearMenus(event) {
if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY)) { if (event) {
if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {
return; return;
} }
var toggles = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE); if (/input|select|textarea|form/i.test(event.target.tagName)) {
return;
}
}
for (var i = 0, len = toggles.length; i < len; i++) { const toggles = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
var context = Data__default['default'].getData(toggles[i], DATA_KEY);
var relatedTarget = { for (let i = 0, len = toggles.length; i < len; i++) {
const context = Data__default['default'].get(toggles[i], DATA_KEY);
const relatedTarget = {
relatedTarget: toggles[i] relatedTarget: toggles[i]
}; };
@ -572,17 +522,25 @@
continue; continue;
} }
var dropdownMenu = context._menu; const dropdownMenu = context._menu;
if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) { if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {
continue; continue;
} }
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.key === TAB_KEY) && dropdownMenu.contains(event.target)) { if (event) {
// Don't close the menu if the clicked element or one of its parents is the dropdown button
if ([context._element].some(element => event.composedPath().includes(element))) {
continue;
} // Tab navigation through the dropdown menu shouldn't close the menu
if (event.type === 'keyup' && event.key === TAB_KEY && dropdownMenu.contains(event.target)) {
continue; continue;
} }
}
var hideEvent = EventHandler__default['default'].trigger(toggles[i], EVENT_HIDE, relatedTarget); const hideEvent = EventHandler__default['default'].trigger(toggles[i], EVENT_HIDE, relatedTarget);
if (hideEvent.defaultPrevented) { if (hideEvent.defaultPrevented) {
continue; continue;
@ -591,11 +549,7 @@
if ('ontouchstart' in document.documentElement) { if ('ontouchstart' in document.documentElement) {
var _ref2; [].concat(...document.body.children).forEach(elem => EventHandler__default['default'].off(elem, 'mouseover', null, noop()));
(_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (elem) {
return EventHandler__default['default'].off(elem, 'mouseover', null, noop());
});
} }
toggles[i].setAttribute('aria-expanded', 'false'); toggles[i].setAttribute('aria-expanded', 'false');
@ -609,13 +563,13 @@
Manipulator__default['default'].removeDataAttribute(dropdownMenu, 'popper'); Manipulator__default['default'].removeDataAttribute(dropdownMenu, 'popper');
EventHandler__default['default'].trigger(toggles[i], EVENT_HIDDEN, relatedTarget); EventHandler__default['default'].trigger(toggles[i], EVENT_HIDDEN, relatedTarget);
} }
}; }
Dropdown.getParentFromElement = function getParentFromElement(element) { static getParentFromElement(element) {
return getElementFromSelector(element) || element.parentNode; return getElementFromSelector(element) || element.parentNode;
}; }
Dropdown.dataApiKeydownHandler = function dataApiKeydownHandler(event) { static dataApiKeydownHandler(event) {
// If not input/textarea: // If not input/textarea:
// - And not a key in REGEXP_KEYDOWN => not a dropdown command // - And not a key in REGEXP_KEYDOWN => not a dropdown command
// If input/textarea: // If input/textarea:
@ -634,21 +588,19 @@
return; return;
} }
var parent = Dropdown.getParentFromElement(this); const parent = Dropdown.getParentFromElement(this);
var isActive = this.classList.contains(CLASS_NAME_SHOW); const isActive = this.classList.contains(CLASS_NAME_SHOW);
if (event.key === ESCAPE_KEY) { if (event.key === ESCAPE_KEY) {
var button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default['default'].prev(this, SELECTOR_DATA_TOGGLE)[0]; const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default['default'].prev(this, SELECTOR_DATA_TOGGLE)[0];
button.focus(); button.focus();
Dropdown.clearMenus(); Dropdown.clearMenus();
return; return;
} }
if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) { if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
var _button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default['default'].prev(this, SELECTOR_DATA_TOGGLE)[0]; const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default['default'].prev(this, SELECTOR_DATA_TOGGLE)[0];
button.click();
_button.click();
return; return;
} }
@ -657,13 +609,13 @@
return; return;
} }
var items = SelectorEngine__default['default'].find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible); const items = SelectorEngine__default['default'].find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);
if (!items.length) { if (!items.length) {
return; return;
} }
var index = items.indexOf(event.target); // Up let index = items.indexOf(event.target); // Up
if (event.key === ARROW_UP_KEY && index > 0) { if (event.key === ARROW_UP_KEY && index > 0) {
index--; index--;
@ -677,27 +629,9 @@
index = index === -1 ? 0 : index; index = index === -1 ? 0 : index;
items[index].focus(); items[index].focus();
}; }
_createClass(Dropdown, null, [{
key: "Default",
get: function get() {
return Default;
} }
}, {
key: "DefaultType",
get: function get() {
return DefaultType;
}
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]);
return Dropdown;
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
@ -711,11 +645,7 @@
EventHandler__default['default'].on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); EventHandler__default['default'].on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); Dropdown.dropdownInterface(this);
Dropdown.dropdownInterface(this, 'toggle');
});
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
return e.stopPropagation();
}); });
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------

File diff suppressed because one or more lines are too long

598
js/dist/modal.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap modal.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap modal.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -17,78 +17,28 @@
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var MILLISECONDS_MULTIPLIER = 1000; const MILLISECONDS_MULTIPLIER = 1000;
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var toType = function toType(obj) { const toType = obj => {
if (obj === null || obj === undefined) { if (obj === null || obj === undefined) {
return "" + obj; return `${obj}`;
} }
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
}; };
var getSelector = function getSelector(element) { const getSelector = element => {
var selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector, // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid. // `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273 // See https://github.com/twbs/bootstrap/issues/32273
@ -108,23 +58,23 @@
return selector; return selector;
}; };
var getElementFromSelector = function getElementFromSelector(element) { const getElementFromSelector = element => {
var selector = getSelector(element); const selector = getSelector(element);
return selector ? document.querySelector(selector) : null; return selector ? document.querySelector(selector) : null;
}; };
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) { const getTransitionDurationFromElement = element => {
if (!element) { if (!element) {
return 0; return 0;
} // Get transition-duration of the element } // Get transition-duration of the element
var _window$getComputedSt = window.getComputedStyle(element), let {
transitionDuration = _window$getComputedSt.transitionDuration, transitionDuration,
transitionDelay = _window$getComputedSt.transitionDelay; transitionDelay
} = window.getComputedStyle(element);
var floatTransitionDuration = Number.parseFloat(transitionDuration); const floatTransitionDuration = Number.parseFloat(transitionDuration);
var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration && !floatTransitionDelay) { if (!floatTransitionDuration && !floatTransitionDelay) {
return 0; return 0;
@ -136,18 +86,16 @@
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
}; };
var triggerTransitionEnd = function triggerTransitionEnd(element) { const triggerTransitionEnd = element => {
element.dispatchEvent(new Event(TRANSITION_END)); element.dispatchEvent(new Event(TRANSITION_END));
}; };
var isElement = function isElement(obj) { const isElement = obj => (obj[0] || obj).nodeType;
return (obj[0] || obj).nodeType;
};
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) { const emulateTransitionEnd = (element, duration) => {
var called = false; let called = false;
var durationPadding = 5; const durationPadding = 5;
var emulatedDuration = duration + durationPadding; const emulatedDuration = duration + durationPadding;
function listener() { function listener() {
called = true; called = true;
@ -155,46 +103,45 @@
} }
element.addEventListener(TRANSITION_END, listener); element.addEventListener(TRANSITION_END, listener);
setTimeout(function () { setTimeout(() => {
if (!called) { if (!called) {
triggerTransitionEnd(element); triggerTransitionEnd(element);
} }
}, emulatedDuration); }, emulatedDuration);
}; };
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) { const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(function (property) { Object.keys(configTypes).forEach(property => {
var expectedTypes = configTypes[property]; const expectedTypes = configTypes[property];
var value = config[property]; const value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value); const valueType = value && isElement(value) ? 'element' : toType(value);
if (!new RegExp(expectedTypes).test(valueType)) { if (!new RegExp(expectedTypes).test(valueType)) {
throw new TypeError(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); throw new TypeError(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`);
} }
}); });
}; };
var isVisible = function isVisible(element) { const isVisible = element => {
if (!element) { if (!element) {
return false; return false;
} }
if (element.style && element.parentNode && element.parentNode.style) { if (element.style && element.parentNode && element.parentNode.style) {
var elementStyle = getComputedStyle(element); const elementStyle = getComputedStyle(element);
var parentNodeStyle = getComputedStyle(element.parentNode); const parentNodeStyle = getComputedStyle(element.parentNode);
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden'; return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
} }
return false; return false;
}; };
var reflow = function reflow(element) { const reflow = element => element.offsetHeight;
return element.offsetHeight;
};
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -203,7 +150,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -211,19 +158,19 @@
} }
}; };
var isRTL = document.documentElement.dir === 'rtl'; const isRTL = () => document.documentElement.dir === 'rtl';
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(function () { onDOMContentLoaded(() => {
var $ = getjQuery(); const $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -231,96 +178,101 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'modal'; const NAME = 'modal';
var DATA_KEY = 'bs.modal'; const DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var DATA_API_KEY = '.data-api'; const DATA_API_KEY = '.data-api';
var ESCAPE_KEY = 'Escape'; const ESCAPE_KEY = 'Escape';
var Default = { const Default = {
backdrop: true, backdrop: true,
keyboard: true, keyboard: true,
focus: true focus: true
}; };
var DefaultType = { const DefaultType = {
backdrop: '(boolean|string)', backdrop: '(boolean|string)',
keyboard: 'boolean', keyboard: 'boolean',
focus: 'boolean' focus: 'boolean'
}; };
var EVENT_HIDE = "hide" + EVENT_KEY; const EVENT_HIDE = `hide${EVENT_KEY}`;
var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY; const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;
var EVENT_HIDDEN = "hidden" + EVENT_KEY; const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
var EVENT_SHOW = "show" + EVENT_KEY; const EVENT_SHOW = `show${EVENT_KEY}`;
var EVENT_SHOWN = "shown" + EVENT_KEY; const EVENT_SHOWN = `shown${EVENT_KEY}`;
var EVENT_FOCUSIN = "focusin" + EVENT_KEY; const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
var EVENT_RESIZE = "resize" + EVENT_KEY; const EVENT_RESIZE = `resize${EVENT_KEY}`;
var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY; const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY; const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;
var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY; const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`;
var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY; const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'; const CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
var CLASS_NAME_BACKDROP = 'modal-backdrop'; const CLASS_NAME_BACKDROP = 'modal-backdrop';
var CLASS_NAME_OPEN = 'modal-open'; const CLASS_NAME_OPEN = 'modal-open';
var CLASS_NAME_FADE = 'fade'; const CLASS_NAME_FADE = 'fade';
var CLASS_NAME_SHOW = 'show'; const CLASS_NAME_SHOW = 'show';
var CLASS_NAME_STATIC = 'modal-static'; const CLASS_NAME_STATIC = 'modal-static';
var SELECTOR_DIALOG = '.modal-dialog'; const SELECTOR_DIALOG = '.modal-dialog';
var SELECTOR_MODAL_BODY = '.modal-body'; const SELECTOR_MODAL_BODY = '.modal-body';
var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="modal"]'; const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="modal"]';
var SELECTOR_DATA_DISMISS = '[data-bs-dismiss="modal"]'; const SELECTOR_DATA_DISMISS = '[data-bs-dismiss="modal"]';
var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
var SELECTOR_STICKY_CONTENT = '.sticky-top'; const SELECTOR_STICKY_CONTENT = '.sticky-top';
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Modal = /*#__PURE__*/function (_BaseComponent) { class Modal extends BaseComponent__default['default'] {
_inheritsLoose(Modal, _BaseComponent); constructor(element, config) {
super(element);
function Modal(element, config) { this._config = this._getConfig(config);
var _this; this._dialog = SelectorEngine__default['default'].findOne(SELECTOR_DIALOG, this._element);
this._backdrop = null;
_this = _BaseComponent.call(this, element) || this; this._isShown = false;
_this._config = _this._getConfig(config); this._isBodyOverflowing = false;
_this._dialog = SelectorEngine__default['default'].findOne(SELECTOR_DIALOG, element); this._ignoreBackdropClick = false;
_this._backdrop = null; this._isTransitioning = false;
_this._isShown = false; this._scrollbarWidth = 0;
_this._isBodyOverflowing = false;
_this._ignoreBackdropClick = false;
_this._isTransitioning = false;
_this._scrollbarWidth = 0;
return _this;
} // Getters } // Getters
var _proto = Modal.prototype; static get Default() {
return Default;
}
// Public static get DATA_KEY() {
_proto.toggle = function toggle(relatedTarget) { return DATA_KEY;
} // Public
toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget); return this._isShown ? this.hide() : this.show(relatedTarget);
}; }
_proto.show = function show(relatedTarget) {
var _this2 = this;
show(relatedTarget) {
if (this._isShown || this._isTransitioning) { if (this._isShown || this._isTransitioning) {
return; return;
} }
if (this._element.classList.contains(CLASS_NAME_FADE)) { if (this._isAnimated()) {
this._isTransitioning = true; this._isTransitioning = true;
} }
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, { const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, {
relatedTarget: relatedTarget relatedTarget
}); });
if (this._isShown || showEvent.defaultPrevented) { if (this._isShown || showEvent.defaultPrevented) {
@ -339,25 +291,19 @@
this._setResizeEvent(); this._setResizeEvent();
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) { EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, event => this.hide(event));
return _this2.hide(event); EventHandler__default['default'].on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {
}); EventHandler__default['default'].one(this._element, EVENT_MOUSEUP_DISMISS, event => {
EventHandler__default['default'].on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () { if (event.target === this._element) {
EventHandler__default['default'].one(_this2._element, EVENT_MOUSEUP_DISMISS, function (event) { this._ignoreBackdropClick = true;
if (event.target === _this2._element) {
_this2._ignoreBackdropClick = true;
} }
}); });
}); });
this._showBackdrop(function () { this._showBackdrop(() => this._showElement(relatedTarget));
return _this2._showElement(relatedTarget); }
});
};
_proto.hide = function hide(event) {
var _this3 = this;
hide(event) {
if (event) { if (event) {
event.preventDefault(); event.preventDefault();
} }
@ -366,7 +312,7 @@
return; return;
} }
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE); const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
if (hideEvent.defaultPrevented) { if (hideEvent.defaultPrevented) {
return; return;
@ -374,9 +320,9 @@
this._isShown = false; this._isShown = false;
var transition = this._element.classList.contains(CLASS_NAME_FADE); const isAnimated = this._isAnimated();
if (transition) { if (isAnimated) {
this._isTransitioning = true; this._isTransitioning = true;
} }
@ -391,30 +337,24 @@
EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS); EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS);
EventHandler__default['default'].off(this._dialog, EVENT_MOUSEDOWN_DISMISS); EventHandler__default['default'].off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
if (transition) { if (isAnimated) {
var transitionDuration = getTransitionDurationFromElement(this._element); const transitionDuration = getTransitionDurationFromElement(this._element);
EventHandler__default['default'].one(this._element, 'transitionend', function (event) { EventHandler__default['default'].one(this._element, 'transitionend', event => this._hideModal(event));
return _this3._hideModal(event);
});
emulateTransitionEnd(this._element, transitionDuration); emulateTransitionEnd(this._element, transitionDuration);
} else { } else {
this._hideModal(); this._hideModal();
} }
}; }
_proto.dispose = function dispose() { dispose() {
[window, this._element, this._dialog].forEach(function (htmlElement) { [window, this._element, this._dialog].forEach(htmlElement => EventHandler__default['default'].off(htmlElement, EVENT_KEY));
return EventHandler__default['default'].off(htmlElement, EVENT_KEY); super.dispose();
});
_BaseComponent.prototype.dispose.call(this);
/** /**
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API` * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
* Do not move `document` in `htmlElements` array * Do not move `document` in `htmlElements` array
* It will remove `EVENT_CLICK_DATA_API` event that should remain * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/ */
EventHandler__default['default'].off(document, EVENT_FOCUSIN); EventHandler__default['default'].off(document, EVENT_FOCUSIN);
this._config = null; this._config = null;
this._dialog = null; this._dialog = null;
@ -424,25 +364,25 @@
this._ignoreBackdropClick = null; this._ignoreBackdropClick = null;
this._isTransitioning = null; this._isTransitioning = null;
this._scrollbarWidth = null; this._scrollbarWidth = null;
}; }
_proto.handleUpdate = function handleUpdate() { handleUpdate() {
this._adjustDialog(); this._adjustDialog();
} // Private } // Private
;
_proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config); _getConfig(config) {
config = { ...Default,
...config
};
typeCheckConfig(NAME, config, DefaultType); typeCheckConfig(NAME, config, DefaultType);
return config; return config;
}; }
_proto._showElement = function _showElement(relatedTarget) { _showElement(relatedTarget) {
var _this4 = this; const isAnimated = this._isAnimated();
var transition = this._element.classList.contains(CLASS_NAME_FADE); const modalBody = SelectorEngine__default['default'].findOne(SELECTOR_MODAL_BODY, this._dialog);
var modalBody = SelectorEngine__default['default'].findOne(SELECTOR_MODAL_BODY, this._dialog);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position // Don't move modal's DOM position
@ -463,7 +403,7 @@
modalBody.scrollTop = 0; modalBody.scrollTop = 0;
} }
if (transition) { if (isAnimated) {
reflow(this._element); reflow(this._element);
} }
@ -473,71 +413,60 @@
this._enforceFocus(); this._enforceFocus();
} }
var transitionComplete = function transitionComplete() { const transitionComplete = () => {
if (_this4._config.focus) { if (this._config.focus) {
_this4._element.focus(); this._element.focus();
} }
_this4._isTransitioning = false; this._isTransitioning = false;
EventHandler__default['default'].trigger(_this4._element, EVENT_SHOWN, { EventHandler__default['default'].trigger(this._element, EVENT_SHOWN, {
relatedTarget: relatedTarget relatedTarget
}); });
}; };
if (transition) { if (isAnimated) {
var transitionDuration = getTransitionDurationFromElement(this._dialog); const transitionDuration = getTransitionDurationFromElement(this._dialog);
EventHandler__default['default'].one(this._dialog, 'transitionend', transitionComplete); EventHandler__default['default'].one(this._dialog, 'transitionend', transitionComplete);
emulateTransitionEnd(this._dialog, transitionDuration); emulateTransitionEnd(this._dialog, transitionDuration);
} else { } else {
transitionComplete(); transitionComplete();
} }
}; }
_proto._enforceFocus = function _enforceFocus() {
var _this5 = this;
_enforceFocus() {
EventHandler__default['default'].off(document, EVENT_FOCUSIN); // guard against infinite focus loop EventHandler__default['default'].off(document, EVENT_FOCUSIN); // guard against infinite focus loop
EventHandler__default['default'].on(document, EVENT_FOCUSIN, function (event) { EventHandler__default['default'].on(document, EVENT_FOCUSIN, event => {
if (document !== event.target && _this5._element !== event.target && !_this5._element.contains(event.target)) { if (document !== event.target && this._element !== event.target && !this._element.contains(event.target)) {
_this5._element.focus(); this._element.focus();
} }
}); });
}; }
_proto._setEscapeEvent = function _setEscapeEvent() {
var _this6 = this;
_setEscapeEvent() {
if (this._isShown) { if (this._isShown) {
EventHandler__default['default'].on(this._element, EVENT_KEYDOWN_DISMISS, function (event) { EventHandler__default['default'].on(this._element, EVENT_KEYDOWN_DISMISS, event => {
if (_this6._config.keyboard && event.key === ESCAPE_KEY) { if (this._config.keyboard && event.key === ESCAPE_KEY) {
event.preventDefault(); event.preventDefault();
this.hide();
_this6.hide(); } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {
} else if (!_this6._config.keyboard && event.key === ESCAPE_KEY) { this._triggerBackdropTransition();
_this6._triggerBackdropTransition();
} }
}); });
} else { } else {
EventHandler__default['default'].off(this._element, EVENT_KEYDOWN_DISMISS); EventHandler__default['default'].off(this._element, EVENT_KEYDOWN_DISMISS);
} }
}; }
_proto._setResizeEvent = function _setResizeEvent() {
var _this7 = this;
_setResizeEvent() {
if (this._isShown) { if (this._isShown) {
EventHandler__default['default'].on(window, EVENT_RESIZE, function () { EventHandler__default['default'].on(window, EVENT_RESIZE, () => this._adjustDialog());
return _this7._adjustDialog();
});
} else { } else {
EventHandler__default['default'].off(window, EVENT_RESIZE); EventHandler__default['default'].off(window, EVENT_RESIZE);
} }
}; }
_proto._hideModal = function _hideModal() {
var _this8 = this;
_hideModal() {
this._element.style.display = 'none'; this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', true); this._element.setAttribute('aria-hidden', true);
@ -548,40 +477,38 @@
this._isTransitioning = false; this._isTransitioning = false;
this._showBackdrop(function () { this._showBackdrop(() => {
document.body.classList.remove(CLASS_NAME_OPEN); document.body.classList.remove(CLASS_NAME_OPEN);
_this8._resetAdjustments(); this._resetAdjustments();
_this8._resetScrollbar(); this._resetScrollbar();
EventHandler__default['default'].trigger(_this8._element, EVENT_HIDDEN); EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
}); });
}; }
_proto._removeBackdrop = function _removeBackdrop() { _removeBackdrop() {
this._backdrop.parentNode.removeChild(this._backdrop); this._backdrop.parentNode.removeChild(this._backdrop);
this._backdrop = null; this._backdrop = null;
}; }
_proto._showBackdrop = function _showBackdrop(callback) { _showBackdrop(callback) {
var _this9 = this; const isAnimated = this._isAnimated();
var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
if (this._isShown && this._config.backdrop) { if (this._isShown && this._config.backdrop) {
this._backdrop = document.createElement('div'); this._backdrop = document.createElement('div');
this._backdrop.className = CLASS_NAME_BACKDROP; this._backdrop.className = CLASS_NAME_BACKDROP;
if (animate) { if (isAnimated) {
this._backdrop.classList.add(animate); this._backdrop.classList.add(CLASS_NAME_FADE);
} }
document.body.appendChild(this._backdrop); document.body.appendChild(this._backdrop);
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, function (event) { EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, event => {
if (_this9._ignoreBackdropClick) { if (this._ignoreBackdropClick) {
_this9._ignoreBackdropClick = false; this._ignoreBackdropClick = false;
return; return;
} }
@ -589,59 +516,60 @@
return; return;
} }
if (_this9._config.backdrop === 'static') { if (this._config.backdrop === 'static') {
_this9._triggerBackdropTransition(); this._triggerBackdropTransition();
} else { } else {
_this9.hide(); this.hide();
} }
}); });
if (animate) { if (isAnimated) {
reflow(this._backdrop); reflow(this._backdrop);
} }
this._backdrop.classList.add(CLASS_NAME_SHOW); this._backdrop.classList.add(CLASS_NAME_SHOW);
if (!animate) { if (!isAnimated) {
callback(); callback();
return; return;
} }
var backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop); const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
EventHandler__default['default'].one(this._backdrop, 'transitionend', callback); EventHandler__default['default'].one(this._backdrop, 'transitionend', callback);
emulateTransitionEnd(this._backdrop, backdropTransitionDuration); emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) { } else if (!this._isShown && this._backdrop) {
this._backdrop.classList.remove(CLASS_NAME_SHOW); this._backdrop.classList.remove(CLASS_NAME_SHOW);
var callbackRemove = function callbackRemove() { const callbackRemove = () => {
_this9._removeBackdrop(); this._removeBackdrop();
callback(); callback();
}; };
if (this._element.classList.contains(CLASS_NAME_FADE)) { if (isAnimated) {
var _backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop); const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
EventHandler__default['default'].one(this._backdrop, 'transitionend', callbackRemove); EventHandler__default['default'].one(this._backdrop, 'transitionend', callbackRemove);
emulateTransitionEnd(this._backdrop, _backdropTransitionDuration); emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
} else { } else {
callbackRemove(); callbackRemove();
} }
} else { } else {
callback(); callback();
} }
}; }
_proto._triggerBackdropTransition = function _triggerBackdropTransition() { _isAnimated() {
var _this10 = this; return this._element.classList.contains(CLASS_NAME_FADE);
}
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE_PREVENTED); _triggerBackdropTransition() {
const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE_PREVENTED);
if (hideEvent.defaultPrevented) { if (hideEvent.defaultPrevented) {
return; return;
} }
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
if (!isModalOverflowing) { if (!isModalOverflowing) {
this._element.style.overflowY = 'hidden'; this._element.style.overflowY = 'hidden';
@ -649,16 +577,16 @@
this._element.classList.add(CLASS_NAME_STATIC); this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = getTransitionDurationFromElement(this._dialog); const modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
EventHandler__default['default'].off(this._element, 'transitionend'); EventHandler__default['default'].off(this._element, 'transitionend');
EventHandler__default['default'].one(this._element, 'transitionend', function () { EventHandler__default['default'].one(this._element, 'transitionend', () => {
_this10._element.classList.remove(CLASS_NAME_STATIC); this._element.classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) { if (!isModalOverflowing) {
EventHandler__default['default'].one(_this10._element, 'transitionend', function () { EventHandler__default['default'].one(this._element, 'transitionend', () => {
_this10._element.style.overflowY = ''; this._element.style.overflowY = '';
}); });
emulateTransitionEnd(_this10._element, modalTransitionDuration); emulateTransitionEnd(this._element, modalTransitionDuration);
} }
}); });
emulateTransitionEnd(this._element, modalTransitionDuration); emulateTransitionEnd(this._element, modalTransitionDuration);
@ -667,71 +595,67 @@
} // ---------------------------------------------------------------------- } // ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals // the following methods are used to handle overflowing modals
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
;
_proto._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
if (!this._isBodyOverflowing && isModalOverflowing && !isRTL || this._isBodyOverflowing && !isModalOverflowing && isRTL) { _adjustDialog() {
this._element.style.paddingLeft = this._scrollbarWidth + "px"; const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
if (!this._isBodyOverflowing && isModalOverflowing && !isRTL() || this._isBodyOverflowing && !isModalOverflowing && isRTL()) {
this._element.style.paddingLeft = `${this._scrollbarWidth}px`;
} }
if (this._isBodyOverflowing && !isModalOverflowing && !isRTL || !this._isBodyOverflowing && isModalOverflowing && isRTL) { if (this._isBodyOverflowing && !isModalOverflowing && !isRTL() || !this._isBodyOverflowing && isModalOverflowing && isRTL()) {
this._element.style.paddingRight = this._scrollbarWidth + "px"; this._element.style.paddingRight = `${this._scrollbarWidth}px`;
}
} }
};
_proto._resetAdjustments = function _resetAdjustments() { _resetAdjustments() {
this._element.style.paddingLeft = ''; this._element.style.paddingLeft = '';
this._element.style.paddingRight = ''; this._element.style.paddingRight = '';
}; }
_proto._checkScrollbar = function _checkScrollbar() { _checkScrollbar() {
var rect = document.body.getBoundingClientRect(); const rect = document.body.getBoundingClientRect();
this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth; this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth(); this._scrollbarWidth = this._getScrollbarWidth();
}; }
_proto._setScrollbar = function _setScrollbar() {
var _this11 = this;
_setScrollbar() {
if (this._isBodyOverflowing) { if (this._isBodyOverflowing) {
this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', function (calculatedValue) { this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth);
return calculatedValue + _this11._scrollbarWidth;
});
this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', function (calculatedValue) { this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - this._scrollbarWidth);
return calculatedValue - _this11._scrollbarWidth;
});
this._setElementAttributes('body', 'paddingRight', function (calculatedValue) { this._setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth);
return calculatedValue + _this11._scrollbarWidth;
});
} }
document.body.classList.add(CLASS_NAME_OPEN); document.body.classList.add(CLASS_NAME_OPEN);
}; }
_proto._setElementAttributes = function _setElementAttributes(selector, styleProp, callback) { _setElementAttributes(selector, styleProp, callback) {
SelectorEngine__default['default'].find(selector).forEach(function (element) { SelectorEngine__default['default'].find(selector).forEach(element => {
var actualValue = element.style[styleProp]; if (element !== document.body && window.innerWidth > element.clientWidth + this._scrollbarWidth) {
var calculatedValue = window.getComputedStyle(element)[styleProp]; return;
}
const actualValue = element.style[styleProp];
const calculatedValue = window.getComputedStyle(element)[styleProp];
Manipulator__default['default'].setDataAttribute(element, styleProp, actualValue); Manipulator__default['default'].setDataAttribute(element, styleProp, actualValue);
element.style[styleProp] = callback(Number.parseFloat(calculatedValue)) + 'px'; element.style[styleProp] = callback(Number.parseFloat(calculatedValue)) + 'px';
}); });
}; }
_proto._resetScrollbar = function _resetScrollbar() { _resetScrollbar() {
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight'); this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight'); this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
this._resetElementAttributes('body', 'paddingRight'); this._resetElementAttributes('body', 'paddingRight');
}; }
_proto._resetElementAttributes = function _resetElementAttributes(selector, styleProp) { _resetElementAttributes(selector, styleProp) {
SelectorEngine__default['default'].find(selector).forEach(function (element) { SelectorEngine__default['default'].find(selector).forEach(element => {
var value = Manipulator__default['default'].getDataAttribute(element, styleProp); const value = Manipulator__default['default'].getDataAttribute(element, styleProp);
if (typeof value === 'undefined' && element === document.body) { if (typeof value === 'undefined' && element === document.body) {
element.style[styleProp] = ''; element.style[styleProp] = '';
@ -740,24 +664,26 @@
element.style[styleProp] = value; element.style[styleProp] = value;
} }
}); });
}; }
_proto._getScrollbarWidth = function _getScrollbarWidth() { _getScrollbarWidth() {
// thx d.walsh // thx d.walsh
var scrollDiv = document.createElement('div'); const scrollDiv = document.createElement('div');
scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER; scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv); document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv); document.body.removeChild(scrollDiv);
return scrollbarWidth; return scrollbarWidth;
} // Static } // Static
;
Modal.jQueryInterface = function jQueryInterface(config, relatedTarget) {
static jQueryInterface(config, relatedTarget) {
return this.each(function () { return this.each(function () {
var data = Data__default['default'].getData(this, DATA_KEY); let data = Data__default['default'].get(this, DATA_KEY);
const _config = { ...Default,
var _config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(this), typeof config === 'object' && config ? config : {}); ...Manipulator__default['default'].getDataAttributes(this),
...(typeof config === 'object' && config ? config : {})
};
if (!data) { if (!data) {
data = new Modal(this, _config); data = new Modal(this, _config);
@ -765,28 +691,15 @@
if (typeof config === 'string') { if (typeof config === 'string') {
if (typeof data[config] === 'undefined') { if (typeof data[config] === 'undefined') {
throw new TypeError("No method named \"" + config + "\""); throw new TypeError(`No method named "${config}"`);
} }
data[config](relatedTarget); data[config](relatedTarget);
} }
}); });
};
_createClass(Modal, null, [{
key: "Default",
get: function get() {
return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]);
return Modal; }
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
@ -795,31 +708,30 @@
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
var _this12 = this; const target = getElementFromSelector(this);
var target = getElementFromSelector(this);
if (this.tagName === 'A' || this.tagName === 'AREA') { if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault(); event.preventDefault();
} }
EventHandler__default['default'].one(target, EVENT_SHOW, function (showEvent) { EventHandler__default['default'].one(target, EVENT_SHOW, showEvent => {
if (showEvent.defaultPrevented) { if (showEvent.defaultPrevented) {
// only register focus restorer if modal will actually get shown // only register focus restorer if modal will actually get shown
return; return;
} }
EventHandler__default['default'].one(target, EVENT_HIDDEN, function () { EventHandler__default['default'].one(target, EVENT_HIDDEN, () => {
if (isVisible(_this12)) { if (isVisible(this)) {
_this12.focus(); this.focus();
} }
}); });
}); });
var data = Data__default['default'].getData(target, DATA_KEY); let data = Data__default['default'].get(target, DATA_KEY);
if (!data) { if (!data) {
var config = _extends({}, Manipulator__default['default'].getDataAttributes(target), Manipulator__default['default'].getDataAttributes(this)); const config = { ...Manipulator__default['default'].getDataAttributes(target),
...Manipulator__default['default'].getDataAttributes(this)
};
data = new Modal(target, config); data = new Modal(target, config);
} }

File diff suppressed because one or more lines are too long

509
js/dist/offcanvas.js vendored Normal file
View File

@ -0,0 +1,509 @@
/*!
* Bootstrap offcanvas.js v5.0.0-beta3 (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';
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);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const MILLISECONDS_MULTIPLIER = 1000;
const toType = obj => {
if (obj === null || obj === undefined) {
return `${obj}`;
}
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
};
const getSelector = element => {
let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') {
let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273
if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {
return null;
} // Just in case some CMS puts out a full URL with the anchor appended
if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
hrefAttr = '#' + hrefAttr.split('#')[1];
}
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
}
return selector;
};
const getSelectorFromElement = element => {
const selector = getSelector(element);
if (selector) {
return document.querySelector(selector) ? selector : null;
}
return null;
};
const getElementFromSelector = element => {
const selector = getSelector(element);
return selector ? document.querySelector(selector) : null;
};
const getTransitionDurationFromElement = element => {
if (!element) {
return 0;
} // Get transition-duration of the element
let {
transitionDuration,
transitionDelay
} = window.getComputedStyle(element);
const floatTransitionDuration = Number.parseFloat(transitionDuration);
const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration && !floatTransitionDelay) {
return 0;
} // If multiple durations are defined, take the first
transitionDuration = transitionDuration.split(',')[0];
transitionDelay = transitionDelay.split(',')[0];
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
};
const isElement = obj => (obj[0] || obj).nodeType;
const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(property => {
const expectedTypes = configTypes[property];
const value = config[property];
const valueType = value && isElement(value) ? 'element' : toType(value);
if (!new RegExp(expectedTypes).test(valueType)) {
throw new TypeError(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`);
}
});
};
const isVisible = element => {
if (!element) {
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;
};
const isDisabled = element => {
if (!element || element.nodeType !== Node.ELEMENT_NODE) {
return true;
}
if (element.classList.contains('disabled')) {
return true;
}
if (typeof element.disabled !== 'undefined') {
return element.disabled;
}
return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
};
const getjQuery = () => {
const {
jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery;
}
return null;
};
const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
} else {
callback();
}
};
const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
const $ = getjQuery();
/* istanbul ignore if */
if ($) {
const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin;
$.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface;
};
}
});
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed';
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()) => {
document.body.style.overflow = 'hidden';
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width);
};
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;
}
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 = () => {
document.body.style.overflow = 'auto';
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
_resetElementAttributes('body', 'paddingRight');
};
const _resetElementAttributes = (selector, styleProp) => {
SelectorEngine__default['default'].find(selector).forEach(element => {
const value = Manipulator__default['default'].getDataAttribute(element, styleProp);
if (typeof value === 'undefined' && element === document.body) {
element.style.removeProperty(styleProp);
} else {
Manipulator__default['default'].removeDataAttribute(element, styleProp);
element.style[styleProp] = value;
}
});
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const NAME = 'offcanvas';
const DATA_KEY = 'bs.offcanvas';
const EVENT_KEY = `.${DATA_KEY}`;
const DATA_API_KEY = '.data-api';
const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;
const ESCAPE_KEY = 'Escape';
const Default = {
backdrop: true,
keyboard: true,
scroll: false
};
const DefaultType = {
backdrop: 'boolean',
keyboard: 'boolean',
scroll: 'boolean'
};
const CLASS_NAME_BACKDROP_BODY = 'offcanvas-backdrop';
const CLASS_NAME_SHOW = 'show';
const CLASS_NAME_TOGGLING = 'offcanvas-toggling';
const OPEN_SELECTOR = '.offcanvas.show';
const ACTIVE_SELECTOR = `${OPEN_SELECTOR}, .${CLASS_NAME_TOGGLING}`;
const EVENT_SHOW = `show${EVENT_KEY}`;
const EVENT_SHOWN = `shown${EVENT_KEY}`;
const EVENT_HIDE = `hide${EVENT_KEY}`;
const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
const SELECTOR_DATA_DISMISS = '[data-bs-dismiss="offcanvas"]';
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="offcanvas"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
class Offcanvas extends BaseComponent__default['default'] {
constructor(element, config) {
super(element);
this._config = this._getConfig(config);
this._isShown = false;
this._addEventListeners();
} // Getters
static get Default() {
return Default;
}
static get DATA_KEY() {
return DATA_KEY;
} // Public
toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
}
show(relatedTarget) {
if (this._isShown) {
return;
}
const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, {
relatedTarget
});
if (showEvent.defaultPrevented) {
return;
}
this._isShown = true;
this._element.style.visibility = 'visible';
if (this._config.backdrop) {
document.body.classList.add(CLASS_NAME_BACKDROP_BODY);
}
if (!this._config.scroll) {
hide();
}
this._element.classList.add(CLASS_NAME_TOGGLING);
this._element.removeAttribute('aria-hidden');
this._element.setAttribute('aria-modal', true);
this._element.setAttribute('role', 'dialog');
this._element.classList.add(CLASS_NAME_SHOW);
const completeCallBack = () => {
this._element.classList.remove(CLASS_NAME_TOGGLING);
EventHandler__default['default'].trigger(this._element, EVENT_SHOWN, {
relatedTarget
});
this._enforceFocusOnElement(this._element);
};
setTimeout(completeCallBack, getTransitionDurationFromElement(this._element));
}
hide() {
if (!this._isShown) {
return;
}
const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
if (hideEvent.defaultPrevented) {
return;
}
this._element.classList.add(CLASS_NAME_TOGGLING);
EventHandler__default['default'].off(document, EVENT_FOCUSIN);
this._element.blur();
this._isShown = false;
this._element.classList.remove(CLASS_NAME_SHOW);
const completeCallback = () => {
this._element.setAttribute('aria-hidden', true);
this._element.removeAttribute('aria-modal');
this._element.removeAttribute('role');
this._element.style.visibility = 'hidden';
if (this._config.backdrop) {
document.body.classList.remove(CLASS_NAME_BACKDROP_BODY);
}
if (!this._config.scroll) {
reset();
}
EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
this._element.classList.remove(CLASS_NAME_TOGGLING);
};
setTimeout(completeCallback, getTransitionDurationFromElement(this._element));
} // Private
_getConfig(config) {
config = { ...Default,
...Manipulator__default['default'].getDataAttributes(this._element),
...(typeof config === 'object' ? config : {})
};
typeCheckConfig(NAME, config, DefaultType);
return config;
}
_enforceFocusOnElement(element) {
EventHandler__default['default'].off(document, EVENT_FOCUSIN); // guard against infinite focus loop
EventHandler__default['default'].on(document, EVENT_FOCUSIN, event => {
if (document !== event.target && element !== event.target && !element.contains(event.target)) {
element.focus();
}
});
element.focus();
}
_addEventListeners() {
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());
EventHandler__default['default'].on(document, 'keydown', event => {
if (this._config.keyboard && event.key === ESCAPE_KEY) {
this.hide();
}
});
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, event => {
const target = SelectorEngine__default['default'].findOne(getSelectorFromElement(event.target));
if (!this._element.contains(event.target) && target !== this._element) {
this.hide();
}
});
} // Static
static jQueryInterface(config) {
return this.each(function () {
const data = Data__default['default'].get(this, DATA_KEY) || new Offcanvas(this, typeof config === 'object' ? config : {});
if (typeof config !== 'string') {
return;
}
if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
throw new TypeError(`No method named "${config}"`);
}
data[config](this);
});
}
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
const target = getElementFromSelector(this);
if (['A', 'AREA'].includes(this.tagName)) {
event.preventDefault();
}
if (isDisabled(this)) {
return;
}
EventHandler__default['default'].one(target, EVENT_HIDDEN, () => {
// focus on trigger when it is closed
if (isVisible(this)) {
this.focus();
}
}); // avoid conflict when clicking a toggler of an offcanvas, while another is open
const allReadyOpen = SelectorEngine__default['default'].findOne(ACTIVE_SELECTOR);
if (allReadyOpen && allReadyOpen !== target) {
return;
}
const data = Data__default['default'].get(target, DATA_KEY) || new Offcanvas(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());
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
defineJQueryPlugin(NAME, Offcanvas);
return Offcanvas;
})));
//# sourceMappingURL=offcanvas.js.map

1
js/dist/offcanvas.js.map vendored Normal file

File diff suppressed because one or more lines are too long

247
js/dist/popover.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap popover.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap popover.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -15,66 +15,17 @@
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip); var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -83,7 +34,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -91,19 +42,17 @@
} }
}; };
document.documentElement.dir === 'rtl'; const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const $ = getjQuery();
onDOMContentLoaded(function () {
var $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -111,72 +60,92 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'popover'; const NAME = 'popover';
var DATA_KEY = 'bs.popover'; const DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var CLASS_PREFIX = 'bs-popover'; const CLASS_PREFIX = 'bs-popover';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g');
const Default = { ...Tooltip__default['default'].Default,
var Default = _extends({}, Tooltip__default['default'].Default, {
placement: 'right', placement: 'right',
offset: [0, 8], offset: [0, 8],
trigger: 'click', trigger: 'click',
content: '', content: '',
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>' template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
});
var DefaultType = _extends({}, Tooltip__default['default'].DefaultType, {
content: '(string|element|function)'
});
var Event = {
HIDE: "hide" + EVENT_KEY,
HIDDEN: "hidden" + EVENT_KEY,
SHOW: "show" + EVENT_KEY,
SHOWN: "shown" + EVENT_KEY,
INSERTED: "inserted" + EVENT_KEY,
CLICK: "click" + EVENT_KEY,
FOCUSIN: "focusin" + EVENT_KEY,
FOCUSOUT: "focusout" + EVENT_KEY,
MOUSEENTER: "mouseenter" + EVENT_KEY,
MOUSELEAVE: "mouseleave" + EVENT_KEY
}; };
var CLASS_NAME_FADE = 'fade'; const DefaultType = { ...Tooltip__default['default'].DefaultType,
var CLASS_NAME_SHOW = 'show'; content: '(string|element|function)'
var SELECTOR_TITLE = '.popover-header'; };
var SELECTOR_CONTENT = '.popover-body'; const Event = {
HIDE: `hide${EVENT_KEY}`,
HIDDEN: `hidden${EVENT_KEY}`,
SHOW: `show${EVENT_KEY}`,
SHOWN: `shown${EVENT_KEY}`,
INSERTED: `inserted${EVENT_KEY}`,
CLICK: `click${EVENT_KEY}`,
FOCUSIN: `focusin${EVENT_KEY}`,
FOCUSOUT: `focusout${EVENT_KEY}`,
MOUSEENTER: `mouseenter${EVENT_KEY}`,
MOUSELEAVE: `mouseleave${EVENT_KEY}`
};
const CLASS_NAME_FADE = 'fade';
const CLASS_NAME_SHOW = 'show';
const SELECTOR_TITLE = '.popover-header';
const SELECTOR_CONTENT = '.popover-body';
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Popover = /*#__PURE__*/function (_Tooltip) { class Popover extends Tooltip__default['default'] {
_inheritsLoose(Popover, _Tooltip); // Getters
static get Default() {
function Popover() { return Default;
return _Tooltip.apply(this, arguments) || this;
} }
var _proto = Popover.prototype; static get NAME() {
return NAME;
}
// Overrides static get DATA_KEY() {
_proto.isWithContent = function isWithContent() { return DATA_KEY;
}
static get Event() {
return Event;
}
static get EVENT_KEY() {
return EVENT_KEY;
}
static get DefaultType() {
return DefaultType;
} // Overrides
isWithContent() {
return this.getTitle() || this._getContent(); return this.getTitle() || this._getContent();
}; }
_proto.setContent = function setContent() { setContent() {
var tip = this.getTipElement(); // we use append for html objects to maintain js events const tip = this.getTipElement(); // we use append for html objects to maintain js events
this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_TITLE, tip), this.getTitle()); this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_TITLE, tip), this.getTitle());
var content = this._getContent(); let content = this._getContent();
if (typeof content === 'function') { if (typeof content === 'function') {
content = content.call(this._element); content = content.call(this._element);
@ -185,35 +154,31 @@
this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, tip), content); this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, tip), content);
tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW); tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);
} // Private } // Private
;
_proto._addAttachmentClass = function _addAttachmentClass(attachment) {
this.getTipElement().classList.add(CLASS_PREFIX + "-" + this.updateAttachment(attachment));
};
_proto._getContent = function _getContent() { _addAttachmentClass(attachment) {
this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`);
}
_getContent() {
return this._element.getAttribute('data-bs-content') || this.config.content; return this._element.getAttribute('data-bs-content') || this.config.content;
}; }
_proto._cleanTipClass = function _cleanTipClass() { _cleanTipClass() {
var tip = this.getTipElement(); const tip = this.getTipElement();
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX); const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
if (tabClass !== null && tabClass.length > 0) { if (tabClass !== null && tabClass.length > 0) {
tabClass.map(function (token) { tabClass.map(token => token.trim()).forEach(tClass => tip.classList.remove(tClass));
return token.trim();
}).forEach(function (tClass) {
return tip.classList.remove(tClass);
});
} }
} // Static } // Static
;
Popover.jQueryInterface = function jQueryInterface(config) {
static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
var data = Data__default['default'].getData(this, DATA_KEY); let data = Data__default['default'].get(this, DATA_KEY);
var _config = typeof config === 'object' ? config : null; const _config = typeof config === 'object' ? config : null;
if (!data && /dispose|hide/.test(config)) { if (!data && /dispose|hide/.test(config)) {
return; return;
@ -221,54 +186,20 @@
if (!data) { if (!data) {
data = new Popover(this, _config); data = new Popover(this, _config);
Data__default['default'].setData(this, DATA_KEY, data); Data__default['default'].set(this, DATA_KEY, data);
} }
if (typeof config === 'string') { if (typeof config === 'string') {
if (typeof data[config] === 'undefined') { if (typeof data[config] === 'undefined') {
throw new TypeError("No method named \"" + config + "\""); throw new TypeError(`No method named "${config}"`);
} }
data[config](); data[config]();
} }
}); });
}; }
_createClass(Popover, null, [{
key: "Default",
get: // Getters
function get() {
return Default;
} }
}, {
key: "NAME",
get: function get() {
return NAME;
}
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}, {
key: "Event",
get: function get() {
return Event;
}
}, {
key: "EVENT_KEY",
get: function get() {
return EVENT_KEY;
}
}, {
key: "DefaultType",
get: function get() {
return DefaultType;
}
}]);
return Popover;
}(Tooltip__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* jQuery * jQuery

File diff suppressed because one or more lines are too long

340
js/dist/scrollspy.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap scrollspy.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap scrollspy.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -17,67 +17,17 @@
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var MAX_UID = 1000000; const MAX_UID = 1000000;
var toType = function toType(obj) { const toType = obj => {
if (obj === null || obj === undefined) { if (obj === null || obj === undefined) {
return "" + obj; return `${obj}`;
} }
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
@ -89,7 +39,7 @@
*/ */
var getUID = function getUID(prefix) { const getUID = prefix => {
do { do {
prefix += Math.floor(Math.random() * MAX_UID); prefix += Math.floor(Math.random() * MAX_UID);
} while (document.getElementById(prefix)); } while (document.getElementById(prefix));
@ -97,11 +47,11 @@
return prefix; return prefix;
}; };
var getSelector = function getSelector(element) { const getSelector = element => {
var selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector, // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid. // `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273 // See https://github.com/twbs/bootstrap/issues/32273
@ -121,8 +71,8 @@
return selector; return selector;
}; };
var getSelectorFromElement = function getSelectorFromElement(element) { const getSelectorFromElement = element => {
var selector = getSelector(element); const selector = getSelector(element);
if (selector) { if (selector) {
return document.querySelector(selector) ? selector : null; return document.querySelector(selector) ? selector : null;
@ -131,25 +81,24 @@
return null; return null;
}; };
var isElement = function isElement(obj) { const isElement = obj => (obj[0] || obj).nodeType;
return (obj[0] || obj).nodeType;
};
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) { const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(function (property) { Object.keys(configTypes).forEach(property => {
var expectedTypes = configTypes[property]; const expectedTypes = configTypes[property];
var value = config[property]; const value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value); const valueType = value && isElement(value) ? 'element' : toType(value);
if (!new RegExp(expectedTypes).test(valueType)) { if (!new RegExp(expectedTypes).test(valueType)) {
throw new TypeError(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); throw new TypeError(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`);
} }
}); });
}; };
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -158,7 +107,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -166,19 +115,17 @@
} }
}; };
document.documentElement.dir === 'rtl'; const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const $ = getjQuery();
onDOMContentLoaded(function () {
var $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -186,91 +133,92 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'scrollspy'; const NAME = 'scrollspy';
var DATA_KEY = 'bs.scrollspy'; const DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var DATA_API_KEY = '.data-api'; const DATA_API_KEY = '.data-api';
var Default = { const Default = {
offset: 10, offset: 10,
method: 'auto', method: 'auto',
target: '' target: ''
}; };
var DefaultType = { const DefaultType = {
offset: 'number', offset: 'number',
method: 'string', method: 'string',
target: '(string|element)' target: '(string|element)'
}; };
var EVENT_ACTIVATE = "activate" + EVENT_KEY; const EVENT_ACTIVATE = `activate${EVENT_KEY}`;
var EVENT_SCROLL = "scroll" + EVENT_KEY; const EVENT_SCROLL = `scroll${EVENT_KEY}`;
var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY; const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;
var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
var CLASS_NAME_ACTIVE = 'active'; const CLASS_NAME_ACTIVE = 'active';
var SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
var SELECTOR_NAV_LINKS = '.nav-link'; const SELECTOR_NAV_LINKS = '.nav-link';
var SELECTOR_NAV_ITEMS = '.nav-item'; const SELECTOR_NAV_ITEMS = '.nav-item';
var SELECTOR_LIST_ITEMS = '.list-group-item'; const SELECTOR_LIST_ITEMS = '.list-group-item';
var SELECTOR_DROPDOWN = '.dropdown'; const SELECTOR_DROPDOWN = '.dropdown';
var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
var METHOD_OFFSET = 'offset'; const METHOD_OFFSET = 'offset';
var METHOD_POSITION = 'position'; const METHOD_POSITION = 'position';
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var ScrollSpy = /*#__PURE__*/function (_BaseComponent) { class ScrollSpy extends BaseComponent__default['default'] {
_inheritsLoose(ScrollSpy, _BaseComponent); constructor(element, config) {
super(element);
this._scrollElement = this._element.tagName === 'BODY' ? window : this._element;
this._config = this._getConfig(config);
this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`;
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
EventHandler__default['default'].on(this._scrollElement, EVENT_SCROLL, () => this._process());
this.refresh();
function ScrollSpy(element, config) { this._process();
var _this;
_this = _BaseComponent.call(this, element) || this;
_this._scrollElement = element.tagName === 'BODY' ? window : element;
_this._config = _this._getConfig(config);
_this._selector = _this._config.target + " " + SELECTOR_NAV_LINKS + ", " + _this._config.target + " " + SELECTOR_LIST_ITEMS + ", " + _this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM;
_this._offsets = [];
_this._targets = [];
_this._activeTarget = null;
_this._scrollHeight = 0;
EventHandler__default['default'].on(_this._scrollElement, EVENT_SCROLL, function () {
return _this._process();
});
_this.refresh();
_this._process();
return _this;
} // Getters } // Getters
var _proto = ScrollSpy.prototype; static get Default() {
return Default;
}
// Public static get DATA_KEY() {
_proto.refresh = function refresh() { return DATA_KEY;
var _this2 = this; } // Public
var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; refresh() {
var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0; const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
this._offsets = []; this._offsets = [];
this._targets = []; this._targets = [];
this._scrollHeight = this._getScrollHeight(); this._scrollHeight = this._getScrollHeight();
var targets = SelectorEngine__default['default'].find(this._selector); const targets = SelectorEngine__default['default'].find(this._selector);
targets.map(function (element) { targets.map(element => {
var targetSelector = getSelectorFromElement(element); const targetSelector = getSelectorFromElement(element);
var target = targetSelector ? SelectorEngine__default['default'].findOne(targetSelector) : null; const target = targetSelector ? SelectorEngine__default['default'].findOne(targetSelector) : null;
if (target) { if (target) {
var targetBCR = target.getBoundingClientRect(); const targetBCR = target.getBoundingClientRect();
if (targetBCR.width || targetBCR.height) { if (targetBCR.width || targetBCR.height) {
return [Manipulator__default['default'][offsetMethod](target).top + offsetBase, targetSelector]; return [Manipulator__default['default'][offsetMethod](target).top + offsetBase, targetSelector];
@ -278,20 +226,15 @@
} }
return null; return null;
}).filter(function (item) { }).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => {
return item; this._offsets.push(item[0]);
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
_this2._offsets.push(item[0]);
_this2._targets.push(item[1]); this._targets.push(item[1]);
}); });
}; }
_proto.dispose = function dispose() {
_BaseComponent.prototype.dispose.call(this);
dispose() {
super.dispose();
EventHandler__default['default'].off(this._scrollElement, EVENT_KEY); EventHandler__default['default'].off(this._scrollElement, EVENT_KEY);
this._scrollElement = null; this._scrollElement = null;
this._config = null; this._config = null;
@ -301,51 +244,55 @@
this._activeTarget = null; this._activeTarget = null;
this._scrollHeight = null; this._scrollHeight = null;
} // Private } // Private
;
_proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, typeof config === 'object' && config ? config : {}); _getConfig(config) {
config = { ...Default,
...(typeof config === 'object' && config ? config : {})
};
if (typeof config.target !== 'string' && isElement(config.target)) { if (typeof config.target !== 'string' && isElement(config.target)) {
var id = config.target.id; let {
id
} = config.target;
if (!id) { if (!id) {
id = getUID(NAME); id = getUID(NAME);
config.target.id = id; config.target.id = id;
} }
config.target = "#" + id; config.target = `#${id}`;
} }
typeCheckConfig(NAME, config, DefaultType); typeCheckConfig(NAME, config, DefaultType);
return config; return config;
}; }
_proto._getScrollTop = function _getScrollTop() { _getScrollTop() {
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
}; }
_proto._getScrollHeight = function _getScrollHeight() { _getScrollHeight() {
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
}; }
_proto._getOffsetHeight = function _getOffsetHeight() { _getOffsetHeight() {
return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
}; }
_proto._process = function _process() { _process() {
var scrollTop = this._getScrollTop() + this._config.offset; const scrollTop = this._getScrollTop() + this._config.offset;
var scrollHeight = this._getScrollHeight(); const scrollHeight = this._getScrollHeight();
var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
if (this._scrollHeight !== scrollHeight) { if (this._scrollHeight !== scrollHeight) {
this.refresh(); this.refresh();
} }
if (scrollTop >= maxScroll) { if (scrollTop >= maxScroll) {
var target = this._targets[this._targets.length - 1]; const target = this._targets[this._targets.length - 1];
if (this._activeTarget !== target) { if (this._activeTarget !== target) {
this._activate(target); this._activate(target);
@ -362,25 +309,23 @@
return; return;
} }
for (var i = this._offsets.length; i--;) { for (let i = this._offsets.length; i--;) {
var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
if (isActiveTarget) { if (isActiveTarget) {
this._activate(this._targets[i]); this._activate(this._targets[i]);
} }
} }
}; }
_proto._activate = function _activate(target) { _activate(target) {
this._activeTarget = target; this._activeTarget = target;
this._clear(); this._clear();
var queries = this._selector.split(',').map(function (selector) { const queries = this._selector.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`);
return selector + "[data-bs-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
});
var link = SelectorEngine__default['default'].findOne(queries.join(',')); const link = SelectorEngine__default['default'].findOne(queries.join(','));
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE); SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE);
@ -388,17 +333,13 @@
} else { } else {
// Set triggered link as active // Set triggered link as active
link.classList.add(CLASS_NAME_ACTIVE); link.classList.add(CLASS_NAME_ACTIVE);
SelectorEngine__default['default'].parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) { SelectorEngine__default['default'].parents(link, SELECTOR_NAV_LIST_GROUP).forEach(listGroup => {
// Set triggered links parents as active // Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) { SelectorEngine__default['default'].prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item => item.classList.add(CLASS_NAME_ACTIVE)); // Handle special case when .nav-link is inside .nav-item
return item.classList.add(CLASS_NAME_ACTIVE);
}); // Handle special case when .nav-link is inside .nav-item
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) { SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem => {
SelectorEngine__default['default'].children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) { SelectorEngine__default['default'].children(navItem, SELECTOR_NAV_LINKS).forEach(item => item.classList.add(CLASS_NAME_ACTIVE));
return item.classList.add(CLASS_NAME_ACTIVE);
});
}); });
}); });
} }
@ -406,22 +347,18 @@
EventHandler__default['default'].trigger(this._scrollElement, EVENT_ACTIVATE, { EventHandler__default['default'].trigger(this._scrollElement, EVENT_ACTIVATE, {
relatedTarget: target relatedTarget: target
}); });
}; }
_proto._clear = function _clear() { _clear() {
SelectorEngine__default['default'].find(this._selector).filter(function (node) { SelectorEngine__default['default'].find(this._selector).filter(node => node.classList.contains(CLASS_NAME_ACTIVE)).forEach(node => node.classList.remove(CLASS_NAME_ACTIVE));
return node.classList.contains(CLASS_NAME_ACTIVE);
}).forEach(function (node) {
return node.classList.remove(CLASS_NAME_ACTIVE);
});
} // Static } // Static
;
ScrollSpy.jQueryInterface = function jQueryInterface(config) {
static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
var data = Data__default['default'].getData(this, DATA_KEY); let data = Data__default['default'].get(this, DATA_KEY);
var _config = typeof config === 'object' && config; const _config = typeof config === 'object' && config;
if (!data) { if (!data) {
data = new ScrollSpy(this, _config); data = new ScrollSpy(this, _config);
@ -429,28 +366,15 @@
if (typeof config === 'string') { if (typeof config === 'string') {
if (typeof data[config] === 'undefined') { if (typeof data[config] === 'undefined') {
throw new TypeError("No method named \"" + config + "\""); throw new TypeError(`No method named "${config}"`);
} }
data[config](); data[config]();
} }
}); });
};
_createClass(ScrollSpy, null, [{
key: "Default",
get: function get() {
return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]);
return ScrollSpy; }
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
@ -458,10 +382,8 @@
*/ */
EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API, function () { EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API, () => {
SelectorEngine__default['default'].find(SELECTOR_DATA_SPY).forEach(function (spy) { SelectorEngine__default['default'].find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy, Manipulator__default['default'].getDataAttributes(spy)));
return new ScrollSpy(spy, Manipulator__default['default'].getDataAttributes(spy));
});
}); });
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------

File diff suppressed because one or more lines are too long

248
js/dist/tab.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap tab.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap tab.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -16,52 +16,20 @@
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var MILLISECONDS_MULTIPLIER = 1000; const MILLISECONDS_MULTIPLIER = 1000;
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var getSelector = function getSelector(element) { const getSelector = element => {
var selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector, // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid. // `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273 // See https://github.com/twbs/bootstrap/issues/32273
@ -81,23 +49,23 @@
return selector; return selector;
}; };
var getElementFromSelector = function getElementFromSelector(element) { const getElementFromSelector = element => {
var selector = getSelector(element); const selector = getSelector(element);
return selector ? document.querySelector(selector) : null; return selector ? document.querySelector(selector) : null;
}; };
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) { const getTransitionDurationFromElement = element => {
if (!element) { if (!element) {
return 0; return 0;
} // Get transition-duration of the element } // Get transition-duration of the element
var _window$getComputedSt = window.getComputedStyle(element), let {
transitionDuration = _window$getComputedSt.transitionDuration, transitionDuration,
transitionDelay = _window$getComputedSt.transitionDelay; transitionDelay
} = window.getComputedStyle(element);
var floatTransitionDuration = Number.parseFloat(transitionDuration); const floatTransitionDuration = Number.parseFloat(transitionDuration);
var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration && !floatTransitionDelay) { if (!floatTransitionDuration && !floatTransitionDelay) {
return 0; return 0;
@ -109,14 +77,14 @@
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
}; };
var triggerTransitionEnd = function triggerTransitionEnd(element) { const triggerTransitionEnd = element => {
element.dispatchEvent(new Event(TRANSITION_END)); element.dispatchEvent(new Event(TRANSITION_END));
}; };
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) { const emulateTransitionEnd = (element, duration) => {
var called = false; let called = false;
var durationPadding = 5; const durationPadding = 5;
var emulatedDuration = duration + durationPadding; const emulatedDuration = duration + durationPadding;
function listener() { function listener() {
called = true; called = true;
@ -124,20 +92,35 @@
} }
element.addEventListener(TRANSITION_END, listener); element.addEventListener(TRANSITION_END, listener);
setTimeout(function () { setTimeout(() => {
if (!called) { if (!called) {
triggerTransitionEnd(element); triggerTransitionEnd(element);
} }
}, emulatedDuration); }, emulatedDuration);
}; };
var reflow = function reflow(element) { const isDisabled = element => {
return element.offsetHeight; if (!element || element.nodeType !== Node.ELEMENT_NODE) {
return true;
}
if (element.classList.contains('disabled')) {
return true;
}
if (typeof element.disabled !== 'undefined') {
return element.disabled;
}
return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
}; };
var getjQuery = function getjQuery() { const reflow = element => element.offsetHeight;
var _window = window,
jQuery = _window.jQuery; const getjQuery = () => {
const {
jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -146,7 +129,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -154,19 +137,17 @@
} }
}; };
document.documentElement.dir === 'rtl'; const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const $ = getjQuery();
onDOMContentLoaded(function () {
var $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -174,71 +155,71 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tab'; const NAME = 'tab';
var DATA_KEY = 'bs.tab'; const DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var DATA_API_KEY = '.data-api'; const DATA_API_KEY = '.data-api';
var EVENT_HIDE = "hide" + EVENT_KEY; const EVENT_HIDE = `hide${EVENT_KEY}`;
var EVENT_HIDDEN = "hidden" + EVENT_KEY; const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
var EVENT_SHOW = "show" + EVENT_KEY; const EVENT_SHOW = `show${EVENT_KEY}`;
var EVENT_SHOWN = "shown" + EVENT_KEY; const EVENT_SHOWN = `shown${EVENT_KEY}`;
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'; const CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
var CLASS_NAME_ACTIVE = 'active'; const CLASS_NAME_ACTIVE = 'active';
var CLASS_NAME_DISABLED = 'disabled'; const CLASS_NAME_FADE = 'fade';
var CLASS_NAME_FADE = 'fade'; const CLASS_NAME_SHOW = 'show';
var CLASS_NAME_SHOW = 'show'; const SELECTOR_DROPDOWN = '.dropdown';
var SELECTOR_DROPDOWN = '.dropdown'; const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; const SELECTOR_ACTIVE = '.active';
var SELECTOR_ACTIVE = '.active'; const SELECTOR_ACTIVE_UL = ':scope > li > .active';
var SELECTOR_ACTIVE_UL = ':scope > li > .active'; const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]';
var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; const SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Tab = /*#__PURE__*/function (_BaseComponent) { class Tab extends BaseComponent__default['default'] {
_inheritsLoose(Tab, _BaseComponent); // Getters
static get DATA_KEY() {
return DATA_KEY;
} // Public
function Tab() {
return _BaseComponent.apply(this, arguments) || this;
}
var _proto = Tab.prototype; show() {
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE) || isDisabled(this._element)) {
// Public
_proto.show = function show() {
var _this = this;
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE) || this._element.classList.contains(CLASS_NAME_DISABLED)) {
return; return;
} }
var previous; let previous;
var target = getElementFromSelector(this._element); const target = getElementFromSelector(this._element);
var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP); const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);
if (listElement) { if (listElement) {
var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE; const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
previous = SelectorEngine__default['default'].find(itemSelector, listElement); previous = SelectorEngine__default['default'].find(itemSelector, listElement);
previous = previous[previous.length - 1]; previous = previous[previous.length - 1];
} }
var hideEvent = previous ? EventHandler__default['default'].trigger(previous, EVENT_HIDE, { const hideEvent = previous ? EventHandler__default['default'].trigger(previous, EVENT_HIDE, {
relatedTarget: this._element relatedTarget: this._element
}) : null; }) : null;
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, { const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, {
relatedTarget: previous relatedTarget: previous
}); });
@ -248,11 +229,11 @@
this._activate(this._element, listElement); this._activate(this._element, listElement);
var complete = function complete() { const complete = () => {
EventHandler__default['default'].trigger(previous, EVENT_HIDDEN, { EventHandler__default['default'].trigger(previous, EVENT_HIDDEN, {
relatedTarget: _this._element relatedTarget: this._element
}); });
EventHandler__default['default'].trigger(_this._element, EVENT_SHOWN, { EventHandler__default['default'].trigger(this._element, EVENT_SHOWN, {
relatedTarget: previous relatedTarget: previous
}); });
}; };
@ -263,33 +244,29 @@
complete(); complete();
} }
} // Private } // Private
;
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine__default['default'].find(SELECTOR_ACTIVE_UL, container) : SelectorEngine__default['default'].children(container, SELECTOR_ACTIVE); _activate(element, container, callback) {
var active = activeElements[0]; const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine__default['default'].find(SELECTOR_ACTIVE_UL, container) : SelectorEngine__default['default'].children(container, SELECTOR_ACTIVE);
var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE); const active = activeElements[0];
const isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE);
var complete = function complete() { const complete = () => this._transitionComplete(element, active, callback);
return _this2._transitionComplete(element, active, callback);
};
if (active && isTransitioning) { if (active && isTransitioning) {
var transitionDuration = getTransitionDurationFromElement(active); const transitionDuration = getTransitionDurationFromElement(active);
active.classList.remove(CLASS_NAME_SHOW); active.classList.remove(CLASS_NAME_SHOW);
EventHandler__default['default'].one(active, 'transitionend', complete); EventHandler__default['default'].one(active, 'transitionend', complete);
emulateTransitionEnd(active, transitionDuration); emulateTransitionEnd(active, transitionDuration);
} else { } else {
complete(); complete();
} }
}; }
_proto._transitionComplete = function _transitionComplete(element, active, callback) { _transitionComplete(element, active, callback) {
if (active) { if (active) {
active.classList.remove(CLASS_NAME_ACTIVE); active.classList.remove(CLASS_NAME_ACTIVE);
var dropdownChild = SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode); const dropdownChild = SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
if (dropdownChild) { if (dropdownChild) {
dropdownChild.classList.remove(CLASS_NAME_ACTIVE); dropdownChild.classList.remove(CLASS_NAME_ACTIVE);
@ -313,12 +290,10 @@
} }
if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) { if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
var dropdownElement = element.closest(SELECTOR_DROPDOWN); const dropdownElement = element.closest(SELECTOR_DROPDOWN);
if (dropdownElement) { if (dropdownElement) {
SelectorEngine__default['default'].find(SELECTOR_DROPDOWN_TOGGLE).forEach(function (dropdown) { SelectorEngine__default['default'].find(SELECTOR_DROPDOWN_TOGGLE).forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE));
return dropdown.classList.add(CLASS_NAME_ACTIVE);
});
} }
element.setAttribute('aria-expanded', true); element.setAttribute('aria-expanded', true);
@ -328,32 +303,23 @@
callback(); callback();
} }
} // Static } // Static
;
Tab.jQueryInterface = function jQueryInterface(config) {
static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
var data = Data__default['default'].getData(this, DATA_KEY) || new Tab(this); const data = Data__default['default'].get(this, DATA_KEY) || new Tab(this);
if (typeof config === 'string') { if (typeof config === 'string') {
if (typeof data[config] === 'undefined') { if (typeof data[config] === 'undefined') {
throw new TypeError("No method named \"" + config + "\""); throw new TypeError(`No method named "${config}"`);
} }
data[config](); data[config]();
} }
}); });
};
_createClass(Tab, null, [{
key: "DATA_KEY",
get: // Getters
function get() {
return DATA_KEY;
} }
}]);
return Tab; }
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
@ -363,7 +329,7 @@
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault(); event.preventDefault();
var data = Data__default['default'].getData(this, DATA_KEY) || new Tab(this); const data = Data__default['default'].get(this, DATA_KEY) || new Tab(this);
data.show(); data.show();
}); });
/** /**

2
js/dist/tab.js.map vendored

File diff suppressed because one or more lines are too long

296
js/dist/toast.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap toast.js v5.0.0-beta2 (https://getbootstrap.com/) * Bootstrap toast.js v5.0.0-beta3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@ -16,85 +16,35 @@
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
var MILLISECONDS_MULTIPLIER = 1000; const MILLISECONDS_MULTIPLIER = 1000;
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var toType = function toType(obj) { const toType = obj => {
if (obj === null || obj === undefined) { if (obj === null || obj === undefined) {
return "" + obj; return `${obj}`;
} }
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
}; };
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) { const getTransitionDurationFromElement = element => {
if (!element) { if (!element) {
return 0; return 0;
} // Get transition-duration of the element } // Get transition-duration of the element
var _window$getComputedSt = window.getComputedStyle(element), let {
transitionDuration = _window$getComputedSt.transitionDuration, transitionDuration,
transitionDelay = _window$getComputedSt.transitionDelay; transitionDelay
} = window.getComputedStyle(element);
var floatTransitionDuration = Number.parseFloat(transitionDuration); const floatTransitionDuration = Number.parseFloat(transitionDuration);
var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration && !floatTransitionDelay) { if (!floatTransitionDuration && !floatTransitionDelay) {
return 0; return 0;
@ -106,18 +56,16 @@
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
}; };
var triggerTransitionEnd = function triggerTransitionEnd(element) { const triggerTransitionEnd = element => {
element.dispatchEvent(new Event(TRANSITION_END)); element.dispatchEvent(new Event(TRANSITION_END));
}; };
var isElement = function isElement(obj) { const isElement = obj => (obj[0] || obj).nodeType;
return (obj[0] || obj).nodeType;
};
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) { const emulateTransitionEnd = (element, duration) => {
var called = false; let called = false;
var durationPadding = 5; const durationPadding = 5;
var emulatedDuration = duration + durationPadding; const emulatedDuration = duration + durationPadding;
function listener() { function listener() {
called = true; called = true;
@ -125,32 +73,31 @@
} }
element.addEventListener(TRANSITION_END, listener); element.addEventListener(TRANSITION_END, listener);
setTimeout(function () { setTimeout(() => {
if (!called) { if (!called) {
triggerTransitionEnd(element); triggerTransitionEnd(element);
} }
}, emulatedDuration); }, emulatedDuration);
}; };
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) { const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(function (property) { Object.keys(configTypes).forEach(property => {
var expectedTypes = configTypes[property]; const expectedTypes = configTypes[property];
var value = config[property]; const value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value); const valueType = value && isElement(value) ? 'element' : toType(value);
if (!new RegExp(expectedTypes).test(valueType)) { if (!new RegExp(expectedTypes).test(valueType)) {
throw new TypeError(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); throw new TypeError(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`);
} }
}); });
}; };
var reflow = function reflow(element) { const reflow = element => element.offsetHeight;
return element.offsetHeight;
};
var getjQuery = function getjQuery() { const getjQuery = () => {
var _window = window, const {
jQuery = _window.jQuery; jQuery
} = window;
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return jQuery; return jQuery;
@ -159,7 +106,7 @@
return null; return null;
}; };
var onDOMContentLoaded = function onDOMContentLoaded(callback) { const onDOMContentLoaded = callback => {
if (document.readyState === 'loading') { if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback); document.addEventListener('DOMContentLoaded', callback);
} else { } else {
@ -167,19 +114,17 @@
} }
}; };
document.documentElement.dir === 'rtl'; const defineJQueryPlugin = (name, plugin) => {
onDOMContentLoaded(() => {
var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) { const $ = getjQuery();
onDOMContentLoaded(function () {
var $ = getjQuery();
/* istanbul ignore if */ /* istanbul ignore if */
if ($) { if ($) {
var JQUERY_NO_CONFLICT = $.fn[name]; const JQUERY_NO_CONFLICT = $.fn[name];
$.fn[name] = plugin.jQueryInterface; $.fn[name] = plugin.jQueryInterface;
$.fn[name].Constructor = plugin; $.fn[name].Constructor = plugin;
$.fn[name].noConflict = function () { $.fn[name].noConflict = () => {
$.fn[name] = JQUERY_NO_CONFLICT; $.fn[name] = JQUERY_NO_CONFLICT;
return plugin.jQueryInterface; return plugin.jQueryInterface;
}; };
@ -187,64 +132,72 @@
}); });
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta3): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'toast'; const NAME = 'toast';
var DATA_KEY = 'bs.toast'; const DATA_KEY = 'bs.toast';
var EVENT_KEY = "." + DATA_KEY; const EVENT_KEY = `.${DATA_KEY}`;
var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY; const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
var EVENT_HIDE = "hide" + EVENT_KEY; const EVENT_HIDE = `hide${EVENT_KEY}`;
var EVENT_HIDDEN = "hidden" + EVENT_KEY; const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
var EVENT_SHOW = "show" + EVENT_KEY; const EVENT_SHOW = `show${EVENT_KEY}`;
var EVENT_SHOWN = "shown" + EVENT_KEY; const EVENT_SHOWN = `shown${EVENT_KEY}`;
var CLASS_NAME_FADE = 'fade'; const CLASS_NAME_FADE = 'fade';
var CLASS_NAME_HIDE = 'hide'; const CLASS_NAME_HIDE = 'hide';
var CLASS_NAME_SHOW = 'show'; const CLASS_NAME_SHOW = 'show';
var CLASS_NAME_SHOWING = 'showing'; const CLASS_NAME_SHOWING = 'showing';
var DefaultType = { const DefaultType = {
animation: 'boolean', animation: 'boolean',
autohide: 'boolean', autohide: 'boolean',
delay: 'number' delay: 'number'
}; };
var Default = { const Default = {
animation: true, animation: true,
autohide: true, autohide: true,
delay: 5000 delay: 5000
}; };
var SELECTOR_DATA_DISMISS = '[data-bs-dismiss="toast"]'; const SELECTOR_DATA_DISMISS = '[data-bs-dismiss="toast"]';
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Toast = /*#__PURE__*/function (_BaseComponent) { class Toast extends BaseComponent__default['default'] {
_inheritsLoose(Toast, _BaseComponent); constructor(element, config) {
super(element);
this._config = this._getConfig(config);
this._timeout = null;
function Toast(element, config) { this._setListeners();
var _this;
_this = _BaseComponent.call(this, element) || this;
_this._config = _this._getConfig(config);
_this._timeout = null;
_this._setListeners();
return _this;
} // Getters } // Getters
var _proto = Toast.prototype; static get DefaultType() {
return DefaultType;
}
// Public static get Default() {
_proto.show = function show() { return Default;
var _this2 = this; }
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW); static get DATA_KEY() {
return DATA_KEY;
} // Public
show() {
const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
if (showEvent.defaultPrevented) { if (showEvent.defaultPrevented) {
return; return;
@ -256,17 +209,17 @@
this._element.classList.add(CLASS_NAME_FADE); this._element.classList.add(CLASS_NAME_FADE);
} }
var complete = function complete() { const complete = () => {
_this2._element.classList.remove(CLASS_NAME_SHOWING); this._element.classList.remove(CLASS_NAME_SHOWING);
_this2._element.classList.add(CLASS_NAME_SHOW); this._element.classList.add(CLASS_NAME_SHOW);
EventHandler__default['default'].trigger(_this2._element, EVENT_SHOWN); EventHandler__default['default'].trigger(this._element, EVENT_SHOWN);
if (_this2._config.autohide) { if (this._config.autohide) {
_this2._timeout = setTimeout(function () { this._timeout = setTimeout(() => {
_this2.hide(); this.hide();
}, _this2._config.delay); }, this._config.delay);
} }
}; };
@ -277,45 +230,43 @@
this._element.classList.add(CLASS_NAME_SHOWING); this._element.classList.add(CLASS_NAME_SHOWING);
if (this._config.animation) { if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element); const transitionDuration = getTransitionDurationFromElement(this._element);
EventHandler__default['default'].one(this._element, 'transitionend', complete); EventHandler__default['default'].one(this._element, 'transitionend', complete);
emulateTransitionEnd(this._element, transitionDuration); emulateTransitionEnd(this._element, transitionDuration);
} else { } else {
complete(); complete();
} }
}; }
_proto.hide = function hide() {
var _this3 = this;
hide() {
if (!this._element.classList.contains(CLASS_NAME_SHOW)) { if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
return; return;
} }
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE); const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
if (hideEvent.defaultPrevented) { if (hideEvent.defaultPrevented) {
return; return;
} }
var complete = function complete() { const complete = () => {
_this3._element.classList.add(CLASS_NAME_HIDE); this._element.classList.add(CLASS_NAME_HIDE);
EventHandler__default['default'].trigger(_this3._element, EVENT_HIDDEN); EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
}; };
this._element.classList.remove(CLASS_NAME_SHOW); this._element.classList.remove(CLASS_NAME_SHOW);
if (this._config.animation) { if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element); const transitionDuration = getTransitionDurationFromElement(this._element);
EventHandler__default['default'].one(this._element, 'transitionend', complete); EventHandler__default['default'].one(this._element, 'transitionend', complete);
emulateTransitionEnd(this._element, transitionDuration); emulateTransitionEnd(this._element, transitionDuration);
} else { } else {
complete(); complete();
} }
}; }
_proto.dispose = function dispose() { dispose() {
this._clearTimeout(); this._clearTimeout();
if (this._element.classList.contains(CLASS_NAME_SHOW)) { if (this._element.classList.contains(CLASS_NAME_SHOW)) {
@ -323,38 +274,35 @@
} }
EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS); EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS);
super.dispose();
_BaseComponent.prototype.dispose.call(this);
this._config = null; this._config = null;
} // Private } // Private
;
_proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(this._element), typeof config === 'object' && config ? config : {}); _getConfig(config) {
config = { ...Default,
...Manipulator__default['default'].getDataAttributes(this._element),
...(typeof config === 'object' && config ? config : {})
};
typeCheckConfig(NAME, config, this.constructor.DefaultType); typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config; return config;
}; }
_proto._setListeners = function _setListeners() { _setListeners() {
var _this4 = this; EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());
}
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () { _clearTimeout() {
return _this4.hide();
});
};
_proto._clearTimeout = function _clearTimeout() {
clearTimeout(this._timeout); clearTimeout(this._timeout);
this._timeout = null; this._timeout = null;
} // Static } // Static
;
Toast.jQueryInterface = function jQueryInterface(config) {
static jQueryInterface(config) {
return this.each(function () { return this.each(function () {
var data = Data__default['default'].getData(this, DATA_KEY); let data = Data__default['default'].get(this, DATA_KEY);
var _config = typeof config === 'object' && config; const _config = typeof config === 'object' && config;
if (!data) { if (!data) {
data = new Toast(this, _config); data = new Toast(this, _config);
@ -362,33 +310,15 @@
if (typeof config === 'string') { if (typeof config === 'string') {
if (typeof data[config] === 'undefined') { if (typeof data[config] === 'undefined') {
throw new TypeError("No method named \"" + config + "\""); throw new TypeError(`No method named "${config}"`);
} }
data[config](this); data[config](this);
} }
}); });
}; }
_createClass(Toast, null, [{
key: "DefaultType",
get: function get() {
return DefaultType;
} }
}, {
key: "Default",
get: function get() {
return Default;
}
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]);
return Toast;
}(BaseComponent__default['default']);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* jQuery * jQuery

File diff suppressed because one or more lines are too long

685
js/dist/tooltip.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): base-component.js * Bootstrap (v5.0.0-beta3): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -13,7 +13,7 @@ import Data from './dom/data'
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
const VERSION = '5.0.0-beta2' const VERSION = '5.0.0-beta3'
class BaseComponent { class BaseComponent {
constructor(element) { constructor(element) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): util/index.js * Bootstrap (v5.0.0-beta3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

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