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

731 Commits

Author SHA1 Message Date
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
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