0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-11-29 11:24:18 +01:00
Commit Graph

1312 Commits

Author SHA1 Message Date
Zach Leatherman
638b97f19c Arguably more professional pictures of Rick Ross 2017-04-21 20:51:35 -07:00
Bardi Harborow
2906b612d5 More minor build tweaks and docs updates. 2017-04-21 21:08:40 +10:00
Patrick H. Lauke
fb3303f5dd Fix for copy/paste error in iOS hack to tooltips
(with apologies, this slipped through due to build system problems on my
end)
2017-04-20 14:35:33 +01:00
Patrick H. Lauke
1f37c536b2 Tweak iOS hack for dropdown
Tweak to https://github.com/twbs/bootstrap/pull/22426, where the wrong selector slipped through the net (selecting all of `<body>`s grand-children rather than children)
2017-04-20 14:08:40 +01:00
Patrick H. Lauke
ef099ad05d Add iOS hack to tooltips
Same hack as in https://github.com/twbs/bootstrap/pull/22426 (modulo the selector, which is wrong in that PR and will be updated in a separate PR) to get tooltips to work correctly on iOS. Dynamically adds/removes empty (`noop`) `touchstart` event handlers to all children of `<body>` in order to coax iOS into proper event delegation/bubbling
2017-04-20 13:49:35 +01: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
Mark Otto
bc0cf36dc8 grunt 2017-04-16 13:54:07 -07:00
Patrick H. Lauke
6d64afe508 Replace dropdown backdrop hack with cleaner JS-only hack
* Replace backdrop with simple noop mouse listener

As discussed in https://github.com/twbs/bootstrap/pull/22422 the current
approach of injecting a backdrop (to work around iOS' broken event
delegation for the `click` event) has annoying consequences on
touch-enabled laptop/desktop devices.
Instead of a backdrop `<div>`, here we simply add extra empty/noop
mouse listeners to the immediate children of `<body>` (and remove
them when the dropdown is closed) in order to force iOS to properly
bubble a `click` resulting from a tap (essentially, method 2 from
https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html)
This is sufficient (except in rare cases where the user does manage to tap
on the body itself, rather than any child elements of body - which is not
very likely in an iOS phone/tablet scenario for most layouts) to get iOS to
get a grip and do the correct event bubbling/delegation, meaning the regular
"click" event will bubble back to the `<body>` when tapping outside of the dropdown,
and the dropdown will close properly (just like it already does, even without
this fix, in non-iOS touchscreen devices/browsers, like Chrome/Android and
Windows on a touch laptop).
This approach, though a bit hacky, has no impact on the DOM structure, and
has no unforeseen side effects on touch-enabled laptops/desktops. And crucially,
it works just fine in iOS.

* Remove dropdown backdrop styles

* Update doc for dropdowns and touch-enabled devices
2017-04-14 09:19:00 +01:00
Pierre Vanduynslager
2f94166276 Merge branch 'v4-dev' into dropdown-keyboard 2017-04-12 16:31:50 -04:00
Patrick H. Lauke
3275ca4b30 Reword "mobile" to "touch-enabled"
...as touch is not exclusive to "mobile" anymore nowadays. also explicitly clarifies this is a fix for iOS, and that it impacts touch laptops etc as well. lastly, renames the variable from "dropdown" to "backdrop" for clarity/consistency
2017-04-12 18:39:23 +01:00
Pierre Vanduynslager
208e0384df Merge branch 'v4-dev' into dropdown-keyboard 2017-04-12 10:36:14 -04:00
Pierre-Denis Vanduynslager
81e12d5715 Indent 2017-04-12 09:41:27 -04:00
Patrick H. Lauke
53b2c5520b Remove inappropriate role="listbox" from carousels 2017-04-11 11:12:30 +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
d3fbebefcd Merge branch 'v4-dev' into dropdown-keyboard 2017-04-09 18:16:37 -04:00
Patrick H. Lauke
2626eba5f1 Prevent default for ESC in modal.js
ESC can be used to close modals, but on OS X/macOS this also jumps out
of full-screen mode. `preventDefault` suppresses this.
2017-04-09 16:19:20 +01:00
Pierre Vanduynslager
fe72daf2b3 Merge branch 'v4-dev' into dropdown-keyboard 2017-04-08 18:43:25 -04:00
Mark Otto
364e01885f grunt 2017-04-08 13:22:53 -07:00
Ilias
e6e070b02a Fix #22332: Adjust tests for hidden scrollbar 2017-04-03 13:27:15 +02:00
Mark Otto
7d88f365c0 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2017-04-02 12:00:52 -07: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
Mark Otto
49b6cf845d grunt 2017-04-01 19:18:29 -07: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
Pierre Vanduynslager
48c5efa4c3 Fix JS components console error "Error: <Component> is transitioning" 2017-03-28 23:43:15 +02:00
Mark Otto
cf7d3e11e0 grunt 2017-03-28 09:31:32 -07:00
Johann
904efc043d Fix different tooltips offset when hovering 2017-03-28 15:55:03 +02:00
Mark Otto
7742ba6dc9 grunt 2017-03-27 22:56:14 -07:00
Johann
24924c23b2 Collapse - do not prevent event for input and textarea 2017-03-27 10:08:39 +02:00
Mark Otto
4ab06ca453 grunt 2017-03-26 11:26:31 -07:00
Mark Otto
90c5f6230b rename from .navbar-toggleable to .navbar-expand to reflect mobile first approach everywhere else 2017-03-23 23:02:28 -07:00
Mark Otto
11ba308b2f more docs updates 2017-03-23 23:02:28 -07:00
Johann
3f247a42f2 Fix Modal documentation about _handleUpdate method + move to public scope (#21877)
Fix Modal documentation about _handleUpdate method + move to public scope
2017-03-23 22:22:09 +01: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
Bardi Harborow
cab6f7d16c More config tweaks. 2017-03-21 21:37:33 +11:00
Bardi Harborow
09fb2b9af3 Update dependencies. 2017-03-20 17:37:05 +11:00
Mark Otto
e506e59c45 grunt 2017-03-19 19:03:32 -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
Pierre-Denis Vanduynslager
f5cc591456 Merge branch 'twbs/v4-dev' into dropdown-keyboard 2017-03-18 22:08:55 -04:00
Mark Otto
ae50bb7845 grunt 2017-03-18 18:47:57 -07:00
Pierre Vanduynslager
275821bbb0 HTMLElement.offset* by getBoundingClientRect() (#21788)
* Replace element.offet* by getBoundingClientRect()

* Use variable to store BoundingClientRect

* Fix cc issue...
2017-03-18 18:24:54 -07:00
Johann
f2f2e39a45 Fix getSelectorFromElement when # is a selector (#21615)
* Fix getSelectorFromElement when # is a selector

* Thanks to @vanduynslagerp remove regex to validate selector
2017-03-18 17:42:11 -07:00
Pierre Vanduynslager
f2f8051285 Fix backdrop for dropdown menu on mobile (#21578)
- Create backdrop only if the menu is actually open (do not create it if the show event is prevented)
- Drop the backdrop only when the corresponding menu is closed (do not remove if there is no menu to close or if the hide event is prevented)
2017-03-18 17:41:13 -07:00
Mark Otto
5a5ab4c0de grunt 2017-03-18 16:51:32 -07:00