0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-13 01:08:58 +01:00
Commit Graph

756 Commits

Author SHA1 Message Date
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
Johann-S
1752addadf Reset carousel touch delta x to prevent click transformation in swipe (#28558) 2019-03-27 14:37:04 +02:00
Johann-S
08679ac0b5 Add back support for IE 11 2019-03-18 01:11:05 +02:00
XhmikosR
5bcd6a29cd Disable a few rules for now. 2019-03-11 17:01:28 +02:00
XhmikosR
46c037410b Comply to the new rules. 2019-03-11 17:01:28 +02:00
XhmikosR
44e6abcba5 Switch to eslint-config-xo and eslint-plugin-unicorn. 2019-03-11 17:01:28 +02:00
XhmikosR
9cbd041f6b
tests: add tests for plugins version. (#28366) 2019-02-27 13:20:25 +02:00
Johann-S
8a37045b79 move util in a util folder with the sanitizer 2019-02-26 13:04:04 +02:00
XhmikosR
f0c6b24bd7 4.3.1. 2019-02-20 22:05:45 +02:00
Joshua Wilson
fdbb5db919 minor jQuery.hasclass removal (#28158) 2019-02-20 22:05:45 +02:00
Peter Blazejewicz
cbd333185e Use consistent arrow class (#28105) 2019-02-20 22:05:45 +02:00
Johann-S
c096e0e0da bump to 4.2.1 2019-02-20 22:05:45 +02:00
Johann-S
661db08eeb rewrite toast plugin without jquery 2019-02-20 22:05:45 +02:00
Johann-S
57d50b2134 Improve manipulator coverage 2019-02-20 22:05:45 +02:00
Alessandro Chitolina
6cfc78f2d9 Remove IE support and button bsChecked hack 2019-02-20 22:05:45 +02:00
Johann-S
a2f1d79045 Refactor util plugin and some tests 2019-02-20 22:05:45 +02:00
Johann-S
c44db783bf chore(update): bump to 4.1.3 2019-02-20 22:05:45 +02:00
Johann-S
6b0808354d fix(unit-test): dropdown, collapse and carousel 2019-02-20 22:05:45 +02:00
Johann-S
a1cc9a6e33 fix(util): increase util coverage 2019-02-20 22:05:45 +02:00
Johann-S
096413a994 fix(selector-engine): increase coverage for selector engine 2019-02-20 22:05:45 +02:00
Johann-S
64591b3722 fix(manipulator): increase coverage for manipulator 2019-02-20 22:05:45 +02:00
Johann-S
0b719e065c fix(data): increase coverage for data 2019-02-20 22:05:45 +02:00
Johann-S
9313446274 fix(event-handler): remove the use of our event handler in unit test 2019-02-20 22:05:45 +02:00
Johann-S
2b78078779 fix(data): do not use data object in our unit tests 2019-02-20 22:05:45 +02:00
Johann-S
7eddee286e remove old references to jquery and some fixes 2019-02-20 22:05:45 +02:00
Alessandro Chitolina
0263d1742c rewritten scrollspy without jquery 2019-02-20 22:05:45 +02:00
Johann-S
9744886519 upgrade to v4 stable 2019-02-20 22:05:45 +02:00
Alessandro Chitolina
7f08061eca rewritten tab without jquery 2019-02-20 22:05:45 +02:00
Johann-S
90261b484c Dropdown without jQuery 2019-02-20 22:05:45 +02:00
Johann-S
2ff8ed5cbf Fix new unit test in popover 2019-02-20 22:05:45 +02:00
Alessandro Chitolina
ec69de4b7e allow register the same handler for different delegated selectors in eventHandler 2019-02-20 22:05:45 +02:00
Alessandro Chitolina
cc6e130fc1 tooltip without jquery 2019-02-20 22:05:45 +02:00
Johann-S
bcbea02886 fix unit test modal 2019-02-20 22:05:45 +02:00
Johann-S
69e4d4f3ac Rewrite Collapse without jQuery 2019-02-20 22:05:45 +02:00
Alessandro Chitolina
53ca76ebc0 Workaround for M$ Edge resetting defaultPrevented flag upon dispatchEvent 2019-02-20 22:05:45 +02:00
Alessandro Chitolina
33211eefdf Rewritten modal without jquery (#23955)
* Trigger jquery events if available in event handler

* Rewritten modal without jquery
2019-02-20 22:05:45 +02:00
Johann-S
9f9712b98c Add Manipulator object to add shortcuts for dom manipulations 2019-02-20 22:05:45 +02:00
Johann-S
44f38e4128 Rewrite carousel without jquery 2019-02-20 22:05:45 +02:00
XhmikosR
aba87279fd button without jquery 2019-02-20 22:05:45 +02:00
Johann-S
2970d14dd9 Remove jQuery from alert.js and add .alert only if jQuery is available 2019-02-20 22:05:45 +02:00
Johann-S
0b16c8c6d9 alert without jquery 2019-02-20 22:05:45 +02:00
Patrick H. Lauke
4b00aa6c4e Remove incorrect aria-haspopup from dropdown toggles (#28299)
`aria-haspopup` use requires the use of an ARIA `menu`, `listbox`, `tree`, `grid` or `dialog` (see https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup)

in our use (as generic disclosure widgets), it's incorrect and sets up the wrong assumption/behavior from assistive technologies.

in future, we likely want to change our dropdowns to essentially be like a `dialog` - move focus to it when opened, possibly make it modal so focus is maintained inside it and the rest of the page
is hidden/inert.

but for now, removing the incorrect attribute is probably the quickest, most immediate fix.
2019-02-19 11:25:36 +02:00
Johann-S
7bc4d2e0bc Add sanitize template option for tooltip/popover plugins. 2019-02-13 08:32:15 +02:00
Johann-S
b54ddfda83 fix modal test to be sure we call getTransitionDurationFromElement 2019-02-06 15:01:13 +01:00
Johann-S
3c49467224 allow to override default toast options (#28186) 2019-02-06 15:19:04 +02:00
Johann-S
11880109fc
fix tabs, apply show class only when fade class is present (#28183) 2019-02-06 11:12:02 +01:00
Jason Golieb
e44d0475e0 Move dropdown offset function logic into private function. (#28138) 2019-02-05 10:31:18 +02:00
Jason Golieb
88a34aacbe Add support for tooltip offset option to be a function. 2019-02-05 10:24:49 +02:00
Shohei Yoshida
de0bb1e052 Scrollable modal (#27769) 2019-01-20 23:28:16 +02:00
Johann-S
d51ee0dcf1 Fix Carousel's touch option to not add touch listeners when set to false (#28046) 2019-01-14 18:53:54 +02:00
Johann-S
89a73f100e carousel should not cycle when there is no data-ride on init (#27968) 2019-01-04 18:15:01 +02:00
Johann-S
3bd9fb3649 getSelectorFromElement return null on bad selectors (#27912) 2018-12-23 14:30:35 +02:00
Mike Vastola
fc15c4c4ce Change button checkbox/radios to ignore hidden input fields (#27802) 2018-12-10 10:40:08 +02:00
Johann-S
fa03289d13 avoid console call in our unit tests (#27790) 2018-12-06 10:51:35 +02:00
Patrick H. Lauke
6c00dd08bc Add aria-modal to modals (#27780)
Dynamically set/remove `aria-modal="true"` when a modal is shown/hidden
2018-12-05 20:58:09 +02:00
Johann-S
b16127fc10 Allow Tooltips/Popovers to work in shadow DOM 2018-12-05 16:02:59 +01:00
Johann-S
37f74c7070 fix regression about using element for tooltip container option 2018-12-05 10:57:02 +01:00
Johann-S
32ab52ba2e Add test to make sure we enforce focus on modal (#27723) 2018-11-25 18:20:55 +02:00
Johann-S
557d5ac74d Remove the show delay for our toast plugin 2018-11-13 08:47:32 +02:00
Laussel Loïc
4cac833447 Implement data-dismiss="toast" to allow user to interact itself with the component (#27155) 2018-11-13 08:47:32 +02:00
Johann-S
16cf76ff1a Create toast JS plugin, add unit tests. 2018-11-13 08:47:32 +02:00
Johann-S
f7a4b39767 handle detached tooltip when we try to hide a modal 2018-11-02 13:39:58 +01:00
Johann-S
cebdfb9090 fix dispose modal unit test 2018-10-30 16:59:24 +01:00
Andrew Luca
bd2851938a test(Modal): check if modal is disposed 2018-10-30 16:28:32 +01:00
XhmikosR
02df7cd0d2
Fix util tests on IE 10 (#27556) 2018-10-30 15:29:04 +02:00
Martijn Cuppens
5aed968750 Prevent the background to be shown when transitioning 2018-10-30 08:57:02 +02:00
Johann-S
91f8077ed5 add unit tests for our carousel 2018-10-29 14:49:29 +01:00
Johann-S
2c2d04aba5 add unit test to test tabs can be removed without throwing error 2018-10-29 14:01:03 +01:00
Johann-S
ffc8d507c7 calculate modal transition duration based on modal-dialog element 2018-10-28 23:59:17 +02:00
Andrew Luca
1f1308ba22 test(Modal): reuse _getScrollbarWidth in tests 2018-10-21 17:45:02 +02:00
Johann-S
b1dc6b324c avoid drag img 2018-10-20 15:32:09 +03:00
patrickhlauke
8883ccb205 Set touch-action to "none"
Firefox currently seems extremely fickle - with `pan-y` if fires pointercancel as soon as a touch strays even a pixel or so vertically.
While `touch-action: pan-y` would be ideal (allowing users to scroll the page even when their finger started the scroll on the carousel), this prevents a swipe that isn't perfectly/only horizontal to be recognised by Firefox.
2018-10-20 15:32:09 +03:00
patrickhlauke
7b8f01d839 Use correct touch-action values
- my fault, my original advice of using `touch-action: pan-x` is exactly the value we *don't* want to have the browser handle...
2018-10-20 15:32:09 +03:00
Johann-S
735c374e9c use pointer events if available 2018-10-20 15:32:09 +03:00
Johann-S
c08652cfe8 swipe left/right without hammerjs 2018-10-20 15:32:09 +03:00
Johann-S
caefd70463 Add touch support in our carousel with HammerJS. 2018-10-20 15:32:09 +03:00
galczo5
6cbcd03efb Add show and hide methods to dropdown (#27370) 2018-10-20 14:27:51 +03:00
Christopher Morrissey
ea0faadde5 feature(carousel): carousel-item interval (#26667)
adds the ability to assign data-interval to an individual carousel-item
2018-09-18 15:55:48 +03:00
Johann-S
a689120fd2 throw error when folks try to use a bad selector 2018-09-13 22:13:36 +02:00
Johann-S
6e2a823a44 collapse children with no data-parent 2018-09-10 21:10:00 +02:00
Johann-S
a3e45d8ced
add information about valid selectors (#27137) 2018-08-31 21:00:29 +02:00
Johann-S
eab9da5beb fix(util): use querySelector for ids 2018-08-12 17:01:01 +02:00
Johann-S
6b92321f6a fix(util): use getElementById when it's possible 2018-08-07 18:49:02 +02:00
Johann-S
283ab30164 fix(modal): fix unit test and resetting style 2018-07-11 11:05:38 +02:00
Catalin Zalog
cb82394fc8 fix(modal): removes .navbar-toggler margin 2018-07-11 11:05:38 +02:00
Johann-S
e57a2f244b fix(tooltip): get tip on placement change 2018-06-25 16:54:14 +02:00
jakubhonisek
49e094619b feat(dropdown): add original click event 2018-06-25 15:29:34 +02:00
Johann-S
f2aab5ea99 fix(tooltip): remove useless unit test 2018-05-22 17:26:21 +03:00
Johann-S
0338b61eb6 chore(deps): update qunit and karma-qunit 2018-05-22 17:26:21 +03:00
Johann-S
ba10b63c9d fix issue related to Object.keys and Dropdown issue 2018-04-13 18:59:30 +02:00
Johann-S
0871d69ec9
v4 improve coverage (#25945)
* Improve code coverage for our Button plugin

* improve coverage for our Alert plugin

* test tooltip update method

* test update and dispose for dropdown

* increase code coverage requirements
2018-04-10 09:28:29 +02:00
XhmikosR
875ed0b975 Clean up globals.
Also, add a missing license header in build/workbox.js.
2018-04-09 22:44:22 +03:00
Johann-S
fd57d371f8 fix bundle and run test against it 2018-03-29 21:21:31 -07:00
vsn4ik
68db42c9f8 Fix skip element disabled via attribute when using keyboard navigation 2018-03-26 09:37:25 +02:00
Johann-S
bedc96e48b Use transitionEnd in QUnit since we moved away from PhantomJS 2018-03-20 15:56:51 +01:00
Johann-S
4d5c5923fa Add Sinon to do better unit test 2018-03-13 15:37:11 +01:00
Johann-S
2c41b0aea6 fix get the transition duration parent 2018-03-13 12:57:44 +01:00
Martijn Cuppens
1fadad1c33 Variable transition durations (#25662) 2018-03-13 09:59:20 +01:00
Johann-S
65ae622d40 Dropdown - Allow to disable Popper.js style (#24092)
* Dropdown - Allow to disable Popper.js style

* Update dropdown.js

* Update dropdown.html

* copy changes
2018-02-11 16:45:59 -08:00
Johann-S
5a6be71791 Remove escaping selector and add a warning to inform folks to escape their selectors (#25390) 2018-01-21 22:02:16 +02:00
XhmikosR
80d0943b95 Comply to the new rules. 2018-01-11 18:48:46 +02:00
XhmikosR
6d336502c7 Clean up and tweak ESLint rules.
Also, refactor ESLint and stylelint config files; now everything will work from our root dir.
2018-01-11 18:48:46 +02:00
Martijn Cuppens
a1d134f8a8 Multiple accordion support (#25161) 2018-01-03 16:40:58 +02:00
Martijn Cuppens
ae71e71fe1 Allow nested structure for accordions (#25121)
This commit allows nested structures for accordions. Also a part of
the documentation about data-children is removed because this
functionality didn't work and it's not applicable anymore.

Tests with the collapse accordion are also a bit adjusted to the new
situation.
2017-12-31 14:53:33 +02:00
Troy Morehouse
8839c03865 dropdown: add boundary config option (#24976) 2017-12-12 11:28:30 +02:00
Alessandro Chitolina
80d4a51e79 tab.js: do not remove fade class if there's no initial active pane 2017-11-26 20:29:19 +01:00
Johann-S
e8ba37139f Allow us to run our unit test on differents jquery version 2017-11-23 10:41:56 +02:00
Edward Betts
ffc5965f2c Correct spelling mistakes. (#24778) 2017-11-15 04:12:38 -05:00
Vasilii Artemchuk
5a2d6c70f4 Use native pseudo-selectors instead of jQuery selectors (#24713) 2017-11-09 07:51:19 +02:00
XhmikosR
fc9967e175
Fix test failure with jQuery 1.9.1 (#24706) 2017-11-07 14:13:52 +02:00
Johann-S
79d6b574cc
Escape ID in Util.getSelectorFromElement (#24700) 2017-11-07 12:41:06 +01:00
Johann-S
26dc17bcd2 Popover - call content once if it's a function. (#24690) 2017-11-07 09:18:52 +02:00
Johann-S
41fbec1188 Fix unit tests. 2017-10-27 19:19:55 +03:00
Pierre-Denis Vanduynslager
6fe72c6de8 Dropdown handle keydown on input and textarea. 2017-10-27 19:19:55 +03:00
Johann-S
988327032d Add unit tests for util.js 2017-10-25 12:59:40 +02:00
Johann-S
62fbb23ee6 Change Rollup config to wrap our dist files with jQuery instead of $ 2017-10-24 12:39:25 +02:00
Johann-S
1487c3a994 Add Util.jQuery which will detect jQuery instead of relying on global $ (#24513) 2017-10-23 10:35:27 +03:00
XhmikosR
be9e6f3638 Update modal.js 2017-10-04 15:03:06 +03:00
lucascono
47968c8126 Unit test for modal bug fix
Unit test for pull request #24240
2017-10-04 08:55:40 -03:00
XhmikosR
31c8721913 Normalize all links. (#24109)
* use a trailing slash when possible
* use https when possible
* remove a few redirected links
* consistently use `https://popper.js.org/`
* fix `iconUrl` in nuget files
* change Jekyll Windows guide to the official one
2017-09-26 15:24:14 +03:00
Johann-S
9b8356ba52 Collapse - Allow to pass jQuery object or DOM element to the parent option 2017-09-25 13:23:13 +02:00
Patrick H. Lauke
fd56ea370c Accessibility fixes to dynamic tabs (aria-selected, remove dynamic tabs with dropdowns)
* Use `aria-selected` instead of `aria-expanded`
* Change tab.js to use `aria-selected` rather than `aria-expanded`
* Add `aria-orientation=vertical` to vertical tab list
* Remove dynamic tabs with dropdowns
* Fix non-interactive code examples
* Only set `aria-selected` on the `role="tab"` trigger - this stops `aria-selected` being incorrectly added to the `role="tabpanel"` itself (probably harmless, but nonetheless incorrect)
2017-09-24 12:00:54 +02:00
Troy Morehouse
6c70c70f63 fix(scrollspy): Spying on nested navs fails to activate for .nav-link's inside nav-item's (#23967)
* fix(scrollspy): Handle nested navs when nav-link inside nav-item

* [scrolspy] Find only child .nav-link's inside .nav-item

* [scrollspyt] Add tests for nested navs with nav-link inside nav-item

* fix troy-o's in test
2017-09-17 09:30:37 +02:00
Johann-S
e04e42d08c Merge branch 'v4-dev' into fix-jumping-modal-on-resize 2017-09-03 12:56:04 +02:00
David Bailey
ce41d3fd15 Add failing test 2017-08-29 15:36:37 +01:00
David Bailey
2622a015f2 Fix unit tests in PhantomJS
Use a virtual scrollbar as this is simpler than having a real one (overflow: scroll doesn't seem to work in Phantom), and disable it for the new test.

One test has also been altered to prevent erroneous fails when other inline styles are added to the body (e.g. overflow).
2017-08-29 12:01:41 +01:00
David Bailey
487513ff03 Add failing test
When the body does not overflow (achieved by hiding the QUnit container), it should not be given a margin.
2017-08-28 16:21:04 +01:00
meeque
9612830701 Add unit test for xss in data target attribute 2017-08-25 23:20:14 +01:00
David Bailey
ba6a6f1369 Fix sticky margin when a modal is opened (#23669)
* Adjust margin for sticky elements on modal

Previously white space was visible to the right of sticky elements due to right padding being added to the body. This fixes #23661.

* Add unit tests for margin of sticky elements on modal
2017-08-25 22:01:41 +01:00
Johann-S
5a90b4aa3e Collapse - preventDefault only on <a> elements not inside the collapsible
element
2017-08-25 09:48:35 +01:00
Johann-S
4571ab0e57 Fix toggle for Tooltips/Popover which was called even if the Tooltip/Popover was disabled 2017-08-24 09:33:49 +01:00
XhmikosR
ef8c77d8dc Tweak ESLint rules. 2017-08-23 00:05:38 +03:00
Johann-S
58994a16c5 Add a unit test to check if the carousel do not cycle when its parent isn't visible 2017-08-17 17:48:14 +01:00
Johann-S
d2bd8fb7a9 Unit test to check if our carousel do not cycle when we cannot see it 2017-08-17 17:48:14 +01:00
Johann-S
2eb1e687bd Improve previous selector for nested tabs 2017-08-11 15:04:07 +03:00
Johann-S
edf90c1bc4 Add unit test for nested tabs 2017-08-11 15:04:07 +03:00
Johann-S
0480a75a5a Dropdown - Disable applyStyle modifier instead of removing inline style applied by Popper.js 2017-07-04 10:37:44 +02:00
Mark Otto
9c0e423008 Rename popover classes
Part of an update to align the naming schemes across our components.

- Renames .popover-title to .popover-header
- Renames .popover-content to .popover-body

Refs: #22092
2017-06-15 09:05:30 -07:00
Johann-S
f0124769c9 Collapse supports multi-target thanks to @vanduynslagerp (#22713) 2017-06-14 13:21:49 +02:00
Johann-S
4a2b183e48 Fix unit tests with no assertion 2017-06-14 11:18:12 +02:00
Geremia Taglialatela
db44e4b311 Update nav and navbar HTML markup
According to the docs, you just need to apply the `navbar-nav` to an
`<ul>` tag in a list-based navbar. In fact, `navbar-nav` seems to
override all the css properties set by `nav`.

Also, `nav-item` class should be used only for `<li>` tags, or in
conjunction with `<a>` tags to entirely avoid the list-based approach.

This commit removes the redundant `nav` class from `navbar-nav` `<ul>`
tags, moves `nav-item` from `<a>` tags to `<li>` tags and properly
adds `nav-item` class to `<li>` tags where missing.

Refs:

* https://v4-alpha.getbootstrap.com/components/navs/
* https://v4-alpha.getbootstrap.com/components/navbar/#nav
2017-05-27 15:21:49 -07:00
Johann-S
53ee455bc7 Handle dropup for Dropdown 2017-05-14 11:41:19 +02:00
Johann-S
69de65180f Fix unit tests + Update Popper to 1.6.0 2017-05-14 11:41:19 +02:00
Johann-S
d8996a7e0a Fix arrow for tooltip and popover 2017-05-14 11:41:19 +02:00
Johann-S
b40b1bc396 Add attachment classes 2017-05-14 11:41:19 +02:00
Anna
33715a73d2 Fix Toggle buttons don't honor [disabled] or .disabled 2017-04-26 18:46:05 +02:00
Pierre Vanduynslager
ab39defe74 Detach accordion from card without requiring 'data-children' 2017-04-25 09:32:14 +02:00
Bardi Harborow
b4ac48fdec Build system overhaul. 2017-04-20 14:31:22 +10:00
Patrick H. Lauke
6ae5fb12e6 Fix carousel "hover" behavior on touch-enabled devices
* Add carousel mouse listeners even if touch events enabled

- touch events are enabled not just on "mobile", just also on
touch-enabled desktop/laptop devices; additionally, it's possible to
pair a mouse with traditionally touch-only devices (e.g. Android
phones/tablets); currently, in these situations the carousel WON'T pause
even when using a mouse

* Restart cycle after touchend

as `mouseenter` is fired as part of the touch compatibility events, the
previous change results in carousels which cycle until the user
tapped/interacted with them. after that they stop cycling (as
`mouseleave` is not sent to the carousel after user scrolled/tapped
away).
this fix resets the cycling after `touchend` - essentially returning
to the previous behavior, where on touch the carousel essentially never
pauses, but now with the previous fix it at least pauses correctly for
mouse users on touch-enabled devices.
includes documentation for this new behavior.
2017-04-17 13:26:46 +01:00
Pierre Vanduynslager
025ddb185e Merge branch 'v4-dev' into dropdown-keyboard 2017-04-10 11:04:05 -04:00
Patrick H. Lauke
18e8704221 Fix collapse.js aria-expanded behavior
* Remove aria-expanded from collapse.js target element

aria-expanded="true"/aria-expanded="false" only applies to the trigger,
not the element that is being expanded/collapsed.

* Tweak collapse.js accessibility section

...to make it clearer that the aria-expanded attribute always just goes
on the control.

* Fix collapse.js unit tests

- reword some of the text to make it clear we're checking behavior of
trigger/control
- move incorrect aria-expanded out of the <div>s and to the actual
trigger/control <a>s
- fix incorrect test assertion text output false -> true
2017-04-10 14:51:22 +01:00
Patrick H. Lauke
3f6e1faf45 Only change aria-pressed if it's not an input-based radio or checkbox group
* Only change aria-pressed if it's not an input-based radio or checkbox group

aria-pressed="true"/aria-pressed="false" is really only useful for
making on/off toggles out of, say, `<button>` elements. the attribute is
useless (and potentially confusing/conflicting) on, say, `<label>`
elements for an existing `<input type="radio">` or similar.

* Add unit test for buttons.js and radio/checkbox inputs in button groups
2017-04-10 14:43:54 +01:00
Pierre Vanduynslager
fe72daf2b3 Merge branch 'v4-dev' into dropdown-keyboard 2017-04-08 18:43:25 -04:00
Ilias
e6e070b02a Fix #22332: Adjust tests for hidden scrollbar 2017-04-03 13:27:15 +02:00
Ilias
a14451deb3 Fix #18373: properly adjust padding-right of body and fixed elements when opening or closing modal 2017-04-02 13:26:25 +02:00
Pierre Vanduynslager
91b62941af Tabs/Scrollspy/.nav/.list-group/.active independent of markup (<nav>, .nav-item, <li> etc...) 2017-04-02 11:21:04 +02:00
Johann-S
5142de7e59 Popover + Tooltip - fix error when content or title is a number 2017-03-31 10:03:54 +02:00
Johann-S
fb42d6e043 Collapse - Fix check to not prevent event for input and textarea 2017-03-29 00:10:27 +02:00
Johann
904efc043d Fix different tooltips offset when hovering 2017-03-28 15:55:03 +02:00
Johann
24924c23b2 Collapse - do not prevent event for input and textarea 2017-03-27 10:08:39 +02:00
Pierre Vanduynslager
37f438910f Accordion behavior with JQuery interface (#21726)
Fix accordion behavior with JQuery interface
2017-03-23 21:15:41 +01:00
Johann
c72a315740 Carousel - Add attributes from and to for Slid and Slide events (#21668)
Carousel - Add attributes from and to for Slid and Slide events
2017-03-22 22:42:13 +01:00
Pierre Vanduynslager
78fc4d23fc Always append element to fixture in Scrollspy unit tests (#22234) 2017-03-21 10:21:00 -07:00
Mark Otto
3730c5dbf5 Merge branch 'collapse' of https://github.com/Johann-S/bootstrap into Johann-S-collapse 2017-03-19 18:43:13 -07:00
Johann
1a46d8c730 Allow to use Tab.js with list-group (#21756)
* Allow to use Tab.js with list-group

* Allow to use list-group with div parent instead of an ul parent
2017-03-18 16:36:33 -07:00
Johann-S
21b537cc24 Add unit test 2017-03-09 11:08:47 +01:00
Pierre-Denis Vanduynslager
4ab576a419 Fixes #21941 2017-02-08 18:51:50 -05:00
Pierre-Denis Vanduynslager
ef2181ff4d Harmonize document.activeElement comparison 2017-01-20 23:22:50 -05:00
Pierre-Denis Vanduynslager
4448ca057b Refactor test to event and async 2017-01-20 23:02:45 -05:00
Pierre-Denis Vanduynslager
1a783a4255 Add unit test for keyboard navigation 2017-01-20 23:02:19 -05:00
Pierre-Denis Vanduynslager
9daf681478 Fix test to retrieve the proper item instead of it's parent 2017-01-20 20:27:14 -05:00
Pierre-Denis Vanduynslager
4c2f544359 Merge branch 'twbs/v4-dev' into dropdown-keyboard 2017-01-06 15:57:15 -05:00
Pierre-Denis Vanduynslager
eb84c03ddf Update dropdown unit test to new markup 2017-01-06 15:56:38 -05:00
Johann-S
0463b01282 Close #21090 - Fix aria-pressed attribute for buttons in container with data-toggle='buttons' 2017-01-04 11:02:16 +01:00
Pierre-Denis Vanduynslager
bbb0d2b573 Dropdown: close menu when focusing outside element (#21375)
* Close dropdown menu when focusing an outside element
* Update unit test to new markup
2017-01-02 14:44:27 -08:00
Mark Otto
c61a0059ad update seletors in js 2017-01-02 11:52:38 -08:00
Johann-S
026e1a1421 Allow to use nav with tab JS 2016-12-31 00:54:00 -08:00
Johann-S
95ce03f000 Close #21249 : Add a Unit test for #21227 2016-12-29 13:28:42 -08:00
Max Beatty
aa7f95fd77 update click state when hiding so can be shown again by trigger. fixes #16732 2016-12-27 14:19:12 -08:00
Alessandro Rodi
9103bffe37 [Fix #19849] Tabs are opened even if disabled. (#20795)
* [Fix #19849] Tabs are opened even if disabled.

* fix hund code review hints

* rollback hound issues because Travis fails
2016-12-24 23:31:34 -08:00
Matheus Azzi
dab6a41e04 Carousel: Only prevents default for ARROW_LEFT and ARROW_RIGHT keys
Fixes 2 bugs:

1. All keydowns were being prevented. Because of that the user wasn't able to navigate in the whole page using ARROW_UP/ARROW_DOWN.

2. Even when  is an input or textarea the keydowns were being prevented. Because of that the user wasn't able to type any text on these elements.
2016-12-23 17:55:40 +11:00
Starsam80
bf39bb3ac3
Rename .active to .show 2016-12-07 21:20:15 -07:00
Rob Ruana
5eddb0b0fd Closes #21055: Prevents ScrollSpy from clearing active item when Safari rubberbands (#21056)
When the rubberband effect causes Safari to scroll past the top of the
page, the value of scrollTop becomes negative. If the offset of the first
ScrollSpy target is 0 - essentially if the target is at the top of the
page - then ScrollSpy should not clear the active item. Conceptually, the
first item should remain active when rubberbanding past the top of the
page.

This commit fixes issue #21055 by verifying the first scrollspy target is
not at the top of the page before clearing the active nav-item.
2016-11-27 16:20:33 -08:00
Mark Otto
b6b8280938 Merge pull request #18900 from vlastikcz/v4-dev-buttonChange
Button toggling - trigger change event on input. Fixes #16673, fixes #17599.
2016-11-26 01:18:21 -08:00
Mark Otto
ce31f54c36 Merge pull request #19058 from Johann-S/carouselInput
Carousel - Do not prevent on keydown for input and textarea
2016-11-26 01:14:55 -08:00
Mark Otto
25d218b02d Merge branch 'v4-dev-18796' of https://github.com/maxbeatty/bootstrap into maxbeatty-v4-dev-18796 2016-11-26 00:58:51 -08:00
Johann
ce18a66809 Add test unit to check logic of ignoreBackdropClick (#18245) 2016-11-25 22:57:20 -08:00
Mark Otto
432fe74c31 Merge branch 'eslint' of https://github.com/bardiharborow/bootstrap into bardiharborow-eslint 2016-11-25 14:59:28 -08:00
Matt Hernandez
b1b1f30cbd [Fix #17371][V4] Deactivating dropdown links in nav tab (#17642)
* Fix bug with dropdown tab links not deactivating when other tab or dropdown link is clicked

* Revise bug fix for more stability
2016-11-25 14:56:41 -08:00
Bardi Harborow
c2616fb74e Make JS compliant with the new ESLint rules. 2016-11-24 11:59:55 +11:00
Johann
a7f1b59959 Making .tooltip('show') throw an error on elements with display:none (#20940) 2016-10-31 20:33:53 -07:00
Mark Otto
c01fa6b369 Merge pull request #17536 from Johann-S/testPadding
[Fix #17400] Add tests about padding restoration
2016-10-28 13:46:14 -07:00
Johann-S
9d129a43d6 Use a single class name for opened/expanded/shown state of widgets 2016-10-25 14:07:41 +02:00
Mark Otto
73154d0392 Merge pull request #20467 from maxbeatty/v4-dev-17754
add support for ol in tab plugin
2016-10-24 20:50:52 -07:00
Johann-S
9bc7de9395 Fix bug multiple accordions collapse 2016-10-19 09:35:48 +02:00
Johann-S
de1255b14e Collapse using card component 2016-10-11 13:25:36 +02:00
Mark Otto
4d725c90d6 Merge pull request #17568 from Johann-S/fixCollapseHeight
[Fix #17555][V4] fix resetting style on closing collapse
2016-10-09 20:32:40 -07:00
VarelloThemes
63129112bb replace some profanities (#20715) 2016-09-15 09:39:31 -07:00
Max Beatty
dc1b4e78d4 add support for ol in tab plugin. fixes #17754 2016-08-04 16:57:08 -07:00
Max Beatty
bfa714ae1e prevent navigating to area href when modal target. fixes #18796 2016-08-04 13:47:30 -07:00
Dave Methvin
8900d953ed ScrollSpy unit test: Use single done() in a then() instead of multiple done()s (#20198)
Fixes test flakiness on OS X Safari and Android when using jQuery 3.
Fixes #20182 more
Refs #20191
2016-06-28 13:24:28 -07:00
Dave Methvin
208d587c7e Scrollspy test: Allow for async .then() in jQuery 3; fixes #20182
Instead of doing a new assert.async(), just do a single one for the entire test
and let the .then() be async as well.

Closes #20190
2016-06-27 22:37:31 -07:00
Chris Rebert
aa369bd8f9 Remove unnecessary usage of Promises in non-async ScrollSpy tests (#20180)
Closes #19906

[skip validator]
2016-06-26 21:33:07 -07:00
Chris Rebert
14c7ba95f9 Fix load & scroll event usage in ScrollSpy tests (#19986)
* Use $.one() instead of $.on() since there are no $.off()s in the code.
* Remove unnecessary namespacing of listeners for the `scroll` & `load` events.
    These are vanilla DOM events (not custom jQuery namespaced events)
    and we're not using jQuery namespacing to manage these event listeners either (e.g. `$.off()`).

[skip validator]
2016-05-30 09:39:45 -07:00
Chris Rebert
d35973c2b3 js/tests/unit/scrollspy.js: Fix "offsed" typos (#19985)
[skip sauce]
[skip validator]
2016-05-29 18:36:09 -07:00
Patrick H. Lauke
b107e3342a Handle aria-hidden on modal container when showing/hiding
Fixes #19878
2016-05-11 02:01:56 +01:00
Johann-S
14ec4fdfc1 Carousel - Do not prevent on keydown for input and textarea 2016-02-01 00:06:07 +01:00
Kotas Vlastimil
866e99b00c Button toggling - trigger change event on input
Bootstrap’s .button styles can be applied to other elements, such as labels, to provide checkbox or radio style button toggling.

When the checkbox or radio state is changed, there should be triggered the change event. Currently, the change event is triggered on the Button, which is not correct. Only input fields do support the change event.
2016-01-14 20:26:32 +01:00
Chris Rebert
96e9205009 js/tests/unit/modal.js: Fix typo
[ci skip]
2015-12-22 17:11:21 -07:00
Johann-S
21a65f181e Add throw error for undefined method on plugins 2015-10-02 10:01:24 +02:00
Johann-S
32f9a5d6a5 fix resetting style on closing collapse 2015-09-11 10:45:08 +02:00
Johann-S
8ece899ba8 Add tests about padding restoration 2015-09-10 08:19:59 +02:00
Gleb Mazovetskiy
c7d8e7a077 Accept elements as the tooltip / popover content
When a DOM node is passed to an HTML tooltip, the `title` node is only
moved if it is not already in the tooltip. Otherwise, `empty()` is used
instead of `detach()` before appending the `title` to avoid memory
leaks. If a DOM node is passed to a plain text tooltip, its text is
copied via jQuery `.text()`.

Replaces `.detach()` with `.empty()`, as `.detach()` is almost never
useful but instead leaks memory. The difference between `empty` and
`detach` is that the latter keeps all the attached jQuery events/data.
However, since we do not return the previous children, the user would
have to keep these themselves, thus they can `detach()` if necessary.

This is a port of https://github.com/twbs/bootstrap/pull/14552 to v4.
2015-08-31 01:06:13 +01:00
XhmikosR
13e33e329c Remove the obsolete JSHint references. 2015-08-27 08:11:11 +03:00
Jacob Thornton
03e732708c rewrite tab with new active shit 2015-08-18 22:03:34 -07:00
Jacob Thornton
4e45e2363c Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-18 21:23:53 -07:00
Jacob Thornton
18ff57a183 js tests passing + eslint 2015-08-18 19:22:46 -07:00
Jacob Thornton
f1827e5f9c add polyfil for bind for tether.js 2015-08-18 17:06:17 -07:00
Mark Otto
1ddc3f5e21 Merge branch 'master' into v4m 2015-08-04 22:29:45 -07:00
Johann-S
ef1ce9ac0b Fix triggering of {shown,hidden}.bs.dropdown events so relatedTarget gets set properly
Fixes #16828
Closes #16865
2015-07-27 00:58:51 -07:00
Mark Otto
169d2a4a78 Merge branch 'master' into v4 2015-06-18 23:56:43 -07:00
Patrick H. Lauke
5fd7bc1554 generalize dropdowns / drop role="menu"
as role="menu" is a very specific (and strict) ARIA pattern for
desktop-like application menus, and our dropdowns are often used
as pure navigation dropdowns, this change abandons ARIA menus for
a more open-ended and light-weight approach
(see http://heydonworks.com/practical_aria_examples/#submenus and
http://www.w3.org/WAI/tutorials/menus/flyout/#improve-screen-reader-support-using-wai-aria)
note that in dropdown.js, switched to now target ``.dropdown-menu``
instead of ``role["menu"]`` - this also prevents bootstrap scripts
from "bleeding" into non-bootstrap components on the same page.
also removed the ``role=["listbox"]`` part, which appears to be
vestigial/unused (only place in bootstrap that uses that
role are carousels, and their key handling is done separately)
2015-06-02 11:03:21 +01:00
XhmikosR
315907c97c Use https when possible. 2015-05-17 12:43:20 +03:00
fat
6b2b0ed32f al tests passing, dist rebuilt, w/typechecker 2015-05-13 14:52:46 -07:00
fat
eaab1def7a add simple type checker implementation 2015-05-13 14:46:50 -07:00
fat
c2ced2292a fix up tests 2015-05-13 13:46:08 -07:00
fat
b0d142334f fix #15301 2015-05-13 13:43:56 -07:00
fat
da495ee24c address https://github.com/twbs/bootstrap/pull/16135 2015-05-13 13:15:11 -07:00
fat
f8b2569ec8 implement global dispose method 2015-05-13 12:48:34 -07:00
fat
ab1578465a grunt test-js, grunt dist-js now working 2015-05-12 16:52:54 -07:00
fat
a58febf71a popover passing as well 2015-05-12 14:35:00 -07:00
fat
3452e8dc83 rewritten tooltip + tether integration and death to our positioner jank 2015-05-11 23:32:37 -07:00
fat
ca9c850ebb add getters for Version and Default where applicable
add modal my gawd
2015-05-10 19:45:38 -07:00
fat
8bab38bb71 add collapse 2015-05-09 23:04:58 -07:00
fat
1b183e2ff7 carousel -> es6 2015-05-07 22:26:40 -07:00