Compare commits

...

198 Commits

Author SHA1 Message Date
XhmikosR cb021439c6 Dist 2022-11-21 20:19:01 +02:00
XhmikosR 39589472f7 Bump version to 5.2.3 2022-11-21 20:15:33 +02:00
GeoSot 7e3074c165 fix tooltip/popper disposal inconsistencies (#37235) 2022-11-21 20:12:43 +02:00
Gaël Poupard 127a816f77 fix(carousel): RTL translate() direction
Trying to fix #37180
2022-11-21 20:12:28 +02:00
Eric Leibenguth 77c456d8c4 Import root in bootstrap-utilities (#37377)
* Fixes https://github.com/twbs/bootstrap/issues/37376
2022-11-21 20:12:03 +02:00
Sebastian Blank b72236981f Fix deprecation warning with sass 1.56.0 (#37425)
Deprecation Warning: $weight: Passing a number without unit % (100) is deprecated.
To preserve current behavior: $weight * 1%
More info: https://sass-lang.com/d/function-units
2022-11-21 20:11:18 +02:00
XhmikosR 961d5ff984 Release v5.2.2 (#37236)
* Bump version to v5.2.2

* Dist
2022-10-03 10:44:02 +03:00
Julien Déramond 9edfed8a5e Don't redefine $border-color in table-variant mixin (#37239)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-10-02 16:33:11 +02:00
GeoSot d49d8ce583 Ensure Tab keyboard functionality after #37146 (#37200)
* fix: keyboard functionality

* test: add tests

* Add some focus spies in 2 other unit tests

Co-authored-by: Julien Déramond <juderamond@gmail.com>
2022-10-02 13:05:30 +03:00
Patrick H. Lauke 0a5f6e078c Use <h1> for all modal-title examples/uses (#37210)
* Use `fs-` font sizing classes where needed
* Also add info callout about heading hierarchy in modals
2022-10-02 13:02:36 +03:00
XhmikosR 812f891bfc Update devDependencies (#37238)
* Update devDependencies

* @babel/cli             ^7.18.10  →   ^7.19.3
* @babel/core             ^7.19.1  →   ^7.19.3
* @babel/preset-env       ^7.19.1  →   ^7.19.3
* eslint-plugin-unicorn   ^43.0.2  →   ^44.0.0
* hugo-bin                ^0.92.1  →   ^0.92.2
* lockfile-lint            ^4.9.3  →    ^4.9.5
* postcss                 ^8.4.16  →   ^8.4.17
* stylelint              ^14.12.1  →  ^14.13.0
* vnu-jar                21.10.12  →   22.9.29

* toast.js: fix new lint errors
2022-10-02 08:24:41 +03:00
XhmikosR da0fe8c8b2 Minor docs changes (#37215) 2022-09-27 23:02:55 +03:00
Julien Déramond abb1cf529f Add eslint-plugin-html to lint JS in HTML files (#37186) 2022-09-27 22:53:59 +03:00
Jonathan f84d82ada0 NuGet: Use license expression (#36421) 2022-09-27 22:45:28 +03:00
Louis-Maxime Piton 80482af57b Changing the way View on GitHub links are handled (#37214) 2022-09-27 22:01:16 +03:00
GeoSot 597c402314 Dropdown: fix case with invalid markup (#37190)
This fixes a backward incompatible change in v5.2.1 where `.drodown-toggle` isn't present in the markup.
2022-09-27 10:39:11 +03:00
XhmikosR e77367dddc Slightly improve PNG files compression (#36899) 2022-09-27 08:50:31 +03:00
XhmikosR 2b65149e02 Update devDependencies (#37208)
* autoprefixer   ^10.4.11  →  ^10.4.12
* eslint          ^8.23.1  →   ^8.24.0
* hugo-bin        ^0.91.1  →   ^0.92.1
* lockfile-lint    ^4.8.0  →    ^4.9.3
* rollup          ^2.79.0  →   ^2.79.1
* sass            ^1.54.9  →   ^1.55.0
* stylelint      ^14.12.0  →  ^14.12.1
2022-09-27 08:49:52 +03:00
Julien Déramond eff658edb7 Replace Webpack and Vite PNGs by SVGs (#37199)
* Replace Webpack and Vite pngs by svgs

* Update vite.svg

* Update webpack.svg

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-09-26 21:16:50 +03:00
GeoSot 24f6e2764a Tests: add testcase to Tabs, keyboard handler (#37189) 2022-09-23 22:18:57 +02:00
Mark Otto 8da10bb1be Add PR template (#35079)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: GeoSot <geo.sotis@gmail.com>
Co-authored-by:  julien-deramond <julien.deramond@orange.com>
2022-09-23 10:44:10 +03:00
Carson Sievert 2b46842af9 Fix active class toggling of tabs within dropdown (#37151)
* Close #36947: fix active class toggling tabs within dropdown
2022-09-22 02:29:58 +03:00
GeoSot 27f20257eb Use es6 on visual tests (#36915) 2022-09-22 01:48:23 +03:00
Mark Otto 37e2e7e124 Use Sass variable for accordion color (#37182)
Fixes #37144
2022-09-21 18:55:57 +02:00
dependabot[bot] 0173f7a9df Bump karma from 6.4.0 to 6.4.1 (#37178)
Bumps [karma](https://github.com/karma-runner/karma) from 6.4.0 to 6.4.1.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.4.0...v6.4.1)

---
updated-dependencies:
- dependency-name: karma
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 17:51:44 +03:00
GeoSot 1510c25e9b Drop tabs auto-focus (#37146)
* fix: drop tabs auto-focus
2022-09-20 17:20:47 +03:00
Patrick H. Lauke 2be9cd59ba Explicitly target .btn-check and undo :hover (#37165)
rather than the other way around, which caused specificity issues
2022-09-20 15:15:46 +02:00
flavio-b 636bb496c9 Set toast z-index variable in the correct spot
The .toast-container tries to use the z-index CSS variable, which is defined under .toast. 
However, this variable is not accessible to the container. This change copies the variable to the spot where it can be used.
2022-09-20 04:36:45 -07:00
XhmikosR d0117a17d8 Update devDependencies (#37177) 2022-09-20 08:09:14 +03:00
Jérémie Broutier 6f65df4fae Fix modal event listeners (#37128)
* Fix modal event listeners (#37126)

Co-authored-by: GeoSot <geo.sotis@gmail.com>
2022-09-15 13:30:51 +03:00
GeoSot aedd7fb9de Docs: Add informative note for Tooltip/Popover selector option (#37142)
Co-authored-by: Julien Déramond <juderamond@gmail.com>
2022-09-14 22:03:39 +02:00
Gabriel R. Barbosa 9af1232c65 Docs: Fix typo Getting Started > Vite and Webpack guides (#37153)
* 'were to look' → 'where to look'

Co-authored-by: Julien Déramond <juderamond@gmail.com>
2022-09-14 21:28:10 +02:00
GeoSot 3bd5756414 fix: add trick to support tooltip selector usage on dynamic created tooltips that utilize title attribute (#36914) 2022-09-14 16:24:37 +03:00
Julien Déramond 4600a25404 Docs: minor fix for Navbar > Offcanvas examples (#37145) 2022-09-14 16:11:14 +03:00
dependabot[bot] a1b1e43ddc Bump @rollup/plugin-node-resolve from 13.3.0 to 14.1.0 (#37135)
Bumps [@rollup/plugin-node-resolve](https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve) from 13.3.0 to 14.1.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/node-resolve/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/node-resolve-v14.1.0/packages/node-resolve)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-node-resolve"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 19:38:31 +03:00
dependabot[bot] b5ee6694c1 Bump eslint from 8.23.0 to 8.23.1 (#37134)
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.0 to 8.23.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.0...v8.23.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-09-13 19:37:36 +03:00
dependabot[bot] d6a38b347f Bump autoprefixer from 10.4.8 to 10.4.10 (#37140)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.8 to 10.4.10.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.8...10.4.10)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 19:34:32 +03:00
dependabot[bot] 9cee77919d Bump sass from 1.54.8 to 1.54.9 (#37133)
Bumps [sass](https://github.com/sass/dart-sass) from 1.54.8 to 1.54.9.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.8...1.54.9)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 19:32:12 +03:00
dependabot[bot] 6e55fa9297 Bump @babel/core from 7.18.13 to 7.19.0 (#37090)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.13 to 7.19.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.0/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-09 18:26:35 +03:00
dependabot[bot] 74184f8c61 Bump @babel/preset-env from 7.18.10 to 7.19.0 (#37088)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.10 to 7.19.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.0/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-09 18:22:57 +03:00
dependabot[bot] bcfc8d0d63 Bump stylelint-config-twbs-bootstrap from 5.0.0 to 6.0.0 (#37087)
Bumps [stylelint-config-twbs-bootstrap](https://github.com/twbs/stylelint-config-twbs-bootstrap) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/twbs/stylelint-config-twbs-bootstrap/releases)
- [Commits](https://github.com/twbs/stylelint-config-twbs-bootstrap/compare/v5.0.0...v6.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-twbs-bootstrap
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-09-09 18:17:11 +03:00
XhmikosR 23e50829f9 Release v5.2.1 (#37098)
* Bump version to v5.2.1.

* Dist
2022-09-07 18:31:39 +03:00
GeoSot 23fb7a7915 Fix modal event-listeners during dismiss click (#36863)
ref: #36855
2022-09-07 11:56:33 +03:00
GeoSot 949456984a Fix tooltip manual toggling (#37086)
partial regression of SHA: 9b9372e8dd
2022-09-07 11:47:06 +03:00
Sebastian Homeier 7a7469b8ab Fix accordion button color
Use the Sass variable `$accordion-button-color` to set the CSS custom
property `--bs-accordion-btn-color`.
2022-09-06 10:06:43 -07:00
AmirHossein 9b943880fc Update _button-group.scss 2022-09-05 12:52:43 -07:00
AmirHossein 97a9060a8f Update _button-group.scss 2022-09-05 12:52:43 -07:00
Mark Otto 2504b89950 Remove gradient from .btn-link 2022-09-04 11:12:38 -07:00
Patrick H. Lauke 32c457db4b Rework button focus/active styling, with extra changes for checks/radios (#37026)
* Replace :focus styles with :focus-visible

* Remove :active / .active styles

* Don't apply :hover styles for `.btn` that follows a `.btn-check`

This removes a large part of the visual confusion of button checks/radios - that you currently have to move your mouse away from them to see what they actually changed to (checked or unchecked)

* Reintroduce :active, but *not* for button checks/radios

* Sort focus styling specifically for button checks/radios

don't change background on focus, just give it the border/outline. again, avoids confusion whether something is checked or not while focused

* Re-add `outline:0` which was lost when resolving last merge conflict

Co-authored-by: Mark Otto <markd.otto@gmail.com>
2022-09-04 09:59:14 -07:00
Geremia Taglialatela b8880e5eec Add workarounds for postcss values parser error
postcss-values-parser returns a syntax error when a negative value is
provided in a `calc` function after a CSS variable.

This is not an issue with Bootstrap itself, but a workaround to allow
projects using postcss-values-parser to keep upgrading and compiling
bootstrap

Ref: shellscape/postcss-values-parser#138, twbs/bootstrap#35033

Fix: #36851
2022-09-04 09:45:40 -07:00
dependabot[bot] 75e09b1c0f Bump rtlcss from 3.5.0 to 4.0.0 (#36968)
Bumps [rtlcss](https://github.com/MohammadYounes/rtlcss) from 3.5.0 to 4.0.0.
- [Release notes](https://github.com/MohammadYounes/rtlcss/releases)
- [Changelog](https://github.com/MohammadYounes/rtlcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MohammadYounes/rtlcss/compare/v3.5.0...v4.0.0)

---
updated-dependencies:
- dependency-name: rtlcss
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-03 08:20:51 +03:00
dependabot[bot] 585146a6a7 Bump eslint-config-xo from 0.41.0 to 0.42.0 (#37052)
Bumps [eslint-config-xo](https://github.com/xojs/eslint-config-xo) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/xojs/eslint-config-xo/releases)
- [Commits](https://github.com/xojs/eslint-config-xo/compare/v0.41.0...v0.42.0)

---
updated-dependencies:
- dependency-name: eslint-config-xo
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-03 08:14:02 +03:00
louismaximepiton a329575d82 Set up a resuming table such as what's in other components. 2022-09-02 11:49:24 -07:00
Louis-Maxime Piton 337068f8b1 fix(dropdowns): Fix multiple dropdowns when they are inside the same tag (#37011) 2022-09-02 10:52:33 +03:00
Mark Otto 54b4b2c66a Improve language around vertical grid gutters 2022-09-01 17:17:14 -07:00
AmirHossein 8c380b2676 flush variant of accordion border radius (#36593)
* flush variant of accordion border radius

Fixed issues regarding to last accordion-item has rounded edges at the bottom left and right corners when focused and are in closed state

* Update _accordion.scss

Co-authored-by: Mark Otto <otto@github.com>
2022-09-01 12:55:45 -07:00
Mark Otto 2793637837 Make docs clearer by dropping precompiled for compiled 2022-09-01 12:15:59 -07:00
charlesroelli 4f97d8fabd Document how to extract CSS, SVG for strict CSP (#36587)
* Webpack: explain how to extract CSS from bundle

* Webpack: explain how to extract SVG from bundle

* Update webpack.md

Co-authored-by: Mark Otto <otto@github.com>
2022-09-01 12:14:07 -07:00
Philip Wedemann b5f2d5a31e Replace wrong mobile OS Windows with iOS 2022-09-01 12:07:08 -07:00
louismaximepiton 77e17e3b8d Fix 2022-09-01 11:35:55 -07:00
Julien Déramond b14190b509 Fix bump popperjs from 2.11.5 to 2.11.6 2022-09-01 11:35:17 -07:00
Giovanni Piller Cottrer 3ad8551f8b Fix accordion: use $accordion-color rather than computing it via color-contrast 2022-08-31 20:51:22 -07:00
Mark Otto a12453a0ff Fix padding on starter template 2022-08-31 20:22:42 -07:00
Mark Otto db34907887 Update dependencies 2022-08-31 20:08:30 -07:00
Patrick H. Lauke cda901f244 v5/docs: reintroduce outline for docs code samples, buttons when :not(:focus-visible) (#36507)
* Remove outline suppression for focused `<pre>`

Sighted keyboard users rely on knowing where their focus is. If the `<pre>` receives focus (so that it can be scrolled by keyboard users, for instance) then it's essential that they know this is the case

* Only suppress outline for buttons when `:not(:focus-visible)`

* Add right-hand margin to pre

avoids having the focus outline awkwardly clipped by the copy button
2022-08-31 18:30:23 -07:00
Florian Lacreuse 87aaf94996 Add default select example in cheatsheet (#36877)
Co-authored-by: Julien Déramond <julien.deramond@orange.com>
2022-08-31 18:19:45 -07:00
Florian Lacreuse 2f3aec819a Fix input group z-index focus + validation 2022-08-31 18:17:41 -07:00
louismaximepiton ebbed79df7 Fix for horizontal list-group item 2022-08-31 18:16:11 -07:00
Julien Déramond a138bc3fb9 More consistency for CSS/Sass vars doc for components with dark variants 2022-08-31 18:15:11 -07:00
Michael Geuchmann bc2ec7c758 bugfix undefined border color variable for btn 2022-08-31 18:12:01 -07:00
Julien Déramond 465cc2da4f Docs: improve cards image overlays markup 2022-08-31 18:10:55 -07:00
louismaximepiton a0238d126b Adding missing CSS variables for z-index 2022-08-31 18:04:09 -07:00
louismaximepiton 4cea8b1786 Add a comment for track the bug. 2022-08-31 18:03:42 -07:00
louismaximepiton 995df354f2 Set cursor to auto instead of pointer on .DocSearch-Container 2022-08-31 18:03:42 -07:00
louismaximepiton 15318674fb Change offcanvas to be more consistent with carousel and dropdown 2022-08-31 18:03:08 -07:00
Louis-Maxime Piton 29332a954f Docs: Fix js options to what is really inside js (#37019) 2022-08-31 16:50:54 +03:00
dependabot[bot] af1bd974bb Bump @rollup/plugin-commonjs from 22.0.1 to 22.0.2 (#36929)
Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) from 22.0.1 to 22.0.2.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/commonjs-v22.0.2/packages/commonjs)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-commonjs"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 19:24:27 +03:00
Kitty Giraudel c3c6591166 Update an outdated name mentioned in a Sass comment 2022-08-10 21:23:41 +02:00
XhmikosR a685b9648b Update devDependencies (#36900)
* @babel/cli             ^7.18.9  →  ^7.18.10
* @babel/core            ^7.18.9  →  ^7.18.10
* @babel/preset-env      ^7.18.9  →  ^7.18.10
* eslint                 ^8.20.0  →   ^8.21.0
* sass                   ^1.54.0  →   ^1.54.2
2022-08-04 09:48:23 +03:00
dependabot[bot] aad77f32bd Bump rollup from 2.77.0 to 2.77.2 (#36886)
Bumps [rollup](https://github.com/rollup/rollup) from 2.77.0 to 2.77.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.77.0...v2.77.2)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-04 08:29:27 +03:00
Vipin Mishra 9e57dfadac Added new example in examples/features page. (#36660)
* Added new example in examples/features

* Fix indentation, other suggested changes from review

* fix: heading structure
2022-08-03 21:52:41 -07:00
Hadouin e57a94cd66 Docs: add grid-row-columns variable
#36691
2022-08-03 14:12:15 -07:00
Hadouin 8730ef0f8e fix #36662 List-group-item margin-top is offset when importing sass in a nested class (#36663)
* fix #36662 & + .list-group-item

* Ignore linter

Co-authored-by: Mark Otto <otto@github.com>
2022-08-03 11:27:51 -07:00
Patrick H. Lauke 4018fac20e Expand popover custom container explanation
mention the scenario of popovers inside modals - see https://github.com/twbs/bootstrap/issues/36692#issuecomment-1178261690
2022-08-03 11:24:20 -07:00
louismaximepiton 6c221aa043 Fix 2022-08-01 09:06:47 -07:00
Matthew West 7432f2a922 Fix docs typo of .form-checkbox -> .form-check
The class `.form-checkbox` is not used in Bootstrap and here it should say `.form-check` (as shown in the example below).
2022-08-01 09:02:24 -07:00
louismaximepiton c22dd50e1b Fix floating labels 2022-08-01 08:59:22 -07:00
Julien Déramond a4f81c04b5 Bump autoprefixer from 10.4.7 to 10.4.8 (#36860) 2022-07-31 09:41:12 +03:00
Julien Déramond 85530309fa Define correctly $popover-header-color (#36849) 2022-07-29 21:54:18 +02:00
Julien Déramond 17aa6732ab Fix typos after #36762 (#36771) 2022-07-29 21:49:01 +02:00
GeoSot db86607c08 ScrollSpy: make the threshold option configurable (#36750)
* feat(ScrollSpy): make the threshold option configurable
2022-07-28 11:58:28 +03:00
Mark Otto 90c50ab198 Fixes #36770: Add navbar image alt text (#36850) 2022-07-28 07:51:08 +02:00
Mark Otto 3feaf6ca0b Move DocSearch out of offcanvas to always show it on mobile (#36824) 2022-07-27 13:30:42 -07:00
GeoSot dfae892801 Re-set tooltip title, on disposal (#36751)
fix(reg): Re-set tooltip title, on disposal
2022-07-27 17:40:05 +03:00
dependabot[bot] 44c9c8df8d Bump sass from 1.53.0 to 1.54.0 (#36845)
Bumps [sass](https://github.com/sass/dart-sass) from 1.53.0 to 1.54.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.53.0...1.54.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-27 09:09:12 +03:00
dependabot[bot] 02f1c628f1 Bump lockfile-lint from 4.7.6 to 4.7.7 (#36844)
Bumps [lockfile-lint](https://github.com/lirantal/lockfile-lint) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/lirantal/lockfile-lint/releases)
- [Commits](https://github.com/lirantal/lockfile-lint/compare/lockfile-lint@4.7.6...lockfile-lint@4.7.7)

---
updated-dependencies:
- dependency-name: lockfile-lint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-27 08:54:09 +03:00
Mark Otto 501faa2c96 Simplify social images and add ability to set per-page images (#36804)
* Simplify social images and add ability to set per-page images

- Removes the homepage summary layout in favor of the larger image card (makes it more consistent with other pages)
- Reuses new thumbnails for Webpack, Parcel, and Vite guides to add their new social images

* Update default social card

* Change description to subtitle, add longer description to match homepage

* Remove social_image_path, use inline conditions for social images
2022-07-26 09:25:47 -07:00
Mark Otto 00aa1a5c6e Remove Slack from site and repo docs (#36825)
* Remove Slack from site and repo docs

* Apply suggestions from code review

Co-authored-by: Julien Déramond <julien.deramond@orange.com>

Co-authored-by: Julien Déramond <julien.deramond@orange.com>
2022-07-25 15:47:14 -07:00
Julien Déramond a153f360ee Fix pagination page items border radius 2022-07-25 16:00:47 -06:00
louismaximepiton dc901d25fa Adding missing offcanvas added-in shortcode 2022-07-25 15:50:53 -06:00
louismaximepiton 01bf7a9b86 Adding missing borders added-in shortcode 2022-07-25 15:50:53 -06:00
Julien Déramond 14e705d9ae Docs: Redirect users to different templates of issues rather than an empty one (#36827) 2022-07-25 19:19:11 +02:00
Julien Déramond 99cd8ca8a0 Docs: use added-in shortcode in Offcanvas (#36836) 2022-07-25 19:11:44 +02:00
Christian Oliff e547c9c2e9 Docs: fix Markdown link in Tooltips (#36839) 2022-07-25 19:07:42 +02:00
Patrick H. Lauke 7688c84b8a Correct heading levels in features example
to keep the look the same, added `fs-...` sizing classes where necessary
2022-07-25 08:49:06 -06:00
campersau b6d27899fc Rename scrollspy to toast in toast.md (#36819) 2022-07-23 01:56:02 +03:00
Sadeed pv d12bcf7bc0 Fix Algolia's DocSearch broken URL in README (#36812) 2022-07-22 16:30:11 +02:00
なつき 04b5d099b3 Remove unused parameter of bsBanner mixin (#36791) 2022-07-22 10:35:38 +02:00
XhmikosR edf9c40956 Release v5.2.0 (#36768)
* Bump version to 5.2.0

* Dist

* Update masthead.html
2022-07-19 18:43:58 +03:00
GeoSot f451b4161e Fix failing test on EventHandler (#36772) 2022-07-19 15:46:36 +03:00
XhmikosR 4035ad1a0e Update devDependencies (#36767)
* @babel/cli                       ^7.18.6  →  ^7.18.9
* @babel/core                      ^7.18.6  →  ^7.18.9
* @babel/preset-env                ^7.18.6  →  ^7.18.9
* clean-css-cli                     ^5.6.0  →   ^5.6.1
* eslint                           ^8.19.0  →  ^8.20.0
* eslint-plugin-markdown            ^2.2.1  →   ^3.0.0
* rollup                           ^2.76.0  →  ^2.77.0
* stylelint-config-twbs-bootstrap   ^4.0.0  →   ^5.0.0
* terser                           ^5.14.1  →  ^5.14.2
2022-07-19 08:33:05 +03:00
Marc Wrobel eae51cdf32 Fix various small typos in documentation (#36762) 2022-07-18 13:30:41 -07:00
Marc Wrobel 705d6857ad Fix typos in code (#36763)
Shoutout is correct but has been replaced by its more common form : Shout-out (https://www.merriam-webster.com/dictionary/shout-out).
2022-07-18 13:30:29 -07:00
JWB 154916ca2e Fixing pagination compile issue
This was an issue with the tables as well, but that has been updated here - 4a3c004c34

This was also noted here - 36501#issuecomment-1153187062_

This effects the 5.2 beta1 that is released on the homepage.

Whats happening is with a fresh download and compile, with some compilers, I noticed not all of them run into this issue, we get the Sass variable showing up and not the actual value.

Steps to reproduce - 
 - Download the source code form the docs for beta 2 and extract
 - Open VSCode -> open folder to the bootstrap directory you just extracted
 - install the "Sass/Less/Stylus/Pug/Jade/Typescript/Javascript Compile Hero Pro" v2.3.53 by Eno Yao extension
 ---- might have to restart VSCode
 - go to that extensions settings, and set the directory to save the output / compiled version to `../dist`
 - tap that Compile Hero on the bottom to activate the extension
 - open `bootstrap.scss` add a space or a new line and save it
 - check the compiles version and you should see the errors
2022-07-17 21:18:55 -07:00
Nils K 9d5c834f94 Fix indentation in code sample 2022-07-17 20:53:28 -07:00
Julien Déramond 150b374933 Fix active/focused button link text color 2022-07-17 20:52:52 -07:00
Mark Otto d262a50c1f Add links to Webpack, Parcel, and Vite guides on homepage (#36760) 2022-07-17 20:52:30 -07:00
Mark Otto 71cbb88f09 Support input groups in floating forms (#36759)
* Support input groups in floating forms

* Update bundlewatch

Co-authored-by: 719media <ben@719media.com>
2022-07-17 20:50:41 -07:00
Marc Wrobel 6d101b15a4 Fix typos in snippets.js (#36758) 2022-07-17 20:54:34 +02:00
Julien Déramond ed448925da Docs: same text for disabled ranges and disabled form controls (#36741) 2022-07-16 10:29:51 +02:00
Julien Déramond aa8d0b3439 Standardization of spyOn usage (#36742) 2022-07-15 16:52:03 +03:00
GeoSot 713d7140f1 Offcanvas: activate focustrap when backdrop is enabled (#36717)
* fix(offcanvas): activate focustrap when backdrop is enabled
* Adding tabindex='-1' for both offcanvases in the docs
* Remove useless aria-expanded='false' in togglers
* Update js/tests/unit/offcanvas.spec.js

Co-authored-by: Julien Déramond <julien.deramond@orange.com>
Co-authored-by: Julien Déramond <juderamond@gmail.com>
Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
2022-07-14 10:06:06 +01:00
Patrick H. Lauke 8bb68b04b3 Add accNames to all progress bar examples (#36732)
Co-authored-by: Julien Déramond <juderamond@gmail.com>
Co-authored-by: Abdullah Alaqeel <abdullah.t.aqeel@gmail.com>
2022-07-13 23:31:15 +02:00
Christian Oliff b5910674da Docs: Capitalize Unicode (#36734) 2022-07-13 17:27:16 +02:00
GeoSot 54317bf7c8 Add a banner mixin, helping future releases and maintenance (#36178)
* Add a banner mixin, helping future releases and maintenance

* Update scss/bootstrap-reboot.scss

Co-authored-by: Julien Déramond <julien.deramond@orange.com>

* Apply suggestions from code review

Co-authored-by: Julien Déramond <julien.deramond@orange.com>
Co-authored-by: Mark Otto <markd.otto@gmail.com>
2022-07-11 16:36:12 -07:00
Louis-Maxime Piton ed2690608e Fix on #35679 (#36668)
* Fix

* .
2022-07-11 16:29:30 -07:00
GeoSot 62b3d3cc68 Add some details for non visible scrollspy elements (#36625)
* docs: add some details for non visible scrollspy elements

* Apply suggestions from code review

Co-authored-by: Julien Déramond <julien.deramond@orange.com>

* fix selectors on snippet

* Fix paragraph by a native speaker

Co-authored-by: Mark Otto <markd.otto@gmail.com>

* Update scrollspy.md

* Move from warning to own section

* Update scrollspy.md

Co-authored-by: Julien Déramond <julien.deramond@orange.com>
Co-authored-by: Julien Déramond <juderamond@gmail.com>
Co-authored-by: Mark Otto <markd.otto@gmail.com>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2022-07-11 16:17:53 -07:00
Julien Déramond a1224482f2 Add $display-font-family and $display-font-style (#36711) 2022-07-11 23:16:33 +02:00
Neeraj Kumar Das ac654a0f66 Add CSS custom property: --bs-btn-disabled-border-color to mixin: button-outline-variant 2022-07-11 01:38:05 -07:00
XhmikosR 81aa8e0713 Update devDependencies (#36715)
* eslint                 ^8.18.0  →  ^8.19.0
* lockfile-lint           ^4.7.5  →   ^4.7.6
* nodemon                ^2.0.18  →  ^2.0.19
* postcss-cli             ^9.1.0  →  ^10.0.0
* rollup                 ^2.75.7  →  ^2.76.0
2022-07-11 11:18:49 +03:00
Julien Déramond 5235f8eb04 Fix 'Remove from map' Sass description 2022-07-11 00:59:42 -07:00
Mark Otto 270344a0d5 Remove headings-color CSS variable due to backward compatibility issues 2022-07-11 00:56:26 -07:00
Julien Déramond 3eb6265b65 Docs: fix description on how to alter display values (#36712) 2022-07-10 08:37:47 +02:00
Julien Déramond 59a285ff3c Docs: Add 'Icons' link in footer 2022-07-08 17:05:39 -07:00
Julien Déramond 2bf383c596 Add missing CSS vars for .navbar-nav 2022-07-07 14:32:35 -07:00
Julien Déramond a396d9cd12 Replace JS Bin refs by CodePen or StackBlitz references 2022-07-07 14:28:08 -07:00
Christian Oliff 6f10bdc99c add type="button" to Bootstrap versions dropdown (#36696)
minor accessibility issue fix reported by webhint.io browser extension
2022-07-07 13:14:24 +01:00
Julien Déramond 6cf72530ed Docs: add indeterminate disabled checkbox example (#36674) 2022-07-06 07:43:38 +02:00
Julien Déramond 22c7503c88 Docs: alphabetical reorder of some events/methods in tables (#36669) 2022-07-06 07:33:28 +02:00
Nathan Walters 3f324eed02 Handle non-empty whitespace textContent in Tooltip trigger (#36588) 2022-07-06 07:15:50 +02:00
Julien Déramond 7d0b224df4 Revert db61cf3 for $text-muted default value (#36680) 2022-07-06 06:22:30 +02:00
Christian Oliff f0f8107d05 remove dead link from translations 2022-07-05 14:43:53 -10:00
Julien Déramond 547aa099ea Docs: fix some ScrollSpy HTML copyable codes (#36672) 2022-07-05 13:45:30 +02:00
Julien Déramond c1813ef2bc ref(tests): Minor fix to use self-closing input HTML tag (#36667) 2022-07-04 14:12:10 +03:00
Vipin Mishra a13f432db4 Fix a typo in the documentation masthead (#36658)
Co-authored-by: Vipin MIshra <vipin@digiqt.com>
2022-07-02 06:17:55 +00:00
Neeraj Kumar Das f2692b1c58 Added examples for Radios in List Group (#36644)
* Add examples for Radios in List Group
* Reduce the number of checkboxes and radios to 3 for consistency
Drop aria-label on inputs and use label
Use class stretched-link on labels to cover the whole list group item
Check the first radio by default
Remove radios from streched link examples


Co-authored-by: Julien Déramond <juderamond@gmail.com>
2022-06-30 22:58:28 +03:00
Aleksander Machniak 505e0235b9 Fix interoperability issue regarding Event properties (#36386)
* Fix interoperability issue regarding Event properties

- make possible to re-set read-only event properties
- use hydrateObj() to set delegateTarget property

Fixes #36207

Co-authored-by: GeoSot <geo.sotis@gmail.com>
Co-authored-by: Julien Déramond <julien.deramond@orange.com>
2022-06-30 22:52:47 +03:00
Christian Oliff 4082a3b52d update Lighthouse URL
saves a HTTP redirect :-)
2022-06-30 22:25:32 +03:00
Julien Déramond 9400b8f2f9 Fix tooltip/badge border radius when rounded disabled 2022-06-29 13:41:33 -07:00
Tech Vanity d4aee02458 Fix dashboard example so that the sticky sidebar has scrollable content (#36608) 2022-06-29 18:33:23 +02:00
XhmikosR 7f70fcab0f Update devDependencies (#36640)
* @babel/cli               ^7.17.10  →  ^7.18.6
* @babel/core               ^7.18.5  →  ^7.18.6
* @babel/preset-env         ^7.18.2  →  ^7.18.6
* @rollup/plugin-commonjs   ^22.0.0  →  ^22.0.1
* eslint                    ^8.17.0  →  ^8.18.0
* hugo-bin                  ^0.88.2  →  ^0.89.0
* karma-jasmine              ^5.0.1  →   ^5.1.0
* nodemon                   ^2.0.16  →  ^2.0.18
* rollup                    ^2.75.6  →  ^2.75.7
* sass                      ^1.52.3  →  ^1.53.0
2022-06-28 09:07:31 +03:00
Julien Déramond 828034f26f Fix search modal z-index to be on top of all docs showcased components (#36627) 2022-06-28 07:41:15 +02:00
Julien Déramond 9cf0e9b735 Fix StackBlitz examples needing docs CSS (#36637) 2022-06-28 07:31:47 +02:00
GeoSot 4f4b42dd14 Force tooltip and popover to recreate content every time it opens (#35679) 2022-06-27 12:58:27 +03:00
GeoSot f14c58f494 ref(tab): remove show from panels dependent-less they have .fade class or not (simplify checks) (#36622) 2022-06-27 12:43:11 +03:00
Julien Déramond 8de0488330 Docs: update clipboard.js to v2.0.11 2022-06-25 16:06:07 +03:00
Julien Déramond eea1b1e1fd Use 'needs-example' label to trigger live demo bot message (#36624) 2022-06-22 22:53:28 +02:00
GeoSot d05c42a397 fix: change dismiss handler, listening to key down, instead of click (#36401) 2022-06-21 11:03:57 +03:00
Julien Déramond a877c5d04a Fix popover live demo to use data-bs-title instead of title (#36613) 2022-06-21 07:39:15 +02:00
Julien Déramond cfabeb71fa Fix StackBlitz Popovers and Tooltips examples (#36449)
* Fix StackBlitz Popovers and Tooltips examples

* Rename shortcode example parameters

* Reorder example shortcode doc params + fix Cspell

* Remove 'stackblitz' param + use data-bs-title instead of title

* Update site/layouts/partials/callout-warning-data-bs-title-vs-title.md

Co-authored-by: Mark Otto <markd.otto@gmail.com>

Co-authored-by: Mark Otto <markd.otto@gmail.com>
2022-06-20 07:19:47 -07:00
Julien Déramond 22503d6b21 Update Code of Conduct with Contributor Covenant 2.1 (#36548)
Signed-off-by: Julien Déramond <juderamond@gmail.com>
2022-06-16 06:52:36 +02:00
Mark Otto 24d79fe74c Add example of dark navbar and offcanvas to docs (#36510) 2022-06-15 07:41:39 -07:00
Mark Otto ac0b87b207 Don't style readonly inputs as disabled (#36499)
* Don't style readonly inputs as disabled

Also remove the Chrome-specific focus styling from readonly plaintext

* Update some docs comments
2022-06-14 07:25:49 -07:00
XhmikosR dfe7472431 Regenerate package-lock.json 2022-06-14 16:33:00 +03:00
dependabot[bot] 7dc4fa932f Bump lockfile-lint from 4.7.4 to 4.7.5 (#36570)
Bumps [lockfile-lint](https://github.com/lirantal/lockfile-lint) from 4.7.4 to 4.7.5.
- [Release notes](https://github.com/lirantal/lockfile-lint/releases)
- [Commits](https://github.com/lirantal/lockfile-lint/compare/lockfile-lint@4.7.4...lockfile-lint@4.7.5)

---
updated-dependencies:
- dependency-name: lockfile-lint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:31:29 +03:00
dependabot[bot] c57625b4d4 Bump karma from 6.3.20 to 6.4.0 (#36573)
Bumps [karma](https://github.com/karma-runner/karma) from 6.3.20 to 6.4.0.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.3.20...v6.4.0)

---
updated-dependencies:
- dependency-name: karma
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:22:27 +03:00
dependabot[bot] 8d29e86ff4 Bump sass from 1.52.2 to 1.52.3 (#36572)
Bumps [sass](https://github.com/sass/dart-sass) from 1.52.2 to 1.52.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.52.2...1.52.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:19:44 +03:00
dependabot[bot] 1656b07ed5 Bump rollup from 2.75.5 to 2.75.6 (#36571)
Bumps [rollup](https://github.com/rollup/rollup) from 2.75.5 to 2.75.6.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.75.5...v2.75.6)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:19:21 +03:00
GeoSot fc24f8788f Carousel: Remove redundant reference to interval=false from docs (#36545)
* docs: remove redundant reference to `interval=false`

* docs: remove redundant reference to `interval=false` from tests

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-06-14 16:17:28 +03:00
dependabot[bot] 13f109e542 Bump hugo-bin from 0.88.1 to 0.88.2 (#36569)
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.88.1 to 0.88.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.88.1...v0.88.2)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:14:59 +03:00
dependabot[bot] 147d3b0c9a Bump terser from 5.14.0 to 5.14.1 (#36568)
Bumps [terser](https://github.com/terser/terser) from 5.14.0 to 5.14.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.14.0...v5.14.1)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:14:36 +03:00
dependabot[bot] 06f0cca502 Bump stylelint from 14.8.5 to 14.9.1 (#36567)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.8.5 to 14.9.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.8.5...14.9.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:14:09 +03:00
dependabot[bot] 4d91157e39 Bump @babel/core from 7.18.2 to 7.18.5 (#36566)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.2 to 7.18.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.5/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 16:13:24 +03:00
GeoSot ec8166a90f fix: fix possible bug on event handler. (#36561)
some browsers validate the empty object as `true`, so is safer to use an explicit check
2022-06-14 08:33:53 +03:00
Mark Otto 5f75413735 Generate local CSS variables on utilities when using state option 2022-06-13 14:07:13 -07:00
Sam Magura 1b31f84916 Document BootstrapVue being outdated 2022-06-13 08:41:50 -07:00
Mark Otto a9ef305b81 Fixes #36550 2022-06-13 08:31:59 -07:00
Jeremy Thompson 0a3864641b Add .active navbar breaking change to 5.0 docs 2022-06-08 15:44:29 -07:00
Mark Otto d16a16258c Manually set hover and active backgrounds and borders for dark and light buttons 2022-06-08 15:32:05 -07:00
Julien Déramond ae3442041c Fix typo in dropdown unit test 2022-06-08 15:23:03 -07:00
GeoSot 37cf7d11b9 Scrollspy: enable smooth-scroll behavior (#36528) 2022-06-08 22:35:09 +03:00
XhmikosR 90021886f6 Update devDependencies (#36513)
* eslint                           ^8.16.0  →  ^8.17.0
* sass                             ^1.52.1  →  ^1.52.2
* stylelint-config-twbs-bootstrap   ^3.2.0  →   ^4.0.0
2022-06-07 07:33:32 +03:00
Patrick H. Lauke af0c1d8618 Improve accessible name of version dropdown in docs navbar (#36495)
- add `aria-hidden="true"` to the "Bootstrap" text that is hidden on large screens
- add separate visually-hidden "Bootstrap", which will be part of the accessible name regardless of whether the other string is visible or not (on large screen)
- extra visually-hidden text to give some context - that the dropdown is about switching versions
- remove the redundant id/aria-labelledby for the dropdown
2022-06-05 09:59:41 +01:00
Julien Déramond 5b0bf3f49a Docs: Add a Vite Getting Started guide (#36412)
* Docs: Add a Vite Getting Started guide

* Fix npm run docs temporarily

* Fix cspell and lint

* Uncomment the 2nd part

* .

* Make it work without dist

* Updates after merges of Parcel/Webpack guides rewriting

* Update images

* Replace dev images

* Compress the new images better

* Update site/content/docs/5.2/customize/optimize.md

Co-authored-by: Mark Otto <otto@github.com>

* Update site/content/docs/5.2/getting-started/vite.md

Co-authored-by: Mark Otto <markdotto@gmail.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Mark Otto <otto@github.com>
2022-06-04 09:42:32 -07:00
Patrick H. Lauke 8965b11dd5 Remove confusing unnecessary id/aria-labelledby for dropdown menus (#36487)
see https://github.com/twbs/bootstrap/discussions/35755

Note that even the APG guide for disclosure widgets doesn't use this optional "nice-to-have" extra bit https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/ (though they do use `aria-controls`, which in most current browser/AT combos is borked though)
2022-06-03 11:18:22 +01:00
Patrick H. Lauke 3102b4a3e9 Update some WCAG links, expand sass.md contrast explanation (#36489) 2022-06-03 10:42:49 +01:00
Julien Déramond 6d5a70340d Docs: fix some ARIA Authoring Practices Guides broken links (#36488)
* Docs: fix some ARIA Authoring Practices Guides broken link
2022-06-02 22:10:22 +01:00
louismaxime.piton c137d11aa2 Re-ordering js default objects 2022-06-01 19:24:45 -07:00
Mark Otto 824c5a077b Fix .dropdown-item border-radius when -padding-y is 0 2022-06-01 18:41:26 -07:00
Julien Déramond ac89c3692b Docs: remove unused _algolia.scss 2022-06-01 14:24:08 -07:00
Julien Déramond 29766b2db2 Docs: fix Reboot Horizontal rules using border utilities 2022-06-01 14:14:06 -07:00
XhmikosR eb17d3d760 Update devDependencies (#36481)
* hugo-bin                         ^0.87.1  →  ^0.88.1
* rollup                           ^2.74.1  →  ^2.75.5
* stylelint-config-twbs-bootstrap   ^3.1.0  →   ^3.2.0
2022-06-01 18:19:32 +03:00
dependabot[bot] 83cb588f94 Bump streetsidesoftware/cspell-action from 1 to 2 (#36473)
Bumps [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) from 1 to 2.
- [Release notes](https://github.com/streetsidesoftware/cspell-action/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: streetsidesoftware/cspell-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-05-31 17:52:57 +03:00
dependabot[bot] dcb4d5e1df Bump stylelint from 14.8.3 to 14.8.5 (#36472)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.8.3 to 14.8.5.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.8.3...14.8.5)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-05-31 17:51:01 +03:00
dependabot[bot] 753698fea0 Bump @babel/preset-env from 7.18.0 to 7.18.2 (#36470)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.0 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-31 17:48:37 +03:00
dependabot[bot] f5dd354a25 Bump @babel/core from 7.18.0 to 7.18.2 (#36469)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.0 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-05-31 17:43:18 +03:00
dependabot[bot] e9b901785a Bump terser from 5.13.1 to 5.14.0 (#36468)
Bumps [terser](https://github.com/terser/terser) from 5.13.1 to 5.14.0.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.13.1...v5.14.0)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-05-31 17:39:58 +03:00
dependabot[bot] 28b1bc67b1 Bump karma-jasmine-html-reporter from 1.7.0 to 2.0.0 (#36467)
Bumps [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) from 1.7.0 to 2.0.0.
- [Release notes](https://github.com/dfederm/karma-jasmine-html-reporter/releases)
- [Commits](https://github.com/dfederm/karma-jasmine-html-reporter/compare/v1.7.0...v2.0.0)

---
updated-dependencies:
- dependency-name: karma-jasmine-html-reporter
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-31 17:36:30 +03:00
303 changed files with 6920 additions and 12386 deletions
+6 -6
View File
@@ -18,11 +18,11 @@
},
{
"path": "./dist/css/bootstrap-utilities.css",
"maxSize": "8.0 kB"
"maxSize": "9.25 kB"
},
{
"path": "./dist/css/bootstrap-utilities.min.css",
"maxSize": "7.25 kB"
"maxSize": "8.5 kB"
},
{
"path": "./dist/css/bootstrap.css",
@@ -30,11 +30,11 @@
},
{
"path": "./dist/css/bootstrap.min.css",
"maxSize": "26.5 kB"
"maxSize": "26.75 kB"
},
{
"path": "./dist/js/bootstrap.bundle.js",
"maxSize": "43.0 kB"
"maxSize": "43.25 kB"
},
{
"path": "./dist/js/bootstrap.bundle.min.js",
@@ -42,7 +42,7 @@
},
{
"path": "./dist/js/bootstrap.esm.js",
"maxSize": "27.75 kB"
"maxSize": "28.0 kB"
},
{
"path": "./dist/js/bootstrap.esm.min.js",
@@ -50,7 +50,7 @@
},
{
"path": "./dist/js/bootstrap.js",
"maxSize": "28.5 kB"
"maxSize": "28.75 kB"
},
{
"path": "./dist/js/bootstrap.min.js",
+3 -1
View File
@@ -76,7 +76,6 @@
"Packagist",
"popperjs",
"prebuild",
"precompiled",
"prefersreducedmotion",
"prepended",
"printf",
@@ -91,7 +90,9 @@
"scrollspy",
"Segoe",
"semibold",
"socio",
"srcset",
"stackblitz",
"stickied",
"Stylelint",
"subnav",
@@ -108,6 +109,7 @@
"urlize",
"vbtn",
"viewports",
"Vite",
"vstack",
"walkthroughs",
"WCAG",
+2
View File
@@ -3,4 +3,6 @@
**/vendor/
/_site/
/js/coverage/
/js/tests/integration/
/site/static/sw.js
/site/layouts/
+2 -4
View File
@@ -18,9 +18,7 @@ the preferred channel for [bug reports](#bug-reports), [features requests](#feat
and [submitting pull requests](#pull-requests), but please respect the following
restrictions:
* Please **do not** use the issue tracker for personal support requests. Stack
Overflow ([`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5) tag),
[Slack](https://bootstrap-slack.herokuapp.com/) or [IRC](/README.md#community) are better places to get help.
* Please **do not** use the issue tracker for personal support requests. Stack Overflow ([`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5) tag), [our GitHub Discussions](https://github.com/twbs/bootstrap/discussions) or [IRC](/README.md#community) are better places to get help.
* Please **do not** derail or troll issues. Keep the discussion on topic and
respect the opinions of others.
@@ -69,7 +67,7 @@ Guidelines for bug reports:
3. **Isolate the problem** &mdash; ideally create a [reduced test
case](https://css-tricks.com/reduced-test-cases/) and a live example.
[This JS Bin](https://jsbin.com/lolome/edit?html,output) is a helpful template.
These [v4 CodePen](https://codepen.io/team/bootstrap/pen/yLabNQL) and [v5 CodePen](https://codepen.io/team/bootstrap/pen/qBamdLj) are helpful templates.
A good bug report shouldn't leave others needing to chase you up for more
+38
View File
@@ -0,0 +1,38 @@
### Description
<!-- Describe your changes in detail -->
### Motivation & Context
<!-- Why is this change required? What problem does it solve? -->
### Type of changes
<!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply. -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Refactoring (non-breaking change)
- [ ] Breaking change (fix or feature that would change existing functionality)
### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] I have read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md)
- [ ] My code follows the code style of the project _(using `npm run lint`)_
- [ ] My change introduces changes to the documentation
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
- [ ] All new and existing tests passed
#### Live previews
<!-- Please add direct links where your modifications can be seen in the documentation -->
* https://deploy-preview-{your pr number}--twbs-bootstrap.netlify.app/
### Related issues
<!-- Please link any related issues here. -->
+1 -1
View File
@@ -6,6 +6,6 @@ See the [contributing guidelines](CONTRIBUTING.md) for sharing bug reports.
For general troubleshooting or help getting started:
- Join [the official Slack room](https://bootstrap-slack.herokuapp.com/).
- Ask and explore [our GitHub Discussions](https://github.com/twbs/bootstrap/discussions).
- Chat with fellow Bootstrappers in IRC. On the `irc.libera.chat` server, in the `#bootstrap` channel.
- Ask and explore Stack Overflow with the [`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5) tag.
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
uses: actions/checkout@v3
- name: Run cspell
uses: streetsidesoftware/cspell-action@v1
uses: streetsidesoftware/cspell-action@v2
with:
config: ".cspell.json"
files: "**/*.md"
+2 -2
View File
@@ -10,10 +10,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: awaiting reply
if: github.event.label.name == 'awaiting-reply'
if: github.event.label.name == 'needs-example'
uses: actions-cool/issues-helper@v3
with:
actions: "create-comment"
token: ${{ secrets.GITHUB_TOKEN }}
body: |
Hello @${{ github.event.issue.user.login }}. Bug reports must include a **live demo** of the issue. Per our [contributing guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md), please create a reduced test case on [CodePen](https://codepen.io/) or [JS Bin](https://jsbin.com/) and report back with your link, Bootstrap version, and specific browser and Operating System details.
Hello @${{ github.event.issue.user.login }}. Bug reports must include a **live demo** of the issue. Per our [contributing guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md), please create a reduced test case on [CodePen](https://codepen.io/) or [StackBlitz](https://stackblitz.com/) and report back with your link, Bootstrap version, and specific browser and Operating System details.
+109 -20
View File
@@ -2,42 +2,131 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
Examples of behavior that contributes to a positive environment for our
community include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior by participants include:
Examples of unacceptable behavior include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mdo@getbootstrap.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
mdo@getbootstrap.com.
All complaints will be reviewed and investigated promptly and fairly.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 1.4, available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct/>
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
+7 -8
View File
@@ -46,11 +46,11 @@ Our default branch is for development of our Bootstrap 5 release. Head to the [`
Several quick start options are available:
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.2.0-beta1.zip)
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.2.3.zip)
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap@v5.2.0-beta1`
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.2.0-beta1`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.2.0-beta1`
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap@v5.2.3`
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.2.3`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.2.3`
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass`
Read the [Getting started page](https://getbootstrap.com/docs/5.2/getting-started/introduction/) for information on the framework contents, templates, examples, and more.
@@ -58,7 +58,6 @@ Read the [Getting started page](https://getbootstrap.com/docs/5.2/getting-starte
## Status
[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com/)
[![Build Status](https://img.shields.io/github/workflow/status/twbs/bootstrap/JS%20Tests/main?label=JS%20Tests&logo=github)](https://github.com/twbs/bootstrap/actions?query=workflow%3AJS+Tests+branch%3Amain)
[![npm version](https://img.shields.io/npm/v/bootstrap)](https://www.npmjs.com/package/bootstrap)
[![Gem version](https://img.shields.io/gem/v/bootstrap)](https://rubygems.org/gems/bootstrap)
@@ -138,14 +137,14 @@ We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified
## Bugs and feature requests
Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/twbs/bootstrap/issues/new).
Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/twbs/bootstrap/blob/main/.github/CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/twbs/bootstrap/issues/new/choose).
## Documentation
Bootstrap's documentation, included in this repo in the root directory, is built with [Hugo](https://gohugo.io/) and publicly hosted on GitHub Pages at <https://getbootstrap.com/>. The docs may also be run locally.
Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in `site/assets/js/search.js`.
Documentation search is powered by [Algolia's DocSearch](https://docsearch.algolia.com/). Working on our search? Be sure to set `debug: true` in `site/assets/js/search.js`.
### Running documentation locally
@@ -178,7 +177,7 @@ Get updates on Bootstrap's development and chat with the project maintainers and
- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
- Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/).
- Join [the official Slack room](https://bootstrap-slack.herokuapp.com/).
- Ask and explore [our GitHub Discussions](https://github.com/twbs/bootstrap/discussions).
- Chat with fellow Bootstrappers in IRC. On the `irc.libera.chat` server, in the `#bootstrap` channel.
- Implementation help may be found at Stack Overflow (tagged [`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5)).
- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
+2 -1
View File
@@ -9,6 +9,7 @@
"extends": "../.eslintrc.json",
"rules": {
"no-console": "off",
"strict": "error"
"strict": "error",
"unicorn/prefer-top-level-await": "off"
}
}
+1 -1
View File
@@ -9,7 +9,7 @@
'use strict'
const path = require('path')
const path = require('node:path')
const rollup = require('rollup')
const globby = require('globby')
const { babel } = require('@rollup/plugin-babel')
+2 -2
View File
@@ -9,8 +9,8 @@
'use strict'
const fs = require('fs').promises
const path = require('path')
const fs = require('node:fs').promises
const path = require('node:path')
const globby = require('globby')
const VERBOSE = process.argv.includes('--verbose')
+3 -3
View File
@@ -12,9 +12,9 @@
'use strict'
const crypto = require('crypto')
const fs = require('fs')
const path = require('path')
const crypto = require('node:crypto')
const fs = require('node:fs')
const path = require('node:path')
const sh = require('shelljs')
sh.config.fatal = true
+1 -1
View File
@@ -1,6 +1,6 @@
'use strict'
const path = require('path')
const path = require('node:path')
const { babel } = require('@rollup/plugin-babel')
const { nodeResolve } = require('@rollup/plugin-node-resolve')
const replace = require('@rollup/plugin-replace')
+1 -1
View File
@@ -9,7 +9,7 @@
'use strict'
const { execFile, spawn } = require('child_process')
const { execFile, spawn } = require('node:child_process')
const vnu = require('vnu-jar')
execFile('java', ['-version'], (error, stdout, stderr) => {
+1 -1
View File
@@ -9,7 +9,7 @@
'use strict'
const path = require('path')
const path = require('node:path')
const sh = require('shelljs')
const pkg = require('../package.json')
+17 -19
View File
@@ -48,19 +48,17 @@ module:
target: static/favicon.ico
params:
description: "The most popular HTML, CSS, and JS library in the world."
subtitle: "The most popular HTML, CSS, and JS library in the world."
description: "Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."
authors: "Mark Otto, Jacob Thornton, and Bootstrap contributors"
social_image_path: /docs/5.2/assets/brand/bootstrap-social.png
social_logo_path: /docs/5.2/assets/brand/bootstrap-social-logo.png
current_version: "5.2.0-beta1"
current_ruby_version: "5.2.0-beta1"
current_version: "5.2.3"
current_ruby_version: "5.2.3"
docs_version: "5.2"
rfs_version: "v9.0.6"
github_org: "https://github.com/twbs"
repo: "https://github.com/twbs/bootstrap"
twitter: "getbootstrap"
slack: "https://bootstrap-slack.herokuapp.com/"
opencollective: "https://opencollective.com/bootstrap"
blog: "https://blog.getbootstrap.com/"
themes: "https://themes.getbootstrap.com/"
@@ -68,22 +66,22 @@ params:
swag: "https://cottonbureau.com/people/bootstrap"
download:
source: "https://github.com/twbs/bootstrap/archive/v5.2.0-beta1.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v5.2.0-beta1/bootstrap-5.2.0-beta1-dist.zip"
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.2.0-beta1/bootstrap-5.2.0-beta1-examples.zip"
source: "https://github.com/twbs/bootstrap/archive/v5.2.3.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v5.2.3/bootstrap-5.2.3-dist.zip"
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.2.3/bootstrap-5.2.3-examples.zip"
cdn:
# See https://www.srihash.org for info on how to generate the hashes
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css"
css_hash: "sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor"
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-dc2NSrAXbAkjrdm9IYrX10fQq9SDG6Vjz7nQVKdKcJl3pC+k37e7qJR5MVSCS+wR"
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.min.js"
js_hash: "sha384-kjU+l4N0Yf4ZOJErLsIcvOU2qSb74wXpOhqTvwVx3OElZRweTnQ6d31fXEoRD1Jy"
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2"
popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.5/dist/umd/popper.min.js"
popper_hash: "sha384-Xe+8cL9oJa6tN/veChSP7q+mnSPaj5Bcu9mPX5F5xIGE0DVittaqT5lorf0EI7Vk"
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
css_hash: "sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-DOXMLfHhQkvFFp+rWTZwVlPVqdIhpDVYT9csOnHSgWQWPX0v5MCGtjCJbY6ERspU"
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
js_hash: "sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4"
popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"
popper_hash: "sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3"
anchors:
min: 2
+1 -946
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
+2 -2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -946
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
+2 -5
View File
@@ -1,9 +1,8 @@
/*!
* Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap Reboot v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 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)
*/
:root {
--bs-blue: #0d6efd;
@@ -68,7 +67,6 @@
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-heading-color: ;
--bs-link-color: #0d6efd;
--bs-link-hover-color: #0a58ca;
--bs-code-color: #d63384;
@@ -113,7 +111,6 @@ h6, h5, h4, h3, h2, h1 {
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
color: var(--bs-heading-color);
}
h1 {
@@ -313,7 +310,7 @@ table {
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: rgba(var(--bs-body-color-rgb), 0.75);
color: #6c757d;
text-align: left;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -5
View File
@@ -1,9 +1,8 @@
/*!
* Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap Reboot v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 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)
*/
:root {
--bs-blue: #0d6efd;
@@ -68,7 +67,6 @@
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-heading-color: ;
--bs-link-color: #0d6efd;
--bs-link-hover-color: #0a58ca;
--bs-code-color: #d63384;
@@ -113,7 +111,6 @@ h6, h5, h4, h3, h2, h1 {
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
color: var(--bs-heading-color);
}
h1 {
@@ -313,7 +310,7 @@ table {
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: rgba(var(--bs-body-color-rgb), 0.75);
color: #6c757d;
text-align: right;
}
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
+71 -794
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
+71 -794
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
+200 -1212
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
+2 -2
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
+204 -1212
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
+2 -2
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
+311 -310
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
+2 -2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+251 -261
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
+2 -2
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
+252 -262
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
+2 -2
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
+2 -2
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap alert.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap alert.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -16,7 +16,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): alert.js
* Bootstrap (v5.2.3): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","BaseComponent","close","closeEvent","EventHandler","trigger","_element","defaultPrevented","classList","remove","isAnimated","contains","_queueCallback","_destroyElement","dispose","jQueryInterface","config","each","data","getOrCreateInstance","undefined","startsWith","TypeError","enableDismissTrigger","defineJQueryPlugin"],"mappings":";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,OAAb,CAAA;EACA,MAAMC,QAAQ,GAAG,UAAjB,CAAA;EACA,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAA/B,CAAA,CAAA;EAEA,MAAME,WAAW,GAAI,CAAOD,KAAAA,EAAAA,SAAU,CAAtC,CAAA,CAAA;EACA,MAAME,YAAY,GAAI,CAAQF,MAAAA,EAAAA,SAAU,CAAxC,CAAA,CAAA;EACA,MAAMG,eAAe,GAAG,MAAxB,CAAA;EACA,MAAMC,eAAe,GAAG,MAAxB,CAAA;EAEA;EACA;EACA;;EAEA,MAAMC,KAAN,SAAoBC,8BAApB,CAAkC;EAChC;EACe,EAAA,WAAJR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAJ+B;;;EAOhCS,EAAAA,KAAK,GAAG;MACN,MAAMC,UAAU,GAAGC,6BAAY,CAACC,OAAb,CAAqB,IAAKC,CAAAA,QAA1B,EAAoCV,WAApC,CAAnB,CAAA;;MAEA,IAAIO,UAAU,CAACI,gBAAf,EAAiC;EAC/B,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,IAAA,CAAKD,QAAL,CAAcE,SAAd,CAAwBC,MAAxB,CAA+BV,eAA/B,CAAA,CAAA;;MAEA,MAAMW,UAAU,GAAG,IAAA,CAAKJ,QAAL,CAAcE,SAAd,CAAwBG,QAAxB,CAAiCb,eAAjC,CAAnB,CAAA;;MACA,IAAKc,CAAAA,cAAL,CAAoB,MAAM,IAAKC,CAAAA,eAAL,EAA1B,EAAkD,IAAA,CAAKP,QAAvD,EAAiEI,UAAjE,CAAA,CAAA;EACD,GAlB+B;;;EAqBhCG,EAAAA,eAAe,GAAG;MAChB,IAAKP,CAAAA,QAAL,CAAcG,MAAd,EAAA,CAAA;;EACAL,IAAAA,6BAAY,CAACC,OAAb,CAAqB,IAAKC,CAAAA,QAA1B,EAAoCT,YAApC,CAAA,CAAA;EACA,IAAA,IAAA,CAAKiB,OAAL,EAAA,CAAA;EACD,GAzB+B;;;IA4BV,OAAfC,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGlB,KAAK,CAACmB,mBAAN,CAA0B,IAA1B,CAAb,CAAA;;EAEA,MAAA,IAAI,OAAOH,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,QAAA,OAAA;EACD,OAAA;;EAED,MAAA,IAAIE,IAAI,CAACF,MAAD,CAAJ,KAAiBI,SAAjB,IAA8BJ,MAAM,CAACK,UAAP,CAAkB,GAAlB,CAA9B,IAAwDL,MAAM,KAAK,aAAvE,EAAsF;EACpF,QAAA,MAAM,IAAIM,SAAJ,CAAe,CAAmBN,iBAAAA,EAAAA,MAAO,GAAzC,CAAN,CAAA;EACD,OAAA;;EAEDE,MAAAA,IAAI,CAACF,MAAD,CAAJ,CAAa,IAAb,CAAA,CAAA;EACD,KAZM,CAAP,CAAA;EAaD,GAAA;;EA1C+B,CAAA;EA6ClC;EACA;EACA;;;AAEAO,yCAAoB,CAACvB,KAAD,EAAQ,OAAR,CAApB,CAAA;EAEA;EACA;EACA;;AAEAwB,0BAAkB,CAACxB,KAAD,CAAlB;;;;;;;;"}
{"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","BaseComponent","close","closeEvent","EventHandler","trigger","_element","defaultPrevented","classList","remove","isAnimated","contains","_queueCallback","_destroyElement","dispose","jQueryInterface","config","each","data","getOrCreateInstance","undefined","startsWith","TypeError","enableDismissTrigger","defineJQueryPlugin"],"mappings":";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,OAAb,CAAA;EACA,MAAMC,QAAQ,GAAG,UAAjB,CAAA;EACA,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAA/B,CAAA,CAAA;EAEA,MAAME,WAAW,GAAI,CAAOD,KAAAA,EAAAA,SAAU,CAAtC,CAAA,CAAA;EACA,MAAME,YAAY,GAAI,CAAQF,MAAAA,EAAAA,SAAU,CAAxC,CAAA,CAAA;EACA,MAAMG,eAAe,GAAG,MAAxB,CAAA;EACA,MAAMC,eAAe,GAAG,MAAxB,CAAA;EAEA;EACA;EACA;;EAEA,MAAMC,KAAN,SAAoBC,8BAApB,CAAkC;EAChC;EACe,EAAA,WAAJR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAJ+B;;;EAOhCS,EAAAA,KAAK,GAAG;MACN,MAAMC,UAAU,GAAGC,6BAAY,CAACC,OAAb,CAAqB,IAAKC,CAAAA,QAA1B,EAAoCV,WAApC,CAAnB,CAAA;;MAEA,IAAIO,UAAU,CAACI,gBAAf,EAAiC;EAC/B,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,IAAA,CAAKD,QAAL,CAAcE,SAAd,CAAwBC,MAAxB,CAA+BV,eAA/B,CAAA,CAAA;;MAEA,MAAMW,UAAU,GAAG,IAAA,CAAKJ,QAAL,CAAcE,SAAd,CAAwBG,QAAxB,CAAiCb,eAAjC,CAAnB,CAAA;;MACA,IAAKc,CAAAA,cAAL,CAAoB,MAAM,IAAKC,CAAAA,eAAL,EAA1B,EAAkD,IAAA,CAAKP,QAAvD,EAAiEI,UAAjE,CAAA,CAAA;EACD,GAlB+B;;;EAqBhCG,EAAAA,eAAe,GAAG;MAChB,IAAKP,CAAAA,QAAL,CAAcG,MAAd,EAAA,CAAA;;EACAL,IAAAA,6BAAY,CAACC,OAAb,CAAqB,IAAKC,CAAAA,QAA1B,EAAoCT,YAApC,CAAA,CAAA;EACA,IAAA,IAAA,CAAKiB,OAAL,EAAA,CAAA;EACD,GAzB+B;;;IA4BV,OAAfC,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGlB,KAAK,CAACmB,mBAAN,CAA0B,IAA1B,CAAb,CAAA;;EAEA,MAAA,IAAI,OAAOH,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,QAAA,OAAA;EACD,OAAA;;EAED,MAAA,IAAIE,IAAI,CAACF,MAAD,CAAJ,KAAiBI,SAAjB,IAA8BJ,MAAM,CAACK,UAAP,CAAkB,GAAlB,CAA9B,IAAwDL,MAAM,KAAK,aAAvE,EAAsF;EACpF,QAAA,MAAM,IAAIM,SAAJ,CAAe,CAAmBN,iBAAAA,EAAAA,MAAO,GAAzC,CAAN,CAAA;EACD,OAAA;;EAEDE,MAAAA,IAAI,CAACF,MAAD,CAAJ,CAAa,IAAb,CAAA,CAAA;EACD,KAZM,CAAP,CAAA;EAaD,GAAA;;EA1C+B,CAAA;EA6ClC;EACA;EACA;;;AAEAO,yCAAoB,CAACvB,KAAD,EAAQ,OAAR,CAApB,CAAA;EAEA;EACA;EACA;;AAEAwB,0BAAkB,CAACxB,KAAD,CAAlB;;;;;;;;"}
+3 -3
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap base-component.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap base-component.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -17,7 +17,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): base-component.js
* Bootstrap (v5.2.3): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -25,7 +25,7 @@
* Constants
*/
const VERSION = '5.2.0-beta1';
const VERSION = '5.2.3';
/**
* Class definition
*/
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport { executeAfterTransition, getElement } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Config from './util/config'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.2.0-beta1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":";;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,aAAhB,CAAA;EAEA;EACA;EACA;;EAEA,MAAMC,aAAN,SAA4BC,uBAA5B,CAAmC;EACjCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,MAAV,EAAkB;EAC3B,IAAA,KAAA,EAAA,CAAA;EAEAD,IAAAA,OAAO,GAAGE,gBAAU,CAACF,OAAD,CAApB,CAAA;;MACA,IAAI,CAACA,OAAL,EAAc;EACZ,MAAA,OAAA;EACD,KAAA;;MAED,IAAKG,CAAAA,QAAL,GAAgBH,OAAhB,CAAA;EACA,IAAA,IAAA,CAAKI,OAAL,GAAe,IAAA,CAAKC,UAAL,CAAgBJ,MAAhB,CAAf,CAAA;MAEAK,qBAAI,CAACC,GAAL,CAAS,IAAKJ,CAAAA,QAAd,EAAwB,IAAA,CAAKJ,WAAL,CAAiBS,QAAzC,EAAmD,IAAnD,CAAA,CAAA;EACD,GAbgC;;;EAgBjCC,EAAAA,OAAO,GAAG;MACRH,qBAAI,CAACI,MAAL,CAAY,IAAA,CAAKP,QAAjB,EAA2B,IAAA,CAAKJ,WAAL,CAAiBS,QAA5C,CAAA,CAAA;MACAG,6BAAY,CAACC,GAAb,CAAiB,IAAA,CAAKT,QAAtB,EAAgC,IAAA,CAAKJ,WAAL,CAAiBc,SAAjD,CAAA,CAAA;;MAEA,KAAK,MAAMC,YAAX,IAA2BC,MAAM,CAACC,mBAAP,CAA2B,IAA3B,CAA3B,EAA6D;QAC3D,IAAKF,CAAAA,YAAL,IAAqB,IAArB,CAAA;EACD,KAAA;EACF,GAAA;;IAEDG,cAAc,CAACC,QAAD,EAAWlB,OAAX,EAAoBmB,UAAU,GAAG,IAAjC,EAAuC;EACnDC,IAAAA,4BAAsB,CAACF,QAAD,EAAWlB,OAAX,EAAoBmB,UAApB,CAAtB,CAAA;EACD,GAAA;;IAEDd,UAAU,CAACJ,MAAD,EAAS;MACjBA,MAAM,GAAG,KAAKoB,eAAL,CAAqBpB,MAArB,EAA6B,IAAA,CAAKE,QAAlC,CAAT,CAAA;EACAF,IAAAA,MAAM,GAAG,IAAA,CAAKqB,iBAAL,CAAuBrB,MAAvB,CAAT,CAAA;;MACA,IAAKsB,CAAAA,gBAAL,CAAsBtB,MAAtB,CAAA,CAAA;;EACA,IAAA,OAAOA,MAAP,CAAA;EACD,GAlCgC;;;IAqCf,OAAXuB,WAAW,CAACxB,OAAD,EAAU;MAC1B,OAAOM,qBAAI,CAACmB,GAAL,CAASvB,gBAAU,CAACF,OAAD,CAAnB,EAA8B,IAAKQ,CAAAA,QAAnC,CAAP,CAAA;EACD,GAAA;;EAEyB,EAAA,OAAnBkB,mBAAmB,CAAC1B,OAAD,EAAUC,MAAM,GAAG,EAAnB,EAAuB;EAC/C,IAAA,OAAO,KAAKuB,WAAL,CAAiBxB,OAAjB,CAA6B,IAAA,IAAI,IAAJ,CAASA,OAAT,EAAkB,OAAOC,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAxD,CAApC,CAAA;EACD,GAAA;;EAEiB,EAAA,WAAPL,OAAO,GAAG;EACnB,IAAA,OAAOA,OAAP,CAAA;EACD,GAAA;;EAEkB,EAAA,WAARY,QAAQ,GAAG;MACpB,OAAQ,CAAA,GAAA,EAAK,IAAKmB,CAAAA,IAAK,CAAvB,CAAA,CAAA;EACD,GAAA;;EAEmB,EAAA,WAATd,SAAS,GAAG;MACrB,OAAQ,CAAA,CAAA,EAAG,IAAKL,CAAAA,QAAS,CAAzB,CAAA,CAAA;EACD,GAAA;;IAEe,OAAToB,SAAS,CAACC,IAAD,EAAO;EACrB,IAAA,OAAQ,CAAEA,EAAAA,IAAK,CAAE,EAAA,IAAA,CAAKhB,SAAU,CAAhC,CAAA,CAAA;EACD,GAAA;;EA3DgC;;;;;;;;"}
{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport { executeAfterTransition, getElement } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Config from './util/config'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.2.3'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":"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"}
+2 -2
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap button.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap button.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -16,7 +16,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): button.js
* Bootstrap (v5.2.3): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"button.js","sources":["../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","BaseComponent","toggle","_element","setAttribute","classList","jQueryInterface","config","each","data","getOrCreateInstance","EventHandler","on","document","event","preventDefault","button","target","closest","defineJQueryPlugin"],"mappings":";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAMA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,QAAb,CAAA;EACA,MAAMC,QAAQ,GAAG,WAAjB,CAAA;EACA,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAA/B,CAAA,CAAA;EACA,MAAME,YAAY,GAAG,WAArB,CAAA;EAEA,MAAMC,iBAAiB,GAAG,QAA1B,CAAA;EACA,MAAMC,oBAAoB,GAAG,2BAA7B,CAAA;EACA,MAAMC,oBAAoB,GAAI,CAAA,KAAA,EAAOJ,SAAU,CAAA,EAAEC,YAAa,CAA9D,CAAA,CAAA;EAEA;EACA;EACA;;EAEA,MAAMI,MAAN,SAAqBC,8BAArB,CAAmC;EACjC;EACe,EAAA,WAAJR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAJgC;;;EAOjCS,EAAAA,MAAM,GAAG;EACP;EACA,IAAA,IAAA,CAAKC,QAAL,CAAcC,YAAd,CAA2B,cAA3B,EAA2C,IAAA,CAAKD,QAAL,CAAcE,SAAd,CAAwBH,MAAxB,CAA+BL,iBAA/B,CAA3C,CAAA,CAAA;EACD,GAVgC;;;IAaX,OAAfS,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGT,MAAM,CAACU,mBAAP,CAA2B,IAA3B,CAAb,CAAA;;QAEA,IAAIH,MAAM,KAAK,QAAf,EAAyB;UACvBE,IAAI,CAACF,MAAD,CAAJ,EAAA,CAAA;EACD,OAAA;EACF,KANM,CAAP,CAAA;EAOD,GAAA;;EArBgC,CAAA;EAwBnC;EACA;EACA;;;AAEAI,+BAAY,CAACC,EAAb,CAAgBC,QAAhB,EAA0Bd,oBAA1B,EAAgDD,oBAAhD,EAAsEgB,KAAK,IAAI;EAC7EA,EAAAA,KAAK,CAACC,cAAN,EAAA,CAAA;IAEA,MAAMC,MAAM,GAAGF,KAAK,CAACG,MAAN,CAAaC,OAAb,CAAqBpB,oBAArB,CAAf,CAAA;EACA,EAAA,MAAMW,IAAI,GAAGT,MAAM,CAACU,mBAAP,CAA2BM,MAA3B,CAAb,CAAA;EAEAP,EAAAA,IAAI,CAACP,MAAL,EAAA,CAAA;EACD,CAPD,CAAA,CAAA;EASA;EACA;EACA;;AAEAiB,0BAAkB,CAACnB,MAAD,CAAlB;;;;;;;;"}
{"version":3,"file":"button.js","sources":["../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","BaseComponent","toggle","_element","setAttribute","classList","jQueryInterface","config","each","data","getOrCreateInstance","EventHandler","on","document","event","preventDefault","button","target","closest","defineJQueryPlugin"],"mappings":";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAMA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,QAAb,CAAA;EACA,MAAMC,QAAQ,GAAG,WAAjB,CAAA;EACA,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAA/B,CAAA,CAAA;EACA,MAAME,YAAY,GAAG,WAArB,CAAA;EAEA,MAAMC,iBAAiB,GAAG,QAA1B,CAAA;EACA,MAAMC,oBAAoB,GAAG,2BAA7B,CAAA;EACA,MAAMC,oBAAoB,GAAI,CAAA,KAAA,EAAOJ,SAAU,CAAA,EAAEC,YAAa,CAA9D,CAAA,CAAA;EAEA;EACA;EACA;;EAEA,MAAMI,MAAN,SAAqBC,8BAArB,CAAmC;EACjC;EACe,EAAA,WAAJR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAJgC;;;EAOjCS,EAAAA,MAAM,GAAG;EACP;EACA,IAAA,IAAA,CAAKC,QAAL,CAAcC,YAAd,CAA2B,cAA3B,EAA2C,IAAA,CAAKD,QAAL,CAAcE,SAAd,CAAwBH,MAAxB,CAA+BL,iBAA/B,CAA3C,CAAA,CAAA;EACD,GAVgC;;;IAaX,OAAfS,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGT,MAAM,CAACU,mBAAP,CAA2B,IAA3B,CAAb,CAAA;;QAEA,IAAIH,MAAM,KAAK,QAAf,EAAyB;UACvBE,IAAI,CAACF,MAAD,CAAJ,EAAA,CAAA;EACD,OAAA;EACF,KANM,CAAP,CAAA;EAOD,GAAA;;EArBgC,CAAA;EAwBnC;EACA;EACA;;;AAEAI,+BAAY,CAACC,EAAb,CAAgBC,QAAhB,EAA0Bd,oBAA1B,EAAgDD,oBAAhD,EAAsEgB,KAAK,IAAI;EAC7EA,EAAAA,KAAK,CAACC,cAAN,EAAA,CAAA;IAEA,MAAMC,MAAM,GAAGF,KAAK,CAACG,MAAN,CAAaC,OAAb,CAAqBpB,oBAArB,CAAf,CAAA;EACA,EAAA,MAAMW,IAAI,GAAGT,MAAM,CAACU,mBAAP,CAA2BM,MAA3B,CAAb,CAAA;EAEAP,EAAAA,IAAI,CAACP,MAAL,EAAA,CAAA;EACD,CAPD,CAAA,CAAA;EASA;EACA;EACA;;AAEAiB,0BAAkB,CAACnB,MAAD,CAAlB;;;;;;;;"}
+4 -3
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap carousel.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap carousel.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -19,7 +19,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): carousel.js
* Bootstrap (v5.2.3): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -75,9 +75,10 @@
};
const DefaultType = {
interval: '(number|boolean)',
// TODO:v6 remove boolean support
keyboard: 'boolean',
ride: '(boolean|string)',
pause: '(string|boolean)',
ride: '(boolean|string)',
touch: 'boolean',
wrap: 'boolean'
};
+1 -1
View File
File diff suppressed because one or more lines are too long
+6 -6
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap collapse.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap collapse.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -17,7 +17,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): collapse.js
* Bootstrap (v5.2.3): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -45,12 +45,12 @@
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]';
const Default = {
toggle: true,
parent: null
parent: null,
toggle: true
};
const DefaultType = {
toggle: 'boolean',
parent: '(null|element)'
parent: '(null|element)',
toggle: 'boolean'
};
/**
* Class definition
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap data.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap data.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): dom/data.js
* Bootstrap (v5.2.3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB,CAAA;AAEA,eAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB,CAAA,CAAA;EACD,KAAA;;MAED,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,CAAA,4EAAA,EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,CAA+B,CAAA,CAA/B,CAAkC,CAA/H,CAAA,CAAA,CAAA,CAAA;EACA,MAAA,OAAA;EACD,KAAA;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB,CAAA,CAAA;KAhBW;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,IAAA,IAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;QAC3B,OAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,CAAA,IAAoC,IAA3C,CAAA;EACD,KAAA;;EAED,IAAA,OAAO,IAAP,CAAA;KAxBW;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAAA;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,IAAA,IAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;QAC1BT,UAAU,CAACgB,MAAX,CAAkBb,OAAlB,CAAA,CAAA;EACD,KAAA;EACF,GAAA;;EAxCY,CAAf;;;;;;;;"}
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB,CAAA;AAEA,eAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB,CAAA,CAAA;EACD,KAAA;;MAED,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,CAAA,4EAAA,EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,CAA+B,CAAA,CAA/B,CAAkC,CAA/H,CAAA,CAAA,CAAA,CAAA;EACA,MAAA,OAAA;EACD,KAAA;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB,CAAA,CAAA;KAhBW;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,IAAA,IAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;QAC3B,OAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,CAAA,IAAoC,IAA3C,CAAA;EACD,KAAA;;EAED,IAAA,OAAO,IAAP,CAAA;KAxBW;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAAA;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,IAAA,IAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;QAC1BT,UAAU,CAACgB,MAAX,CAAkBb,OAAlB,CAAA,CAAA;EACD,KAAA;EACF,GAAA;;EAxCY,CAAf;;;;;;;;"}
+56 -52
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap event-handler.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap event-handler.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): dom/event-handler.js
* Bootstrap (v5.2.3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -34,12 +34,12 @@
* Private methods
*/
function getUidEvent(element, uid) {
function makeEventUid(element, uid) {
return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
}
function getEvent(element) {
const uid = getUidEvent(element);
function getElementEvents(element) {
const uid = makeEventUid(element);
element.uidEvent = uid;
eventRegistry[uid] = eventRegistry[uid] || {};
return eventRegistry[uid];
@@ -47,7 +47,9 @@
function bootstrapHandler(element, fn) {
return function handler(event) {
event.delegateTarget = element;
hydrateObj(event, {
delegateTarget: element
});
if (handler.oneOff) {
EventHandler.off(element, event.type, fn);
@@ -69,7 +71,9 @@
continue;
}
event.delegateTarget = target;
hydrateObj(event, {
delegateTarget: target
});
if (handler.oneOff) {
EventHandler.off(element, event.type, selector, fn);
@@ -81,20 +85,21 @@
};
}
function findHandler(events, handler, delegationSelector = null) {
return Object.values(events).find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector);
function findHandler(events, callable, delegationSelector = null) {
return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);
}
function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
const delegation = typeof handler === 'string';
const originalHandler = delegation ? delegationFunction : handler;
const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check
const callable = isDelegated ? delegationFunction : handler || delegationFunction;
let typeEvent = getTypeEvent(originalTypeEvent);
if (!nativeEvents.has(typeEvent)) {
typeEvent = originalTypeEvent;
}
return [delegation, originalHandler, typeEvent];
return [isDelegated, callable, typeEvent];
}
function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {
@@ -102,13 +107,9 @@
return;
}
if (!handler) {
handler = delegationFunction;
delegationFunction = null;
} // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
// this prevents the handler from being dispatched the same way as mouseover or mouseout does
if (originalTypeEvent in customEvents) {
const wrapFunction = fn => {
return function (event) {
@@ -118,31 +119,26 @@
};
};
if (delegationFunction) {
delegationFunction = wrapFunction(delegationFunction);
} else {
handler = wrapFunction(handler);
}
callable = wrapFunction(callable);
}
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
const events = getEvent(element);
const events = getElementEvents(element);
const handlers = events[typeEvent] || (events[typeEvent] = {});
const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null);
const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);
if (previousFunction) {
previousFunction.oneOff = previousFunction.oneOff && oneOff;
return;
}
const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFunction) : bootstrapHandler(element, handler);
fn.delegationSelector = delegation ? handler : null;
fn.originalHandler = originalHandler;
const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));
const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);
fn.delegationSelector = isDelegated ? handler : null;
fn.callable = callable;
fn.oneOff = oneOff;
fn.uidEvent = uid;
handlers[uid] = fn;
element.addEventListener(typeEvent, fn, delegation);
element.addEventListener(typeEvent, fn, isDelegated);
}
function removeHandler(element, events, typeEvent, handler, delegationSelector) {
@@ -162,7 +158,7 @@
for (const handlerKey of Object.keys(storeElementEvent)) {
if (handlerKey.includes(namespace)) {
const event = storeElementEvent[handlerKey];
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
}
}
}
@@ -187,18 +183,19 @@
return;
}
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
const inNamespace = typeEvent !== originalTypeEvent;
const events = getEvent(element);
const events = getElementEvents(element);
const storeElementEvent = events[typeEvent] || {};
const isNamespace = originalTypeEvent.startsWith('.');
if (typeof originalHandler !== 'undefined') {
if (typeof callable !== 'undefined') {
// Simplest case: handler is passed, remove that listener ONLY.
if (!events || !events[typeEvent]) {
if (!Object.keys(storeElementEvent).length) {
return;
}
removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);
return;
}
@@ -208,14 +205,12 @@
}
}
const storeElementEvent = events[typeEvent] || {};
for (const keyHandlers of Object.keys(storeElementEvent)) {
const handlerKey = keyHandlers.replace(stripUidRegex, '');
if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
const event = storeElementEvent[keyHandlers];
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
}
}
},
@@ -241,21 +236,11 @@
defaultPrevented = jQueryEvent.isDefaultPrevented();
}
const evt = new Event(event, {
let evt = new Event(event, {
bubbles,
cancelable: true
}); // merge custom information in our event
if (typeof args !== 'undefined') {
for (const key of Object.keys(args)) {
Object.defineProperty(evt, key, {
get() {
return args[key];
}
});
}
}
});
evt = hydrateObj(evt, args);
if (defaultPrevented) {
evt.preventDefault();
@@ -274,6 +259,25 @@
};
function hydrateObj(obj, meta) {
for (const [key, value] of Object.entries(meta || {})) {
try {
obj[key] = value;
} catch (_unused) {
Object.defineProperty(obj, key, {
configurable: true,
get() {
return value;
}
});
}
}
return obj;
}
return EventHandler;
}));
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap manipulator.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap manipulator.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): dom/manipulator.js
* Bootstrap (v5.2.3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","value","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","Object","keys","dataset","filter","startsWith","pureKey","charAt","slice","length","getDataAttribute","getAttribute"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;IAC5B,IAAIA,KAAK,KAAK,MAAd,EAAsB;EACpB,IAAA,OAAO,IAAP,CAAA;EACD,GAAA;;IAED,IAAIA,KAAK,KAAK,OAAd,EAAuB;EACrB,IAAA,OAAO,KAAP,CAAA;EACD,GAAA;;IAED,IAAIA,KAAK,KAAKC,MAAM,CAACD,KAAD,CAAN,CAAcE,QAAd,EAAd,EAAwC;MACtC,OAAOD,MAAM,CAACD,KAAD,CAAb,CAAA;EACD,GAAA;;EAED,EAAA,IAAIA,KAAK,KAAK,EAAV,IAAgBA,KAAK,KAAK,MAA9B,EAAsC;EACpC,IAAA,OAAO,IAAP,CAAA;EACD,GAAA;;EAED,EAAA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;EAC7B,IAAA,OAAOA,KAAP,CAAA;EACD,GAAA;;IAED,IAAI;MACF,OAAOG,IAAI,CAACC,KAAL,CAAWC,kBAAkB,CAACL,KAAD,CAA7B,CAAP,CAAA;EACD,GAFD,CAEE,OAAM,OAAA,EAAA;EACN,IAAA,OAAOA,KAAP,CAAA;EACD,GAAA;EACF,CAAA;;EAED,SAASM,gBAAT,CAA0BC,GAA1B,EAA+B;EAC7B,EAAA,OAAOA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsBC,GAAG,IAAK,CAAA,CAAA,EAAGA,GAAG,CAACC,WAAJ,EAAkB,EAAnD,CAAP,CAAA;EACD,CAAA;;AAED,QAAMC,WAAW,GAAG;EAClBC,EAAAA,gBAAgB,CAACC,OAAD,EAAUN,GAAV,EAAeP,KAAf,EAAsB;MACpCa,OAAO,CAACC,YAAR,CAAsB,CAAUR,QAAAA,EAAAA,gBAAgB,CAACC,GAAD,CAAM,CAAtD,CAAA,EAAyDP,KAAzD,CAAA,CAAA;KAFgB;;EAKlBe,EAAAA,mBAAmB,CAACF,OAAD,EAAUN,GAAV,EAAe;MAChCM,OAAO,CAACG,eAAR,CAAyB,CAAA,QAAA,EAAUV,gBAAgB,CAACC,GAAD,CAAM,CAAzD,CAAA,CAAA,CAAA;KANgB;;IASlBU,iBAAiB,CAACJ,OAAD,EAAU;MACzB,IAAI,CAACA,OAAL,EAAc;EACZ,MAAA,OAAO,EAAP,CAAA;EACD,KAAA;;MAED,MAAMK,UAAU,GAAG,EAAnB,CAAA;MACA,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYR,OAAO,CAACS,OAApB,CAA6BC,CAAAA,MAA7B,CAAoChB,GAAG,IAAIA,GAAG,CAACiB,UAAJ,CAAe,IAAf,CAAwB,IAAA,CAACjB,GAAG,CAACiB,UAAJ,CAAe,UAAf,CAApE,CAAf,CAAA;;EAEA,IAAA,KAAK,MAAMjB,GAAX,IAAkBY,MAAlB,EAA0B;QACxB,IAAIM,OAAO,GAAGlB,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAd,CAAA;EACAiB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,CAAf,EAAkBhB,WAAlB,EAAA,GAAkCe,OAAO,CAACE,KAAR,CAAc,CAAd,EAAiBF,OAAO,CAACG,MAAzB,CAA5C,CAAA;EACAV,MAAAA,UAAU,CAACO,OAAD,CAAV,GAAsB1B,aAAa,CAACc,OAAO,CAACS,OAAR,CAAgBf,GAAhB,CAAD,CAAnC,CAAA;EACD,KAAA;;EAED,IAAA,OAAOW,UAAP,CAAA;KAvBgB;;EA0BlBW,EAAAA,gBAAgB,CAAChB,OAAD,EAAUN,GAAV,EAAe;EAC7B,IAAA,OAAOR,aAAa,CAACc,OAAO,CAACiB,YAAR,CAAsB,CAAUxB,QAAAA,EAAAA,gBAAgB,CAACC,GAAD,CAAM,CAAA,CAAtD,CAAD,CAApB,CAAA;EACD,GAAA;;EA5BiB;;;;;;;;"}
{"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","value","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","Object","keys","dataset","filter","startsWith","pureKey","charAt","slice","length","getDataAttribute","getAttribute"],"mappings":"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"}
+2 -2
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap selector-engine.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap selector-engine.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): dom/selector-engine.js
* Bootstrap (v5.2.3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"selector-engine.js","sources":["../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\n/**\n * Constants\n */\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n }\n}\n\nexport default SelectorEngine\n"],"names":["SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","closest","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","isDisabled","isVisible"],"mappings":"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"}
{"version":3,"file":"selector-engine.js","sources":["../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\n/**\n * Constants\n */\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n }\n}\n\nexport default SelectorEngine\n"],"names":["SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","closest","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","isDisabled","isVisible"],"mappings":"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"}
+13 -11
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap dropdown.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap dropdown.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -37,7 +37,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): dropdown.js
* Bootstrap (v5.2.3): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -83,20 +83,20 @@
const PLACEMENT_TOPCENTER = 'top';
const PLACEMENT_BOTTOMCENTER = 'bottom';
const Default = {
offset: [0, 2],
autoClose: true,
boundary: 'clippingParents',
reference: 'toggle',
display: 'dynamic',
offset: [0, 2],
popperConfig: null,
autoClose: true
reference: 'toggle'
};
const DefaultType = {
offset: '(array|string|function)',
autoClose: '(boolean|string)',
boundary: '(string|element)',
reference: '(string|element|object)',
display: 'string',
offset: '(array|string|function)',
popperConfig: '(null|object|function)',
autoClose: '(boolean|string)'
reference: '(string|element|object)'
};
/**
* Class definition
@@ -107,8 +107,9 @@
super(element, config);
this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
this._menu = SelectorEngine__default.default.findOne(SELECTOR_MENU, this._parent);
this._menu = SelectorEngine__default.default.next(this._element, SELECTOR_MENU)[0] || SelectorEngine__default.default.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine__default.default.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar();
} // Getters
@@ -424,8 +425,9 @@
return;
}
event.preventDefault();
const getToggleButton = SelectorEngine__default.default.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode);
event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default.default.prev(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine__default.default.next(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine__default.default.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) {
+1 -1
View File
File diff suppressed because one or more lines are too long
+21 -18
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap modal.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap modal.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -20,7 +20,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): modal.js
* Bootstrap (v5.2.3): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -40,6 +40,7 @@
const EVENT_SHOWN = `shown${EVENT_KEY}`;
const EVENT_RESIZE = `resize${EVENT_KEY}`;
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
const CLASS_NAME_OPEN = 'modal-open';
@@ -52,13 +53,13 @@
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="modal"]';
const Default = {
backdrop: true,
keyboard: true,
focus: true
focus: true,
keyboard: true
};
const DefaultType = {
backdrop: '(boolean|string)',
keyboard: 'boolean',
focus: 'boolean'
focus: 'boolean',
keyboard: 'boolean'
};
/**
* Class definition
@@ -230,21 +231,23 @@
this._adjustDialog();
}
});
EventHandler__default.default.on(this._element, EVENT_CLICK_DISMISS, event => {
if (event.target !== event.currentTarget) {
// click is inside modal-dialog
return;
}
EventHandler__default.default.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
// a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
EventHandler__default.default.one(this._element, EVENT_CLICK_DISMISS, event2 => {
if (this._element !== event.target || this._element !== event2.target) {
return;
}
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
return;
}
return;
}
if (this._config.backdrop) {
this.hide();
}
if (this._config.backdrop) {
this.hide();
}
});
});
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap offcanvas.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap offcanvas.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -20,7 +20,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): offcanvas.js
* Bootstrap (v5.2.3): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -118,7 +118,7 @@
this._element.classList.add(CLASS_NAME_SHOWING);
const completeCallBack = () => {
if (!this._config.scroll) {
if (!this._config.scroll || this._config.backdrop) {
this._focustrap.activate();
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+6 -6
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap popover.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap popover.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -15,7 +15,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): popover.js
* Bootstrap (v5.2.3): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -27,11 +27,11 @@
const SELECTOR_TITLE = '.popover-header';
const SELECTOR_CONTENT = '.popover-body';
const Default = { ...Tooltip__default.default.Default,
placement: 'right',
offset: [0, 8],
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
offset: [0, 8],
placement: 'right',
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
trigger: 'click'
};
const DefaultType = { ...Tooltip__default.default.DefaultType,
content: '(null|string|element|function)'
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Tooltip from './tooltip'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["NAME","SELECTOR_TITLE","SELECTOR_CONTENT","Default","Tooltip","placement","offset","trigger","content","template","DefaultType","Popover","_isWithContent","_getTitle","_getContent","_getContentForTemplate","_resolvePossibleFunction","_config","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","defineJQueryPlugin"],"mappings":";;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAb,CAAA;EAEA,MAAMC,cAAc,GAAG,iBAAvB,CAAA;EACA,MAAMC,gBAAgB,GAAG,eAAzB,CAAA;EAEA,MAAMC,OAAO,GAAG,EACd,GAAGC,wBAAO,CAACD,OADG;EAEdE,EAAAA,SAAS,EAAE,OAFG;EAGdC,EAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CAHM;EAIdC,EAAAA,OAAO,EAAE,OAJK;EAKdC,EAAAA,OAAO,EAAE,EALK;EAMdC,EAAAA,QAAQ,EAAE,sCACE,GAAA,mCADF,GAEE,kCAFF,GAGE,kCAHF,GAIA,QAAA;EAVI,CAAhB,CAAA;EAaA,MAAMC,WAAW,GAAG,EAClB,GAAGN,wBAAO,CAACM,WADO;EAElBF,EAAAA,OAAO,EAAE,gCAAA;EAFS,CAApB,CAAA;EAKA;EACA;EACA;;EAEA,MAAMG,OAAN,SAAsBP,wBAAtB,CAA8B;EAC5B;EACkB,EAAA,WAAPD,OAAO,GAAG;EACnB,IAAA,OAAOA,OAAP,CAAA;EACD,GAAA;;EAEqB,EAAA,WAAXO,WAAW,GAAG;EACvB,IAAA,OAAOA,WAAP,CAAA;EACD,GAAA;;EAEc,EAAA,WAAJV,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAZ2B;;;EAe5BY,EAAAA,cAAc,GAAG;EACf,IAAA,OAAO,IAAKC,CAAAA,SAAL,EAAoB,IAAA,IAAA,CAAKC,WAAL,EAA3B,CAAA;EACD,GAjB2B;;;EAoB5BC,EAAAA,sBAAsB,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAD,GAAkB,IAAKY,CAAAA,SAAL,EADb;QAEL,CAACX,gBAAD,GAAoB,IAAA,CAAKY,WAAL,EAAA;OAFtB,CAAA;EAID,GAAA;;EAEDA,EAAAA,WAAW,GAAG;EACZ,IAAA,OAAO,KAAKE,wBAAL,CAA8B,KAAKC,OAAL,CAAaT,OAA3C,CAAP,CAAA;EACD,GA7B2B;;;IAgCN,OAAfU,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAR,CAA4B,IAA5B,EAAkCH,MAAlC,CAAb,CAAA;;EAEA,MAAA,IAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,QAAA,OAAA;EACD,OAAA;;EAED,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,QAAA,MAAM,IAAII,SAAJ,CAAe,CAAmBJ,iBAAAA,EAAAA,MAAO,GAAzC,CAAN,CAAA;EACD,OAAA;;QAEDE,IAAI,CAACF,MAAD,CAAJ,EAAA,CAAA;EACD,KAZM,CAAP,CAAA;EAaD,GAAA;;EA9C2B,CAAA;EAiD9B;EACA;EACA;;;AAEAK,0BAAkB,CAACb,OAAD,CAAlB;;;;;;;;"}
{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Tooltip from './tooltip'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["NAME","SELECTOR_TITLE","SELECTOR_CONTENT","Default","Tooltip","content","offset","placement","template","trigger","DefaultType","Popover","_isWithContent","_getTitle","_getContent","_getContentForTemplate","_resolvePossibleFunction","_config","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","defineJQueryPlugin"],"mappings":";;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAb,CAAA;EAEA,MAAMC,cAAc,GAAG,iBAAvB,CAAA;EACA,MAAMC,gBAAgB,GAAG,eAAzB,CAAA;EAEA,MAAMC,OAAO,GAAG,EACd,GAAGC,wBAAO,CAACD,OADG;EAEdE,EAAAA,OAAO,EAAE,EAFK;EAGdC,EAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CAHM;EAIdC,EAAAA,SAAS,EAAE,OAJG;IAKdC,QAAQ,EAAE,yCACR,mCADQ,GAER,kCAFQ,GAGR,kCAHQ,GAIR,QATY;EAUdC,EAAAA,OAAO,EAAE,OAAA;EAVK,CAAhB,CAAA;EAaA,MAAMC,WAAW,GAAG,EAClB,GAAGN,wBAAO,CAACM,WADO;EAElBL,EAAAA,OAAO,EAAE,gCAAA;EAFS,CAApB,CAAA;EAKA;EACA;EACA;;EAEA,MAAMM,OAAN,SAAsBP,wBAAtB,CAA8B;EAC5B;EACkB,EAAA,WAAPD,OAAO,GAAG;EACnB,IAAA,OAAOA,OAAP,CAAA;EACD,GAAA;;EAEqB,EAAA,WAAXO,WAAW,GAAG;EACvB,IAAA,OAAOA,WAAP,CAAA;EACD,GAAA;;EAEc,EAAA,WAAJV,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAZ2B;;;EAe5BY,EAAAA,cAAc,GAAG;EACf,IAAA,OAAO,IAAKC,CAAAA,SAAL,EAAoB,IAAA,IAAA,CAAKC,WAAL,EAA3B,CAAA;EACD,GAjB2B;;;EAoB5BC,EAAAA,sBAAsB,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAD,GAAkB,IAAKY,CAAAA,SAAL,EADb;QAEL,CAACX,gBAAD,GAAoB,IAAA,CAAKY,WAAL,EAAA;OAFtB,CAAA;EAID,GAAA;;EAEDA,EAAAA,WAAW,GAAG;EACZ,IAAA,OAAO,KAAKE,wBAAL,CAA8B,KAAKC,OAAL,CAAaZ,OAA3C,CAAP,CAAA;EACD,GA7B2B;;;IAgCN,OAAfa,eAAe,CAACC,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAR,CAA4B,IAA5B,EAAkCH,MAAlC,CAAb,CAAA;;EAEA,MAAA,IAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,QAAA,OAAA;EACD,OAAA;;EAED,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,QAAA,MAAM,IAAII,SAAJ,CAAe,CAAmBJ,iBAAAA,EAAAA,MAAO,GAAzC,CAAN,CAAA;EACD,OAAA;;QAEDE,IAAI,CAACF,MAAD,CAAJ,EAAA,CAAA;EACD,KAZM,CAAP,CAAA;EAaD,GAAA;;EA9C2B,CAAA;EAiD9B;EACA;EACA;;;AAEAK,0BAAkB,CAACb,OAAD,CAAlB;;;;;;;;"}
+18 -13
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap scrollspy.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap scrollspy.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -17,7 +17,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): scrollspy.js
* Bootstrap (v5.2.3): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -48,14 +48,16 @@
// TODO: v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: '0px 0px -25%',
smoothScroll: false,
target: null
target: null,
threshold: [0.1, 0.5, 1]
};
const DefaultType = {
offset: '(number|null)',
// TODO v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: 'string',
smoothScroll: 'boolean',
target: 'element'
target: 'element',
threshold: 'array'
};
/**
* Class definition
@@ -116,7 +118,14 @@
_configAfterMerge(config) {
// TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
config.target = index.getElement(config.target) || document.body;
config.target = index.getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
if (typeof config.threshold === 'string') {
config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
}
return config;
}
@@ -137,7 +146,8 @@
if (root.scrollTo) {
root.scrollTo({
top: height
top: height,
behavior: 'smooth'
});
return;
} // Chrome 60 doesn't support `scrollTo`
@@ -151,8 +161,8 @@
_getNewObserver() {
const options = {
root: this._rootElement,
threshold: [0.1, 0.5, 1],
rootMargin: this._getRootMargin()
threshold: this._config.threshold,
rootMargin: this._config.rootMargin
};
return new IntersectionObserver(entries => this._observerCallback(entries), options);
} // The logic of selection
@@ -197,11 +207,6 @@
activate(entry);
}
}
} // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
_getRootMargin() {
return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin;
}
_initializeTargetsAndObservables() {
+1 -1
View File
File diff suppressed because one or more lines are too long
+9 -21
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap tab.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap tab.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -17,7 +17,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): tab.js
* Bootstrap (v5.2.3): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -45,7 +45,6 @@
const CLASS_DROPDOWN = 'dropdown';
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
const SELECTOR_DROPDOWN_ITEM = '.dropdown-item';
const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';
const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
const SELECTOR_OUTER = '.nav-item, .list-group-item';
@@ -118,19 +117,12 @@
this._activate(index.getElementFromSelector(element)); // Search and activate/show the proper section
const isAnimated = element.classList.contains(CLASS_NAME_FADE);
const complete = () => {
if (isAnimated) {
// todo: maybe is redundant
element.classList.add(CLASS_NAME_SHOW);
}
if (element.getAttribute('role') !== 'tab') {
element.classList.add(CLASS_NAME_SHOW);
return;
}
element.focus();
element.removeAttribute('tabindex');
element.setAttribute('aria-selected', true);
@@ -141,7 +133,7 @@
});
};
this._queueCallback(complete, element, isAnimated);
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE));
}
_deactivate(element, relatedElem) {
@@ -155,15 +147,9 @@
this._deactivate(index.getElementFromSelector(element)); // Search and deactivate the shown section too
const isAnimated = element.classList.contains(CLASS_NAME_FADE);
const complete = () => {
if (isAnimated) {
// todo maybe is redundant
element.classList.remove(CLASS_NAME_SHOW);
}
if (element.getAttribute('role') !== 'tab') {
element.classList.remove(CLASS_NAME_SHOW);
return;
}
@@ -177,7 +163,7 @@
});
};
this._queueCallback(complete, element, isAnimated);
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE));
}
_keydown(event) {
@@ -192,6 +178,9 @@
const nextActiveElement = index.getNextActiveElement(this._getChildren().filter(element => !index.isDisabled(element)), event.target, isNext, true);
if (nextActiveElement) {
nextActiveElement.focus({
preventScroll: true
});
Tab.getOrCreateInstance(nextActiveElement).show();
}
}
@@ -267,7 +256,6 @@
toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW);
toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE);
outerElem.setAttribute('aria-expanded', open);
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+10 -6
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap toast.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap toast.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -16,7 +16,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): toast.js
* Bootstrap (v5.2.3): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -167,13 +167,17 @@
switch (event.type) {
case 'mouseover':
case 'mouseout':
this._hasMouseInteraction = isInteracting;
break;
{
this._hasMouseInteraction = isInteracting;
break;
}
case 'focusin':
case 'focusout':
this._hasKeyboardInteraction = isInteracting;
break;
{
this._hasKeyboardInteraction = isInteracting;
break;
}
}
if (isInteracting) {
+1 -1
View File
File diff suppressed because one or more lines are too long
+72 -89
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap tooltip.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap tooltip.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -37,7 +37,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): tooltip.js
* Bootstrap (v5.2.3): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -75,42 +75,42 @@
LEFT: index.isRTL() ? 'right' : 'left'
};
const Default = {
allowList: sanitizer.DefaultAllowlist,
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: [0, 0],
container: false,
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
boundary: 'clippingParents',
container: false,
customClass: '',
delay: 0,
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
html: false,
offset: [0, 0],
placement: 'top',
popperConfig: null,
sanitize: true,
sanitizeFn: null,
allowList: sanitizer.DefaultAllowlist,
popperConfig: null
selector: false,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
title: '',
trigger: 'hover focus'
};
const DefaultType = {
allowList: 'object',
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: '(array|string|function)',
container: '(string|element|boolean)',
fallbackPlacements: 'array',
boundary: '(string|element)',
container: '(string|element|boolean)',
customClass: '(string|function)',
delay: '(number|object)',
fallbackPlacements: 'array',
html: 'boolean',
offset: '(array|string|function)',
placement: '(string|function)',
popperConfig: '(null|object|function)',
sanitize: 'boolean',
sanitizeFn: '(null|function)',
allowList: 'object',
popperConfig: '(null|object|function)'
selector: '(string|boolean)',
template: 'string',
title: '(string|element|function)',
trigger: 'string'
};
/**
* Class definition
@@ -126,14 +126,19 @@
this._isEnabled = true;
this._timeout = 0;
this._isHovered = false;
this._isHovered = null;
this._activeTrigger = {};
this._popper = null;
this._templateFactory = null; // Protected
this._templateFactory = null;
this._newContent = null; // Protected
this.tip = null;
this._setListeners();
if (!this._config.selector) {
this._fixTitle();
}
} // Getters
@@ -162,24 +167,12 @@
this._isEnabled = !this._isEnabled;
}
toggle(event) {
toggle() {
if (!this._isEnabled) {
return;
}
if (event) {
const context = this._initializeOnDelegatedTarget(event);
context._activeTrigger.click = !context._activeTrigger.click;
if (context._isWithActiveTrigger()) {
context._enter();
} else {
context._leave();
}
return;
}
this._activeTrigger.click = !this._activeTrigger.click;
if (this._isShown()) {
this._leave();
@@ -194,8 +187,8 @@
clearTimeout(this._timeout);
EventHandler__default.default.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this.tip) {
this.tip.remove();
if (this._element.getAttribute('data-bs-original-title')) {
this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
}
this._disposePopper();
@@ -219,7 +212,10 @@
if (showEvent.defaultPrevented || !isInTheDom) {
return;
}
} // todo v6 remove this OR make it optional
this._disposePopper();
const tip = this._getTipElement();
@@ -234,12 +230,7 @@
EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
}
if (this._popper) {
this._popper.update();
} else {
this._createPopper(tip);
}
this._popper = this._createPopper(tip);
tip.classList.add(CLASS_NAME_SHOW); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
@@ -252,13 +243,13 @@
}
const complete = () => {
const previousHoverState = this._isHovered;
this._isHovered = false;
EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_SHOWN));
if (previousHoverState) {
if (this._isHovered === false) {
this._leave();
}
this._isHovered = false;
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -289,7 +280,7 @@
this._activeTrigger[TRIGGER_CLICK] = false;
this._activeTrigger[TRIGGER_FOCUS] = false;
this._activeTrigger[TRIGGER_HOVER] = false;
this._isHovered = false;
this._isHovered = null; // it is a trick to support manual triggering
const complete = () => {
if (this._isWithActiveTrigger()) {
@@ -297,14 +288,12 @@
}
if (!this._isHovered) {
tip.remove();
this._disposePopper();
}
this._element.removeAttribute('aria-describedby');
EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN));
this._disposePopper();
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -323,7 +312,7 @@
_getTipElement() {
if (!this.tip) {
this.tip = this._createTipElement(this._getContentForTemplate());
this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
}
return this.tip;
@@ -351,19 +340,11 @@
}
setContent(content) {
let isShown = false;
this._newContent = content;
if (this.tip) {
isShown = this._isShown();
this.tip.remove();
this.tip = null;
}
if (this._isShown()) {
this._disposePopper();
this._disposePopper();
this.tip = this._createTipElement(content);
if (isShown) {
this.show();
}
}
@@ -390,7 +371,7 @@
}
_getTitle() {
return this._config.title;
return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
} // Private
@@ -409,7 +390,7 @@
_createPopper(tip) {
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
const attachment = AttachmentMap[placement.toUpperCase()];
this._popper = Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
return Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
}
_getOffset() {
@@ -476,7 +457,11 @@
for (const trigger of triggers) {
if (trigger === 'click') {
EventHandler__default.default.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => this.toggle(event));
EventHandler__default.default.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {
const context = this._initializeOnDelegatedTarget(event);
context.toggle();
});
} else if (trigger !== TRIGGER_MANUAL) {
const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN);
const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT);
@@ -504,28 +489,22 @@
};
EventHandler__default.default.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this._config.selector) {
this._config = { ...this._config,
trigger: 'manual',
selector: ''
};
} else {
this._fixTitle();
}
}
_fixTitle() {
const title = this._config.originalTitle;
const title = this._element.getAttribute('title');
if (!title) {
return;
}
if (!this._element.getAttribute('aria-label') && !this._element.textContent) {
if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
this._element.setAttribute('aria-label', title);
}
this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
this._element.removeAttribute('title');
}
@@ -597,9 +576,6 @@
};
}
config.originalTitle = this._element.getAttribute('title') || '';
config.title = this._resolvePossibleFunction(config.title) || config.originalTitle;
if (typeof config.title === 'number') {
config.title = config.title.toString();
}
@@ -618,11 +594,13 @@
if (this.constructor.Default[key] !== this._config[key]) {
config[key] = this._config[key];
}
} // In the future can be replaced with:
}
config.selector = false;
config.trigger = 'manual'; // In the future can be replaced with:
// const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
// `Object.fromEntries(keysWithDifferentValues)`
return config;
}
@@ -632,6 +610,11 @@
this._popper = null;
}
if (this.tip) {
this.tip.remove();
this.tip = null;
}
} // Static
+1 -1
View File
File diff suppressed because one or more lines are too long
+9 -9
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap backdrop.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap backdrop.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -16,7 +16,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): util/backdrop.js
* Bootstrap (v5.2.3): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -30,19 +30,19 @@
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`;
const Default = {
className: 'modal-backdrop',
clickCallback: null,
isAnimated: false,
isVisible: true,
// if false, we use the backdrop helper without adding any element to the dom
isAnimated: false,
rootElement: 'body',
// give the choice to place backdrop under different elements
clickCallback: null
rootElement: 'body' // give the choice to place backdrop under different elements
};
const DefaultType = {
className: 'string',
isVisible: 'boolean',
clickCallback: '(function|null)',
isAnimated: 'boolean',
rootElement: '(element|string)',
clickCallback: '(function|null)'
isVisible: 'boolean',
rootElement: '(element|string)'
};
/**
* Class definition
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap component-functions.js v5.2.0-beta1 (https://getbootstrap.com/)
* Bootstrap component-functions.js v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -15,7 +15,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0-beta1): util/component-functions.js
* Bootstrap (v5.2.3): util/component-functions.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"component-functions.js","sources":["../../src/util/component-functions.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n"],"names":["enableDismissTrigger","component","method","clickEvent","EVENT_KEY","name","NAME","EventHandler","on","document","event","includes","tagName","preventDefault","isDisabled","target","getElementFromSelector","closest","instance","getOrCreateInstance"],"mappings":";;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;AAKMA,QAAAA,oBAAoB,GAAG,CAACC,SAAD,EAAYC,MAAM,GAAG,MAArB,KAAgC;EAC3D,EAAA,MAAMC,UAAU,GAAI,CAAA,aAAA,EAAeF,SAAS,CAACG,SAAU,CAAvD,CAAA,CAAA;EACA,EAAA,MAAMC,IAAI,GAAGJ,SAAS,CAACK,IAAvB,CAAA;EAEAC,EAAAA,6BAAY,CAACC,EAAb,CAAgBC,QAAhB,EAA0BN,UAA1B,EAAuC,CAAA,kBAAA,EAAoBE,IAAK,CAAA,EAAA,CAAhE,EAAqE,UAAUK,KAAV,EAAiB;MACpF,IAAI,CAAC,GAAD,EAAM,MAAN,CAAA,CAAcC,QAAd,CAAuB,IAAA,CAAKC,OAA5B,CAAJ,EAA0C;EACxCF,MAAAA,KAAK,CAACG,cAAN,EAAA,CAAA;EACD,KAAA;;EAED,IAAA,IAAIC,gBAAU,CAAC,IAAD,CAAd,EAAsB;EACpB,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,MAAMC,MAAM,GAAGC,4BAAsB,CAAC,IAAD,CAAtB,IAAgC,IAAA,CAAKC,OAAL,CAAc,CAAGZ,CAAAA,EAAAA,IAAK,EAAtB,CAA/C,CAAA;MACA,MAAMa,QAAQ,GAAGjB,SAAS,CAACkB,mBAAV,CAA8BJ,MAA9B,CAAjB,CAVoF;;MAapFG,QAAQ,CAAChB,MAAD,CAAR,EAAA,CAAA;KAbF,CAAA,CAAA;EAeD;;;;;;;;;;"}
{"version":3,"file":"component-functions.js","sources":["../../src/util/component-functions.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n"],"names":["enableDismissTrigger","component","method","clickEvent","EVENT_KEY","name","NAME","EventHandler","on","document","event","includes","tagName","preventDefault","isDisabled","target","getElementFromSelector","closest","instance","getOrCreateInstance"],"mappings":";;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;AAKMA,QAAAA,oBAAoB,GAAG,CAACC,SAAD,EAAYC,MAAM,GAAG,MAArB,KAAgC;EAC3D,EAAA,MAAMC,UAAU,GAAI,CAAA,aAAA,EAAeF,SAAS,CAACG,SAAU,CAAvD,CAAA,CAAA;EACA,EAAA,MAAMC,IAAI,GAAGJ,SAAS,CAACK,IAAvB,CAAA;EAEAC,EAAAA,6BAAY,CAACC,EAAb,CAAgBC,QAAhB,EAA0BN,UAA1B,EAAuC,CAAA,kBAAA,EAAoBE,IAAK,CAAA,EAAA,CAAhE,EAAqE,UAAUK,KAAV,EAAiB;MACpF,IAAI,CAAC,GAAD,EAAM,MAAN,CAAA,CAAcC,QAAd,CAAuB,IAAA,CAAKC,OAA5B,CAAJ,EAA0C;EACxCF,MAAAA,KAAK,CAACG,cAAN,EAAA,CAAA;EACD,KAAA;;EAED,IAAA,IAAIC,gBAAU,CAAC,IAAD,CAAd,EAAsB;EACpB,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,MAAMC,MAAM,GAAGC,4BAAsB,CAAC,IAAD,CAAtB,IAAgC,IAAA,CAAKC,OAAL,CAAc,CAAGZ,CAAAA,EAAAA,IAAK,EAAtB,CAA/C,CAAA;MACA,MAAMa,QAAQ,GAAGjB,SAAS,CAACkB,mBAAV,CAA8BJ,MAA9B,CAAjB,CAVoF;;MAapFG,QAAQ,CAAChB,MAAD,CAAR,EAAA,CAAA;KAbF,CAAA,CAAA;EAeD;;;;;;;;;;"}

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