0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-01-05 23:46:20 +01:00
Commit Graph

829 Commits

Author SHA1 Message Date
Dmitry
fecd219983
Fix popover remaining open when toggled after being shown (#40803)
Some checks failed
BrowserStack / browserstack (push) Has been skipped
Bundlewatch / bundlewatch (push) Failing after 0s
CodeQL / Analyze (push) Failing after 0s
cspell / cspell (push) Failing after 0s
CSS / css (push) Failing after 0s
Docs / docs (push) Failing after 0s
JS Tests / JS Tests (push) Failing after 0s
Lint / lint (push) Failing after 0s
CSS (node-sass) / css (push) Failing after 0s
Release notes / update_release_draft (push) Has been skipped
Co-authored-by: Dmitry Sergienko <dmitry.sergienko@codefirst.net>
Co-authored-by: Julien Déramond <juderamond@gmail.com>
2024-09-12 09:45:08 +02:00
Nathan Sarang-Walters
16d80a4ff7
Fix this reference for JavaScript functions (#38725)
Some checks failed
BrowserStack / browserstack (push) Has been skipped
Bundlewatch / bundlewatch (push) Failing after 0s
CodeQL / Analyze (push) Failing after 0s
cspell / cspell (push) Failing after 0s
CSS / css (push) Failing after 0s
Docs / docs (push) Failing after 0s
JS Tests / JS Tests (push) Failing after 0s
Lint / lint (push) Failing after 0s
CSS (node-sass) / css (push) Failing after 0s
Release notes / update_release_draft (push) Has been skipped
2024-07-19 07:05:21 +02:00
GeoSot
6ed1cdd43e
Selector Engine: fix multiple IDs (#39201)
* fix: regression of #38989

* Add unit test in selector-engine.spec.js

---------

Co-authored-by: Julien Déramond <juderamond@gmail.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2024-02-18 08:58:07 +02:00
dependabot[bot]
40c6d8a4bc
Build(deps-dev): Bump eslint-config-xo from 0.43.1 to 0.44.0 (#39651)
* Build(deps-dev): Bump eslint-config-xo from 0.43.1 to 0.44.0

Bumps [eslint-config-xo](https://github.com/xojs/eslint-config-xo) from 0.43.1 to 0.44.0.
- [Release notes](https://github.com/xojs/eslint-config-xo/releases)
- [Commits](https://github.com/xojs/eslint-config-xo/compare/v0.43.1...v0.44.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>

* Update .eslintrc.json

* Update .eslintrc.json

* autofix

---------

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>
2024-02-06 21:46:52 +02:00
Louis-Maxime Piton
9900cf33c0
Fix collapse multiple ids target (#38989) 2023-09-13 09:30:32 +02:00
Kyle Tsang
d45cc7ef51
Support Home and End keys in tabs (#38498)
* Support `Home` and `End` keys in tabs

* Update tab.js

* simplify tests

* Update navs-tabs.md

* Update .bundlewatch.config.json

---------

Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2023-07-23 22:06:14 +03:00
Kyle Tsang
d5dee316f7
Update URL sanitizer to allow more protocols (#38531)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2023-05-01 00:33:09 +03:00
Alejandro Mendoza
a06c2e6b5f
Fix scrollspy and accented anchor links (#38502) 2023-05-01 00:31:26 +03:00
XhmikosR
4f24144a31
dropdown.spec.js: expect nothing in constructor (#38442) 2023-04-11 18:03:34 +03:00
XhmikosR
ae43f0c48b
Tweak and re-organize ESLint config (#38369)
* Tweak and re-organize ESLint config

* merge individual configs to the root config
* enable more eslint-plugin-import rules
* lint markdown files

* Lint
2023-03-29 13:49:30 -04:00
Jan Bensch
e00d06e45b
Fix wrong generation of aria-labelledby in tab navigation (#38223)
* fix wrong generation of aria-labelledby in tab navigation

* fix wrong test

---------

Co-authored-by: Jan Bensch <github@bensch.dev>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2023-03-14 06:50:08 +02:00
Julien Déramond
f44feabe16
Tests: remove unnecessary id/aria-labelledby from collapse unit tests (#38089) 2023-02-21 19:33:52 +01:00
Julien Déramond
f5f6c5c4e3
Minor fix to avoid creating void elements in tooltip test file (#38034) 2023-02-11 10:18:39 +01:00
Patrick H. Lauke
0446e22b5a
Docs: use <button> for dropdown/popover examples, explain preference over <a> for dropdowns, tweak collapse prose (#37432)
* Expand dropdown explanation for use of `<a>`, use `<button>`s for modal examples

* Remove redundant `role="button"` from collapse test `<button>` elements

* Tweak language

* Tweak collapse prose
2022-11-12 09:21:33 -08:00
XhmikosR
5208dd10c4
ESLint: enable prefer-template rule (#37484) 2022-11-12 10:09:36 +02:00
Pierre Souchay
ef4e2daa48
Properly escape IDs in getSelector() to handle weird IDs (#35565) (#35566) 2022-11-07 14:43:06 +02:00
GeoSot
e81e7cda90
Move getElementFromSelector & getSelectorFromElement to SelectorEngine (#36027)
* Move `getElementFromSelector` & getSelectorFromElement` inside selector-engine.js, in order to use SelectorEngine methods, avoiding raw querySelector usage

* add `getMultipleElementsFromSelector` helper

Co-authored-by: Julien Déramond <juderamond@gmail.com>
2022-11-06 20:31:43 +02:00
GeoSot
4cb046a6b8
Boost execute function, being able to handle arguments (#36652) 2022-10-07 15:25:00 +03:00
Julien Déramond
1b3c38d2cd
Rename some vars in tab unit tests for consistency (#37248) 2022-10-03 17:44:37 +03: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
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
GeoSot
24f6e2764a
Tests: add testcase to Tabs, keyboard handler (#37189) 2022-09-23 22:18:57 +02: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
1510c25e9b
Drop tabs auto-focus (#37146)
* fix: drop tabs auto-focus
2022-09-20 17:20:47 +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
23fb7a7915
Fix modal event-listeners during dismiss click (#36863)
ref: #36855
2022-09-07 11:56:33 +03: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
GeoSot
db86607c08
ScrollSpy: make the threshold option configurable (#36750)
* feat(ScrollSpy): make the threshold option configurable
2022-07-28 11:58:28 +03: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
GeoSot
f451b4161e
Fix failing test on EventHandler (#36772) 2022-07-19 15:46:36 +03: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
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
Nathan Walters
3f324eed02
Handle non-empty whitespace textContent in Tooltip trigger (#36588) 2022-07-06 07:15:50 +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
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
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
GeoSot
d05c42a397
fix: change dismiss handler, listening to key down, instead of click (#36401) 2022-06-21 11:03:57 +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
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
Louis-Maxime Piton
d388bd6e1b
JS: tests fixes & standardization of spies usage (#36398)
* Fix carousel spec typo
* Change carousel test name in align with testing method
* Make the spies declarations the same everywhere
2022-05-31 11:18:32 +03:00
GeoSot
b167420bdf
Revert backdrop utilization, handling clicks over modal (#36324)
* refactor(Modal.js): stop using backdrop class to handle clicks over modal

* Revert #35554 and backdrop callback usage
  Explanation: In order to bypass `.modal`, was applied a css rule `pointer-events:none` which caused the side effect, and user couldn't scroll "long content modals"

* Update .bundlewatch.config.json

Co-authored-by: Mark Otto <markd.otto@gmail.com>
2022-05-12 21:20:04 -07:00
Julien Déramond
5d9500bdfd
Handle disabled focused tabs with tab JavaScript plugin (#36169)
* Handle disabled tabs

* Fix after feedback

* Update js/src/tab.js

Co-authored-by: GeoSot <geo.sotis@gmail.com>

* Update js/src/tab.js

Co-authored-by: GeoSot <geo.sotis@gmail.com>

* Commit suggestions via GitHub broke the thing

* Add some unit tests

* Remove temp doc modification

* Add tests for left arrow

* Add disabled tabs in JavaScript Behavior section

* Compact 4 tests to 2 tests

* Compact 4 tests to 2 tests

* Add 'disabled' attribute for all buttons

* Change the disabled pane position only for the vertical version

* Change ids for the confusing first example in JavaScript behavior

* Use disabled attribute instead of the class for buttons in tabs

Co-authored-by: GeoSot <geo.sotis@gmail.com>
2022-05-05 19:26:15 -07:00
GeoSot
554736834d
Carousel: Fix not used option (ride), simplify cycle method (#35983)
* Fix not used option (`ride`)  (according to docs), continuing of #35753 a247fe9
* separate concept of  `programmatical cycle`  vs `maybe cycle after click` functionality
2022-04-21 22:42:17 +03:00
GeoSot
584600bda3
Manipulator: Add JSON parse support (#35077)
Support parsing JSON from each component's main element using the `data-bs-config` attribute.

The `bs-config` attribute will be reserved and omitted during `getDataAttributes` parsing.

With this commit, every component, will create its config object, using:

* defaults
* data-bs-config
* the rest of data attributes
* configuration object given during instance initialization

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Mark Otto <markd.otto@gmail.com>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2022-04-21 21:41:43 +03:00
Mark Otto
195440f2fb
v5.2.0 design refresh, plus responsive offcanvas classes (#35736)
* Add responsive offcanvas classes

- Updates navbar-expand classes to de-dupe some styles—these shouldn't interfere now.
- Adds some JS to the offcanvas component to help with responsiveness

Co-Authored-By: GeoSot <geo.sotis@gmail.com>

* Redesign homepage, docs, and examples

Homepage:

- New Bootstrap purple navbar
- Redesigned masthead
- Rewrote and redesigned homepage content
- Replace Copy text with icons like Bootstrap Icons site across all ClipboardJS instances
- Fixed padding issues in site footer
- Match homepage button styles to examples page, use gap instead of tons of responsive margin utils

Docs:

- New navbar, no more subnav. Migrated search and version picker into the main navbar and refreshed the design of it all, including the responsive toggles.
- New sidebar navigation is always expanded, and now features Bootstrap Icons alongside section headings
- Sidebar navigation autoscrolls to active link for better usability
- Subnav and navbar padding issues ironed out
- Enhanced the version picker in anticipation of v5.2: we can now link right to the same page in the previous version.
- Redesign callouts to add more color to our pages
- Collapse table of contents on mobile
- Cleanup and redesign button styles with CSS variables
- Update design for subnav version dropdown
- Update highlight and example to be full-width until md
- Improve the Added In badges
- Turn the ToC into a well on mobile
- Redesign code snippets to better house two action buttons

Examples:

- Redesign Examples page layout
- Add new example for responsive offcanvases in navbars

* Convert offcanvas to CSS vars

* Feat: add resize handler to Offcanvas.js.

If we could use as default the `.offcanvas` class without modifiers, we then, could add a simplified selector
The selector itself, ignores the .offcanvas class as it doesn't have any responsive behavior
The `aria-modal` addon is to protect us, selection backdrop elements

* Separate examples code, Add some selectors, fix stackblitz btn

Co-authored-by: GeoSot <geo.sotis@gmail.com>
2022-04-17 22:17:50 -07:00
GeoSot
ece1601227
Revamp Scrollspy using Intersection observer (#33421)
* Revamp scrollspy to use IntersectionObserver

* Add smooth scroll support

* Update scrollspy.js/md

* move functionality to method

* Update scrollspy.js

* Add SmoothScroll to docs example

* Refactor Using `Maps` and smaller methods

* Update scrollspy.md/js

* Update scrollspy.spec.js

* Support backwards compatibility

* minor optimizations

* Merge activation functionality

* Update scrollspy.md

* Update scrollspy.js

* Rewording some of the documentation changes

* Update scrollspy.js

* Update scrollspy.md

* tweaking calculation functionality & drop text that suggests, to deactivate target when wrapper is not visible

* tweak calculation

* Fix lint

* Support scrollspy in body & tests

* change doc example to a more valid solution

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
2022-04-13 10:29:13 -07:00
GeoSot
135b9cdff2
Revamp tabs & follow ARIA 1.1 practices (#33079)
* Tab: Revamp tab.js & add support Aria features

* Tab: Add tab support, just to keep backwards compatibility. Better to remove it on v6

* Revert "Tab: Add tab support, just to keep backwards compatibility. Better to remove it on v6"

* Support arrow down/up functionality

* add prevent default to avoid scrolling the page during up/down keys handling

* remove panel tabindex handling

* Expand documentation text for JS plugin

* Rearrange new docs to specifically call out a11y

* properly place section

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2022-04-06 16:36:08 -07:00