bootstrap 4.6.2 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +55 -0
- data/README.md +28 -5
- data/assets/javascripts/bootstrap/alert.js +50 -147
- data/assets/javascripts/bootstrap/base-component.js +83 -0
- data/assets/javascripts/bootstrap/button.js +40 -190
- data/assets/javascripts/bootstrap/carousel.js +282 -537
- data/assets/javascripts/bootstrap/collapse.js +166 -314
- data/assets/javascripts/bootstrap/dom/data.js +62 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +236 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +71 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +103 -0
- data/assets/javascripts/bootstrap/dropdown.js +297 -455
- data/assets/javascripts/bootstrap/modal.js +223 -566
- data/assets/javascripts/bootstrap/offcanvas.js +245 -0
- data/assets/javascripts/bootstrap/popover.js +59 -208
- data/assets/javascripts/bootstrap/scrollspy.js +213 -276
- data/assets/javascripts/bootstrap/tab.js +222 -200
- data/assets/javascripts/bootstrap/toast.js +137 -206
- data/assets/javascripts/bootstrap/tooltip.js +403 -746
- data/assets/javascripts/bootstrap/util/backdrop.js +139 -0
- data/assets/javascripts/bootstrap/util/component-functions.js +41 -0
- data/assets/javascripts/bootstrap/util/config.js +67 -0
- data/assets/javascripts/bootstrap/util/focustrap.js +113 -0
- data/assets/javascripts/bootstrap/util/index.js +281 -0
- data/assets/javascripts/bootstrap/util/sanitizer.js +110 -0
- data/assets/javascripts/bootstrap/util/scrollbar.js +112 -0
- data/assets/javascripts/bootstrap/util/swipe.js +134 -0
- data/assets/javascripts/bootstrap/util/template-factory.js +150 -0
- data/assets/javascripts/bootstrap-global-this-define.js +6 -0
- data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
- data/assets/javascripts/bootstrap-sprockets.js +21 -5
- data/assets/javascripts/bootstrap.js +3623 -3485
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/stylesheets/_bootstrap-grid.scss +53 -21
- data/assets/stylesheets/_bootstrap-reboot.scss +5 -7
- data/assets/stylesheets/_bootstrap.scss +21 -13
- data/assets/stylesheets/bootstrap/_accordion.scss +158 -0
- data/assets/stylesheets/bootstrap/_alert.scss +32 -16
- data/assets/stylesheets/bootstrap/_badge.scss +15 -31
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +22 -24
- data/assets/stylesheets/bootstrap/_button-group.scss +27 -48
- data/assets/stylesheets/bootstrap/_buttons.scss +136 -71
- data/assets/stylesheets/bootstrap/_card.scss +66 -113
- data/assets/stylesheets/bootstrap/_carousel.scss +78 -34
- data/assets/stylesheets/bootstrap/_close.scss +51 -28
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +129 -71
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +135 -23
- data/assets/stylesheets/bootstrap/_grid.scss +18 -52
- data/assets/stylesheets/bootstrap/_helpers.scss +12 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +77 -34
- data/assets/stylesheets/bootstrap/_maps.scss +174 -0
- data/assets/stylesheets/bootstrap/_mixins.scss +10 -15
- data/assets/stylesheets/bootstrap/_modal.scss +107 -110
- data/assets/stylesheets/bootstrap/_nav.scss +99 -27
- data/assets/stylesheets/bootstrap/_navbar.scss +129 -172
- data/assets/stylesheets/bootstrap/_offcanvas.scss +146 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +72 -37
- data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
- data/assets/stylesheets/bootstrap/_popover.scss +99 -73
- data/assets/stylesheets/bootstrap/_progress.scss +35 -14
- data/assets/stylesheets/bootstrap/_reboot.scss +318 -192
- data/assets/stylesheets/bootstrap/_root.scss +174 -9
- data/assets/stylesheets/bootstrap/_spinners.scss +43 -23
- data/assets/stylesheets/bootstrap/_tables.scss +101 -115
- data/assets/stylesheets/bootstrap/_toasts.scss +54 -27
- data/assets/stylesheets/bootstrap/_tooltip.scss +67 -63
- data/assets/stylesheets/bootstrap/_transitions.scss +3 -2
- data/assets/stylesheets/bootstrap/_type.scss +40 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +806 -18
- data/assets/stylesheets/bootstrap/_variables-dark.scss +85 -0
- data/assets/stylesheets/bootstrap/_variables.scss +1202 -606
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +19 -0
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +95 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +188 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +214 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +80 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +132 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_color-bg.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_focus-ring.scss +5 -0
- data/assets/stylesheets/bootstrap/helpers/_icon-link.scss +25 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +36 -0
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
- data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +11 -6
- data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
- data/assets/stylesheets/bootstrap/mixins/_banner.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +10 -8
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +20 -16
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +60 -100
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +34 -27
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_color-mode.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +54 -96
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +118 -36
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +7 -2
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +7 -19
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +24 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +97 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +33 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +211 -91
- data/bootstrap.gemspec +3 -5
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +17 -5
- data/tasks/updater/network.rb +2 -2
- data/tasks/updater/scss.rb +1 -1
- data/tasks/updater.rb +2 -2
- data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
- data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
- data/test/dummy_rails/app/views/pages/root.html +89 -0
- data/test/dummy_rails/config/application.rb +0 -3
- data/test/gemfiles/rails_5_2.gemfile +8 -0
- data/test/gemfiles/rails_6_1.gemfile +7 -0
- data/test/gemfiles/rails_7_0.gemfile +7 -0
- data/test/test_helper.rb +3 -2
- metadata +78 -82
- data/.travis.yml +0 -31
- data/assets/javascripts/bootstrap/util.js +0 -189
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -211
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -132
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
- data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
- /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4fd9f8cb7a704fd15eb16fedda143f4baf37f6c9dee896123f917b43745cd7f8
|
|
4
|
+
data.tar.gz: ad04dbdab20c3c2c24fc3def8dc565d93649329a367d2ded1ab9ecdaa36afc76
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1778455e9a08f322a881f41b1ebc5735bb0b3d8ceba123d31013c786475b018ef2ca5acb2f314aaffb67db0e857ab3f7add44b1689f7df05e77045256b4a2d26
|
|
7
|
+
data.tar.gz: b5af7ae313ea00f05c021dd502627b53df69f6b70d34d1590b2bb1600d5a5fc2366bc7edc7efec7b938d7d120b87f9e66c563515ad4dfbe8666868b32144da99
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
test:
|
|
9
|
+
env:
|
|
10
|
+
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
matrix:
|
|
14
|
+
ruby_version: ['2.5', '2.6', '2.7', '3.0', '3.1']
|
|
15
|
+
gemfile:
|
|
16
|
+
- test/gemfiles/rails_5_0.gemfile
|
|
17
|
+
- test/gemfiles/rails_5_1.gemfile
|
|
18
|
+
- test/gemfiles/rails_5_2.gemfile
|
|
19
|
+
- test/gemfiles/rails_6_0.gemfile
|
|
20
|
+
- test/gemfiles/rails_6_1.gemfile
|
|
21
|
+
- test/gemfiles/rails_7_0.gemfile
|
|
22
|
+
include:
|
|
23
|
+
- ruby_version: '2.5'
|
|
24
|
+
gemfile: test/gemfiles/rails_4_2.gemfile
|
|
25
|
+
- ruby_version: '2.6'
|
|
26
|
+
gemfile: test/gemfiles/rails_4_2.gemfile
|
|
27
|
+
exclude:
|
|
28
|
+
- ruby_version: '2.5'
|
|
29
|
+
gemfile: test/gemfiles/rails_7_0.gemfile
|
|
30
|
+
- ruby_version: '2.6'
|
|
31
|
+
gemfile: test/gemfiles/rails_7_0.gemfile
|
|
32
|
+
- ruby_version: '3.0'
|
|
33
|
+
gemfile: test/gemfiles/rails_5_0.gemfile
|
|
34
|
+
- ruby_version: '3.0'
|
|
35
|
+
gemfile: test/gemfiles/rails_5_1.gemfile
|
|
36
|
+
- ruby_version: '3.0'
|
|
37
|
+
gemfile: test/gemfiles/rails_5_2.gemfile
|
|
38
|
+
- ruby_version: '3.1'
|
|
39
|
+
gemfile: test/gemfiles/rails_5_0.gemfile
|
|
40
|
+
- ruby_version: '3.1'
|
|
41
|
+
gemfile: test/gemfiles/rails_5_1.gemfile
|
|
42
|
+
- ruby_version: '3.1'
|
|
43
|
+
gemfile: test/gemfiles/rails_5_2.gemfile
|
|
44
|
+
- ruby_version: '3.1'
|
|
45
|
+
gemfile: test/gemfiles/rails_6_0.gemfile
|
|
46
|
+
runs-on: ubuntu-latest
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/checkout@v3
|
|
49
|
+
- name: Set up Ruby
|
|
50
|
+
uses: ruby/setup-ruby@v1
|
|
51
|
+
with:
|
|
52
|
+
ruby-version: ${{ matrix.ruby_version }}
|
|
53
|
+
bundler-cache: true # 'bundle install' and cache
|
|
54
|
+
- name: Build and test with Rake
|
|
55
|
+
run: bundle exec rake --trace
|
data/README.md
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
# Bootstrap Ruby Gem [](https://github.com/twbs/bootstrap-rubygem/actions/workflows/ci.yml) [](https://rubygems.org/gems/bootstrap)
|
|
2
2
|
|
|
3
|
-
[Bootstrap
|
|
3
|
+
[Bootstrap 5][bootstrap-home] ruby gem for Ruby on Rails (*Sprockets*/*Importmaps*) and Hanami (formerly Lotus).
|
|
4
4
|
|
|
5
5
|
For Sass versions of Bootstrap 3 and 2 see [bootstrap-sass](https://github.com/twbs/bootstrap-sass) instead.
|
|
6
6
|
|
|
7
|
+
**Ruby on Rails Note**: Newer releases of Rails have added additional ways for
|
|
8
|
+
assets to be processed. The `twbs/bootstrap-rubygem` is for use with Importmaps
|
|
9
|
+
or Sprockets, but not Webpack.
|
|
10
|
+
|
|
7
11
|
## Installation
|
|
8
12
|
|
|
9
13
|
Please see the appropriate guide for your environment of choice:
|
|
@@ -17,7 +21,7 @@ Please see the appropriate guide for your environment of choice:
|
|
|
17
21
|
Add `bootstrap` to your Gemfile:
|
|
18
22
|
|
|
19
23
|
```ruby
|
|
20
|
-
gem 'bootstrap', '~>
|
|
24
|
+
gem 'bootstrap', '~> 5.3.1'
|
|
21
25
|
```
|
|
22
26
|
|
|
23
27
|
Ensure that `sprockets-rails` is at least v2.3.2.
|
|
@@ -44,8 +48,8 @@ Then, remove all the `*= require` and `*= require_tree` statements from the Sass
|
|
|
44
48
|
|
|
45
49
|
Do not use `*= require` in Sass or your other stylesheets will not be able to access the Bootstrap mixins and variables.
|
|
46
50
|
|
|
47
|
-
Bootstrap JavaScript
|
|
48
|
-
If you're using Rails 5.1+, add the `jquery-rails` gem to your Gemfile:
|
|
51
|
+
Bootstrap JavaScript can optionally use jQuery.
|
|
52
|
+
If you're using Rails 5.1+, you can add the `jquery-rails` gem to your Gemfile:
|
|
49
53
|
|
|
50
54
|
```ruby
|
|
51
55
|
gem 'jquery-rails'
|
|
@@ -55,6 +59,25 @@ Bootstrap tooltips and popovers depend on [popper.js] for positioning.
|
|
|
55
59
|
The `bootstrap` gem already depends on the
|
|
56
60
|
[popper_js](https://github.com/glebm/popper_js-rubygem) gem.
|
|
57
61
|
|
|
62
|
+
#### Importmaps
|
|
63
|
+
|
|
64
|
+
You can pin either `bootstrap.js` or `bootstrap.min.js` in `config/importmap.rb`
|
|
65
|
+
as well as `popper.js`:
|
|
66
|
+
|
|
67
|
+
```ruby
|
|
68
|
+
pin "bootstrap", to: "bootstrap.min.js", preload: true
|
|
69
|
+
pin "@popperjs/core", to: "popper.js", preload: true
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Whichever files you pin will need to be added to `config.assets.precompile`:
|
|
73
|
+
|
|
74
|
+
```ruby
|
|
75
|
+
# config/initializers/assets.rb
|
|
76
|
+
Rails.application.config.assets.precompile += %w(bootstrap.min.js popper.js)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### Sprockets
|
|
80
|
+
|
|
58
81
|
Add Bootstrap dependencies and Bootstrap to your `application.js`:
|
|
59
82
|
|
|
60
83
|
```js
|
|
@@ -1,185 +1,88 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap alert.js
|
|
3
|
-
* Copyright 2011-
|
|
2
|
+
* Bootstrap alert.js v5.3.1 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
*/
|
|
6
6
|
(function (global, factory) {
|
|
7
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['
|
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.
|
|
10
|
-
})(this, (function (
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./util/component-functions.js'), require('./util/index.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './util/component-functions', './util/index'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.BaseComponent, global.EventHandler, global.ComponentFunctions, global.Index));
|
|
10
|
+
})(this, (function (BaseComponent, EventHandler, componentFunctions_js, index_js) { 'use strict';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
/**
|
|
13
|
+
* --------------------------------------------------------------------------
|
|
14
|
+
* Bootstrap alert.js
|
|
15
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
16
|
+
* --------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
16
18
|
|
|
17
|
-
function _defineProperties(target, props) {
|
|
18
|
-
for (var i = 0; i < props.length; i++) {
|
|
19
|
-
var descriptor = props[i];
|
|
20
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
-
descriptor.configurable = true;
|
|
22
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
28
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
-
Object.defineProperty(Constructor, "prototype", {
|
|
31
|
-
writable: false
|
|
32
|
-
});
|
|
33
|
-
return Constructor;
|
|
34
|
-
}
|
|
35
19
|
|
|
36
20
|
/**
|
|
37
21
|
* Constants
|
|
38
22
|
*/
|
|
39
23
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var CLASS_NAME_SHOW = 'show';
|
|
49
|
-
var EVENT_CLOSE = "close" + EVENT_KEY;
|
|
50
|
-
var EVENT_CLOSED = "closed" + EVENT_KEY;
|
|
51
|
-
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
|
52
|
-
var SELECTOR_DISMISS = '[data-dismiss="alert"]';
|
|
24
|
+
const NAME = 'alert';
|
|
25
|
+
const DATA_KEY = 'bs.alert';
|
|
26
|
+
const EVENT_KEY = `.${DATA_KEY}`;
|
|
27
|
+
const EVENT_CLOSE = `close${EVENT_KEY}`;
|
|
28
|
+
const EVENT_CLOSED = `closed${EVENT_KEY}`;
|
|
29
|
+
const CLASS_NAME_FADE = 'fade';
|
|
30
|
+
const CLASS_NAME_SHOW = 'show';
|
|
31
|
+
|
|
53
32
|
/**
|
|
54
33
|
* Class definition
|
|
55
34
|
*/
|
|
56
35
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var _proto = Alert.prototype;
|
|
36
|
+
class Alert extends BaseComponent {
|
|
37
|
+
// Getters
|
|
38
|
+
static get NAME() {
|
|
39
|
+
return NAME;
|
|
40
|
+
}
|
|
64
41
|
|
|
65
42
|
// Public
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (element) {
|
|
70
|
-
rootElement = this._getRootElement(element);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
var customEvent = this._triggerCloseEvent(rootElement);
|
|
74
|
-
|
|
75
|
-
if (customEvent.isDefaultPrevented()) {
|
|
43
|
+
close() {
|
|
44
|
+
const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);
|
|
45
|
+
if (closeEvent.defaultPrevented) {
|
|
76
46
|
return;
|
|
77
47
|
}
|
|
48
|
+
this._element.classList.remove(CLASS_NAME_SHOW);
|
|
49
|
+
const isAnimated = this._element.classList.contains(CLASS_NAME_FADE);
|
|
50
|
+
this._queueCallback(() => this._destroyElement(), this._element, isAnimated);
|
|
51
|
+
}
|
|
78
52
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
} // Private
|
|
86
|
-
;
|
|
87
|
-
|
|
88
|
-
_proto._getRootElement = function _getRootElement(element) {
|
|
89
|
-
var selector = Util__default["default"].getSelectorFromElement(element);
|
|
90
|
-
var parent = false;
|
|
91
|
-
|
|
92
|
-
if (selector) {
|
|
93
|
-
parent = document.querySelector(selector);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (!parent) {
|
|
97
|
-
parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0];
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return parent;
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
|
|
104
|
-
var closeEvent = $__default["default"].Event(EVENT_CLOSE);
|
|
105
|
-
$__default["default"](element).trigger(closeEvent);
|
|
106
|
-
return closeEvent;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
_proto._removeElement = function _removeElement(element) {
|
|
110
|
-
var _this = this;
|
|
111
|
-
|
|
112
|
-
$__default["default"](element).removeClass(CLASS_NAME_SHOW);
|
|
113
|
-
|
|
114
|
-
if (!$__default["default"](element).hasClass(CLASS_NAME_FADE)) {
|
|
115
|
-
this._destroyElement(element);
|
|
116
|
-
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
var transitionDuration = Util__default["default"].getTransitionDurationFromElement(element);
|
|
121
|
-
$__default["default"](element).one(Util__default["default"].TRANSITION_END, function (event) {
|
|
122
|
-
return _this._destroyElement(element, event);
|
|
123
|
-
}).emulateTransitionEnd(transitionDuration);
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
_proto._destroyElement = function _destroyElement(element) {
|
|
127
|
-
$__default["default"](element).detach().trigger(EVENT_CLOSED).remove();
|
|
128
|
-
} // Static
|
|
129
|
-
;
|
|
53
|
+
// Private
|
|
54
|
+
_destroyElement() {
|
|
55
|
+
this._element.remove();
|
|
56
|
+
EventHandler.trigger(this._element, EVENT_CLOSED);
|
|
57
|
+
this.dispose();
|
|
58
|
+
}
|
|
130
59
|
|
|
131
|
-
|
|
60
|
+
// Static
|
|
61
|
+
static jQueryInterface(config) {
|
|
132
62
|
return this.each(function () {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (!data) {
|
|
137
|
-
data = new Alert(this);
|
|
138
|
-
$element.data(DATA_KEY, data);
|
|
63
|
+
const data = Alert.getOrCreateInstance(this);
|
|
64
|
+
if (typeof config !== 'string') {
|
|
65
|
+
return;
|
|
139
66
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
data[config](this);
|
|
67
|
+
if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
|
|
68
|
+
throw new TypeError(`No method named "${config}"`);
|
|
143
69
|
}
|
|
70
|
+
data[config](this);
|
|
144
71
|
});
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
Alert._handleDismiss = function _handleDismiss(alertInstance) {
|
|
148
|
-
return function (event) {
|
|
149
|
-
if (event) {
|
|
150
|
-
event.preventDefault();
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
alertInstance.close(this);
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
_createClass(Alert, null, [{
|
|
158
|
-
key: "VERSION",
|
|
159
|
-
get: function get() {
|
|
160
|
-
return VERSION;
|
|
161
|
-
}
|
|
162
|
-
}]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
163
74
|
|
|
164
|
-
return Alert;
|
|
165
|
-
}();
|
|
166
75
|
/**
|
|
167
76
|
* Data API implementation
|
|
168
77
|
*/
|
|
169
78
|
|
|
79
|
+
componentFunctions_js.enableDismissTrigger(Alert, 'close');
|
|
170
80
|
|
|
171
|
-
$__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
|
|
172
81
|
/**
|
|
173
82
|
* jQuery
|
|
174
83
|
*/
|
|
175
84
|
|
|
176
|
-
|
|
177
|
-
$__default["default"].fn[NAME].Constructor = Alert;
|
|
178
|
-
|
|
179
|
-
$__default["default"].fn[NAME].noConflict = function () {
|
|
180
|
-
$__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
|
|
181
|
-
return Alert._jQueryInterface;
|
|
182
|
-
};
|
|
85
|
+
index_js.defineJQueryPlugin(Alert);
|
|
183
86
|
|
|
184
87
|
return Alert;
|
|
185
88
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Bootstrap base-component.js v5.3.1 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
|
+
*/
|
|
6
|
+
(function (global, factory) {
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./util/config.js'), require('./util/index.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './util/config', './util/index'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BaseComponent = factory(global.Data, global.EventHandler, global.Config, global.Index));
|
|
10
|
+
})(this, (function (Data, EventHandler, Config, index_js) { 'use strict';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* --------------------------------------------------------------------------
|
|
14
|
+
* Bootstrap base-component.js
|
|
15
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
16
|
+
* --------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Constants
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const VERSION = '5.3.1';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Class definition
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
class BaseComponent extends Config {
|
|
31
|
+
constructor(element, config) {
|
|
32
|
+
super();
|
|
33
|
+
element = index_js.getElement(element);
|
|
34
|
+
if (!element) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this._element = element;
|
|
38
|
+
this._config = this._getConfig(config);
|
|
39
|
+
Data.set(this._element, this.constructor.DATA_KEY, this);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Public
|
|
43
|
+
dispose() {
|
|
44
|
+
Data.remove(this._element, this.constructor.DATA_KEY);
|
|
45
|
+
EventHandler.off(this._element, this.constructor.EVENT_KEY);
|
|
46
|
+
for (const propertyName of Object.getOwnPropertyNames(this)) {
|
|
47
|
+
this[propertyName] = null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
_queueCallback(callback, element, isAnimated = true) {
|
|
51
|
+
index_js.executeAfterTransition(callback, element, isAnimated);
|
|
52
|
+
}
|
|
53
|
+
_getConfig(config) {
|
|
54
|
+
config = this._mergeConfigObj(config, this._element);
|
|
55
|
+
config = this._configAfterMerge(config);
|
|
56
|
+
this._typeCheckConfig(config);
|
|
57
|
+
return config;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Static
|
|
61
|
+
static getInstance(element) {
|
|
62
|
+
return Data.get(index_js.getElement(element), this.DATA_KEY);
|
|
63
|
+
}
|
|
64
|
+
static getOrCreateInstance(element, config = {}) {
|
|
65
|
+
return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
|
|
66
|
+
}
|
|
67
|
+
static get VERSION() {
|
|
68
|
+
return VERSION;
|
|
69
|
+
}
|
|
70
|
+
static get DATA_KEY() {
|
|
71
|
+
return `bs.${this.NAME}`;
|
|
72
|
+
}
|
|
73
|
+
static get EVENT_KEY() {
|
|
74
|
+
return `.${this.DATA_KEY}`;
|
|
75
|
+
}
|
|
76
|
+
static eventName(name) {
|
|
77
|
+
return `${name}${this.EVENT_KEY}`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return BaseComponent;
|
|
82
|
+
|
|
83
|
+
}));
|