0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-03 15:24:19 +01:00
Commit Graph

690 Commits

Author SHA1 Message Date
Kyle Tsang
02dbd87ffa
Fix event handler removal in dropdown/carousel dispose (#33000)
* Fix event handler removal in carousel dispose

* Fix event handler removal in dropdown dispose

* Test event handlers in scrollspy dispose

* Test event handlers in toast dispose

* Test event handlers in tooltip dispose

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com>
2021-02-12 07:51:34 +02:00
Rohit Sharma
f7088e5d28
Add function type for popperConfig option (#32882)
* Add function type for `popperConfig` option

* Update .bundlewatch.config.json

* copy edits

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2021-02-09 21:16:13 +02:00
Mark Otto
8f1c882545 Remove .dropdown-menu[style] reset and adjust .dropdown-menu-* modifiers
- Removes the &[style] selector that was used for resetting Popper styles
- Separate Popper-based alignment from static alignment with `data-bs-popover` attribute that separates the --bs-position and custom right/left properties

Co-Authored-By: Rohit Sharma <rohit2sharma95@gmail.com>
2021-02-09 14:34:27 +02:00
Patrick H. Lauke
96be06e32b
Dynamic tabs: use buttons rather than links (#32630)
* Dynamic tabs: use buttons rather than links

- change docs
- add mention that tabs should be <button> elements
- tweak styles to neutralise border and background

* Update js unit and visual test accordingly

- replace links with buttons
- make one specific test that uses links instead of buttons, as we still want to support it despite it being non-semantically appropriate
- Leaving a couple of tests for now. The test for removed tabs should be redone so that tabs are removed programmatically (as the approach of having that close button inside the link is invalid and broken markup). The test for dropdowns should be removed together we actually ripping out the handling for dropdowns in the tab.js code (arguably a breaking change, though we discouraged this for a few versions and effectively "deprecated" it)

* Add isolation:isolate to prevent focus being overlapped

https://github.com/twbs/bootstrap/pull/32630#issuecomment-756015766
2021-02-09 07:23:45 +02:00
Siju Samson
b376a3d80d
Fix dropdown keys to open menu (#32750)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-02-03 22:03:21 +02:00
Florian Vick
2a9d72133d
Prevent getSelector from returning URLs as selector (#32586)
* added checks to getSelector in util to prevent returning hrefs that are invalid selectors

* restored compatibility for the class selector and added test cases for keeping urls from being returned as a selector

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-02-03 21:58:54 +02:00
Rohit Sharma
3770b7b9e3
Dropdown — Emit events on the .dropdown-toggle button (#32625)
* Emit events on the dropdown button

Emit the events on `.dropdown-toggle` button and then bubble up

* Add migration note for events

* Update the docs for events

* Add unit test to check the event bubbling

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-02-03 21:51:19 +02:00
Patrick H. Lauke
a882614c45 Make carousel indicators actual buttons 2021-01-28 23:32:24 +02:00
Rohit Sharma
b1bd54955e Restore offset option for tooltip/popover components 2021-01-28 12:23:33 +02:00
joke2k
881f43a3b9 Restore offset option for dropdown component 2021-01-28 12:23:33 +02:00
XhmikosR
a56bf1de9f
Minor ESLint rules cleanup (#32904) 2021-01-28 11:34:20 +02:00
Patrick H. Lauke
3aa3fda730
Carousel: use buttons, not links, for prev/next controls (#32627)
* Carousel: use buttons, not links, for prev/next

- expand the styles to neutralise border/background
- change docs page
- add extra unit test to check that links or buttons work as controls
- modify visual test to use buttons as well
- use buttons instead of links for prev/next
- remove `role="button"` from links that are actually links

* Clarify that controls can be button or link

* Update site/content/docs/5.0/components/carousel.md

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

* Explicitly set padding to 0 to prevent dipping/moving on active in Firefox

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-01-27 17:31:16 +02:00
Rohit Sharma
c9cd741aff
Throw a TypeError instead of the generic Error (#32585)
* Change from Error to TypeError

* Convert the `NAME` to upper case to make the consistency in the error message

* Update the remaining tests to be stricter

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-01-13 22:13:30 +02:00
Rohit Sharma
e34481b6eb
Fix toggling modal when clicking on data-bs-toggle="modal" (#32691)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-01-13 21:59:47 +02:00
Théophile Helleboid - chtitux
80557b3ac0
Move "active" class from .nav-item to .nav-link (#32730) 2021-01-08 20:53:04 +02:00
Daniele Faraglia
59cd71631e
collapse: prevent url change if A nested tag is clicked (#32438)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-12-21 14:37:35 +02:00
Nils K
2d46e47464
Support Popper virtual elements (#32376)
Adds the ability to use objects implementing the virtual element interface as the value for the reference option of a dropdown config.

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-12-21 14:32:11 +02:00
Gaël Poupard
58ab1c2cd5
test(carousel): french word in the wild (#32528) 2020-12-18 17:22:16 +02:00
Rohit Sharma
f12657b39f
tests: replace deprecated jQuery method (#32309)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-12-16 17:21:43 +02:00
Rohit Sharma
ebce95dc60
Tooltip - Add missing callback in async spec (#32465) 2020-12-14 13:02:34 +02:00
Rohit Sharma
4535b09c46
Tooltip - check if tip and its parent node exist in dispose method (#32420) 2020-12-10 21:06:41 +02:00
alpadev
85208ae557
Refactor components to use a utility function to define jQuery plugins (#32285)
* refactor: use an utility function to define jQuery plugins

* test: add spec for defineJQueryPlugin utility function

* Update .bundlewatch.config.json

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-12-08 08:16:50 +02:00
XhmikosR
d15a0247ce
Remove SelectorEngine.matches(). (#32339)
It's basically unused.
2020-12-07 19:10:20 +02:00
Johann-S
adfdf7160b Update to popper.js v2.x 2020-12-06 18:42:40 +02:00
Gaël Poupard
9488978fb5 feat(RTL): implement RTL
Using RTLCSS directives, renaming things to use logical names and following best practices.
2020-12-04 07:52:03 +02:00
XhmikosR
dd992c7226 Add tests 2020-11-30 12:07:51 +02:00
XhmikosR
51a208f119 Switch to Jasmine's toBeInstanceOf matcher 2020-11-29 20:58:26 +02:00
Johann-S
9f6b342dc7 create a base component 2020-11-29 20:58:26 +02:00
Rohit Sharma
c348ad4a94
Ability to add custom class in tooltip/popover (#32217)
Porting of #31834 to main.

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-11-25 09:16:22 +02:00
XhmikosR
f4457bca02
Be consistent with Popper's name. (#32224)
The npm package is named "popper.js" but the project is named "Popper", so use the latter consistently.
2020-11-21 16:22:08 +02:00
Rohit Sharma
358c36d4b5
Add missing tags in unit tests (#32221) 2020-11-20 20:10:15 +02:00
Rohit Sharma
0839cbf04d
Don't hide modal when keyboard is set to false in modal's configuration (#32179)
* Don't hide modal when config.keyboard is false

* Update unit test

- Modal should not be closed when pressing esc key if keyboard = false
  and backdrop is 'static'

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-11-20 15:36:24 +02:00
Rohit Sharma
2630b05eb3
Make the attribute methods bs specific (#32173)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-11-20 11:13:13 +02:00
XhmikosR
2e758f64cf Switch to Number properties 2020-11-14 15:54:50 +02:00
XhmikosR
4f8b243ac1
Fix .close instances (#32152) 2020-11-14 08:16:30 +02:00
Rohit Sharma
e530118117 Get only bs prefixed data attributes 2020-11-14 07:09:15 +02:00
Rohit Sharma
418f17ee2b Add bs in data attributes
- Add `bs` in data APIs everywhere
- Update unit tests
2020-11-14 07:09:15 +02:00
XhmikosR
c9f8fa45fb
tests: tweak Jasmine usage (#32046)
* jasmine/expect-matcher
* jasmine/prefer-jasmine-matcher

Found with `eslint-plugin-jasmine`
2020-11-02 16:13:24 +02:00
XhmikosR
e2697b0573
tests: fix sanitizer test. (#32045)
The test template does not include a `script` tag so the test always returned true.
2020-11-02 14:49:56 +02:00
XhmikosR
71010cb1e9
tests: switch to using toContain() to check for substring presence (#32043) 2020-11-02 14:42:40 +02:00
Sascha
c21506d499
Fix TypeError when Bootstrap is included in head (#32024)
* extend jquery after domContentLoaded event is fired

* add unittest for util onDOMContentLoaded

* wait for trigger jquery event after domContentLoaded

* remove domcontentready from eventHandler

* move istanbul ignore statements to correct line

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-11-01 15:32:36 +02:00
Mitchell Bryson
3a5f9f5cf0
Check for data-interval on the first slide of carousel (#31818)
* check for data-interval on the first slide of carousel

* add updateInterval method for elements of a carousel

* add test for carousel interval being set during cycle

* update activeElement as soon as slide has finished (before transition end)

* only updateInterval before using it

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-11-01 14:36:50 +02:00
XhmikosR
b63066d630
toast.spec.js: fix typo (#32026) 2020-10-31 09:25:33 +02:00
XhmikosR
0c1651ee9d
Remove Manipulator.toggleClass (#31842)
It's only used in one place so it makes more sense to remove it for the time being.
2020-10-05 18:07:49 +03:00
Hiws
43b4252a34
fix tooltip hide method when already hidden (#31115)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-09-24 14:55:38 +03:00
Rohit Sharma
f6348f6c89
Clear timeout before showing the toast (#31155)
* clear timeout before showing the toast

* Add unit test

* Remove the check for timeout

* Check for clearTimeout to have been called

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-07-11 11:51:04 -07:00
Shohei Yoshida
fb4efb49ea
Prevent overflowing static backdrop modal animation (#30326)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-06-25 11:35:53 +03:00
Patrick H. Lauke
edbcc401c2
Change whitelist to allowlist (#31066)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Mark Otto <markd.otto@gmail.com>
2020-06-19 11:31:37 +03:00
Tanguy Krotoff
d80a9fc553
Fix tooltip when hovering a children element (delegateTarget) (#30928)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-06-18 10:02:44 +03:00
Johann-S
088c727a31 data: reword storage key in dom 2020-06-17 15:45:36 +02:00
Martijn Cuppens
1a0a0858ef Remove checkbox/radio toggle from button plugin in favor of a CSS only solution 2020-06-15 19:04:19 -07:00
Rohit Sharma
e140ff92ed Remove .nav-item from .nav-link to make it consistent
- Closes #28423
2020-06-09 07:48:58 +03:00
Rohit Sharma
5faf41eb48
Add role="dialog" in modals via JavaScript (#30936) 2020-06-04 10:35:09 +03:00
Dominik Kremer
d59de33fc0 Add a test about the scrollbar issue on non-integer width 2020-05-12 07:51:09 +03:00
XhmikosR
94109cabf4
Add missing closing div tags (#30775)
Missed those in 967e607
2020-05-11 16:54:56 +03:00
XhmikosR
967e6071ba
tests: streamline HTML end tags (#30648) 2020-05-06 09:20:08 +03:00
Johann-S
650a7a7b76 add unit tests to ensure our plugins works in jquery 2020-05-06 07:55:48 +02:00
XhmikosR
37f2c04c5f
Clean up lint rules (#30721)
* Remove unneeded rule suppression
* Format tests/unit/.eslintrc.json
* build/.eslintrc.json: add strict for consistency
2020-05-04 19:32:09 +03:00
Tanguy Krotoff
d2ed920b15
Remove caret element (#30633) 2020-04-24 21:53:31 +02:00
Tanguy Krotoff
7787f642b9 Fix crash when pressing ArrowUp the first time 2020-04-17 18:22:15 +03:00
Tanguy Krotoff
dcd99aa7d1 Replace event.which with event.key and event.button 2020-04-17 18:22:15 +03:00
ysds
dfa017adc3 Always modal scroll top to 0 2020-04-01 10:05:43 +03:00
XhmikosR
e1f5d819c7
Remove MSPointerEvent and ms-touch-action in tests (#30463) 2020-03-29 09:59:54 +03:00
XhmikosR
ed94976ea8
Use textContent instead of innerText. (#30462)
It's supported by all of our supported browsers.
2020-03-29 09:53:57 +03:00
Laussel Loïc
7ce29d75f3
v5 tabs - accessibility issue when using ul/li semantic
Add aria-role presentation on li element when ul element has role tablist and remove dropdown from visual tests as they've been removed from doc
2020-03-28 09:51:24 +02:00
Johann-S
26d86fce2a
fix: remove make array util function (#30430) 2020-03-25 16:35:02 +02:00
Martijn Cuppens
2e150e722a Use next dropdown menu instead of first of the parent 2020-03-23 15:35:07 +01:00
XhmikosR
018a94c9c1 Remove Internet Explorer leftovers 2020-03-18 20:59:27 +02:00
Johann-S
aff115219e
fix: ensure totype always returns stringified null/undefined when null/undefined is passed (#30383) 2020-03-18 13:10:55 +02:00
Martijn Cuppens
7d8c7c4ba8
prev() function fails when non-element nodes are present (#30117)
The `prev()` function doesn't take nodes other than elements into account. Also we could simplify things a lot using the `previousElementSibling` property. This property isn't fully supported in IE, it only works for elements, but since the `element` variable is an element, we can safely use it here.

I've also added an additional test.

I don't think we had this issue in v4, since we relied on jQuery back then.

Ref. https://developer.mozilla.org/en-US/docs/Web/API/NonDocumentTypeChildNode/nextElementSibling
2020-03-09 17:21:04 +02:00
yonikohen
7a60dcf9b0 Corrected grammatical error in test descriptions (#30150)
"without instantiate it" should be "without instantiating it"
2020-02-10 09:35:13 +02:00
Martijn Cuppens
ef6c13c534
tests: Remove button hrefs (#30119) 2020-02-01 20:39:18 +02:00
Giovanni Mendoza
954a0b1e6a Close modal with keyboard=true & backdrop=static (#29986)
* Close modal with keyboard=true & backdrop=static
2020-01-10 11:06:12 +02:00
Steffen Roßkamp
c62efc3ef6 Update normalizeDataKey to match the spec (#29609) 2019-10-31 07:58:09 +02:00
Higor Araújo dos Anjos
46912797b2 Added animation when modal backdrop is static (#29516) 2019-10-25 21:12:09 +03:00
Jeremy Jackson
c1ee395f80 Skip hidden dropdowns while focusing (#29523) 2019-10-17 18:01:44 +03:00
XhmikosR
577bf8b14d
Rename "js/tests/units" to "js/tests/unit". (#29503) 2019-10-09 01:27:43 +03:00
Johann-S
233f3fb1ce rewrite tab unit tests 2019-07-23 14:23:50 +02:00
Johann-S
b7b56cb10a rewrite scrollspy unit tests 2019-07-23 14:23:50 +02:00
Johann-S
85b70cef3c rewrite tooltip unit tests 2019-07-23 14:23:50 +02:00
Johann-S
c9e650a56f rewrite popover unit tests 2019-07-23 14:23:50 +02:00
Johann-S
1ac07a66ce rewrite modal unit tests 2019-07-23 14:23:50 +02:00
Anton Bershanskiy
e916a9bc03 rewrite toast unit tests 2019-07-23 14:23:50 +02:00
Johann-S
6a59c58480 rewrite dropdown unit tests 2019-07-23 14:23:50 +02:00
Johann-S
0ed1618c06 rewrite collapse unit tests 2019-07-23 14:23:50 +02:00
Johann-S
62730d9afd rewrite carousel unit tests 2019-07-23 14:23:50 +02:00
Johann-S
891a187059 rewrite button unit tests 2019-07-23 14:23:50 +02:00
Johann-S
c834895fa0 rewrite unit tests for selector engine 2019-07-23 14:23:50 +02:00
Anton Bershanskiy
fe6ba2384a rewrite manipulator unit tests 2019-07-23 14:23:50 +02:00
Johann-S
c8c2074650 Switch from QUnit to Jasmine. 2019-07-23 14:23:50 +02:00
Kitten King
37703a6fc9 Fix Typos across Bootstrap repository (#29082) 2019-07-20 12:53:02 +03:00
Johann-S
18077460aa updated babel 2019-07-17 15:03:32 +03:00
Patrick H. Lauke
cc49977038 Fix dropdown unit test (#29037)
swap jQuery's `trigger(...)` with the more verbose native `dispatchEvent(...)`, as the former may not always behave/bubble correctly (observed while trying to write unit tests for keyboard handling of ARIA tab navigation), which may lead to this test passing even though it fails in real usage.
2019-07-14 12:24:27 +03:00
Patrick H. Lauke
f2c63ac729 Port new unit test for dropdown from v4 (#28913)
Add unit test from #28912 to v5
2019-06-25 14:57:41 +03:00
Patrick H. Lauke
f0f75379f6 Closing dropdown with ESC correctly sets focus to toggle (#28928)
Just firing the focus event isn't enough ... need to actually call the proper `focus()` method for it to actually do it...
2019-06-19 12:23:41 +03:00
Johann-S
d5752a18ab toast should allow prevent default for hide and show events 2019-05-16 13:24:29 +02:00
XhmikosR
438e01b61c Rename eventHandler and selectorEngine files. 2019-05-08 17:26:37 +03:00
XhmikosR
e7657c8bc0 Remove the unicorn/filename-case rule suppression. 2019-05-08 17:26:37 +03:00
Johann-S
14f53d9baa fix unit tests for chrome mobile 2019-04-15 13:48:27 +02:00
XhmikosR
105687ac4a Update eslint config for the new xo rules. 2019-04-10 15:18:57 +03:00