0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-04 16:24:22 +01:00
Commit Graph

306 Commits

Author SHA1 Message Date
Martijn Cuppens
8cfbf6933b Consistent usage of $(document.body) instead of $('body') (#25671) 2018-02-21 09:01:02 +01:00
Martijn Cuppens
3dd0bde664 Fix carousel transition duration (#25218) 2018-02-19 10:10:25 +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
denisx
db70164d13 ignore case (#25373)
Less on 2 symbols
2018-01-21 21:51:49 +02:00
719media
bd9084d249 Update dropdown.js to allow referenceElement (#25219) 2018-01-21 19:09:23 +01:00
Mark Otto
572d00ac7e Bump version to 4.0.0 2018-01-18 10:24:51 -08:00
XhmikosR
80d0943b95 Comply to the new rules. 2018-01-11 18:48:46 +02:00
Łukasz
1a231e4bee Check for window before window.QUnit (#25199) 2018-01-08 13:15:22 +01: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
XhmikosR
bf0e753517
Update devDependencies and gems. (#25083) 2017-12-31 02:03:22 +02:00
Mark Otto
ced70da441 Update version to 4.0.0-beta.3 2017-12-28 09:50:04 -08:00
Troy Morehouse
6f1e746d70 tooltip+popover: add boundary config option (#24979) 2017-12-12 11:36:54 +02:00
Troy Morehouse
8839c03865 dropdown: add boundary config option (#24976) 2017-12-12 11:28:30 +02:00
Mr_Green
9d373d7112 Use only transitionend event (#24962) 2017-12-07 12:10:18 +01: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
Vasilii Artemchuk
2cafb9f127 Simplify spread (#24774) 2017-11-15 09:44:17 +01:00
Johann-S
9a0bba9afa
Object spread : less jQuery more ES6 (#24665) 2017-11-13 11:25:36 +01: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
6d00ed586b Do not create a Popper.js instance when we don't need it 2017-10-30 09:51:57 +01:00
Johann-S
2232b6b4d1 Throw error about Popper.js only when it's needed because some of our plugins don't use it (#24573) 2017-10-29 15:51:04 -07:00
Johann-S
e454c8ec1e Add dropright and dropleft (right and left placements for our dropdown) (#23860)
* Add dropright (right placement for our dropdown)

* Add dropleft

* moves drop left arrow to the left
2017-10-29 15:29:13 -07: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
62fbb23ee6 Change Rollup config to wrap our dist files with jQuery instead of $ 2017-10-24 12:39:25 +02:00
XhmikosR
ca4ad8bee8 Clean up transitionEnd properties. (#24511)
We don't support Opera 12, and Firefox's property was the unprefixed one.
2017-10-23 10:45:27 +03: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
Mark Otto
dbf5405cfd fix version number 2017-10-19 12:23:29 -07:00
Mark Otto
cf00548f4e new version number 2017-10-19 12:23:29 -07:00
XhmikosR
d763d019ad Make 1.9.1 the minimum jQuery version again. (#24434) 2017-10-19 09:02:27 -07:00
Johann-S
8e7ba02c5c Modal plugin set _isTransitioning after the trigger of hide event 2017-10-10 14:19:22 +02:00
lucascono
4b6537bef3 Fix modal bug
Fix for issue #24117
2017-10-04 06:08:34 -03:00
Johann-S
b29b1e1558 Use imported jQuery object 2017-10-04 09:55:32 +02:00
Roman O
527f55c2f3 Offset option for dropdown can be function (#24222)
* Offset option can be function (Popper.js)

* Fix...add function type for offset option

* Remove constants for popper config

* Optimize code. Remove foreach loop.

* Refactoring. Remove getOffset method
2017-10-03 14:34:44 +02: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
vsn4ik
d5890cb82f Remove not necessary condition in tooltip.js 2017-09-11 22:44:42 +03:00
Patrick Yeo
4527652177 Collapse.js preventDefault if [data-toggle="collapse"] is an anchor tag 2017-09-08 14:53:15 -07:00
Johann-S
b822b5a17f Remove placement attribute from our Dropdown plugin 2017-09-07 13:51:25 +02:00
Johann-S
e04e42d08c Merge branch 'v4-dev' into fix-jumping-modal-on-resize 2017-09-03 12:56:04 +02:00
Johann-S
37e105333d Merge branch 'v4-dev' into fix-unwanted-padding-on-modal 2017-09-02 09:04:04 +02:00
Johann-S
a4667be152 Regroup our jQuery check in the same IIFE 2017-08-31 20:54:15 +03:00
Johann-S
9936bf5944 Create a bundled release of Bootstrap with Popper.js inside 2017-08-31 18:43:04 +02:00
David Bailey
cbaf7a7b79 Fix failing test
_adjustDialog should be called when the modal is first displayed to prevent it jumping position when the viewport is resized
2017-08-29 15:42:58 +01:00
David Bailey
3f2a8db471 Use getBoundingClientRect instead of jQuery 2017-08-28 18:55:45 +01:00
David Bailey
2725acc9e5 Use jQuery outerWidth instead of offsetWidth 2017-08-28 18:44:56 +01:00
David Bailey
a4fff7c383 Fix unwanted body padding when a modal opens
Prevents the test from failing
2017-08-28 18:35:47 +01:00
Johann-S
bcad4bcb5f Fix XSS in data-target 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
Johann-S
6063b0dc65 Enable the no-return-assign rule. 2017-08-23 00:05:38 +03:00
XhmikosR
ef8c77d8dc Tweak ESLint rules. 2017-08-23 00:05:38 +03:00
XhmikosR
74d96392d2 Update devDependencies and fix a typo in comment. (#23534) 2017-08-18 16:55:59 +03:00
Johann-S
58b54b6c15 Carousel - do not call next when the carousel or the parent isn't visible 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
640c13062c When we show our tabs element use children to be more restrictive 2017-08-11 15:04:07 +03:00
XhmikosR
b55fa5579b tabs: make the active selector more restrictive again.
When one uses say a carousel inside a tab, the `.active` selector previously matches the carousel ones too leading to broken tabs.

It's not the perfect solution but should the job for now.
2017-08-11 15:04:07 +03:00
Mark Otto
35f80bb12e bump to beta 2017-08-10 20:56:35 -07: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
Johann-S
8170816094 Detect if the dropdown is in a navbar or not when update is called 2017-06-17 13:12:39 -07:00
Catalin Zalog
f640ec9662 Some .navbar .dropdown-menu optimisation (#22776) 2017-06-17 13:12:39 -07:00
Johann-S
af93db294b Reset Popper.js styles for Dropdowns in navbar 2017-06-17 13:12:39 -07:00
Johann-S
6ed8a735d0 fix some errors in our js 2017-06-16 10:57:13 +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
5f493cfc74 Remove the use of x-arrow attribute for Tooltips/Popovers arrows 2017-05-31 09:54:58 +02:00
Johann-S
4c3b6c5ceb Placement auto for popovers 2017-05-24 14:57:40 +02:00
Johann-S
2c72af88ee Placement auto for tooltips 2017-05-24 14:57:40 +02:00
Johann-S
aa36439e17 Use Popper.js to manage arrow position 2017-05-23 15:19:54 +02:00
Johann-S
70f4a30def Better management of dropdown/dropup with alignment 2017-05-22 16:14:10 +02:00
Johann-S
b36d8ae6cb Use popper to align dropdown menu instead of using css with important 2017-05-17 22:03:11 +02:00
Johann-S
c78cbb275b Change fallbackPlacement to flip by default for Tooltips/Popovers 2017-05-14 11:41:19 +02:00
Johann-S
cc455c16c3 Fix bad position for Tooltips with animation at true 2017-05-14 11:41:19 +02:00
Johann-S
0cdf176f7a Use _jQueryInterface for Dropdown to call toggle method 2017-05-14 11:41:19 +02:00
Johann-S
0ae9d28ba3 Add fallbackPlacement option for Tooltip and Popover 2017-05-14 11:41:19 +02:00
Johann-S
4f882a840c Allow to disable flip behaviour on Dropdown + documentation 2017-05-14 11:41:19 +02:00
Johann-S
e5a0471b0b Add an update method to allow to update position for Tooltip/Popover/Dropdown manually 2017-05-14 11:41:19 +02:00
Johann-S
fc8b85b626 Fix some css for the arrow of Popover/Tooltip + update documentation 2017-05-14 11:41:19 +02:00
Johann-S
18e4e851e2 Better placement for Dropdown + Handle flip of Tooltip/Popover 2017-05-14 11:41:19 +02:00
Johann-S
d5fabf8de5 Remove totaly Tether from documentation + dependencies 2017-05-14 11:41:19 +02: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
c21a2b0d92 Remove constraints option and check every options 2017-05-14 11:41:19 +02:00
Johann-S
54a8ab4011 Begin to use Popper for Dropdown 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
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