0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-01-11 03:52:27 +01:00

367 Commits

Author SHA1 Message Date
Johann-S
b40b1bc396 Add attachment classes 2017-05-14 11:41:19 +02:00
Johann-S
81e07ec052 Begin to add arrow to Popover and Tooltip 2017-05-14 11:41:19 +02:00
Johann-S
6cf0fe8780 Use Popper for tooltip and popover 2017-05-14 11:41:19 +02:00
Joyce Babu
db2db6cd0e Fix typo removeData for Tabs plugin
Should remove `data` not `class` on dispose
2017-04-28 15:31:35 +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
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
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
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-Denis Vanduynslager
81e12d5715 Indent 2017-04-12 09:41:27 -04: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
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
Pierre Vanduynslager
48c5efa4c3 Fix JS components console error "Error: <Component> is transitioning" 2017-03-28 23:43:15 +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
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
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
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 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
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
fa1504e6f6 Fix code style 2017-03-08 11:15:58 +01:00
Johann-S
099486f294 Detach accordions from .card 2017-03-07 10:46:08 +01:00
Pierre-Denis Vanduynslager
4ab576a419 Fixes #21941 2017-02-08 18:51:50 -05:00
Pierre-Denis Vanduynslager
403f55fba9 Fix spacebar key in Firefox for button elements 2017-01-22 17:34:54 -05:00
Pierre-Denis Vanduynslager
a85b80fa75 Merge branch 'twbs/v4-dev' into dropdown-keyboard 2017-01-15 10:33:54 -05:00
Pierre-Denis Vanduynslager
8fbd4aaa38 Correct reference to Direction.PREV constant. (#21709) 2017-01-15 13:46:03 +11:00
Pierre-Denis Vanduynslager
c80e13a48a Use existing keycode constants in dropdown. (#21697) 2017-01-15 13:42:24 +11:00
Pierre-Denis Vanduynslager
4c2f544359 Merge branch 'twbs/v4-dev' into dropdown-keyboard 2017-01-06 15:57:15 -05:00
Mark Otto
045888fa38 version bump 2017-01-06 08:38:04 -08:00
Patrick H. Lauke
85a1fdcb29 Merge pull request #21093 from Johann-S/fixButtonGrpAria
Close #21090 - Fix aria-pressed attribute for buttons in container with data-attribute="buttons"
2017-01-05 09:35:43 +00:00
Pierre-Denis Vanduynslager
d1b742f228 Use pageYOffset instead of scrollY 2017-01-04 11:42:08 -08:00
Pierre-Denis Vanduynslager
67958f35e8 Merge conflict 2017-01-04 12:24:33 -05:00
Pierre-Denis Vanduynslager
c4867cfedb Merge branch 'twbs/v4-dev' into dropdown-keyboard
# Conflicts:
#	js/src/dropdown.js
2017-01-04 12:22:06 -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