2
0
mirror of https://github.com/tenrok/bootstrap.git synced 2026-06-23 20:40:36 +03:00

Merge branch 'main' into jo-docs-thanks-page

This commit is contained in:
XhmikosR
2020-12-04 10:06:34 +02:00
committed by GitHub
208 changed files with 29706 additions and 2937 deletions
+2 -2
View File
@@ -10,7 +10,7 @@
}, },
{ {
"path": "./dist/css/bootstrap-reboot.css", "path": "./dist/css/bootstrap-reboot.css",
"maxSize": "2 kB" "maxSize": "2.25 kB"
}, },
{ {
"path": "./dist/css/bootstrap-reboot.min.css", "path": "./dist/css/bootstrap-reboot.min.css",
@@ -54,7 +54,7 @@
}, },
{ {
"path": "./dist/js/bootstrap.min.js", "path": "./dist/js/bootstrap.min.js",
"maxSize": "15.5 kB" "maxSize": "15.75 kB"
} }
], ],
"ci": { "ci": {
+46 -31
View File
@@ -83,37 +83,52 @@ Within the download you'll find the following directories and files, logically g
```text ```text
bootstrap/ bootstrap/
── dist/ ── css/
├── css/ ├── bootstrap-grid.css
│ ├── bootstrap-grid.css │ ├── bootstrap-grid.css.map
│ ├── bootstrap-grid.css.map │ ├── bootstrap-grid.min.css
│ ├── bootstrap-grid.min.css │ ├── bootstrap-grid.min.css.map
│ ├── bootstrap-grid.min.css.map │ ├── bootstrap-grid.rtl.css
│ ├── bootstrap-reboot.css │ ├── bootstrap-grid.rtl.css.map
│ ├── bootstrap-reboot.css.map │ ├── bootstrap-grid.rtl.min.css
│ ├── bootstrap-reboot.min.css │ ├── bootstrap-grid.rtl.min.css.map
│ ├── bootstrap-reboot.min.css.map │ ├── bootstrap-reboot.css
│ ├── bootstrap-utilities.css │ ├── bootstrap-reboot.css.map
│ ├── bootstrap-utilities.css.map │ ├── bootstrap-reboot.min.css
│ ├── bootstrap-utilities.min.css │ ├── bootstrap-reboot.min.css.map
│ ├── bootstrap-utilities.min.css.map │ ├── bootstrap-reboot.rtl.css
│ ├── bootstrap.css │ ├── bootstrap-reboot.rtl.css.map
│ ├── bootstrap.css.map │ ├── bootstrap-reboot.rtl.min.css
│ ├── bootstrap.min.css │ ├── bootstrap-reboot.rtl.min.css.map
── bootstrap.min.css.map ── bootstrap-utilities.css
── js/ ── bootstrap-utilities.css.map
├── bootstrap.bundle.js ├── bootstrap-utilities.min.css
├── bootstrap.bundle.js.map ├── bootstrap-utilities.min.css.map
├── bootstrap.bundle.min.js ├── bootstrap-utilities.rtl.css
├── bootstrap.bundle.min.js.map ├── bootstrap-utilities.rtl.css.map
├── bootstrap.esm.js ├── bootstrap-utilities.rtl.min.css
├── bootstrap.esm.js.map ├── bootstrap-utilities.rtl.min.css.map
├── bootstrap.esm.min.js ├── bootstrap.css
├── bootstrap.esm.min.js.map ├── bootstrap.css.map
├── bootstrap.js ├── bootstrap.min.css
├── bootstrap.js.map ├── bootstrap.min.css.map
├── bootstrap.min.js ├── bootstrap.rtl.css
── bootstrap.min.js.map ── bootstrap.rtl.css.map
│ ├── bootstrap.rtl.min.css
│ └── bootstrap.rtl.min.css.map
└── js/
├── bootstrap.bundle.js
├── bootstrap.bundle.js.map
├── bootstrap.bundle.min.js
├── bootstrap.bundle.min.js.map
├── bootstrap.esm.js
├── bootstrap.esm.js.map
├── bootstrap.esm.min.js
├── bootstrap.esm.min.js.map
├── bootstrap.js
├── bootstrap.js.map
├── bootstrap.min.js
└── bootstrap.min.js.map
``` ```
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). [source maps](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Popper](https://popper.js.org/). We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). [source maps](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Popper](https://popper.js.org/).
+4
View File
@@ -29,6 +29,10 @@ const files = [
file: 'dist/css/bootstrap.min.css', file: 'dist/css/bootstrap.min.css',
configPropertyName: 'css_hash' configPropertyName: 'css_hash'
}, },
{
file: 'dist/css/bootstrap.rtl.min.css',
configPropertyName: 'css_rtl_hash'
},
{ {
file: 'dist/js/bootstrap.min.js', file: 'dist/js/bootstrap.min.js',
configPropertyName: 'js_hash' configPropertyName: 'js_hash'
+2 -1
View File
@@ -12,7 +12,8 @@ module.exports = ctx => {
plugins: { plugins: {
autoprefixer: { autoprefixer: {
cascade: false cascade: false
} },
rtlcss: ctx.env === 'RTL' ? {} : false
} }
} }
} }
+5 -3
View File
@@ -68,10 +68,12 @@ params:
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-alpha3/dist/css/bootstrap.min.css" css: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-alpha3/dist/css/bootstrap.min.css"
css_hash: "sha384-CuOF+2SnTUfTwSZjCXf01h7uYhfOBuxIhGKPbfEJ3+FqH/s6cIFN9bGr1HmAg4fQ" css_hash: "sha384-xNSaKzL9Rjah2RV0MGhtlyVs2areDxovNJCBVnI5Jmo4fWjMx5mx1zyOiddHs4kQ"
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-alpha3/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-eWxmXwoY7jtZGBMpINmwuxW6Bfzjqsh1pjhGbl58bWpKmsbpGOFaMIthSFY2izhq"
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-alpha3/dist/js/bootstrap.min.js" js: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-alpha3/dist/js/bootstrap.min.js"
js_hash: "sha384-t6I8D5dJmMXjCsRLhSzCltuhNZg6P10kE0m0nAncLUjH6GeYLhRU1zfLoW3QNQDF" js_hash: "sha384-supZtwqjyYg6XvvTCi4/w6J6Hm6IKqXaaeoyGhIhonCdkSvA70sSucW7OqXIo4lZ"
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-alpha3/dist/js/bootstrap.bundle.min.js" js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-alpha3/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-popRpmFF9JQgExhfw5tZT4I9/CI5e2QcuUZPOVXb1m7qUmeR2b50u+YFEYe1wgzy" js_bundle_hash: "sha384-G/J8d6sz9bTod37AsZzNtTwT77J24FKjJEO1YsU2vW7iPcmYP3/tznu+LcK824t9"
popper: "https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" popper: "https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
popper_hash: "sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" popper_hash: "sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
+156 -156
View File
@@ -1673,31 +1673,31 @@
margin-top: auto !important; margin-top: auto !important;
} }
.mr-0 { .me-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }
.mr-1 { .me-1 {
margin-right: 0.25rem !important; margin-right: 0.25rem !important;
} }
.mr-2 { .me-2 {
margin-right: 0.5rem !important; margin-right: 0.5rem !important;
} }
.mr-3 { .me-3 {
margin-right: 1rem !important; margin-right: 1rem !important;
} }
.mr-4 { .me-4 {
margin-right: 1.5rem !important; margin-right: 1.5rem !important;
} }
.mr-5 { .me-5 {
margin-right: 3rem !important; margin-right: 3rem !important;
} }
.mr-auto { .me-auto {
margin-right: auto !important; margin-right: auto !important;
} }
@@ -1729,31 +1729,31 @@
margin-bottom: auto !important; margin-bottom: auto !important;
} }
.ml-0 { .ms-0 {
margin-left: 0 !important; margin-left: 0 !important;
} }
.ml-1 { .ms-1 {
margin-left: 0.25rem !important; margin-left: 0.25rem !important;
} }
.ml-2 { .ms-2 {
margin-left: 0.5rem !important; margin-left: 0.5rem !important;
} }
.ml-3 { .ms-3 {
margin-left: 1rem !important; margin-left: 1rem !important;
} }
.ml-4 { .ms-4 {
margin-left: 1.5rem !important; margin-left: 1.5rem !important;
} }
.ml-5 { .ms-5 {
margin-left: 3rem !important; margin-left: 3rem !important;
} }
.ml-auto { .ms-auto {
margin-left: auto !important; margin-left: auto !important;
} }
@@ -1865,27 +1865,27 @@
padding-top: 3rem !important; padding-top: 3rem !important;
} }
.pr-0 { .pe-0 {
padding-right: 0 !important; padding-right: 0 !important;
} }
.pr-1 { .pe-1 {
padding-right: 0.25rem !important; padding-right: 0.25rem !important;
} }
.pr-2 { .pe-2 {
padding-right: 0.5rem !important; padding-right: 0.5rem !important;
} }
.pr-3 { .pe-3 {
padding-right: 1rem !important; padding-right: 1rem !important;
} }
.pr-4 { .pe-4 {
padding-right: 1.5rem !important; padding-right: 1.5rem !important;
} }
.pr-5 { .pe-5 {
padding-right: 3rem !important; padding-right: 3rem !important;
} }
@@ -1913,27 +1913,27 @@
padding-bottom: 3rem !important; padding-bottom: 3rem !important;
} }
.pl-0 { .ps-0 {
padding-left: 0 !important; padding-left: 0 !important;
} }
.pl-1 { .ps-1 {
padding-left: 0.25rem !important; padding-left: 0.25rem !important;
} }
.pl-2 { .ps-2 {
padding-left: 0.5rem !important; padding-left: 0.5rem !important;
} }
.pl-3 { .ps-3 {
padding-left: 1rem !important; padding-left: 1rem !important;
} }
.pl-4 { .ps-4 {
padding-left: 1.5rem !important; padding-left: 1.5rem !important;
} }
.pl-5 { .ps-5 {
padding-left: 3rem !important; padding-left: 3rem !important;
} }
@@ -2276,31 +2276,31 @@
margin-top: auto !important; margin-top: auto !important;
} }
.mr-sm-0 { .me-sm-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }
.mr-sm-1 { .me-sm-1 {
margin-right: 0.25rem !important; margin-right: 0.25rem !important;
} }
.mr-sm-2 { .me-sm-2 {
margin-right: 0.5rem !important; margin-right: 0.5rem !important;
} }
.mr-sm-3 { .me-sm-3 {
margin-right: 1rem !important; margin-right: 1rem !important;
} }
.mr-sm-4 { .me-sm-4 {
margin-right: 1.5rem !important; margin-right: 1.5rem !important;
} }
.mr-sm-5 { .me-sm-5 {
margin-right: 3rem !important; margin-right: 3rem !important;
} }
.mr-sm-auto { .me-sm-auto {
margin-right: auto !important; margin-right: auto !important;
} }
@@ -2332,31 +2332,31 @@
margin-bottom: auto !important; margin-bottom: auto !important;
} }
.ml-sm-0 { .ms-sm-0 {
margin-left: 0 !important; margin-left: 0 !important;
} }
.ml-sm-1 { .ms-sm-1 {
margin-left: 0.25rem !important; margin-left: 0.25rem !important;
} }
.ml-sm-2 { .ms-sm-2 {
margin-left: 0.5rem !important; margin-left: 0.5rem !important;
} }
.ml-sm-3 { .ms-sm-3 {
margin-left: 1rem !important; margin-left: 1rem !important;
} }
.ml-sm-4 { .ms-sm-4 {
margin-left: 1.5rem !important; margin-left: 1.5rem !important;
} }
.ml-sm-5 { .ms-sm-5 {
margin-left: 3rem !important; margin-left: 3rem !important;
} }
.ml-sm-auto { .ms-sm-auto {
margin-left: auto !important; margin-left: auto !important;
} }
@@ -2468,27 +2468,27 @@
padding-top: 3rem !important; padding-top: 3rem !important;
} }
.pr-sm-0 { .pe-sm-0 {
padding-right: 0 !important; padding-right: 0 !important;
} }
.pr-sm-1 { .pe-sm-1 {
padding-right: 0.25rem !important; padding-right: 0.25rem !important;
} }
.pr-sm-2 { .pe-sm-2 {
padding-right: 0.5rem !important; padding-right: 0.5rem !important;
} }
.pr-sm-3 { .pe-sm-3 {
padding-right: 1rem !important; padding-right: 1rem !important;
} }
.pr-sm-4 { .pe-sm-4 {
padding-right: 1.5rem !important; padding-right: 1.5rem !important;
} }
.pr-sm-5 { .pe-sm-5 {
padding-right: 3rem !important; padding-right: 3rem !important;
} }
@@ -2516,27 +2516,27 @@
padding-bottom: 3rem !important; padding-bottom: 3rem !important;
} }
.pl-sm-0 { .ps-sm-0 {
padding-left: 0 !important; padding-left: 0 !important;
} }
.pl-sm-1 { .ps-sm-1 {
padding-left: 0.25rem !important; padding-left: 0.25rem !important;
} }
.pl-sm-2 { .ps-sm-2 {
padding-left: 0.5rem !important; padding-left: 0.5rem !important;
} }
.pl-sm-3 { .ps-sm-3 {
padding-left: 1rem !important; padding-left: 1rem !important;
} }
.pl-sm-4 { .ps-sm-4 {
padding-left: 1.5rem !important; padding-left: 1.5rem !important;
} }
.pl-sm-5 { .ps-sm-5 {
padding-left: 3rem !important; padding-left: 3rem !important;
} }
} }
@@ -2879,31 +2879,31 @@
margin-top: auto !important; margin-top: auto !important;
} }
.mr-md-0 { .me-md-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }
.mr-md-1 { .me-md-1 {
margin-right: 0.25rem !important; margin-right: 0.25rem !important;
} }
.mr-md-2 { .me-md-2 {
margin-right: 0.5rem !important; margin-right: 0.5rem !important;
} }
.mr-md-3 { .me-md-3 {
margin-right: 1rem !important; margin-right: 1rem !important;
} }
.mr-md-4 { .me-md-4 {
margin-right: 1.5rem !important; margin-right: 1.5rem !important;
} }
.mr-md-5 { .me-md-5 {
margin-right: 3rem !important; margin-right: 3rem !important;
} }
.mr-md-auto { .me-md-auto {
margin-right: auto !important; margin-right: auto !important;
} }
@@ -2935,31 +2935,31 @@
margin-bottom: auto !important; margin-bottom: auto !important;
} }
.ml-md-0 { .ms-md-0 {
margin-left: 0 !important; margin-left: 0 !important;
} }
.ml-md-1 { .ms-md-1 {
margin-left: 0.25rem !important; margin-left: 0.25rem !important;
} }
.ml-md-2 { .ms-md-2 {
margin-left: 0.5rem !important; margin-left: 0.5rem !important;
} }
.ml-md-3 { .ms-md-3 {
margin-left: 1rem !important; margin-left: 1rem !important;
} }
.ml-md-4 { .ms-md-4 {
margin-left: 1.5rem !important; margin-left: 1.5rem !important;
} }
.ml-md-5 { .ms-md-5 {
margin-left: 3rem !important; margin-left: 3rem !important;
} }
.ml-md-auto { .ms-md-auto {
margin-left: auto !important; margin-left: auto !important;
} }
@@ -3071,27 +3071,27 @@
padding-top: 3rem !important; padding-top: 3rem !important;
} }
.pr-md-0 { .pe-md-0 {
padding-right: 0 !important; padding-right: 0 !important;
} }
.pr-md-1 { .pe-md-1 {
padding-right: 0.25rem !important; padding-right: 0.25rem !important;
} }
.pr-md-2 { .pe-md-2 {
padding-right: 0.5rem !important; padding-right: 0.5rem !important;
} }
.pr-md-3 { .pe-md-3 {
padding-right: 1rem !important; padding-right: 1rem !important;
} }
.pr-md-4 { .pe-md-4 {
padding-right: 1.5rem !important; padding-right: 1.5rem !important;
} }
.pr-md-5 { .pe-md-5 {
padding-right: 3rem !important; padding-right: 3rem !important;
} }
@@ -3119,27 +3119,27 @@
padding-bottom: 3rem !important; padding-bottom: 3rem !important;
} }
.pl-md-0 { .ps-md-0 {
padding-left: 0 !important; padding-left: 0 !important;
} }
.pl-md-1 { .ps-md-1 {
padding-left: 0.25rem !important; padding-left: 0.25rem !important;
} }
.pl-md-2 { .ps-md-2 {
padding-left: 0.5rem !important; padding-left: 0.5rem !important;
} }
.pl-md-3 { .ps-md-3 {
padding-left: 1rem !important; padding-left: 1rem !important;
} }
.pl-md-4 { .ps-md-4 {
padding-left: 1.5rem !important; padding-left: 1.5rem !important;
} }
.pl-md-5 { .ps-md-5 {
padding-left: 3rem !important; padding-left: 3rem !important;
} }
} }
@@ -3482,31 +3482,31 @@
margin-top: auto !important; margin-top: auto !important;
} }
.mr-lg-0 { .me-lg-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }
.mr-lg-1 { .me-lg-1 {
margin-right: 0.25rem !important; margin-right: 0.25rem !important;
} }
.mr-lg-2 { .me-lg-2 {
margin-right: 0.5rem !important; margin-right: 0.5rem !important;
} }
.mr-lg-3 { .me-lg-3 {
margin-right: 1rem !important; margin-right: 1rem !important;
} }
.mr-lg-4 { .me-lg-4 {
margin-right: 1.5rem !important; margin-right: 1.5rem !important;
} }
.mr-lg-5 { .me-lg-5 {
margin-right: 3rem !important; margin-right: 3rem !important;
} }
.mr-lg-auto { .me-lg-auto {
margin-right: auto !important; margin-right: auto !important;
} }
@@ -3538,31 +3538,31 @@
margin-bottom: auto !important; margin-bottom: auto !important;
} }
.ml-lg-0 { .ms-lg-0 {
margin-left: 0 !important; margin-left: 0 !important;
} }
.ml-lg-1 { .ms-lg-1 {
margin-left: 0.25rem !important; margin-left: 0.25rem !important;
} }
.ml-lg-2 { .ms-lg-2 {
margin-left: 0.5rem !important; margin-left: 0.5rem !important;
} }
.ml-lg-3 { .ms-lg-3 {
margin-left: 1rem !important; margin-left: 1rem !important;
} }
.ml-lg-4 { .ms-lg-4 {
margin-left: 1.5rem !important; margin-left: 1.5rem !important;
} }
.ml-lg-5 { .ms-lg-5 {
margin-left: 3rem !important; margin-left: 3rem !important;
} }
.ml-lg-auto { .ms-lg-auto {
margin-left: auto !important; margin-left: auto !important;
} }
@@ -3674,27 +3674,27 @@
padding-top: 3rem !important; padding-top: 3rem !important;
} }
.pr-lg-0 { .pe-lg-0 {
padding-right: 0 !important; padding-right: 0 !important;
} }
.pr-lg-1 { .pe-lg-1 {
padding-right: 0.25rem !important; padding-right: 0.25rem !important;
} }
.pr-lg-2 { .pe-lg-2 {
padding-right: 0.5rem !important; padding-right: 0.5rem !important;
} }
.pr-lg-3 { .pe-lg-3 {
padding-right: 1rem !important; padding-right: 1rem !important;
} }
.pr-lg-4 { .pe-lg-4 {
padding-right: 1.5rem !important; padding-right: 1.5rem !important;
} }
.pr-lg-5 { .pe-lg-5 {
padding-right: 3rem !important; padding-right: 3rem !important;
} }
@@ -3722,27 +3722,27 @@
padding-bottom: 3rem !important; padding-bottom: 3rem !important;
} }
.pl-lg-0 { .ps-lg-0 {
padding-left: 0 !important; padding-left: 0 !important;
} }
.pl-lg-1 { .ps-lg-1 {
padding-left: 0.25rem !important; padding-left: 0.25rem !important;
} }
.pl-lg-2 { .ps-lg-2 {
padding-left: 0.5rem !important; padding-left: 0.5rem !important;
} }
.pl-lg-3 { .ps-lg-3 {
padding-left: 1rem !important; padding-left: 1rem !important;
} }
.pl-lg-4 { .ps-lg-4 {
padding-left: 1.5rem !important; padding-left: 1.5rem !important;
} }
.pl-lg-5 { .ps-lg-5 {
padding-left: 3rem !important; padding-left: 3rem !important;
} }
} }
@@ -4085,31 +4085,31 @@
margin-top: auto !important; margin-top: auto !important;
} }
.mr-xl-0 { .me-xl-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }
.mr-xl-1 { .me-xl-1 {
margin-right: 0.25rem !important; margin-right: 0.25rem !important;
} }
.mr-xl-2 { .me-xl-2 {
margin-right: 0.5rem !important; margin-right: 0.5rem !important;
} }
.mr-xl-3 { .me-xl-3 {
margin-right: 1rem !important; margin-right: 1rem !important;
} }
.mr-xl-4 { .me-xl-4 {
margin-right: 1.5rem !important; margin-right: 1.5rem !important;
} }
.mr-xl-5 { .me-xl-5 {
margin-right: 3rem !important; margin-right: 3rem !important;
} }
.mr-xl-auto { .me-xl-auto {
margin-right: auto !important; margin-right: auto !important;
} }
@@ -4141,31 +4141,31 @@
margin-bottom: auto !important; margin-bottom: auto !important;
} }
.ml-xl-0 { .ms-xl-0 {
margin-left: 0 !important; margin-left: 0 !important;
} }
.ml-xl-1 { .ms-xl-1 {
margin-left: 0.25rem !important; margin-left: 0.25rem !important;
} }
.ml-xl-2 { .ms-xl-2 {
margin-left: 0.5rem !important; margin-left: 0.5rem !important;
} }
.ml-xl-3 { .ms-xl-3 {
margin-left: 1rem !important; margin-left: 1rem !important;
} }
.ml-xl-4 { .ms-xl-4 {
margin-left: 1.5rem !important; margin-left: 1.5rem !important;
} }
.ml-xl-5 { .ms-xl-5 {
margin-left: 3rem !important; margin-left: 3rem !important;
} }
.ml-xl-auto { .ms-xl-auto {
margin-left: auto !important; margin-left: auto !important;
} }
@@ -4277,27 +4277,27 @@
padding-top: 3rem !important; padding-top: 3rem !important;
} }
.pr-xl-0 { .pe-xl-0 {
padding-right: 0 !important; padding-right: 0 !important;
} }
.pr-xl-1 { .pe-xl-1 {
padding-right: 0.25rem !important; padding-right: 0.25rem !important;
} }
.pr-xl-2 { .pe-xl-2 {
padding-right: 0.5rem !important; padding-right: 0.5rem !important;
} }
.pr-xl-3 { .pe-xl-3 {
padding-right: 1rem !important; padding-right: 1rem !important;
} }
.pr-xl-4 { .pe-xl-4 {
padding-right: 1.5rem !important; padding-right: 1.5rem !important;
} }
.pr-xl-5 { .pe-xl-5 {
padding-right: 3rem !important; padding-right: 3rem !important;
} }
@@ -4325,27 +4325,27 @@
padding-bottom: 3rem !important; padding-bottom: 3rem !important;
} }
.pl-xl-0 { .ps-xl-0 {
padding-left: 0 !important; padding-left: 0 !important;
} }
.pl-xl-1 { .ps-xl-1 {
padding-left: 0.25rem !important; padding-left: 0.25rem !important;
} }
.pl-xl-2 { .ps-xl-2 {
padding-left: 0.5rem !important; padding-left: 0.5rem !important;
} }
.pl-xl-3 { .ps-xl-3 {
padding-left: 1rem !important; padding-left: 1rem !important;
} }
.pl-xl-4 { .ps-xl-4 {
padding-left: 1.5rem !important; padding-left: 1.5rem !important;
} }
.pl-xl-5 { .ps-xl-5 {
padding-left: 3rem !important; padding-left: 3rem !important;
} }
} }
@@ -4688,31 +4688,31 @@
margin-top: auto !important; margin-top: auto !important;
} }
.mr-xxl-0 { .me-xxl-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }
.mr-xxl-1 { .me-xxl-1 {
margin-right: 0.25rem !important; margin-right: 0.25rem !important;
} }
.mr-xxl-2 { .me-xxl-2 {
margin-right: 0.5rem !important; margin-right: 0.5rem !important;
} }
.mr-xxl-3 { .me-xxl-3 {
margin-right: 1rem !important; margin-right: 1rem !important;
} }
.mr-xxl-4 { .me-xxl-4 {
margin-right: 1.5rem !important; margin-right: 1.5rem !important;
} }
.mr-xxl-5 { .me-xxl-5 {
margin-right: 3rem !important; margin-right: 3rem !important;
} }
.mr-xxl-auto { .me-xxl-auto {
margin-right: auto !important; margin-right: auto !important;
} }
@@ -4744,31 +4744,31 @@
margin-bottom: auto !important; margin-bottom: auto !important;
} }
.ml-xxl-0 { .ms-xxl-0 {
margin-left: 0 !important; margin-left: 0 !important;
} }
.ml-xxl-1 { .ms-xxl-1 {
margin-left: 0.25rem !important; margin-left: 0.25rem !important;
} }
.ml-xxl-2 { .ms-xxl-2 {
margin-left: 0.5rem !important; margin-left: 0.5rem !important;
} }
.ml-xxl-3 { .ms-xxl-3 {
margin-left: 1rem !important; margin-left: 1rem !important;
} }
.ml-xxl-4 { .ms-xxl-4 {
margin-left: 1.5rem !important; margin-left: 1.5rem !important;
} }
.ml-xxl-5 { .ms-xxl-5 {
margin-left: 3rem !important; margin-left: 3rem !important;
} }
.ml-xxl-auto { .ms-xxl-auto {
margin-left: auto !important; margin-left: auto !important;
} }
@@ -4880,27 +4880,27 @@
padding-top: 3rem !important; padding-top: 3rem !important;
} }
.pr-xxl-0 { .pe-xxl-0 {
padding-right: 0 !important; padding-right: 0 !important;
} }
.pr-xxl-1 { .pe-xxl-1 {
padding-right: 0.25rem !important; padding-right: 0.25rem !important;
} }
.pr-xxl-2 { .pe-xxl-2 {
padding-right: 0.5rem !important; padding-right: 0.5rem !important;
} }
.pr-xxl-3 { .pe-xxl-3 {
padding-right: 1rem !important; padding-right: 1rem !important;
} }
.pr-xxl-4 { .pe-xxl-4 {
padding-right: 1.5rem !important; padding-right: 1.5rem !important;
} }
.pr-xxl-5 { .pe-xxl-5 {
padding-right: 3rem !important; padding-right: 3rem !important;
} }
@@ -4928,27 +4928,27 @@
padding-bottom: 3rem !important; padding-bottom: 3rem !important;
} }
.pl-xxl-0 { .ps-xxl-0 {
padding-left: 0 !important; padding-left: 0 !important;
} }
.pl-xxl-1 { .ps-xxl-1 {
padding-left: 0.25rem !important; padding-left: 0.25rem !important;
} }
.pl-xxl-2 { .ps-xxl-2 {
padding-left: 0.5rem !important; padding-left: 0.5rem !important;
} }
.pl-xxl-3 { .ps-xxl-3 {
padding-left: 1rem !important; padding-left: 1rem !important;
} }
.pl-xxl-4 { .ps-xxl-4 {
padding-left: 1.5rem !important; padding-left: 1.5rem !important;
} }
.pl-xxl-5 { .ps-xxl-5 {
padding-left: 3rem !important; padding-left: 3rem !important;
} }
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+4996
View File
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
+10
View File
@@ -198,6 +198,8 @@ kbd,
samp { samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em; font-size: 1em;
direction: ltr /* rtl:ignore */;
unicode-bidi: bidi-override;
} }
pre { pre {
@@ -378,6 +380,14 @@ legend + * {
-webkit-appearance: textfield; -webkit-appearance: textfield;
} }
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
*/
::-webkit-search-decoration { ::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -4,5 +4,5 @@
* Copyright 2011-2020 Twitter, Inc. * Copyright 2011-2020 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}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{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}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}[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{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}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}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ /*# sourceMappingURL=bootstrap-reboot.min.css.map */
File diff suppressed because one or more lines are too long
+426
View File
@@ -0,0 +1,426 @@
/*!
* Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* 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)
*/
*,
*::before,
*::after {
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: rgba(0, 0, 0, 0);
}
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr {
margin: 1rem 0;
color: inherit;
background-color: currentColor;
border: 0;
opacity: 0.25;
}
hr:not([size]) {
height: 1px;
}
h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.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 + 0.9vw);
}
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.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[title],
abbr[data-bs-original-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;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: 0.5rem;
margin-right: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 0.875em;
}
mark {
padding: 0.2em;
background-color: #fcf8e3;
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.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;
}
pre,
code,
kbd,
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: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: #d63384;
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.2rem 0.4rem;
font-size: 0.875em;
color: #fff;
background-color: #212529;
border-radius: 0.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: 0.5rem;
padding-bottom: 0.5rem;
color: #6c757d;
text-align: right;
}
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}
label {
display: inline-block;
}
button {
border-radius: 0;
}
button:focus {
outline: dotted 1px;
outline: -webkit-focus-ring-color auto 5px;
}
input,
button,
select,
optgroup,
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;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]: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: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
}
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: right;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
}
::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
outline-offset: -2px;
-webkit-appearance: textfield;
}
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
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.css.map */
File diff suppressed because one or more lines are too long
+8
View File
@@ -0,0 +1,8 @@
/*!
* Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* 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)
*/*,::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{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}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}
/*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */
File diff suppressed because one or more lines are too long
+194 -192
View File
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
+320 -300
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+10671
View File
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
+447 -430
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+447 -430
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+447 -430
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+59 -23
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.Data, global.EventHandler)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.Data, global.EventHandler));
}(this, (function (Data, EventHandler) { 'use strict'; }(this, (function (Data, EventHandler) { 'use strict';
@@ -103,6 +103,8 @@
} }
}; };
var isRTL = document.documentElement.dir === 'rtl';
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 _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 _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
@@ -112,8 +114,53 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'alert';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
function _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var DATA_KEY = 'bs.alert'; var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -130,15 +177,12 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Alert = /*#__PURE__*/function () { var Alert = /*#__PURE__*/function (_BaseComponent) {
function Alert(element) { _inheritsLoose(Alert, _BaseComponent);
this._element = element;
if (this._element) {
Data__default['default'].setData(element, DATA_KEY, this);
}
} // Getters
function Alert() {
return _BaseComponent.apply(this, arguments) || this;
}
var _proto = Alert.prototype; var _proto = Alert.prototype;
@@ -153,11 +197,6 @@
} }
this._removeElement(rootElement); this._removeElement(rootElement);
};
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, DATA_KEY);
this._element = null;
} // Private } // Private
; ;
@@ -220,19 +259,16 @@
}; };
}; };
Alert.getInstance = function getInstance(element) { _createClass$1(Alert, null, [{
return Data__default['default'].getData(element, DATA_KEY); key: "DATA_KEY",
}; // Getters
_createClass(Alert, null, [{
key: "VERSION",
get: function get() { get: function get() {
return VERSION; return DATA_KEY;
} }
}]); }]);
return Alert; return Alert;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
+1 -1
View File
File diff suppressed because one or more lines are too long
+59 -20
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.Data, global.EventHandler)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.Data, global.EventHandler));
}(this, (function (Data, EventHandler) { 'use strict'; }(this, (function (Data, EventHandler) { 'use strict';
@@ -40,6 +40,8 @@
} }
}; };
var isRTL = document.documentElement.dir === 'rtl';
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 _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 _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
@@ -49,8 +51,53 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'button';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
function _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var DATA_KEY = 'bs.button'; var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -63,12 +110,12 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Button = /*#__PURE__*/function () { var Button = /*#__PURE__*/function (_BaseComponent) {
function Button(element) { _inheritsLoose(Button, _BaseComponent);
this._element = element;
Data__default['default'].setData(element, DATA_KEY, this);
} // Getters
function Button() {
return _BaseComponent.apply(this, arguments) || this;
}
var _proto = Button.prototype; var _proto = Button.prototype;
@@ -76,11 +123,6 @@
_proto.toggle = function toggle() { _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));
};
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, DATA_KEY);
this._element = null;
} // Static } // Static
; ;
@@ -98,19 +140,16 @@
}); });
}; };
Button.getInstance = function getInstance(element) { _createClass$1(Button, null, [{
return Data__default['default'].getData(element, DATA_KEY); key: "DATA_KEY",
}; // Getters
_createClass(Button, null, [{
key: "VERSION",
get: function get() { get: function get() {
return VERSION; return DATA_KEY;
} }
}]); }]);
return Button; return Button;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
+1 -1
View File
File diff suppressed because one or more lines are too long
+109 -62
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; }(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
@@ -147,7 +147,7 @@
} }
}; };
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); } var isRTL = document.documentElement.dir === 'rtl';
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 _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); } }
@@ -158,8 +158,55 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'carousel';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
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 _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var DATA_KEY = 'bs.carousel'; var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -204,8 +251,8 @@
var CLASS_NAME_CAROUSEL = 'carousel'; var CLASS_NAME_CAROUSEL = 'carousel';
var CLASS_NAME_ACTIVE = 'active'; var CLASS_NAME_ACTIVE = 'active';
var CLASS_NAME_SLIDE = 'slide'; var CLASS_NAME_SLIDE = 'slide';
var CLASS_NAME_RIGHT = 'carousel-item-right'; var CLASS_NAME_END = 'carousel-item-end';
var CLASS_NAME_LEFT = 'carousel-item-left'; var CLASS_NAME_START = 'carousel-item-start';
var CLASS_NAME_NEXT = 'carousel-item-next'; var CLASS_NAME_NEXT = 'carousel-item-next';
var CLASS_NAME_PREV = 'carousel-item-prev'; var CLASS_NAME_PREV = 'carousel-item-prev';
var CLASS_NAME_POINTER_EVENT = 'pointer-event'; var CLASS_NAME_POINTER_EVENT = 'pointer-event';
@@ -227,25 +274,29 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Carousel = /*#__PURE__*/function () { var Carousel = /*#__PURE__*/function (_BaseComponent) {
_inheritsLoose(Carousel, _BaseComponent);
function Carousel(element, config) { function Carousel(element, config) {
this._items = null; var _this;
this._interval = null;
this._activeElement = null;
this._isPaused = false;
this._isSliding = false;
this.touchTimeout = null;
this.touchStartX = 0;
this.touchDeltaX = 0;
this._config = this._getConfig(config);
this._element = element;
this._indicatorsElement = SelectorEngine__default['default'].findOne(SELECTOR_INDICATORS, this._element);
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
this._pointerEvent = Boolean(window.PointerEvent);
this._addEventListeners(); _this = _BaseComponent.call(this, element) || this;
_this._items = null;
_this._interval = null;
_this._activeElement = null;
_this._isPaused = false;
_this._isSliding = false;
_this.touchTimeout = null;
_this.touchStartX = 0;
_this.touchDeltaX = 0;
_this._config = _this._getConfig(config);
_this._indicatorsElement = SelectorEngine__default['default'].findOne(SELECTOR_INDICATORS, _this._element);
_this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
_this._pointerEvent = Boolean(window.PointerEvent);
Data__default['default'].setData(element, DATA_KEY, this); _this._addEventListeners();
return _this;
} // Getters } // Getters
@@ -304,7 +355,7 @@
}; };
_proto.to = function to(index) { _proto.to = function to(index) {
var _this = this; var _this2 = this;
this._activeElement = SelectorEngine__default['default'].findOne(SELECTOR_ACTIVE_ITEM, this._element); this._activeElement = SelectorEngine__default['default'].findOne(SELECTOR_ACTIVE_ITEM, this._element);
@@ -316,7 +367,7 @@
if (this._isSliding) { if (this._isSliding) {
EventHandler__default['default'].one(this._element, EVENT_SLID, function () { EventHandler__default['default'].one(this._element, EVENT_SLID, function () {
return _this.to(index); return _this2.to(index);
}); });
return; return;
} }
@@ -333,11 +384,11 @@
}; };
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
_BaseComponent.prototype.dispose.call(this);
EventHandler__default['default'].off(this._element, EVENT_KEY); EventHandler__default['default'].off(this._element, EVENT_KEY);
Data__default['default'].removeData(this._element, DATA_KEY);
this._items = null; this._items = null;
this._config = null; this._config = null;
this._element = null;
this._interval = null; this._interval = null;
this._isPaused = null; this._isPaused = null;
this._isSliding = null; this._isSliding = null;
@@ -373,20 +424,20 @@
}; };
_proto._addEventListeners = function _addEventListeners() { _proto._addEventListeners = function _addEventListeners() {
var _this2 = this; var _this3 = this;
if (this._config.keyboard) { if (this._config.keyboard) {
EventHandler__default['default'].on(this._element, EVENT_KEYDOWN, function (event) { EventHandler__default['default'].on(this._element, EVENT_KEYDOWN, function (event) {
return _this2._keydown(event); return _this3._keydown(event);
}); });
} }
if (this._config.pause === 'hover') { if (this._config.pause === 'hover') {
EventHandler__default['default'].on(this._element, EVENT_MOUSEENTER, function (event) { EventHandler__default['default'].on(this._element, EVENT_MOUSEENTER, function (event) {
return _this2.pause(event); return _this3.pause(event);
}); });
EventHandler__default['default'].on(this._element, EVENT_MOUSELEAVE, function (event) { EventHandler__default['default'].on(this._element, EVENT_MOUSELEAVE, function (event) {
return _this2.cycle(event); return _this3.cycle(event);
}); });
} }
@@ -396,33 +447,33 @@
}; };
_proto._addTouchEventListeners = function _addTouchEventListeners() { _proto._addTouchEventListeners = function _addTouchEventListeners() {
var _this3 = this; var _this4 = this;
var start = function start(event) { var start = function start(event) {
if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { if (_this4._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
_this3.touchStartX = event.clientX; _this4.touchStartX = event.clientX;
} else if (!_this3._pointerEvent) { } else if (!_this4._pointerEvent) {
_this3.touchStartX = event.touches[0].clientX; _this4.touchStartX = event.touches[0].clientX;
} }
}; };
var move = function move(event) { var move = function move(event) {
// ensure swiping with one touch and not pinching // ensure swiping with one touch and not pinching
if (event.touches && event.touches.length > 1) { if (event.touches && event.touches.length > 1) {
_this3.touchDeltaX = 0; _this4.touchDeltaX = 0;
} else { } else {
_this3.touchDeltaX = event.touches[0].clientX - _this3.touchStartX; _this4.touchDeltaX = event.touches[0].clientX - _this4.touchStartX;
} }
}; };
var end = function end(event) { var end = function end(event) {
if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { if (_this4._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
_this3.touchDeltaX = event.clientX - _this3.touchStartX; _this4.touchDeltaX = event.clientX - _this4.touchStartX;
} }
_this3._handleSwipe(); _this4._handleSwipe();
if (_this3._config.pause === 'hover') { if (_this4._config.pause === 'hover') {
// If it's a touch-enabled device, mouseenter/leave are fired as // If it's a touch-enabled device, mouseenter/leave are fired as
// part of the mouse compatibility events on first tap - the carousel // part of the mouse compatibility events on first tap - the carousel
// would stop cycling until user tapped out of it; // would stop cycling until user tapped out of it;
@@ -430,15 +481,15 @@
// (as if it's the second time we tap on it, mouseenter compat event // (as if it's the second time we tap on it, mouseenter compat event
// is NOT fired) and after a timeout (to allow for mouse compatibility // is NOT fired) and after a timeout (to allow for mouse compatibility
// events to fire) we explicitly restart cycling // events to fire) we explicitly restart cycling
_this3.pause(); _this4.pause();
if (_this3.touchTimeout) { if (_this4.touchTimeout) {
clearTimeout(_this3.touchTimeout); clearTimeout(_this4.touchTimeout);
} }
_this3.touchTimeout = setTimeout(function (event) { _this4.touchTimeout = setTimeout(function (event) {
return _this3.cycle(event); return _this4.cycle(event);
}, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); }, TOUCHEVENT_COMPAT_WAIT + _this4._config.interval);
} }
}; };
@@ -558,7 +609,7 @@
}; };
_proto._slide = function _slide(direction, element) { _proto._slide = function _slide(direction, element) {
var _this4 = this; var _this5 = this;
var activeElement = SelectorEngine__default['default'].findOne(SELECTOR_ACTIVE_ITEM, this._element); var activeElement = SelectorEngine__default['default'].findOne(SELECTOR_ACTIVE_ITEM, this._element);
@@ -574,11 +625,11 @@
var eventDirectionName; var eventDirectionName;
if (direction === DIRECTION_NEXT) { if (direction === DIRECTION_NEXT) {
directionalClassName = CLASS_NAME_LEFT; directionalClassName = CLASS_NAME_START;
orderClassName = CLASS_NAME_NEXT; orderClassName = CLASS_NAME_NEXT;
eventDirectionName = DIRECTION_LEFT; eventDirectionName = DIRECTION_LEFT;
} else { } else {
directionalClassName = CLASS_NAME_RIGHT; directionalClassName = CLASS_NAME_END;
orderClassName = CLASS_NAME_PREV; orderClassName = CLASS_NAME_PREV;
eventDirectionName = DIRECTION_RIGHT; eventDirectionName = DIRECTION_RIGHT;
} }
@@ -619,9 +670,9 @@
nextElement.classList.remove(directionalClassName, orderClassName); nextElement.classList.remove(directionalClassName, orderClassName);
nextElement.classList.add(CLASS_NAME_ACTIVE); nextElement.classList.add(CLASS_NAME_ACTIVE);
activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName); activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);
_this4._isSliding = false; _this5._isSliding = false;
setTimeout(function () { setTimeout(function () {
EventHandler__default['default'].trigger(_this4._element, EVENT_SLID, { EventHandler__default['default'].trigger(_this5._element, EVENT_SLID, {
relatedTarget: nextElement, relatedTarget: nextElement,
direction: eventDirectionName, direction: eventDirectionName,
from: activeElementIndex, from: activeElementIndex,
@@ -707,24 +758,20 @@
event.preventDefault(); event.preventDefault();
}; };
Carousel.getInstance = function getInstance(element) { _createClass$1(Carousel, null, [{
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(Carousel, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}, {
key: "Default", key: "Default",
get: function get() { get: function get() {
return Default; return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]); }]);
return Carousel; return Carousel;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
+1 -1
View File
File diff suppressed because one or more lines are too long
+91 -44
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; }(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
@@ -143,7 +143,7 @@
} }
}; };
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); } var isRTL = document.documentElement.dir === 'rtl';
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 _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); } }
@@ -154,8 +154,55 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'collapse';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
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 _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var DATA_KEY = 'bs.collapse'; var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -186,12 +233,16 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Collapse = /*#__PURE__*/function () { var Collapse = /*#__PURE__*/function (_BaseComponent) {
_inheritsLoose(Collapse, _BaseComponent);
function Collapse(element, config) { function Collapse(element, config) {
this._isTransitioning = false; var _this;
this._element = element;
this._config = this._getConfig(config); _this = _BaseComponent.call(this, element) || this;
this._triggerArray = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE + "[data-bs-target=\"#" + element.id + "\"]")); _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); var toggleList = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
for (var i = 0, len = toggleList.length; i < len; i++) { for (var i = 0, len = toggleList.length; i < len; i++) {
@@ -202,23 +253,23 @@
}); });
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();
} }
Data__default['default'].setData(element, DATA_KEY, this); return _this;
} // Getters } // Getters
@@ -234,7 +285,7 @@
}; };
_proto.show = function show() { _proto.show = function show() {
var _this = this; var _this2 = this;
if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) { if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
return; return;
@@ -245,8 +296,8 @@
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(function (elem) {
if (typeof _this._config.parent === 'string') { if (typeof _this2._config.parent === 'string') {
return elem.getAttribute('data-bs-parent') === _this._config.parent; return elem.getAttribute('data-bs-parent') === _this2._config.parent;
} }
return elem.classList.contains(CLASS_NAME_COLLAPSE); return elem.classList.contains(CLASS_NAME_COLLAPSE);
@@ -306,15 +357,15 @@
this.setTransitioning(true); this.setTransitioning(true);
var complete = function complete() { var complete = function complete() {
_this._element.classList.remove(CLASS_NAME_COLLAPSING); _this2._element.classList.remove(CLASS_NAME_COLLAPSING);
_this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW); _this2._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
_this._element.style[dimension] = ''; _this2._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); var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -326,7 +377,7 @@
}; };
_proto.hide = function hide() { _proto.hide = function hide() {
var _this2 = this; var _this3 = this;
if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) { if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
return; return;
@@ -364,13 +415,13 @@
this.setTransitioning(true); this.setTransitioning(true);
var complete = function complete() { var complete = function complete() {
_this2.setTransitioning(false); _this3.setTransitioning(false);
_this2._element.classList.remove(CLASS_NAME_COLLAPSING); _this3._element.classList.remove(CLASS_NAME_COLLAPSING);
_this2._element.classList.add(CLASS_NAME_COLLAPSE); _this3._element.classList.add(CLASS_NAME_COLLAPSE);
EventHandler__default['default'].trigger(_this2._element, EVENT_HIDDEN); EventHandler__default['default'].trigger(_this3._element, EVENT_HIDDEN);
}; };
this._element.style[dimension] = ''; this._element.style[dimension] = '';
@@ -384,10 +435,10 @@
}; };
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, DATA_KEY); _BaseComponent.prototype.dispose.call(this);
this._config = null; this._config = null;
this._parent = null; this._parent = null;
this._element = null;
this._triggerArray = null; this._triggerArray = null;
this._isTransitioning = null; this._isTransitioning = null;
} // Private } // Private
@@ -406,7 +457,7 @@
}; };
_proto._getParent = function _getParent() { _proto._getParent = function _getParent() {
var _this3 = this; var _this4 = this;
var parent = this._config.parent; var parent = this._config.parent;
@@ -423,7 +474,7 @@
SelectorEngine__default['default'].find(selector, parent).forEach(function (element) { SelectorEngine__default['default'].find(selector, parent).forEach(function (element) {
var selected = getElementFromSelector(element); var selected = getElementFromSelector(element);
_this3._addAriaAndCollapsedClass(selected, [element]); _this4._addAriaAndCollapsedClass(selected, [element]);
}); });
return parent; return parent;
}; };
@@ -474,24 +525,20 @@
}); });
}; };
Collapse.getInstance = function getInstance(element) { _createClass$1(Collapse, null, [{
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(Collapse, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}, {
key: "Default", key: "Default",
get: function get() { get: function get() {
return Default; return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]); }]);
return Collapse; return Collapse;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
+1 -1
View File
File diff suppressed because one or more lines are too long
+2
View File
@@ -27,6 +27,8 @@
return null; return null;
}; };
var isRTL = document.documentElement.dir === 'rtl';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha3): dom/event-handler.js * Bootstrap (v5.0.0-alpha3): dom/event-handler.js
+1 -1
View File
File diff suppressed because one or more lines are too long
+91 -45
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', 'popper.js', './dom/selector-engine.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', 'popper.js', './dom/selector-engine'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine));
}(this, (function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict'; }(this, (function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict';
@@ -101,7 +101,7 @@
} }
}; };
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); } var isRTL = document.documentElement.dir === 'rtl';
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 _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); } }
@@ -112,8 +112,55 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'dropdown';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
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 _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var DATA_KEY = 'bs.dropdown'; var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -136,9 +183,9 @@
var CLASS_NAME_DISABLED = 'disabled'; var CLASS_NAME_DISABLED = 'disabled';
var CLASS_NAME_SHOW = 'show'; var CLASS_NAME_SHOW = 'show';
var CLASS_NAME_DROPUP = 'dropup'; var CLASS_NAME_DROPUP = 'dropup';
var CLASS_NAME_DROPRIGHT = 'dropright'; var CLASS_NAME_DROPEND = 'dropend';
var CLASS_NAME_DROPLEFT = 'dropleft'; var CLASS_NAME_DROPSTART = 'dropstart';
var CLASS_NAME_MENURIGHT = 'dropdown-menu-right'; var CLASS_NAME_MENUEND = 'dropdown-menu-end';
var CLASS_NAME_NAVBAR = 'navbar'; var CLASS_NAME_NAVBAR = 'navbar';
var CLASS_NAME_POSITION_STATIC = 'position-static'; var CLASS_NAME_POSITION_STATIC = 'position-static';
var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]'; var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]';
@@ -146,12 +193,12 @@
var SELECTOR_MENU = '.dropdown-menu'; var SELECTOR_MENU = '.dropdown-menu';
var SELECTOR_NAVBAR_NAV = '.navbar-nav'; var SELECTOR_NAVBAR_NAV = '.navbar-nav';
var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
var PLACEMENT_TOP = 'top-start'; var PLACEMENT_TOP = isRTL ? 'top-end' : 'top-start';
var PLACEMENT_TOPEND = 'top-end'; var PLACEMENT_TOPEND = isRTL ? 'top-start' : 'top-end';
var PLACEMENT_BOTTOM = 'bottom-start'; var PLACEMENT_BOTTOM = isRTL ? 'bottom-end' : 'bottom-start';
var PLACEMENT_BOTTOMEND = 'bottom-end'; var PLACEMENT_BOTTOMEND = isRTL ? 'bottom-start' : 'bottom-end';
var PLACEMENT_RIGHT = 'right-start'; var PLACEMENT_RIGHT = isRTL ? 'left-start' : 'right-start';
var PLACEMENT_LEFT = 'left-start'; var PLACEMENT_LEFT = isRTL ? 'right-start' : 'left-start';
var Default = { var Default = {
offset: 0, offset: 0,
flip: true, flip: true,
@@ -174,17 +221,21 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Dropdown = /*#__PURE__*/function () { var Dropdown = /*#__PURE__*/function (_BaseComponent) {
_inheritsLoose(Dropdown, _BaseComponent);
function Dropdown(element, config) { function Dropdown(element, config) {
this._element = element; var _this;
this._popper = null;
this._config = this._getConfig(config);
this._menu = this._getMenuElement();
this._inNavbar = this._detectNavbar();
this._addEventListeners(); _this = _BaseComponent.call(this, element) || this;
_this._popper = null;
_this._config = _this._getConfig(config);
_this._menu = _this._getMenuElement();
_this._inNavbar = _this._detectNavbar();
Data__default['default'].setData(element, DATA_KEY, this); _this._addEventListeners();
return _this;
} // Getters } // Getters
@@ -300,9 +351,9 @@
}; };
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, DATA_KEY); _BaseComponent.prototype.dispose.call(this);
EventHandler__default['default'].off(this._element, EVENT_KEY); EventHandler__default['default'].off(this._element, EVENT_KEY);
this._element = null;
this._menu = null; this._menu = null;
if (this._popper) { if (this._popper) {
@@ -322,13 +373,13 @@
; ;
_proto._addEventListeners = function _addEventListeners() { _proto._addEventListeners = function _addEventListeners() {
var _this = this; var _this2 = this;
EventHandler__default['default'].on(this._element, EVENT_CLICK, function (event) { EventHandler__default['default'].on(this._element, EVENT_CLICK, function (event) {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
_this.toggle(); _this2.toggle();
}); });
}; };
@@ -347,12 +398,12 @@
var placement = PLACEMENT_BOTTOM; // Handle dropup var placement = PLACEMENT_BOTTOM; // Handle dropup
if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP; placement = this._menu.classList.contains(CLASS_NAME_MENUEND) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) { } else if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
placement = PLACEMENT_RIGHT; placement = PLACEMENT_RIGHT;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) { } else if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
placement = PLACEMENT_LEFT; placement = PLACEMENT_LEFT;
} else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) { } else if (this._menu.classList.contains(CLASS_NAME_MENUEND)) {
placement = PLACEMENT_BOTTOMEND; placement = PLACEMENT_BOTTOMEND;
} }
@@ -364,13 +415,13 @@
}; };
_proto._getOffset = function _getOffset() { _proto._getOffset = function _getOffset() {
var _this2 = this; var _this3 = this;
var offset = {}; var offset = {};
if (typeof this._config.offset === 'function') { if (typeof this._config.offset === 'function') {
offset.fn = function (data) { offset.fn = function (data) {
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); data.offsets = _extends({}, data.offsets, _this3._config.offset(data.offsets, _this3._element) || {});
return data; return data;
}; };
} else { } else {
@@ -532,15 +583,14 @@
return; return;
} }
var index = items.indexOf(event.target); var index = items.indexOf(event.target); // Up
if (event.key === ARROW_UP_KEY && index > 0) { if (event.key === ARROW_UP_KEY && index > 0) {
// Up
index--; index--;
} } // Down
if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
// Down
index++; index++;
} // index is -1 if the first keydown is an ArrowUp } // index is -1 if the first keydown is an ArrowUp
@@ -549,16 +599,7 @@
items[index].focus(); items[index].focus();
}; };
Dropdown.getInstance = function getInstance(element) { _createClass$1(Dropdown, null, [{
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(Dropdown, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}, {
key: "Default", key: "Default",
get: function get() { get: function get() {
return Default; return Default;
@@ -568,10 +609,15 @@
get: function get() { get: function get() {
return DefaultType; return DefaultType;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]); }]);
return Dropdown; return Dropdown;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
+1 -1
View File
File diff suppressed because one or more lines are too long
+124 -80
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; }(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
@@ -147,7 +147,7 @@
} }
}; };
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); } var isRTL = document.documentElement.dir === 'rtl';
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 _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); } }
@@ -158,8 +158,55 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'modal';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
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 _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var DATA_KEY = 'bs.modal'; var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -167,14 +214,12 @@
var Default = { var Default = {
backdrop: true, backdrop: true,
keyboard: true, keyboard: true,
focus: true, focus: true
show: true
}; };
var DefaultType = { var DefaultType = {
backdrop: '(boolean|string)', backdrop: '(boolean|string)',
keyboard: 'boolean', keyboard: 'boolean',
focus: 'boolean', focus: 'boolean'
show: 'boolean'
}; };
var EVENT_HIDE = "hide" + EVENT_KEY; var EVENT_HIDE = "hide" + EVENT_KEY;
var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY; var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY;
@@ -206,18 +251,22 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Modal = /*#__PURE__*/function () { var Modal = /*#__PURE__*/function (_BaseComponent) {
_inheritsLoose(Modal, _BaseComponent);
function Modal(element, config) { function Modal(element, config) {
this._config = this._getConfig(config); var _this;
this._element = element;
this._dialog = SelectorEngine__default['default'].findOne(SELECTOR_DIALOG, element); _this = _BaseComponent.call(this, element) || this;
this._backdrop = null; _this._config = _this._getConfig(config);
this._isShown = false; _this._dialog = SelectorEngine__default['default'].findOne(SELECTOR_DIALOG, element);
this._isBodyOverflowing = false; _this._backdrop = null;
this._ignoreBackdropClick = false; _this._isShown = false;
this._isTransitioning = false; _this._isBodyOverflowing = false;
this._scrollbarWidth = 0; _this._ignoreBackdropClick = false;
Data__default['default'].setData(element, DATA_KEY, this); _this._isTransitioning = false;
_this._scrollbarWidth = 0;
return _this;
} // Getters } // Getters
@@ -229,7 +278,7 @@
}; };
_proto.show = function show(relatedTarget) { _proto.show = function show(relatedTarget) {
var _this = this; var _this2 = this;
if (this._isShown || this._isTransitioning) { if (this._isShown || this._isTransitioning) {
return; return;
@@ -260,23 +309,23 @@
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, function (event) {
return _this.hide(event); return _this2.hide(event);
}); });
EventHandler__default['default'].on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () { EventHandler__default['default'].on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
EventHandler__default['default'].one(_this._element, EVENT_MOUSEUP_DISMISS, function (event) { EventHandler__default['default'].one(_this2._element, EVENT_MOUSEUP_DISMISS, function (event) {
if (event.target === _this._element) { if (event.target === _this2._element) {
_this._ignoreBackdropClick = true; _this2._ignoreBackdropClick = true;
} }
}); });
}); });
this._showBackdrop(function () { this._showBackdrop(function () {
return _this._showElement(relatedTarget); return _this2._showElement(relatedTarget);
}); });
}; };
_proto.hide = function hide(event) { _proto.hide = function hide(event) {
var _this2 = this; var _this3 = this;
if (event) { if (event) {
event.preventDefault(); event.preventDefault();
@@ -314,7 +363,7 @@
if (transition) { if (transition) {
var transitionDuration = getTransitionDurationFromElement(this._element); var transitionDuration = getTransitionDurationFromElement(this._element);
EventHandler__default['default'].one(this._element, TRANSITION_END, function (event) { EventHandler__default['default'].one(this._element, TRANSITION_END, function (event) {
return _this2._hideModal(event); return _this3._hideModal(event);
}); });
emulateTransitionEnd(this._element, transitionDuration); emulateTransitionEnd(this._element, transitionDuration);
} else { } else {
@@ -326,16 +375,17 @@
[window, this._element, this._dialog].forEach(function (htmlElement) { [window, this._element, this._dialog].forEach(function (htmlElement) {
return EventHandler__default['default'].off(htmlElement, EVENT_KEY); return EventHandler__default['default'].off(htmlElement, EVENT_KEY);
}); });
_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);
Data__default['default'].removeData(this._element, DATA_KEY);
this._config = null; this._config = null;
this._element = null;
this._dialog = null; this._dialog = null;
this._backdrop = null; this._backdrop = null;
this._isShown = null; this._isShown = null;
@@ -357,7 +407,7 @@
}; };
_proto._showElement = function _showElement(relatedTarget) { _proto._showElement = function _showElement(relatedTarget) {
var _this3 = this; var _this4 = this;
var transition = this._element.classList.contains(CLASS_NAME_FADE); var transition = this._element.classList.contains(CLASS_NAME_FADE);
@@ -393,12 +443,12 @@
} }
var transitionComplete = function transitionComplete() { var transitionComplete = function transitionComplete() {
if (_this3._config.focus) { if (_this4._config.focus) {
_this3._element.focus(); _this4._element.focus();
} }
_this3._isTransitioning = false; _this4._isTransitioning = false;
EventHandler__default['default'].trigger(_this3._element, EVENT_SHOWN, { EventHandler__default['default'].trigger(_this4._element, EVENT_SHOWN, {
relatedTarget: relatedTarget relatedTarget: relatedTarget
}); });
}; };
@@ -413,28 +463,28 @@
}; };
_proto._enforceFocus = function _enforceFocus() { _proto._enforceFocus = function _enforceFocus() {
var _this4 = this; var _this5 = this;
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, function (event) {
if (document !== event.target && _this4._element !== event.target && !_this4._element.contains(event.target)) { if (document !== event.target && _this5._element !== event.target && !_this5._element.contains(event.target)) {
_this4._element.focus(); _this5._element.focus();
} }
}); });
}; };
_proto._setEscapeEvent = function _setEscapeEvent() { _proto._setEscapeEvent = function _setEscapeEvent() {
var _this5 = this; var _this6 = this;
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, function (event) {
if (_this5._config.keyboard && event.key === ESCAPE_KEY) { if (_this6._config.keyboard && event.key === ESCAPE_KEY) {
event.preventDefault(); event.preventDefault();
_this5.hide(); _this6.hide();
} else if (!_this5._config.keyboard && event.key === ESCAPE_KEY) { } else if (!_this6._config.keyboard && event.key === ESCAPE_KEY) {
_this5._triggerBackdropTransition(); _this6._triggerBackdropTransition();
} }
}); });
} else { } else {
@@ -443,11 +493,11 @@
}; };
_proto._setResizeEvent = function _setResizeEvent() { _proto._setResizeEvent = function _setResizeEvent() {
var _this6 = this; var _this7 = this;
if (this._isShown) { if (this._isShown) {
EventHandler__default['default'].on(window, EVENT_RESIZE, function () { EventHandler__default['default'].on(window, EVENT_RESIZE, function () {
return _this6._adjustDialog(); return _this7._adjustDialog();
}); });
} else { } else {
EventHandler__default['default'].off(window, EVENT_RESIZE); EventHandler__default['default'].off(window, EVENT_RESIZE);
@@ -455,7 +505,7 @@
}; };
_proto._hideModal = function _hideModal() { _proto._hideModal = function _hideModal() {
var _this7 = this; var _this8 = this;
this._element.style.display = 'none'; this._element.style.display = 'none';
@@ -470,11 +520,11 @@
this._showBackdrop(function () { this._showBackdrop(function () {
document.body.classList.remove(CLASS_NAME_OPEN); document.body.classList.remove(CLASS_NAME_OPEN);
_this7._resetAdjustments(); _this8._resetAdjustments();
_this7._resetScrollbar(); _this8._resetScrollbar();
EventHandler__default['default'].trigger(_this7._element, EVENT_HIDDEN); EventHandler__default['default'].trigger(_this8._element, EVENT_HIDDEN);
}); });
}; };
@@ -485,7 +535,7 @@
}; };
_proto._showBackdrop = function _showBackdrop(callback) { _proto._showBackdrop = function _showBackdrop(callback) {
var _this8 = this; var _this9 = this;
var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : ''; var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
@@ -499,8 +549,8 @@
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, function (event) {
if (_this8._ignoreBackdropClick) { if (_this9._ignoreBackdropClick) {
_this8._ignoreBackdropClick = false; _this9._ignoreBackdropClick = false;
return; return;
} }
@@ -508,10 +558,10 @@
return; return;
} }
if (_this8._config.backdrop === 'static') { if (_this9._config.backdrop === 'static') {
_this8._triggerBackdropTransition(); _this9._triggerBackdropTransition();
} else { } else {
_this8.hide(); _this9.hide();
} }
}); });
@@ -533,7 +583,7 @@
this._backdrop.classList.remove(CLASS_NAME_SHOW); this._backdrop.classList.remove(CLASS_NAME_SHOW);
var callbackRemove = function callbackRemove() { var callbackRemove = function callbackRemove() {
_this8._removeBackdrop(); _this9._removeBackdrop();
callback(); callback();
}; };
@@ -552,7 +602,7 @@
}; };
_proto._triggerBackdropTransition = function _triggerBackdropTransition() { _proto._triggerBackdropTransition = function _triggerBackdropTransition() {
var _this9 = this; var _this10 = this;
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE_PREVENTED); var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE_PREVENTED);
@@ -571,13 +621,13 @@
var modalTransitionDuration = getTransitionDurationFromElement(this._dialog); var modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
EventHandler__default['default'].off(this._element, TRANSITION_END); EventHandler__default['default'].off(this._element, TRANSITION_END);
EventHandler__default['default'].one(this._element, TRANSITION_END, function () { EventHandler__default['default'].one(this._element, TRANSITION_END, function () {
_this9._element.classList.remove(CLASS_NAME_STATIC); _this10._element.classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) { if (!isModalOverflowing) {
EventHandler__default['default'].one(_this9._element, TRANSITION_END, function () { EventHandler__default['default'].one(_this10._element, TRANSITION_END, function () {
_this9._element.style.overflowY = ''; _this10._element.style.overflowY = '';
}); });
emulateTransitionEnd(_this9._element, modalTransitionDuration); emulateTransitionEnd(_this10._element, modalTransitionDuration);
} }
}); });
emulateTransitionEnd(this._element, modalTransitionDuration); emulateTransitionEnd(this._element, modalTransitionDuration);
@@ -591,11 +641,11 @@
_proto._adjustDialog = function _adjustDialog() { _proto._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
if (!this._isBodyOverflowing && isModalOverflowing) { if (!this._isBodyOverflowing && isModalOverflowing && !isRTL || this._isBodyOverflowing && !isModalOverflowing && isRTL) {
this._element.style.paddingLeft = this._scrollbarWidth + "px"; this._element.style.paddingLeft = this._scrollbarWidth + "px";
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if (this._isBodyOverflowing && !isModalOverflowing && !isRTL || !this._isBodyOverflowing && isModalOverflowing && isRTL) {
this._element.style.paddingRight = this._scrollbarWidth + "px"; this._element.style.paddingRight = this._scrollbarWidth + "px";
} }
}; };
@@ -612,7 +662,7 @@
}; };
_proto._setScrollbar = function _setScrollbar() { _proto._setScrollbar = function _setScrollbar() {
var _this10 = this; var _this11 = this;
if (this._isBodyOverflowing) { if (this._isBodyOverflowing) {
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
@@ -622,14 +672,14 @@
var actualPadding = element.style.paddingRight; var actualPadding = element.style.paddingRight;
var calculatedPadding = window.getComputedStyle(element)['padding-right']; var calculatedPadding = window.getComputedStyle(element)['padding-right'];
Manipulator__default['default'].setDataAttribute(element, 'padding-right', actualPadding); Manipulator__default['default'].setDataAttribute(element, 'padding-right', actualPadding);
element.style.paddingRight = Number.parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"; element.style.paddingRight = Number.parseFloat(calculatedPadding) + _this11._scrollbarWidth + "px";
}); // Adjust sticky content margin }); // Adjust sticky content margin
SelectorEngine__default['default'].find(SELECTOR_STICKY_CONTENT).forEach(function (element) { SelectorEngine__default['default'].find(SELECTOR_STICKY_CONTENT).forEach(function (element) {
var actualMargin = element.style.marginRight; var actualMargin = element.style.marginRight;
var calculatedMargin = window.getComputedStyle(element)['margin-right']; var calculatedMargin = window.getComputedStyle(element)['margin-right'];
Manipulator__default['default'].setDataAttribute(element, 'margin-right', actualMargin); Manipulator__default['default'].setDataAttribute(element, 'margin-right', actualMargin);
element.style.marginRight = Number.parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"; element.style.marginRight = Number.parseFloat(calculatedMargin) - _this11._scrollbarWidth + "px";
}); // Adjust body padding }); // Adjust body padding
var actualPadding = document.body.style.paddingRight; var actualPadding = document.body.style.paddingRight;
@@ -698,30 +748,24 @@
} }
data[config](relatedTarget); data[config](relatedTarget);
} else if (_config.show) {
data.show(relatedTarget);
} }
}); });
}; };
Modal.getInstance = function getInstance(element) { _createClass$1(Modal, null, [{
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(Modal, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}, {
key: "Default", key: "Default",
get: function get() { get: function get() {
return Default; return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]); }]);
return Modal; return Modal;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
@@ -730,7 +774,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) {
var _this11 = this; var _this12 = this;
var target = getElementFromSelector(this); var target = getElementFromSelector(this);
@@ -745,8 +789,8 @@
} }
EventHandler__default['default'].one(target, EVENT_HIDDEN, function () { EventHandler__default['default'].one(target, EVENT_HIDDEN, function () {
if (isVisible(_this11)) { if (isVisible(_this12)) {
_this11.focus(); _this12.focus();
} }
}); });
}); });
+1 -1
View File
File diff suppressed because one or more lines are too long
+8 -16
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/selector-engine.js'), require('./tooltip.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/selector-engine.js'), require('./tooltip.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/selector-engine.js', './tooltip.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/selector-engine', './tooltip'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Data, global.SelectorEngine, global.Tooltip)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Data, global.SelectorEngine, global.Tooltip));
}(this, (function (Data, SelectorEngine, Tooltip) { 'use strict'; }(this, (function (Data, SelectorEngine, Tooltip) { 'use strict';
@@ -41,6 +41,8 @@
} }
}; };
var isRTL = document.documentElement.dir === 'rtl';
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 _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 _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
@@ -55,7 +57,6 @@
*/ */
var NAME = 'popover'; var NAME = 'popover';
var VERSION = '5.0.0-alpha3';
var DATA_KEY = 'bs.popover'; var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var CLASS_PREFIX = 'bs-popover'; var CLASS_PREFIX = 'bs-popover';
@@ -65,7 +66,7 @@
placement: 'right', placement: 'right',
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, { var DefaultType = _extends({}, Tooltip__default['default'].DefaultType, {
@@ -116,7 +117,7 @@
var content = this._getContent(); var content = this._getContent();
if (typeof content === 'function') { if (typeof content === 'function') {
content = content.call(this.element); content = content.call(this._element);
} }
this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, tip), content); this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, tip), content);
@@ -125,11 +126,11 @@
; ;
_proto._addAttachmentClass = function _addAttachmentClass(attachment) { _proto._addAttachmentClass = function _addAttachmentClass(attachment) {
this.getTipElement().classList.add(CLASS_PREFIX + "-" + attachment); this.getTipElement().classList.add(CLASS_PREFIX + "-" + this.updateAttachment(attachment));
}; };
_proto._getContent = function _getContent() { _proto._getContent = function _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() { _proto._cleanTipClass = function _cleanTipClass() {
@@ -171,18 +172,9 @@
}); });
}; };
Popover.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(Popover, null, [{ _createClass(Popover, null, [{
key: "VERSION",
// Getters
get: function get() {
return VERSION;
}
}, {
key: "Default", key: "Default",
// Getters
get: function get() { get: function get() {
return Default; return Default;
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+77 -31
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; }(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
@@ -102,7 +102,7 @@
} }
}; };
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); } var isRTL = document.documentElement.dir === 'rtl';
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 _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); } }
@@ -113,8 +113,55 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'scrollspy';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
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 _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var DATA_KEY = 'bs.scrollspy'; var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -148,26 +195,29 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var ScrollSpy = /*#__PURE__*/function () { var ScrollSpy = /*#__PURE__*/function (_BaseComponent) {
function ScrollSpy(element, config) { _inheritsLoose(ScrollSpy, _BaseComponent);
var _this = this;
this._element = element; function ScrollSpy(element, config) {
this._scrollElement = element.tagName === 'BODY' ? window : element; var _this;
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 = _BaseComponent.call(this, element) || this;
this._offsets = []; _this._scrollElement = element.tagName === 'BODY' ? window : element;
this._targets = []; _this._config = _this._getConfig(config);
this._activeTarget = null; _this._selector = _this._config.target + " " + SELECTOR_NAV_LINKS + ", " + _this._config.target + " " + SELECTOR_LIST_ITEMS + ", " + _this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM;
this._scrollHeight = 0; _this._offsets = [];
EventHandler__default['default'].on(this._scrollElement, EVENT_SCROLL, function (event) { _this._targets = [];
_this._activeTarget = null;
_this._scrollHeight = 0;
EventHandler__default['default'].on(_this._scrollElement, EVENT_SCROLL, function (event) {
return _this._process(event); return _this._process(event);
}); });
this.refresh();
this._process(); _this.refresh();
Data__default['default'].setData(element, DATA_KEY, this); _this._process();
return _this;
} // Getters } // Getters
@@ -209,9 +259,9 @@
}; };
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, DATA_KEY); _BaseComponent.prototype.dispose.call(this);
EventHandler__default['default'].off(this._scrollElement, EVENT_KEY); EventHandler__default['default'].off(this._scrollElement, EVENT_KEY);
this._element = null;
this._scrollElement = null; this._scrollElement = null;
this._config = null; this._config = null;
this._selector = null; this._selector = null;
@@ -356,24 +406,20 @@
}); });
}; };
ScrollSpy.getInstance = function getInstance(element) { _createClass$1(ScrollSpy, null, [{
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(ScrollSpy, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}, {
key: "Default", key: "Default",
get: function get() { get: function get() {
return Default; return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]); }]);
return ScrollSpy; return ScrollSpy;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
+1 -1
View File
File diff suppressed because one or more lines are too long
+59 -20
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/selector-engine.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/selector-engine'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.Data, global.EventHandler, global.SelectorEngine)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.Data, global.EventHandler, global.SelectorEngine));
}(this, (function (Data, EventHandler, SelectorEngine) { 'use strict'; }(this, (function (Data, EventHandler, SelectorEngine) { 'use strict';
@@ -108,6 +108,8 @@
} }
}; };
var isRTL = document.documentElement.dir === 'rtl';
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 _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 _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
@@ -117,8 +119,53 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tab';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
function _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var DATA_KEY = 'bs.tab'; var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -145,12 +192,12 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Tab = /*#__PURE__*/function () { var Tab = /*#__PURE__*/function (_BaseComponent) {
function Tab(element) { _inheritsLoose(Tab, _BaseComponent);
this._element = element;
Data__default['default'].setData(this._element, DATA_KEY, this);
} // Getters
function Tab() {
return _BaseComponent.apply(this, arguments) || this;
}
var _proto = Tab.prototype; var _proto = Tab.prototype;
@@ -205,11 +252,6 @@
} else { } else {
complete(); complete();
} }
};
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, DATA_KEY);
this._element = null;
} // Private } // Private
; ;
@@ -292,19 +334,16 @@
}); });
}; };
Tab.getInstance = function getInstance(element) { _createClass$1(Tab, null, [{
return Data__default['default'].getData(element, DATA_KEY); key: "DATA_KEY",
}; // Getters
_createClass(Tab, null, [{
key: "VERSION",
get: function get() { get: function get() {
return VERSION; return DATA_KEY;
} }
}]); }]);
return Tab; return Tab;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Data Api implementation * Data Api implementation
+1 -1
View File
File diff suppressed because one or more lines are too long
+83 -35
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator));
}(this, (function (Data, EventHandler, Manipulator) { 'use strict'; }(this, (function (Data, EventHandler, Manipulator) { 'use strict';
@@ -116,7 +116,7 @@
} }
}; };
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); } var isRTL = document.documentElement.dir === 'rtl';
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 _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); } }
@@ -127,8 +127,55 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'toast';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
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 _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'toast';
var DATA_KEY = 'bs.toast'; var DATA_KEY = 'bs.toast';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY; var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
@@ -157,15 +204,19 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Toast = /*#__PURE__*/function () { var Toast = /*#__PURE__*/function (_BaseComponent) {
_inheritsLoose(Toast, _BaseComponent);
function Toast(element, config) { function Toast(element, config) {
this._element = element; var _this;
this._config = this._getConfig(config);
this._timeout = null;
this._setListeners(); _this = _BaseComponent.call(this, element) || this;
_this._config = _this._getConfig(config);
_this._timeout = null;
Data__default['default'].setData(element, DATA_KEY, this); _this._setListeners();
return _this;
} // Getters } // Getters
@@ -173,7 +224,7 @@
// Public // Public
_proto.show = function show() { _proto.show = function show() {
var _this = this; var _this2 = this;
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW); var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
@@ -188,16 +239,16 @@
} }
var complete = function complete() { var complete = function complete() {
_this._element.classList.remove(CLASS_NAME_SHOWING); _this2._element.classList.remove(CLASS_NAME_SHOWING);
_this._element.classList.add(CLASS_NAME_SHOW); _this2._element.classList.add(CLASS_NAME_SHOW);
EventHandler__default['default'].trigger(_this._element, EVENT_SHOWN); EventHandler__default['default'].trigger(_this2._element, EVENT_SHOWN);
if (_this._config.autohide) { if (_this2._config.autohide) {
_this._timeout = setTimeout(function () { _this2._timeout = setTimeout(function () {
_this.hide(); _this2.hide();
}, _this._config.delay); }, _this2._config.delay);
} }
}; };
@@ -217,7 +268,7 @@
}; };
_proto.hide = function hide() { _proto.hide = function hide() {
var _this2 = this; var _this3 = this;
if (!this._element.classList.contains(CLASS_NAME_SHOW)) { if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
return; return;
@@ -230,9 +281,9 @@
} }
var complete = function complete() { var complete = function complete() {
_this2._element.classList.add(CLASS_NAME_HIDE); _this3._element.classList.add(CLASS_NAME_HIDE);
EventHandler__default['default'].trigger(_this2._element, EVENT_HIDDEN); EventHandler__default['default'].trigger(_this3._element, EVENT_HIDDEN);
}; };
this._element.classList.remove(CLASS_NAME_SHOW); this._element.classList.remove(CLASS_NAME_SHOW);
@@ -254,8 +305,9 @@
} }
EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS); EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS);
Data__default['default'].removeData(this._element, DATA_KEY);
this._element = null; _BaseComponent.prototype.dispose.call(this);
this._config = null; this._config = null;
} // Private } // Private
; ;
@@ -267,10 +319,10 @@
}; };
_proto._setListeners = function _setListeners() { _proto._setListeners = function _setListeners() {
var _this3 = this; var _this4 = this;
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () { EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
return _this3.hide(); return _this4.hide();
}); });
}; };
@@ -300,16 +352,7 @@
}); });
}; };
Toast.getInstance = function getInstance(element) { _createClass$1(Toast, null, [{
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(Toast, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}, {
key: "DefaultType", key: "DefaultType",
get: function get() { get: function get() {
return DefaultType; return DefaultType;
@@ -319,10 +362,15 @@
get: function get() { get: function get() {
return Default; return Default;
} }
}, {
key: "DATA_KEY",
get: function get() {
return DATA_KEY;
}
}]); }]);
return Toast; return Toast;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* jQuery * jQuery
+1 -1
View File
File diff suppressed because one or more lines are too long
+155 -83
View File
@@ -5,7 +5,7 @@
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', 'popper.js', './dom/selector-engine.js'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', 'popper.js', './dom/selector-engine'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tooltip = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tooltip = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine));
}(this, (function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict'; }(this, (function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict';
@@ -156,6 +156,8 @@
} }
}; };
var isRTL = document.documentElement.dir === 'rtl';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha3): util/sanitizer.js * Bootstrap (v5.0.0-alpha3): util/sanitizer.js
@@ -283,8 +285,6 @@
return createdDocument.body.innerHTML; return createdDocument.body.innerHTML;
} }
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 _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 _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 _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
@@ -294,8 +294,55 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tooltip';
var VERSION = '5.0.0-alpha3'; var VERSION = '5.0.0-alpha3';
var BaseComponent = /*#__PURE__*/function () {
function BaseComponent(element) {
if (!element) {
return;
}
this._element = element;
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
}
var _proto = BaseComponent.prototype;
_proto.dispose = function dispose() {
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
this._element = null;
}
/** Static */
;
BaseComponent.getInstance = function getInstance(element) {
return Data__default['default'].getData(element, this.DATA_KEY);
};
_createClass(BaseComponent, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}]);
return BaseComponent;
}();
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 _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var DATA_KEY = 'bs.tooltip'; var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var CLASS_PREFIX = 'bs-tooltip'; var CLASS_PREFIX = 'bs-tooltip';
@@ -314,6 +361,7 @@
container: '(string|element|boolean)', container: '(string|element|boolean)',
fallbackPlacement: '(string|array)', fallbackPlacement: '(string|array)',
boundary: '(string|element)', boundary: '(string|element)',
customClass: '(string|function)',
sanitize: 'boolean', sanitize: 'boolean',
sanitizeFn: '(null|function)', sanitizeFn: '(null|function)',
allowList: 'object', allowList: 'object',
@@ -322,13 +370,13 @@
var AttachmentMap = { var AttachmentMap = {
AUTO: 'auto', AUTO: 'auto',
TOP: 'top', TOP: 'top',
RIGHT: 'right', RIGHT: isRTL ? 'left' : 'right',
BOTTOM: 'bottom', BOTTOM: 'bottom',
LEFT: 'left' LEFT: isRTL ? 'right' : 'left'
}; };
var Default = { var Default = {
animation: true, animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div></div>', template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
trigger: 'hover focus', trigger: 'hover focus',
title: '', title: '',
delay: 0, delay: 0,
@@ -339,6 +387,7 @@
container: false, container: false,
fallbackPlacement: 'flip', fallbackPlacement: 'flip',
boundary: 'scrollParent', boundary: 'scrollParent',
customClass: '',
sanitize: true, sanitize: true,
sanitizeFn: null, sanitizeFn: null,
allowList: DefaultAllowlist, allowList: DefaultAllowlist,
@@ -372,26 +421,30 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var Tooltip = /*#__PURE__*/function () { var Tooltip = /*#__PURE__*/function (_BaseComponent) {
_inheritsLoose(Tooltip, _BaseComponent);
function Tooltip(element, config) { function Tooltip(element, config) {
var _this;
if (typeof Popper__default['default'] === 'undefined') { if (typeof Popper__default['default'] === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
} // private }
_this = _BaseComponent.call(this, element) || this; // private
this._isEnabled = true; _this._isEnabled = true;
this._timeout = 0; _this._timeout = 0;
this._hoverState = ''; _this._hoverState = '';
this._activeTrigger = {}; _this._activeTrigger = {};
this._popper = null; // Protected _this._popper = null; // Protected
this.element = element; _this.config = _this._getConfig(config);
this.config = this._getConfig(config); _this.tip = null;
this.tip = null;
this._setListeners(); _this._setListeners();
Data__default['default'].setData(element, this.constructor.DATA_KEY, this); return _this;
} // Getters } // Getters
@@ -444,9 +497,8 @@
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
clearTimeout(this._timeout); clearTimeout(this._timeout);
Data__default['default'].removeData(this.element, this.constructor.DATA_KEY); EventHandler__default['default'].off(this._element, this.constructor.EVENT_KEY);
EventHandler__default['default'].off(this.element, this.constructor.EVENT_KEY); EventHandler__default['default'].off(this._element.closest("." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
EventHandler__default['default'].off(this.element.closest("." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.tip) { if (this.tip) {
this.tip.parentNode.removeChild(this.tip); this.tip.parentNode.removeChild(this.tip);
@@ -462,22 +514,23 @@
} }
this._popper = null; this._popper = null;
this.element = null;
this.config = null; this.config = null;
this.tip = null; this.tip = null;
_BaseComponent.prototype.dispose.call(this);
}; };
_proto.show = function show() { _proto.show = function show() {
var _this = this; var _this2 = this;
if (this.element.style.display === 'none') { if (this._element.style.display === 'none') {
throw new Error('Please use show on visible elements'); throw new Error('Please use show on visible elements');
} }
if (this.isWithContent() && this._isEnabled) { if (this.isWithContent() && this._isEnabled) {
var showEvent = EventHandler__default['default'].trigger(this.element, this.constructor.Event.SHOW); var showEvent = EventHandler__default['default'].trigger(this._element, this.constructor.Event.SHOW);
var shadowRoot = findShadowRoot(this.element); var shadowRoot = findShadowRoot(this._element);
var isInTheDom = shadowRoot === null ? this.element.ownerDocument.documentElement.contains(this.element) : shadowRoot.contains(this.element); var isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element);
if (showEvent.defaultPrevented || !isInTheDom) { if (showEvent.defaultPrevented || !isInTheDom) {
return; return;
@@ -486,14 +539,16 @@
var tip = this.getTipElement(); var tip = this.getTipElement();
var tipId = getUID(this.constructor.NAME); var tipId = getUID(this.constructor.NAME);
tip.setAttribute('id', tipId); tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
this._element.setAttribute('aria-describedby', tipId);
this.setContent(); this.setContent();
if (this.config.animation) { if (this.config.animation) {
tip.classList.add(CLASS_NAME_FADE); tip.classList.add(CLASS_NAME_FADE);
} }
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this._element) : this.config.placement;
var attachment = this._getAttachment(placement); var attachment = this._getAttachment(placement);
@@ -503,17 +558,25 @@
Data__default['default'].setData(tip, this.constructor.DATA_KEY, this); Data__default['default'].setData(tip, this.constructor.DATA_KEY, this);
if (!this.element.ownerDocument.documentElement.contains(this.tip)) { if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
container.appendChild(tip); container.appendChild(tip);
} }
EventHandler__default['default'].trigger(this.element, this.constructor.Event.INSERTED); EventHandler__default['default'].trigger(this._element, this.constructor.Event.INSERTED);
this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment)); this._popper = new Popper__default['default'](this._element, tip, this._getPopperConfig(attachment));
tip.classList.add(CLASS_NAME_SHOW); // If this is a touch-enabled device we add extra tip.classList.add(CLASS_NAME_SHOW);
var customClass = typeof this.config.customClass === 'function' ? this.config.customClass() : this.config.customClass;
if (customClass) {
var _tip$classList;
(_tip$classList = tip.classList).add.apply(_tip$classList, customClass.split(' '));
} // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children; // empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS // only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement) { if ('ontouchstart' in document.documentElement) {
var _ref; var _ref;
@@ -523,16 +586,16 @@
} }
var complete = function complete() { var complete = function complete() {
if (_this.config.animation) { if (_this2.config.animation) {
_this._fixTransition(); _this2._fixTransition();
} }
var prevHoverState = _this._hoverState; var prevHoverState = _this2._hoverState;
_this._hoverState = null; _this2._hoverState = null;
EventHandler__default['default'].trigger(_this.element, _this.constructor.Event.SHOWN); EventHandler__default['default'].trigger(_this2._element, _this2.constructor.Event.SHOWN);
if (prevHoverState === HOVER_STATE_OUT) { if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this); _this2._leave(null, _this2);
} }
}; };
@@ -547,7 +610,7 @@
}; };
_proto.hide = function hide() { _proto.hide = function hide() {
var _this2 = this; var _this3 = this;
if (!this._popper) { if (!this._popper) {
return; return;
@@ -556,20 +619,20 @@
var tip = this.getTipElement(); var tip = this.getTipElement();
var complete = function complete() { var complete = function complete() {
if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) { if (_this3._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip); tip.parentNode.removeChild(tip);
} }
_this2._cleanTipClass(); _this3._cleanTipClass();
_this2.element.removeAttribute('aria-describedby'); _this3._element.removeAttribute('aria-describedby');
EventHandler__default['default'].trigger(_this2.element, _this2.constructor.Event.HIDDEN); EventHandler__default['default'].trigger(_this3._element, _this3.constructor.Event.HIDDEN);
_this2._popper.destroy(); _this3._popper.destroy();
}; };
var hideEvent = EventHandler__default['default'].trigger(this.element, this.constructor.Event.HIDE); var hideEvent = EventHandler__default['default'].trigger(this._element, this.constructor.Event.HIDE);
if (hideEvent.defaultPrevented) { if (hideEvent.defaultPrevented) {
return; return;
@@ -664,18 +727,30 @@
}; };
_proto.getTitle = function getTitle() { _proto.getTitle = function getTitle() {
var title = this.element.getAttribute('data-bs-original-title'); var title = this._element.getAttribute('data-bs-original-title');
if (!title) { if (!title) {
title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; title = typeof this.config.title === 'function' ? this.config.title.call(this._element) : this.config.title;
} }
return title; return title;
};
_proto.updateAttachment = function updateAttachment(attachment) {
if (attachment === 'right') {
return 'end';
}
if (attachment === 'left') {
return 'start';
}
return attachment;
} // Private } // Private
; ;
_proto._getPopperConfig = function _getPopperConfig(attachment) { _proto._getPopperConfig = function _getPopperConfig(attachment) {
var _this3 = this; var _this4 = this;
var defaultBsConfig = { var defaultBsConfig = {
placement: attachment, placement: attachment,
@@ -693,28 +768,28 @@
}, },
onCreate: function onCreate(data) { onCreate: function onCreate(data) {
if (data.originalPlacement !== data.placement) { if (data.originalPlacement !== data.placement) {
_this3._handlePopperPlacementChange(data); _this4._handlePopperPlacementChange(data);
} }
}, },
onUpdate: function onUpdate(data) { onUpdate: function onUpdate(data) {
return _this3._handlePopperPlacementChange(data); return _this4._handlePopperPlacementChange(data);
} }
}; };
return _extends({}, defaultBsConfig, this.config.popperConfig); return _extends({}, defaultBsConfig, this.config.popperConfig);
}; };
_proto._addAttachmentClass = function _addAttachmentClass(attachment) { _proto._addAttachmentClass = function _addAttachmentClass(attachment) {
this.getTipElement().classList.add(CLASS_PREFIX + "-" + attachment); this.getTipElement().classList.add(CLASS_PREFIX + "-" + this.updateAttachment(attachment));
}; };
_proto._getOffset = function _getOffset() { _proto._getOffset = function _getOffset() {
var _this4 = this; var _this5 = this;
var offset = {}; var offset = {};
if (typeof this.config.offset === 'function') { if (typeof this.config.offset === 'function') {
offset.fn = function (data) { offset.fn = function (data) {
data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {}); data.offsets = _extends({}, data.offsets, _this5.config.offset(data.offsets, _this5._element) || {});
return data; return data;
}; };
} else { } else {
@@ -741,33 +816,33 @@
}; };
_proto._setListeners = function _setListeners() { _proto._setListeners = function _setListeners() {
var _this5 = this; var _this6 = this;
var triggers = this.config.trigger.split(' '); var triggers = this.config.trigger.split(' ');
triggers.forEach(function (trigger) { triggers.forEach(function (trigger) {
if (trigger === 'click') { if (trigger === 'click') {
EventHandler__default['default'].on(_this5.element, _this5.constructor.Event.CLICK, _this5.config.selector, function (event) { EventHandler__default['default'].on(_this6._element, _this6.constructor.Event.CLICK, _this6.config.selector, function (event) {
return _this5.toggle(event); return _this6.toggle(event);
}); });
} else if (trigger !== TRIGGER_MANUAL) { } else if (trigger !== TRIGGER_MANUAL) {
var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; var eventIn = trigger === TRIGGER_HOVER ? _this6.constructor.Event.MOUSEENTER : _this6.constructor.Event.FOCUSIN;
var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; var eventOut = trigger === TRIGGER_HOVER ? _this6.constructor.Event.MOUSELEAVE : _this6.constructor.Event.FOCUSOUT;
EventHandler__default['default'].on(_this5.element, eventIn, _this5.config.selector, function (event) { EventHandler__default['default'].on(_this6._element, eventIn, _this6.config.selector, function (event) {
return _this5._enter(event); return _this6._enter(event);
}); });
EventHandler__default['default'].on(_this5.element, eventOut, _this5.config.selector, function (event) { EventHandler__default['default'].on(_this6._element, eventOut, _this6.config.selector, function (event) {
return _this5._leave(event); return _this6._leave(event);
}); });
} }
}); });
this._hideModalHandler = function () { this._hideModalHandler = function () {
if (_this5.element) { if (_this6._element) {
_this5.hide(); _this6.hide();
} }
}; };
EventHandler__default['default'].on(this.element.closest("." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler); EventHandler__default['default'].on(this._element.closest("." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.config.selector) { if (this.config.selector) {
this.config = _extends({}, this.config, { this.config = _extends({}, this.config, {
@@ -780,12 +855,18 @@
}; };
_proto._fixTitle = function _fixTitle() { _proto._fixTitle = function _fixTitle() {
var title = this.element.getAttribute('title'); var title = this._element.getAttribute('title');
var originalTitleType = typeof this.element.getAttribute('data-bs-original-title');
var originalTitleType = typeof this._element.getAttribute('data-bs-original-title');
if (title || originalTitleType !== 'string') { if (title || originalTitleType !== 'string') {
this.element.setAttribute('data-bs-original-title', title || ''); this._element.setAttribute('data-bs-original-title', title || '');
this.element.setAttribute('title', '');
if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {
this._element.setAttribute('aria-label', title);
}
this._element.setAttribute('title', '');
} }
}; };
@@ -865,7 +946,7 @@
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
var dataAttributes = Manipulator__default['default'].getDataAttributes(this.element); var dataAttributes = Manipulator__default['default'].getDataAttributes(this._element);
Object.keys(dataAttributes).forEach(function (dataAttr) { Object.keys(dataAttributes).forEach(function (dataAttr) {
if (DISALLOWED_ATTRIBUTES.has(dataAttr)) { if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {
delete dataAttributes[dataAttr]; delete dataAttributes[dataAttr];
@@ -977,16 +1058,7 @@
}); });
}; };
Tooltip.getInstance = function getInstance(element) { _createClass$1(Tooltip, null, [{
return Data__default['default'].getData(element, DATA_KEY);
};
_createClass(Tooltip, null, [{
key: "VERSION",
get: function get() {
return VERSION;
}
}, {
key: "Default", key: "Default",
get: function get() { get: function get() {
return Default; return Default;
@@ -1019,7 +1091,7 @@
}]); }]);
return Tooltip; return Tooltip;
}(); }(BaseComponent);
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* jQuery * jQuery
+1 -1
View File
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -79,8 +79,8 @@ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
const CLASS_NAME_CAROUSEL = 'carousel' const CLASS_NAME_CAROUSEL = 'carousel'
const CLASS_NAME_ACTIVE = 'active' const CLASS_NAME_ACTIVE = 'active'
const CLASS_NAME_SLIDE = 'slide' const CLASS_NAME_SLIDE = 'slide'
const CLASS_NAME_RIGHT = 'carousel-item-right' const CLASS_NAME_END = 'carousel-item-end'
const CLASS_NAME_LEFT = 'carousel-item-left' const CLASS_NAME_START = 'carousel-item-start'
const CLASS_NAME_NEXT = 'carousel-item-next' const CLASS_NAME_NEXT = 'carousel-item-next'
const CLASS_NAME_PREV = 'carousel-item-prev' const CLASS_NAME_PREV = 'carousel-item-prev'
const CLASS_NAME_POINTER_EVENT = 'pointer-event' const CLASS_NAME_POINTER_EVENT = 'pointer-event'
@@ -442,11 +442,11 @@ class Carousel extends BaseComponent {
let eventDirectionName let eventDirectionName
if (direction === DIRECTION_NEXT) { if (direction === DIRECTION_NEXT) {
directionalClassName = CLASS_NAME_LEFT directionalClassName = CLASS_NAME_START
orderClassName = CLASS_NAME_NEXT orderClassName = CLASS_NAME_NEXT
eventDirectionName = DIRECTION_LEFT eventDirectionName = DIRECTION_LEFT
} else { } else {
directionalClassName = CLASS_NAME_RIGHT directionalClassName = CLASS_NAME_END
orderClassName = CLASS_NAME_PREV orderClassName = CLASS_NAME_PREV
eventDirectionName = DIRECTION_RIGHT eventDirectionName = DIRECTION_RIGHT
} }
+14 -13
View File
@@ -11,6 +11,7 @@ import {
getElementFromSelector, getElementFromSelector,
isElement, isElement,
isVisible, isVisible,
isRTL,
noop, noop,
typeCheckConfig typeCheckConfig
} from './util/index' } from './util/index'
@@ -53,9 +54,9 @@ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
const CLASS_NAME_DISABLED = 'disabled' const CLASS_NAME_DISABLED = 'disabled'
const CLASS_NAME_SHOW = 'show' const CLASS_NAME_SHOW = 'show'
const CLASS_NAME_DROPUP = 'dropup' const CLASS_NAME_DROPUP = 'dropup'
const CLASS_NAME_DROPRIGHT = 'dropright' const CLASS_NAME_DROPEND = 'dropend'
const CLASS_NAME_DROPLEFT = 'dropleft' const CLASS_NAME_DROPSTART = 'dropstart'
const CLASS_NAME_MENURIGHT = 'dropdown-menu-right' const CLASS_NAME_MENUEND = 'dropdown-menu-end'
const CLASS_NAME_NAVBAR = 'navbar' const CLASS_NAME_NAVBAR = 'navbar'
const CLASS_NAME_POSITION_STATIC = 'position-static' const CLASS_NAME_POSITION_STATIC = 'position-static'
@@ -65,12 +66,12 @@ const SELECTOR_MENU = '.dropdown-menu'
const SELECTOR_NAVBAR_NAV = '.navbar-nav' const SELECTOR_NAVBAR_NAV = '.navbar-nav'
const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
const PLACEMENT_TOP = 'top-start' const PLACEMENT_TOP = isRTL ? 'top-end' : 'top-start'
const PLACEMENT_TOPEND = 'top-end' const PLACEMENT_TOPEND = isRTL ? 'top-start' : 'top-end'
const PLACEMENT_BOTTOM = 'bottom-start' const PLACEMENT_BOTTOM = isRTL ? 'bottom-end' : 'bottom-start'
const PLACEMENT_BOTTOMEND = 'bottom-end' const PLACEMENT_BOTTOMEND = isRTL ? 'bottom-start' : 'bottom-end'
const PLACEMENT_RIGHT = 'right-start' const PLACEMENT_RIGHT = isRTL ? 'left-start' : 'right-start'
const PLACEMENT_LEFT = 'left-start' const PLACEMENT_LEFT = isRTL ? 'right-start' : 'left-start'
const Default = { const Default = {
offset: 0, offset: 0,
@@ -277,14 +278,14 @@ class Dropdown extends BaseComponent {
// Handle dropup // Handle dropup
if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ? placement = this._menu.classList.contains(CLASS_NAME_MENUEND) ?
PLACEMENT_TOPEND : PLACEMENT_TOPEND :
PLACEMENT_TOP PLACEMENT_TOP
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) { } else if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
placement = PLACEMENT_RIGHT placement = PLACEMENT_RIGHT
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) { } else if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
placement = PLACEMENT_LEFT placement = PLACEMENT_LEFT
} else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) { } else if (this._menu.classList.contains(CLASS_NAME_MENUEND)) {
placement = PLACEMENT_BOTTOMEND placement = PLACEMENT_BOTTOMEND
} }
+3 -2
View File
@@ -13,6 +13,7 @@ import {
getElementFromSelector, getElementFromSelector,
getTransitionDurationFromElement, getTransitionDurationFromElement,
isVisible, isVisible,
isRTL,
reflow, reflow,
typeCheckConfig typeCheckConfig
} from './util/index' } from './util/index'
@@ -435,11 +436,11 @@ class Modal extends BaseComponent {
const isModalOverflowing = const isModalOverflowing =
this._element.scrollHeight > document.documentElement.clientHeight this._element.scrollHeight > document.documentElement.clientHeight
if (!this._isBodyOverflowing && isModalOverflowing) { if ((!this._isBodyOverflowing && isModalOverflowing && !isRTL) || (this._isBodyOverflowing && !isModalOverflowing && isRTL)) {
this._element.style.paddingLeft = `${this._scrollbarWidth}px` this._element.style.paddingLeft = `${this._scrollbarWidth}px`
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if ((this._isBodyOverflowing && !isModalOverflowing && !isRTL) || (!this._isBodyOverflowing && isModalOverflowing && isRTL)) {
this._element.style.paddingRight = `${this._scrollbarWidth}px` this._element.style.paddingRight = `${this._scrollbarWidth}px`
} }
} }
+1 -1
View File
@@ -115,7 +115,7 @@ class Popover extends Tooltip {
// Private // Private
_addAttachmentClass(attachment) { _addAttachmentClass(attachment) {
this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`) this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)
} }
_getContent() { _getContent() {
+16 -3
View File
@@ -14,6 +14,7 @@ import {
getTransitionDurationFromElement, getTransitionDurationFromElement,
getUID, getUID,
isElement, isElement,
isRTL,
noop, noop,
typeCheckConfig typeCheckConfig
} from './util/index' } from './util/index'
@@ -64,9 +65,9 @@ const DefaultType = {
const AttachmentMap = { const AttachmentMap = {
AUTO: 'auto', AUTO: 'auto',
TOP: 'top', TOP: 'top',
RIGHT: 'right', RIGHT: isRTL ? 'left' : 'right',
BOTTOM: 'bottom', BOTTOM: 'bottom',
LEFT: 'left' LEFT: isRTL ? 'right' : 'left'
} }
const Default = { const Default = {
@@ -453,6 +454,18 @@ class Tooltip extends BaseComponent {
return title return title
} }
updateAttachment(attachment) {
if (attachment === 'right') {
return 'end'
}
if (attachment === 'left') {
return 'start'
}
return attachment
}
// Private // Private
_getPopperConfig(attachment) { _getPopperConfig(attachment) {
@@ -485,7 +498,7 @@ class Tooltip extends BaseComponent {
} }
_addAttachmentClass(attachment) { _addAttachmentClass(attachment) {
this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`) this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)
} }
_getOffset() { _getOffset() {
+4 -1
View File
@@ -186,6 +186,8 @@ const onDOMContentLoaded = callback => {
} }
} }
const isRTL = document.documentElement.dir === 'rtl'
export { export {
TRANSITION_END, TRANSITION_END,
getUID, getUID,
@@ -201,5 +203,6 @@ export {
noop, noop,
reflow, reflow,
getjQuery, getjQuery,
onDOMContentLoaded onDOMContentLoaded,
isRTL
} }
+10 -10
View File
@@ -227,7 +227,7 @@ describe('Dropdown', () => {
fixtureEl.innerHTML = [ fixtureEl.innerHTML = [
'<div class="dropdown">', '<div class="dropdown">',
' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>', ' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>',
' <div class="dropdown-menu dropdown-menu-right">', ' <div class="dropdown-menu dropdown-menu-end">',
' <a class="dropdown-item" href="#">Secondary link</a>', ' <a class="dropdown-item" href="#">Secondary link</a>',
' </div>', ' </div>',
'</div>' '</div>'
@@ -273,7 +273,7 @@ describe('Dropdown', () => {
fixtureEl.innerHTML = [ fixtureEl.innerHTML = [
'<div class="dropup">', '<div class="dropup">',
' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>', ' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>',
' <div class="dropdown-menu dropdown-menu-right">', ' <div class="dropdown-menu dropdown-menu-end">',
' <a class="dropdown-item" href="#">Secondary link</a>', ' <a class="dropdown-item" href="#">Secondary link</a>',
' </div>', ' </div>',
'</div>' '</div>'
@@ -292,9 +292,9 @@ describe('Dropdown', () => {
dropdown.toggle() dropdown.toggle()
}) })
it('should toggle a dropright', done => { it('should toggle a dropend', done => {
fixtureEl.innerHTML = [ fixtureEl.innerHTML = [
'<div class="dropright">', '<div class="dropend">',
' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>', ' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>',
' <div class="dropdown-menu">', ' <div class="dropdown-menu">',
' <a class="dropdown-item" href="#">Secondary link</a>', ' <a class="dropdown-item" href="#">Secondary link</a>',
@@ -303,10 +303,10 @@ describe('Dropdown', () => {
].join('') ].join('')
const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]') const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]')
const droprightEl = fixtureEl.querySelector('.dropright') const dropendEl = fixtureEl.querySelector('.dropend')
const dropdown = new Dropdown(btnDropdown) const dropdown = new Dropdown(btnDropdown)
droprightEl.addEventListener('shown.bs.dropdown', () => { dropendEl.addEventListener('shown.bs.dropdown', () => {
expect(btnDropdown.classList.contains('show')).toEqual(true) expect(btnDropdown.classList.contains('show')).toEqual(true)
expect(btnDropdown.getAttribute('aria-expanded')).toEqual('true') expect(btnDropdown.getAttribute('aria-expanded')).toEqual('true')
done() done()
@@ -315,9 +315,9 @@ describe('Dropdown', () => {
dropdown.toggle() dropdown.toggle()
}) })
it('should toggle a dropleft', done => { it('should toggle a dropstart', done => {
fixtureEl.innerHTML = [ fixtureEl.innerHTML = [
'<div class="dropleft">', '<div class="dropstart">',
' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>', ' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>',
' <div class="dropdown-menu">', ' <div class="dropdown-menu">',
' <a class="dropdown-item" href="#">Secondary link</a>', ' <a class="dropdown-item" href="#">Secondary link</a>',
@@ -326,10 +326,10 @@ describe('Dropdown', () => {
].join('') ].join('')
const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]') const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]')
const dropleftEl = fixtureEl.querySelector('.dropleft') const dropstartEl = fixtureEl.querySelector('.dropstart')
const dropdown = new Dropdown(btnDropdown) const dropdown = new Dropdown(btnDropdown)
dropleftEl.addEventListener('shown.bs.dropdown', () => { dropstartEl.addEventListener('shown.bs.dropdown', () => {
expect(btnDropdown.classList.contains('show')).toEqual(true) expect(btnDropdown.classList.contains('show')).toEqual(true)
expect(btnDropdown.getAttribute('aria-expanded')).toEqual('true') expect(btnDropdown.getAttribute('aria-expanded')).toEqual('true')
done() done()
+2 -2
View File
@@ -46,7 +46,7 @@ describe('Toast', () => {
it('should close toast when close element with data-bs-dismiss attribute is set', done => { it('should close toast when close element with data-bs-dismiss attribute is set', done => {
fixtureEl.innerHTML = [ fixtureEl.innerHTML = [
'<div class="toast" data-bs-delay="1" data-bs-autohide="false" data-bs-animation="false">', '<div class="toast" data-bs-delay="1" data-bs-autohide="false" data-bs-animation="false">',
' <button type="button" class="ml-2 mb-1 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>', ' <button type="button" class="ms-2 mb-1 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>',
'</div>' '</div>'
].join('') ].join('')
@@ -78,7 +78,7 @@ describe('Toast', () => {
fixtureEl.innerHTML = [ fixtureEl.innerHTML = [
'<div class="toast" data-bs-autohide="false" data-bs-animation="false">', '<div class="toast" data-bs-autohide="false" data-bs-animation="false">',
' <button type="button" class="ml-2 mb-1 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>', ' <button type="button" class="ms-2 mb-1 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>',
'</div>' '</div>'
].join('') ].join('')
+34
View File
@@ -886,6 +886,40 @@ describe('Tooltip', () => {
}) })
}) })
describe('updateAttachment', () => {
it('should use end class name when right placement specified', done => {
fixtureEl.innerHTML = '<a href="#" rel="tooltip" title="Another tooltip">'
const tooltipEl = fixtureEl.querySelector('a')
const tooltip = new Tooltip(tooltipEl, {
placement: 'right'
})
tooltipEl.addEventListener('inserted.bs.tooltip', () => {
expect(tooltip.getTipElement().classList.contains('bs-tooltip-end')).toEqual(true)
done()
})
tooltip.show()
})
it('should use start class name when left placement specified', done => {
fixtureEl.innerHTML = '<a href="#" rel="tooltip" title="Another tooltip">'
const tooltipEl = fixtureEl.querySelector('a')
const tooltip = new Tooltip(tooltipEl, {
placement: 'left'
})
tooltipEl.addEventListener('inserted.bs.tooltip', () => {
expect(tooltip.getTipElement().classList.contains('bs-tooltip-start')).toEqual(true)
done()
})
tooltip.show()
})
})
describe('setElementContent', () => { describe('setElementContent', () => {
it('should do nothing if the element is null', () => { it('should do nothing if the element is null', () => {
fixtureEl.innerHTML = '<a href="#" rel="tooltip" title="Another tooltip">' fixtureEl.innerHTML = '<a href="#" rel="tooltip" title="Another tooltip">'
+17 -17
View File
@@ -90,9 +90,9 @@
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
This dropdown's menu is right-aligned This dropdown's menu is end-aligned
</button> </button>
<div class="dropdown-menu dropdown-menu-right"> <div class="dropdown-menu dropdown-menu-end">
<button class="dropdown-item" type="button">Action</button> <button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button> <button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button> <button class="dropdown-item" type="button">Something else here</button>
@@ -102,19 +102,19 @@
<div class="col-sm-12 mt-4"> <div class="col-sm-12 mt-4">
<div class="btn-group dropup" role="group"> <div class="btn-group dropup" role="group">
<a href="#" class="btn btn-secondary">Dropup split align right</a> <a href="#" class="btn btn-secondary">Dropup split align end</a>
<button type="button" id="dropdown-page-subheader-button-3" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false"> <button type="button" id="dropdown-page-subheader-button-3" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Product actions</span> <span class="visually-hidden">Product actions</span>
</button> </button>
<div class="dropdown-menu dropdown-menu-right"> <div class="dropdown-menu dropdown-menu-end">
<button class="dropdown-item" type="button">Action</button> <button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button> <button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here with a long text</button> <button class="dropdown-item" type="button">Something else here with a long text</button>
</div> </div>
</div> </div>
<div class="btn-group dropup"> <div class="btn-group dropup">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropup align right</button> <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropup align end</button>
<div class="dropdown-menu dropdown-menu-right"> <div class="dropdown-menu dropdown-menu-end">
<button class="dropdown-item" type="button">Action</button> <button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button> <button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here with a long text</button> <button class="dropdown-item" type="button">Something else here with a long text</button>
@@ -123,8 +123,8 @@
</div> </div>
<div class="col-sm-12 mt-4"> <div class="col-sm-12 mt-4">
<div class="btn-group dropright" role="group"> <div class="btn-group dropend" role="group">
<a href="#" class="btn btn-secondary">Dropright split</a> <a href="#" class="btn btn-secondary">Dropend split</a>
<button type="button" id="dropdown-page-subheader-button-4" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false"> <button type="button" id="dropdown-page-subheader-button-4" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Product actions</span> <span class="visually-hidden">Product actions</span>
</button> </button>
@@ -134,9 +134,9 @@
<button class="dropdown-item" type="button">Something else here with a long text</button> <button class="dropdown-item" type="button">Something else here with a long text</button>
</div> </div>
</div> </div>
<div class="btn-group dropright"> <div class="btn-group dropend">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuRight" data-bs-toggle="dropdown" aria-expanded="false"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuRight" data-bs-toggle="dropdown" aria-expanded="false">
Dropright Dropend
</button> </button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuRight"> <div class="dropdown-menu" aria-labelledby="dropdownMenuRight">
<button class="dropdown-item" type="button">Action</button> <button class="dropdown-item" type="button">Action</button>
@@ -144,9 +144,9 @@
<button class="dropdown-item" type="button">Something else here</button> <button class="dropdown-item" type="button">Something else here</button>
</div> </div>
</div> </div>
<!-- dropleft --> <!-- dropstart -->
<div class="btn-group dropleft" role="group"> <div class="btn-group dropstart" role="group">
<a href="#" class="btn btn-secondary">Dropleft split</a> <a href="#" class="btn btn-secondary">Dropstart split</a>
<button type="button" id="dropdown-page-subheader-button-5" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false"> <button type="button" id="dropdown-page-subheader-button-5" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Product actions</span> <span class="visually-hidden">Product actions</span>
</button> </button>
@@ -156,11 +156,11 @@
<button class="dropdown-item" type="button">Something else here with a long text</button> <button class="dropdown-item" type="button">Something else here with a long text</button>
</div> </div>
</div> </div>
<div class="btn-group dropleft"> <div class="btn-group dropstart">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropleftMenu" data-bs-toggle="dropdown" aria-expanded="false"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropstartMenu" data-bs-toggle="dropdown" aria-expanded="false">
Dropleft Dropstart
</button> </button>
<div class="dropdown-menu" aria-labelledby="dropleftMenu"> <div class="dropdown-menu" aria-labelledby="dropstartMenu">
<button class="dropdown-item" type="button">Action</button> <button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button> <button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button> <button class="dropdown-item" type="button">Something else here</button>
+2 -2
View File
@@ -19,7 +19,7 @@
</button> </button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."> <button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on right Popover on end
</button> </button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."> <button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
@@ -27,7 +27,7 @@
</button> </button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."> <button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on left Popover on start
</button> </button>
</div> </div>
+1 -1
View File
@@ -16,7 +16,7 @@
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="navbar-collapse collapse" id="navbarSupportedContent"> <div class="navbar-collapse collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav me-auto">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#fat">@fat</a> <a class="nav-link" href="#fat">@fat</a>
</li> </li>
+5 -5
View File
@@ -28,8 +28,8 @@
<div class="notifications"> <div class="notifications">
<div id="toastAutoHide" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="2000"> <div id="toastAutoHide" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="2000">
<div class="toast-header"> <div class="toast-header">
<span class="d-block bg-primary rounded mr-2" style="width: 20px; height: 20px;"></span> <span class="d-block bg-primary rounded me-2" style="width: 20px; height: 20px;"></span>
<strong class="mr-auto">Bootstrap</strong> <strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small> <small>11 mins ago</small>
</div> </div>
<div class="toast-body"> <div class="toast-body">
@@ -39,10 +39,10 @@
<div class="toast" data-bs-autohide="false" role="alert" aria-live="assertive" aria-atomic="true"> <div class="toast" data-bs-autohide="false" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header"> <div class="toast-header">
<span class="d-block bg-primary rounded mr-2" style="width: 20px; height: 20px;"></span> <span class="d-block bg-primary rounded me-2" style="width: 20px; height: 20px;"></span>
<strong class="mr-auto">Bootstrap</strong> <strong class="me-auto">Bootstrap</strong>
<small class="text-muted">2 seconds ago</small> <small class="text-muted">2 seconds ago</small>
<button type="button" class="ml-2 mb-1 btn-close" data-bs-dismiss="toast" aria-label="Close"></button> <button type="button" class="ms-2 mb-1 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div> </div>
<div class="toast-body"> <div class="toast-body">
Heads up, toasts will stack automatically Heads up, toasts will stack automatically
+2 -3
View File
@@ -10,7 +10,6 @@
border: 1px solid; border: 1px solid;
width: 100px; width: 100px;
height: 50px; height: 50px;
border: 1px solid;
margin-left: 50px; margin-left: 50px;
transform: rotate(270deg); transform: rotate(270deg);
margin-top: 100px; margin-top: 100px;
@@ -34,13 +33,13 @@
Tooltip on top Tooltip on top
</button> </button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right"> <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
Tooltip on right Tooltip on end
</button> </button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom"> <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
Tooltip on bottom Tooltip on bottom
</button> </button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left"> <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
Tooltip on left Tooltip on start
</button> </button>
</p> </p>
</div> </div>
+55
View File
@@ -1050,6 +1050,23 @@
"to-fast-properties": "^2.0.0" "to-fast-properties": "^2.0.0"
} }
}, },
"@choojs/findup": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz",
"integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==",
"dev": true,
"requires": {
"commander": "^2.15.1"
},
"dependencies": {
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
}
}
},
"@eslint/eslintrc": { "@eslint/eslintrc": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz",
@@ -9220,6 +9237,44 @@
} }
} }
}, },
"rtlcss": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-2.6.2.tgz",
"integrity": "sha512-06LFAr+GAPo+BvaynsXRfoYTJvSaWRyOhURCQ7aeI1MKph9meM222F+Zkt3bDamyHHJuGi3VPtiRkpyswmQbGA==",
"dev": true,
"requires": {
"@choojs/findup": "^0.2.1",
"chalk": "^2.4.2",
"mkdirp": "^0.5.1",
"postcss": "^6.0.23",
"strip-json-comments": "^2.0.0"
},
"dependencies": {
"postcss": {
"version": "6.0.23",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true,
"requires": {
"chalk": "^2.4.1",
"source-map": "^0.6.1",
"supports-color": "^5.4.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
}
}
},
"run-parallel": { "run-parallel": {
"version": "1.1.10", "version": "1.1.10",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz",
+9 -3
View File
@@ -20,15 +20,19 @@
"scripts": { "scripts": {
"start": "npm-run-all --parallel watch docs-serve", "start": "npm-run-all --parallel watch docs-serve",
"bundlewatch": "bundlewatch --config .bundlewatch.config.json", "bundlewatch": "bundlewatch --config .bundlewatch.config.json",
"css": "npm-run-all css-compile css-prefix css-minify", "css": "npm-run-all css-compile css-prefix css-rtl css-minify",
"css-compile": "sass --style expanded --source-map --embed-sources --no-error-css scss/:dist/css/", "css-compile": "sass --style expanded --source-map --embed-sources --no-error-css scss/:dist/css/",
"css-rtl": "cross-env NODE_ENV=RTL postcss --config build/postcss.config.js --dir \"dist/css\" --ext \".rtl.css\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*.rtl.css\"",
"css-lint": "npm-run-all --continue-on-error --parallel css-lint-*", "css-lint": "npm-run-all --continue-on-error --parallel css-lint-*",
"css-lint-stylelint": "stylelint \"**/*.{css,scss}\" --cache --cache-location .cache/.stylelintcache --rd", "css-lint-stylelint": "stylelint \"**/*.{css,scss}\" --cache --cache-location .cache/.stylelintcache --rd",
"css-lint-vars": "fusv scss/ site/assets/scss/", "css-lint-vars": "fusv scss/ site/assets/scss/",
"css-minify": "cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-utilities.min.css dist/css/bootstrap-utilities.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css", "css-minify": "npm-run-all --parallel css-minify-*",
"css-minify-main": "cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-utilities.min.css dist/css/bootstrap-utilities.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css",
"css-minify-rtl": "cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap.rtl.min.css dist/css/bootstrap.rtl.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.rtl.min.css dist/css/bootstrap-grid.rtl.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-utilities.rtl.min.css dist/css/bootstrap-utilities.rtl.css && cleancss -O1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.rtl.min.css dist/css/bootstrap-reboot.rtl.css",
"css-prefix": "npm-run-all --parallel css-prefix-*", "css-prefix": "npm-run-all --parallel css-prefix-*",
"css-prefix-main": "postcss --config build/postcss.config.js --replace \"dist/css/*.css\" \"!dist/css/*.min.css\"", "css-prefix-main": "postcss --config build/postcss.config.js --replace \"dist/css/*.css\" \"!dist/css/*.rtl*.css\" \"!dist/css/*.min.css\"",
"css-prefix-examples": "postcss --config build/postcss.config.js --replace \"site/content/**/*.css\"", "css-prefix-examples": "postcss --config build/postcss.config.js --replace \"site/content/**/*.css\"",
"css-prefix-examples-rtl": "cross-env-shell NODE_ENV=RTL postcss --config build/postcss.config.js --dir \"site/content/docs/$npm_package_version_short/examples/\" --ext \".rtl.css\" --base \"site/content/docs/$npm_package_version_short/examples/\" \"site/content/docs/$npm_package_version_short/examples/{blog,carousel,dashboard,cheatsheet}/*.css\" \"!site/content/docs/$npm_package_version_short/examples/{blog,carousel,dashboard,cheatsheet}/*.rtl.css\"",
"js": "npm-run-all js-compile js-minify", "js": "npm-run-all js-compile js-minify",
"js-compile": "npm-run-all --parallel js-compile-*", "js-compile": "npm-run-all --parallel js-compile-*",
"js-compile-standalone": "rollup --environment BUNDLE:false --config build/rollup.config.js --sourcemap", "js-compile-standalone": "rollup --environment BUNDLE:false --config build/rollup.config.js --sourcemap",
@@ -68,6 +72,7 @@
"netlify": "cross-env-shell HUGO_BASEURL=$DEPLOY_PRIME_URL npm-run-all dist release-sri docs-build", "netlify": "cross-env-shell HUGO_BASEURL=$DEPLOY_PRIME_URL npm-run-all dist release-sri docs-build",
"watch": "npm-run-all --parallel watch-*", "watch": "npm-run-all --parallel watch-*",
"watch-css-main": "nodemon --watch scss/ --ext scss --exec \"npm-run-all css-lint css-compile css-prefix\"", "watch-css-main": "nodemon --watch scss/ --ext scss --exec \"npm-run-all css-lint css-compile css-prefix\"",
"watch-css-dist": "nodemon --watch dist/css/ --ext css --ignore \"dist/css/*.rtl.*\" --exec \"npm run css-rtl\"",
"watch-css-docs": "nodemon --watch site/assets/scss/ --ext scss --exec \"npm run css-lint\"", "watch-css-docs": "nodemon --watch site/assets/scss/ --ext scss --exec \"npm run css-lint\"",
"watch-js-main": "nodemon --watch js/src/ --ext js --exec \"npm-run-all js-lint js-compile\"", "watch-js-main": "nodemon --watch js/src/ --ext js --exec \"npm-run-all js-lint js-compile\"",
"watch-js-docs": "nodemon --watch site/assets/js/ --ext js --exec \"npm run js-lint\"" "watch-js-docs": "nodemon --watch site/assets/js/ --ext js --exec \"npm run js-lint\""
@@ -131,6 +136,7 @@
"postcss-cli": "^8.3.0", "postcss-cli": "^8.3.0",
"rollup": "^2.34.0", "rollup": "^2.34.0",
"rollup-plugin-istanbul": "^2.0.1", "rollup-plugin-istanbul": "^2.0.1",
"rtlcss": "^2.6.2",
"sass": "^1.29.0", "sass": "^1.29.0",
"shelljs": "^0.8.4", "shelljs": "^0.8.4",
"stylelint": "^13.8.0", "stylelint": "^13.8.0",
+1 -1
View File
@@ -18,7 +18,7 @@
float: left; // Suppress inline spacings and underlining of the separator float: left; // Suppress inline spacings and underlining of the separator
padding-right: $breadcrumb-item-padding-x; padding-right: $breadcrumb-item-padding-x;
color: $breadcrumb-divider-color; color: $breadcrumb-divider-color;
content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)); content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
} }
} }
+4 -4
View File
@@ -43,7 +43,7 @@
// Reset rounded corners // Reset rounded corners
> .btn:not(:last-child):not(.dropdown-toggle), > .btn:not(:last-child):not(.dropdown-toggle),
> .btn-group:not(:last-child) > .btn { > .btn-group:not(:last-child) > .btn {
@include border-right-radius(0); @include border-end-radius(0);
} }
// The left radius should be 0 if the button is: // The left radius should be 0 if the button is:
@@ -53,7 +53,7 @@
> .btn:nth-child(n + 3), > .btn:nth-child(n + 3),
> :not(.btn-check) + .btn, > :not(.btn-check) + .btn,
> .btn-group:not(:first-child) > .btn { > .btn-group:not(:first-child) > .btn {
@include border-left-radius(0); @include border-start-radius(0);
} }
} }
@@ -75,11 +75,11 @@
&::after, &::after,
.dropup &::after, .dropup &::after,
.dropright &::after { .dropend &::after {
margin-left: 0; margin-left: 0;
} }
.dropleft &::before { .dropstart &::before {
margin-right: 0; margin-right: 0;
} }
} }
+3 -3
View File
@@ -69,7 +69,7 @@
} }
+ .card-link { + .card-link {
margin-left: $card-spacer-x; margin-left: $card-spacer-x #{"/* rtl:ignore */"};
} }
} }
@@ -181,7 +181,7 @@
// Handle rounded corners // Handle rounded corners
@if $enable-rounded { @if $enable-rounded {
&:not(:last-child) { &:not(:last-child) {
@include border-right-radius(0); @include border-end-radius(0);
.card-img-top, .card-img-top,
.card-header { .card-header {
@@ -196,7 +196,7 @@
} }
&:not(:first-child) { &:not(:first-child) {
@include border-left-radius(0); @include border-start-radius(0);
.card-img-top, .card-img-top,
.card-header { .card-header {
+23 -12
View File
@@ -3,12 +3,12 @@
// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) // 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)
// even when their scroll action started on a carousel, but for compatibility (with Firefox) // even when their scroll action started on a carousel, but for compatibility (with Firefox)
// we're preventing all actions instead // we're preventing all actions instead
// 2. The .carousel-item-left and .carousel-item-right is used to indicate where // 2. The .carousel-item-start and .carousel-item-end is used to indicate where
// the active slide is heading. // the active slide is heading.
// 3. .active.carousel-item is the current slide. // 3. .active.carousel-item is the current slide.
// 4. .active.carousel-item-left and .active.carousel-item-right is the current // 4. .active.carousel-item-start and .active.carousel-item-end is the current
// slide in its in-transition state. Only one of these occurs at a time. // slide in its in-transition state. Only one of these occurs at a time.
// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right // 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end
// is the upcoming slide in transition. // is the upcoming slide in transition.
.carousel { .carousel {
@@ -42,16 +42,19 @@
display: block; display: block;
} }
.carousel-item-next:not(.carousel-item-left), /* rtl:begin:ignore */
.active.carousel-item-right { .carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
transform: translateX(100%); transform: translateX(100%);
} }
.carousel-item-prev:not(.carousel-item-right), .carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-left { .active.carousel-item-start {
transform: translateX(-100%); transform: translateX(-100%);
} }
/* rtl:end:ignore */
// //
// Alternate transitions // Alternate transitions
@@ -65,14 +68,14 @@
} }
.carousel-item.active, .carousel-item.active,
.carousel-item-next.carousel-item-left, .carousel-item-next.carousel-item-start,
.carousel-item-prev.carousel-item-right { .carousel-item-prev.carousel-item-end {
z-index: 1; z-index: 1;
opacity: 1; opacity: 1;
} }
.active.carousel-item-left, .active.carousel-item-start,
.active.carousel-item-right { .active.carousel-item-end {
z-index: 0; z-index: 0;
opacity: 0; opacity: 0;
@include transition(opacity 0s $carousel-transition-duration); @include transition(opacity 0s $carousel-transition-duration);
@@ -128,6 +131,15 @@
background-position: 50%; background-position: 50%;
background-size: 100% 100%; background-size: 100% 100%;
} }
/* rtl:options: {
"autoRename": true,
"stringMap":[ {
"name" : "prev-next",
"search" : "prev",
"replace" : "next"
} ]
} */
.carousel-control-prev-icon { .carousel-control-prev-icon {
background-image: escape-svg($carousel-control-prev-icon-bg); background-image: escape-svg($carousel-control-prev-icon-bg);
} }
@@ -135,7 +147,6 @@
background-image: escape-svg($carousel-control-next-icon-bg); background-image: escape-svg($carousel-control-next-icon-bg);
} }
// Optional indicator pips // Optional indicator pips
// //
// Add an ordered list with the following class and add a list item for each // Add an ordered list with the following class and add a list item for each
+14 -12
View File
@@ -1,8 +1,8 @@
// The dropdown wrapper (`<div>`) // The dropdown wrapper (`<div>`)
.dropup, .dropup,
.dropright, .dropend,
.dropdown, .dropdown,
.dropleft { .dropstart {
position: relative; position: relative;
} }
@@ -39,14 +39,14 @@
@include media-breakpoint-up($breakpoint) { @include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints); $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.dropdown-menu#{$infix}-left { .dropdown-menu#{$infix}-start {
right: auto; right: auto #{"/* rtl:ignore */"};
left: 0; left: 0 #{"/* rtl:ignore */"};
} }
.dropdown-menu#{$infix}-right { .dropdown-menu#{$infix}-end {
right: 0; right: 0 #{"/* rtl:ignore */"};
left: auto; left: auto #{"/* rtl:ignore */"};
} }
} }
} }
@@ -67,7 +67,7 @@
} }
} }
.dropright { .dropend {
.dropdown-menu { .dropdown-menu {
top: 0; top: 0;
right: auto; right: auto;
@@ -77,14 +77,14 @@
} }
.dropdown-toggle { .dropdown-toggle {
@include caret(right); @include caret(end);
&::after { &::after {
vertical-align: 0; vertical-align: 0;
} }
} }
} }
.dropleft { .dropstart {
.dropdown-menu { .dropdown-menu {
top: 0; top: 0;
right: 100%; right: 100%;
@@ -94,7 +94,7 @@
} }
.dropdown-toggle { .dropdown-toggle {
@include caret(left); @include caret(start);
&::before { &::before {
vertical-align: 0; vertical-align: 0;
} }
@@ -110,9 +110,11 @@
&[x-placement^="left"] { &[x-placement^="left"] {
right: auto; right: auto;
bottom: auto; bottom: auto;
left: auto;
} }
} }
// Dividers (basically an `<hr>`) within the dropdown // Dividers (basically an `<hr>`) within the dropdown
.dropdown-divider { .dropdown-divider {
height: 0; height: 0;
+4 -4
View File
@@ -99,13 +99,13 @@
> .list-group-item { > .list-group-item {
&:first-child { &:first-child {
@include border-bottom-left-radius($list-group-border-radius); @include border-bottom-start-radius($list-group-border-radius);
@include border-top-right-radius(0); @include border-top-end-radius(0);
} }
&:last-child { &:last-child {
@include border-top-right-radius($list-group-border-radius); @include border-top-end-radius($list-group-border-radius);
@include border-bottom-left-radius(0); @include border-bottom-start-radius(0);
} }
&.active { &.active {
+1 -1
View File
@@ -56,7 +56,7 @@
.navbar-brand { .navbar-brand {
padding-top: $navbar-brand-padding-y; padding-top: $navbar-brand-padding-y;
padding-bottom: $navbar-brand-padding-y; padding-bottom: $navbar-brand-padding-y;
margin-right: $navbar-brand-margin-right; margin-right: $navbar-brand-margin-end;
@include font-size($navbar-brand-font-size); @include font-size($navbar-brand-font-size);
text-decoration: if($link-decoration == none, null, none); text-decoration: if($link-decoration == none, null, none);
white-space: nowrap; white-space: nowrap;
+1 -1
View File
@@ -31,7 +31,7 @@
.page-item { .page-item {
&:not(:first-child) .page-link { &:not(:first-child) .page-link {
margin-left: $pagination-margin-left; margin-left: $pagination-margin-start;
} }
&.active .page-link { &.active .page-link {
+21 -22
View File
@@ -1,7 +1,7 @@
.popover { .popover {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0 #{"/* rtl:ignore */"};
z-index: $zindex-popover; z-index: $zindex-popover;
display: block; display: block;
max-width: $popover-max-width; max-width: $popover-max-width;
@@ -55,25 +55,25 @@
} }
} }
.bs-popover-right { .bs-popover-end {
margin-left: $popover-arrow-height; margin-left: $popover-arrow-height #{"/* rtl:ignore */"};
> .popover-arrow { > .popover-arrow {
left: subtract(-$popover-arrow-height, $popover-border-width); left: subtract(-$popover-arrow-height, $popover-border-width) #{"/* rtl:ignore */"};
width: $popover-arrow-height; width: $popover-arrow-height;
height: $popover-arrow-width; height: $popover-arrow-width;
margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
&::before { &::before {
left: 0; left: 0 #{"/* rtl:ignore */"};
border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0 #{"/* rtl:ignore */"};
border-right-color: $popover-arrow-outer-color; border-right-color: $popover-arrow-outer-color #{"/* rtl:ignore */"};
} }
&::after { &::after {
left: $popover-border-width; left: $popover-border-width #{"/* rtl:ignore */"};
border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0 #{"/* rtl:ignore */"};
border-right-color: $popover-arrow-color; border-right-color: $popover-arrow-color #{"/* rtl:ignore */"};
} }
} }
} }
@@ -110,25 +110,25 @@
} }
} }
.bs-popover-left { .bs-popover-start {
margin-right: $popover-arrow-height; margin-right: $popover-arrow-height #{"/* rtl:ignore */"};
> .popover-arrow { > .popover-arrow {
right: subtract(-$popover-arrow-height, $popover-border-width); right: subtract(-$popover-arrow-height, $popover-border-width) #{"/* rtl:ignore */"};
width: $popover-arrow-height; width: $popover-arrow-height;
height: $popover-arrow-width; height: $popover-arrow-width;
margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
&::before { &::before {
right: 0; right: 0 #{"/* rtl:ignore */"};
border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height #{"/* rtl:ignore */"};
border-left-color: $popover-arrow-outer-color; border-left-color: $popover-arrow-outer-color #{"/* rtl:ignore */"};
} }
&::after { &::after {
right: $popover-border-width; right: $popover-border-width #{"/* rtl:ignore */"};
border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height #{"/* rtl:ignore */"};
border-left-color: $popover-arrow-color; border-left-color: $popover-arrow-color #{"/* rtl:ignore */"};
} }
} }
} }
@@ -138,17 +138,16 @@
@extend .bs-popover-top; @extend .bs-popover-top;
} }
&[x-placement^="right"] { &[x-placement^="right"] {
@extend .bs-popover-right; @extend .bs-popover-end;
} }
&[x-placement^="bottom"] { &[x-placement^="bottom"] {
@extend .bs-popover-bottom; @extend .bs-popover-bottom;
} }
&[x-placement^="left"] { &[x-placement^="left"] {
@extend .bs-popover-left; @extend .bs-popover-start;
} }
} }
// Offset the popover to account for the popover arrow // Offset the popover to account for the popover arrow
.popover-header { .popover-header {
padding: $popover-header-padding-y $popover-header-padding-x; padding: $popover-header-padding-y $popover-header-padding-x;
+16
View File
@@ -290,6 +290,8 @@ kbd,
samp { samp {
font-family: $font-family-code; font-family: $font-family-code;
@include font-size(1em); // Correct the odd `em` font sizing in all browsers. @include font-size(1em); // Correct the odd `em` font sizing in all browsers.
direction: ltr #{"/* rtl:ignore */"};
unicode-bidi: bidi-override;
} }
// 1. Remove browser default top margin // 1. Remove browser default top margin
@@ -551,6 +553,20 @@ legend {
-webkit-appearance: textfield; // 2 -webkit-appearance: textfield; // 2
} }
// 1. A few input types should stay LTR
// See https://rtlstyling.com/posts/rtl-styling#form-inputs
// 2. RTL only output
// See https://rtlcss.com/learn/usage-guide/control-directives/#raw
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
*/
// Remove the inner padding in Chrome and Safari on macOS. // Remove the inner padding in Chrome and Safari on macOS.
::-webkit-search-decoration { ::-webkit-search-decoration {
+1 -1
View File
@@ -3,7 +3,7 @@
// //
@keyframes spinner-border { @keyframes spinner-border {
to { transform: rotate(360deg); } to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
} }
.spinner-border { .spinner-border {

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