Mark Otto
195440f2fb
v5.2.0 design refresh, plus responsive offcanvas classes ( #35736 )
...
* Add responsive offcanvas classes
- Updates navbar-expand classes to de-dupe some styles—these shouldn't interfere now.
- Adds some JS to the offcanvas component to help with responsiveness
Co-Authored-By: GeoSot <geo.sotis@gmail.com>
* Redesign homepage, docs, and examples
Homepage:
- New Bootstrap purple navbar
- Redesigned masthead
- Rewrote and redesigned homepage content
- Replace Copy text with icons like Bootstrap Icons site across all ClipboardJS instances
- Fixed padding issues in site footer
- Match homepage button styles to examples page, use gap instead of tons of responsive margin utils
Docs:
- New navbar, no more subnav. Migrated search and version picker into the main navbar and refreshed the design of it all, including the responsive toggles.
- New sidebar navigation is always expanded, and now features Bootstrap Icons alongside section headings
- Sidebar navigation autoscrolls to active link for better usability
- Subnav and navbar padding issues ironed out
- Enhanced the version picker in anticipation of v5.2: we can now link right to the same page in the previous version.
- Redesign callouts to add more color to our pages
- Collapse table of contents on mobile
- Cleanup and redesign button styles with CSS variables
- Update design for subnav version dropdown
- Update highlight and example to be full-width until md
- Improve the Added In badges
- Turn the ToC into a well on mobile
- Redesign code snippets to better house two action buttons
Examples:
- Redesign Examples page layout
- Add new example for responsive offcanvases in navbars
* Convert offcanvas to CSS vars
* Feat: add resize handler to Offcanvas.js.
If we could use as default the `.offcanvas` class without modifiers, we then, could add a simplified selector
The selector itself, ignores the .offcanvas class as it doesn't have any responsive behavior
The `aria-modal` addon is to protect us, selection backdrop elements
* Separate examples code, Add some selectors, fix stackblitz btn
Co-authored-by: GeoSot <geo.sotis@gmail.com>
2022-04-17 22:17:50 -07:00
GeoSot
ece1601227
Revamp Scrollspy using Intersection observer ( #33421 )
...
* Revamp scrollspy to use IntersectionObserver
* Add smooth scroll support
* Update scrollspy.js/md
* move functionality to method
* Update scrollspy.js
* Add SmoothScroll to docs example
* Refactor Using `Maps` and smaller methods
* Update scrollspy.md/js
* Update scrollspy.spec.js
* Support backwards compatibility
* minor optimizations
* Merge activation functionality
* Update scrollspy.md
* Update scrollspy.js
* Rewording some of the documentation changes
* Update scrollspy.js
* Update scrollspy.md
* tweaking calculation functionality & drop text that suggests, to deactivate target when wrapper is not visible
* tweak calculation
* Fix lint
* Support scrollspy in body & tests
* change doc example to a more valid solution
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
2022-04-13 10:29:13 -07:00
GeoSot
cfd2f3f778
Update dropdown.js
...
minor refactoring
2022-04-13 08:41:03 -07:00
GeoSot
135b9cdff2
Revamp tabs & follow ARIA 1.1 practices ( #33079 )
...
* Tab: Revamp tab.js & add support Aria features
* Tab: Add tab support, just to keep backwards compatibility. Better to remove it on v6
* Revert "Tab: Add tab support, just to keep backwards compatibility. Better to remove it on v6"
* Support arrow down/up functionality
* add prevent default to avoid scrolling the page during up/down keys handling
* remove panel tabindex handling
* Expand documentation text for JS plugin
* Rearrange new docs to specifically call out a11y
* properly place section
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2022-04-06 16:36:08 -07:00
GeoSot
6e904341c9
Carousel: change class check as it can only exist if carousel is sliding
...
Also, fix the corresponding test
2022-03-10 15:22:14 +02:00
GeoSot
3673933fe7
Carousel: rename private property
2022-03-10 15:22:14 +02:00
GeoSot
ec0e1c220e
Carousel: add comment for future fixes
2022-03-10 15:22:14 +02:00
GeoSot
88da704eed
Carousel: omit redundant checks as we are always transforming the right values
2022-03-10 15:22:14 +02:00
GeoSot
28f150d720
Carousel: omit config merging in jQueryInterface after we create the instance
...
This is already done inside `getOrCreateInstance` method
2022-03-10 15:22:14 +02:00
GeoSot
7e5a8016ba
Carousel: return early in `_slide` method
2022-03-09 17:25:47 +02:00
GeoSot
d4e87d28cd
Carousel: small refactoring, remove unnecessary checks
2022-03-09 17:25:47 +02:00
GeoSot
dd93551914
Carousel: refactor using inline function and move variables to the proper place
2022-03-09 17:25:47 +02:00
GeoSot
699402bee5
Carousel: refactor `_slide` method te accept only order as first argument
2022-03-09 17:25:47 +02:00
GeoSot
fcc2c80976
Carousel: add a `getItems` helper
2022-03-09 17:25:47 +02:00
GeoSot
b7cce49dbc
Carousel: use combined selector and drop variable used once
2022-03-09 17:25:47 +02:00
GeoSot
a8142497c7
Carousel: reorder variables and refactor method to use it inline
2022-03-09 17:25:47 +02:00
GeoSot
e77ae50311
Carousel: cleanup jQueryInterface
...
Drop chained else ifs and unused variable.
Since we were checking for `typeof config === 'string'` in both places, action was never `_config.slide`.
2022-03-09 17:25:47 +02:00
louismaxime.piton
6c40476af9
Fix dropdowns
2022-03-08 14:37:44 -08:00
Jann Westermann
8d7358f231
Add static backdrop to offcanvas ( #35832 )
...
* Add static backdrop option, to offcanvas
* Trigger prevented event on esc with keyboard=false
* Change offcanvas doc , moving backdrop examples to examples section
2022-03-02 02:20:37 +02:00
GeoSot
63f30ac8ee
Modal: refactor listeners to reduce some code noise ( #35902 )
2022-03-01 17:08:12 +02:00
GeoSot
c644f09d88
Carousel: simplify carousel items selection
...
We already know that carousel's parent is the carousel element, so we can use it explicitly
2022-03-01 16:56:33 +02:00
GeoSot
eb8d5b43ce
Carousel: move `carouselInterface` inside `jqueryInterface`
2022-03-01 16:56:33 +02:00
GeoSot
13042d25ca
Carousel: move logic of `dataApiClickHandler`
2022-03-01 16:56:33 +02:00
GeoSot
631cec4f70
Carousel: refactor dataApiKeyHandler to avoid use of `carouselInterface`
2022-03-01 16:56:33 +02:00
GeoSot
bb7664db0a
Dropdown: Simplify dataKeyApiHandler ( #35870 )
...
* Dropdown.js: Remove duplicated check for `Not Shown` instance
* Dropdown.js: Rearrange `dataApiKeydownHandler` checks
* Dropdown: do some fixup inside `dataApiKeydownHandler`
* Update dropdown.js
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-03-01 15:53:07 +02:00
Mark Otto
c0f30366ac
Add centered dropdown and dropup options
2022-02-28 14:02:51 -08:00
Дилян Палаузов
e4b62a920a
src/tooltip.js Optimization
...
Util.findShadowRoot() returns either null or an object.
It cannot return falsy, which allows this optimization.
2022-02-25 09:01:49 -08:00
GeoSot
cb8726d9e7
Dropdown: use a better selector to avoid triggering click if button is disabled ( #35866 )
2022-02-19 16:22:32 +02:00
GeoSot
353ad45b4b
Dropdown: use a combined selector to filter foreign not shown instances iteration ( #35766 )
2022-02-19 16:16:51 +02:00
GeoSot
407af8ac7f
Make event name helper and use it on tooltip & popover to reduce dist sizes ( #35856 )
...
* feat: create eventName getter function in baseComponent
* refactor: use `eventName` getter on tooltip & popover
2022-02-19 15:10:47 +02:00
GeoSot
642d756eea
Carousel: remove one more call to ActiveIndex
2022-02-19 14:52:36 +02:00
GeoSot
d52f6c9de1
Carousel: change argument to `_setActiveIndicatorElement`, from element to index
2022-02-19 14:52:36 +02:00
GeoSot
928bdcadc5
Carousel: make direct triggering of slid event, instead of using a callback
2022-02-19 14:52:36 +02:00
GeoSot
d97125475b
Carousel: merge slide functionality, regardless of whether it is animated or not
2022-02-19 14:52:36 +02:00
GeoSot
a247fe9b27
Carousel: simplify initialization on document load, using `getOrCreateInstance`
2022-02-19 14:52:36 +02:00
GeoSot
ccba6a3589
Carousel: remove redundant config merge on `dataApiClickHandler`, as it is done by default in the `constructor`
2022-02-19 14:52:36 +02:00
Anton
a805330f63
Optimize jQueryInterface in Collapse ( #35689 )
...
extracts config initialization from cycle
2022-02-07 10:50:26 +02:00
XhmikosR
cf7fec8a2e
event-handler.js: remove unneeded return statement
2022-02-01 12:43:19 +02:00
GeoSot
a1e924c4da
Event-handler: use `Array.find` instead of `for`
2022-02-01 12:43:19 +02:00
GeoSot
fc7c5fcb7a
Event-handler: initialize variable properly
2022-02-01 12:43:19 +02:00
GeoSot
c44d99f55c
Dropdown: use destructured variables in `dataApyKeydownHandler`
2022-02-01 08:58:46 +02:00
GeoSot
c14fc989df
Dropdown: dropdown doesn't document `data-bs-target` option & `parentNode` is ALWAYS the wrapper for toggle & menu
2022-02-01 08:58:46 +02:00
GeoSot
d105439235
Dropdown: merge instance identification in `dataApiKeydownHandler`
...
As we use the `dataApiKeydownHandler` only for events that are triggered on `[data-bs-toggle="dropdown"]` or on `.dropdown-menu`, we can ensure that their `parentNode` will ALWAYS be the `.dropdown` wrapper
2022-02-01 08:58:46 +02:00
GeoSot
7f04f84bf8
Dropdown: use only one check for shown state
2022-01-30 18:01:09 +02:00
GeoSot
5f1c542d67
Dropdown: get dropdown's parent in one place
2022-01-30 18:01:09 +02:00
GeoSot
74f24cdf24
More tooltip refactoring ( #35546 )
...
* Tooltip.js: move `shown` check to method
* Tooltip.js: move Popper's creation to method
* Tooltip.js: merge checks before `hide`
* Tooltip.js: minor refactoring on `toggle` method
2022-01-30 17:39:03 +02:00
GeoSot
882185bbde
Change selector-engine.js `parents` method to utilize better js native methods ( #35684 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2022-01-30 16:24:03 +02:00
GeoSot
28c9002573
Modal: handle click event from backdrop callback
2022-01-30 15:39:34 +02:00
GeoSot
d092817059
Event handler: merge `new Event` with `new CustomEvent`
2022-01-30 14:15:17 +02:00
GeoSot
fa93995123
Event handler: replace deprecated `initEvent`
2022-01-30 14:15:17 +02:00
XhmikosR
0840105d7f
SelectorEngine: remove moot space
2022-01-29 13:25:30 +02:00
XhmikosR
558002f3dc
Return early in more places
2022-01-29 13:25:30 +02:00
XhmikosR
7d3bc44bb0
dropdown: Move constant
2022-01-29 13:25:30 +02:00
GeoSot
a8887ea8a8
collapse: merge class toggling
2022-01-29 13:25:30 +02:00
XhmikosR
b5147ec218
event-handler.js: use `for...of`
2022-01-29 13:25:30 +02:00
XhmikosR
62d86c07f8
Rename variables
2022-01-29 13:25:30 +02:00
XhmikosR
3ac4451d47
backdrop.js: cache `_getElement` calls
2022-01-29 13:25:30 +02:00
XhmikosR
0c3dfe104b
Remove a few unneeded variables
2022-01-29 13:25:30 +02:00
Ryan Berliner
14c7dc1e88
Fix: `isVisible` function behavior in case of a `<details>` element, on chrome 97 ( #35682 )
2022-01-13 10:55:05 +02:00
Patrick H. Lauke
0d054bb0f1
Remove explicit use of aria-hidden for offcanvas when closed ( #35589 )
...
Remove explicit use of aria-hidden & visibility for offcanvas when closed, handling it with css
Co-authored-by: GeoSot <geo.sotis@gmail.com>
Co-authored-by: Gaël Poupard <ffoodd@users.noreply.github.com>
2022-01-05 19:20:15 +02:00
GeoSot
0d4213bde3
Carousel: move repeated code to a method
2021-12-21 17:37:24 +02:00
GeoSot
b8ee68cfa0
Carousel: remove always true `visibilityState` check
...
According to https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState `visibilityState` is always a string, so the check was always true
2021-12-21 17:37:24 +02:00
GeoSot
ff4bf4a458
Carousel: move carousel default interval to `_getConfig()` and simplify it
2021-12-21 17:37:24 +02:00
GeoSot
6f79721c82
Carousel: return early and drop a loop.
...
We can achieve the same thing by querying the specific selector directly
2021-12-21 17:37:24 +02:00
GeoSot
d60f146507
Carousel: add a helper to get the active element
2021-12-21 17:37:24 +02:00
GeoSot
65cf77ae3e
Popover/Tooltip: Fix vertical alignment on arrow of tip elements ( #35527 )
...
Regression of #32692
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-21 17:19:29 +02:00
Phil E. Taylor
c2db7108c2
Fix typo in comment ( #35564 )
...
s/moddal/modal
2021-12-18 07:58:31 +02:00
GeoSot
e0960b08e0
Tooltip: remove extraneous call to _getConfig() ( #35540 )
...
BaseClass already initializes the config
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-15 10:47:32 +02:00
GeoSot
d40fae456e
Popover.js: Accept empty content through `data-bs-content` ( #35514 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-15 10:41:31 +02:00
XhmikosR
cd04fe015f
Scrollspy: minor refactoring ( #35512 )
...
* reorder variables
* join lines
* use `filter(Boolean)` since it's clearer
* use `for...of`
2021-12-15 09:38:06 +02:00
GeoSot
886b940796
Extract Component config functionality to a separate class ( #33872 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-10 18:18:18 +02:00
XhmikosR
63d38b1974
Tab: minor refactoring ( #35511 )
...
* remove unneeded parentheses
* move variable
2021-12-10 07:51:57 +02:00
XhmikosR
871c8bdd3f
util/index.js: minor refactoring ( #35510 )
...
* rename variables
* remove an unused variable
* be more explicit
* reuse variable
2021-12-10 07:48:04 +02:00
XhmikosR
eaa801c899
Toast: join multiple classList calls ( #35507 )
2021-12-10 07:42:08 +02:00
GeoSot
28a5a72ed5
Scrollbar - remove margin/padding properties properly ( #35388 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-09 15:49:28 +02:00
GeoSot
c376cb0763
Dropdown: fix toggle focus after dropdown is hidden using the `ESC` button ( #35500 )
2021-12-09 15:34:17 +02:00
GeoSot
4fd5539c75
ScrollBar.js. Minor refactoring and add test ( #35492 )
2021-12-09 15:05:50 +02:00
GeoSot
328f723008
Tooltip: remove title attribute before show & add tests ( #35456 )
2021-12-07 15:51:56 +02:00
GeoSot
385fea49e8
Tooltip/Popover: add underscore prefix to protected functions
2021-12-01 18:00:36 +02:00
GeoSot
bd79d69a73
Tooltip: a simple code-block position change
2021-12-01 18:00:36 +02:00
GeoSot
1f7b83203d
Tooltip: simplify popper check
2021-12-01 18:00:36 +02:00
GeoSot
9b9372e8dd
Tooltip: refactor `_hoverState` to Boolean to achieve better control
2021-12-01 18:00:36 +02:00
GeoSot
8eacbaa08b
Tooltip: merge timeout functionality
2021-12-01 18:00:36 +02:00
GeoSot
c69ccba08c
Tooltip: Change `_enter` & `_leave` to work without arguments
2021-12-01 18:00:36 +02:00
GeoSot
a20e4203fe
Tooltip: Remove redundant `config.delay` check
...
`config.delay` is always an object after initialization
2021-12-01 18:00:36 +02:00
GeoSot
724663b3cd
Tooltip: Remove `Data.set` usage for dynamically created tip
...
This is not used any further, so we were just setting it.
2021-12-01 18:00:36 +02:00
GeoSot
3baeb0a5c1
Tooltip: merge `isAnimated` checks
2021-12-01 18:00:36 +02:00
GeoSot
53c77c0203
Tooltip: refactor jQueryInterface
2021-12-01 18:00:36 +02:00
GeoSot
dd07c1ff9e
Dropdown: clearMenus is always an event callback
2021-12-01 17:10:39 +02:00
GeoSot
f71640f048
Dropdown: Clean more
2021-12-01 17:10:39 +02:00
GeoSot
21e5618ba7
Dropdown: rename vars
2021-12-01 17:10:39 +02:00
GeoSot
0686fa00f0
Dropdown: Remove redundant `Space` check
2021-12-01 17:10:39 +02:00
GeoSot
a14a552d83
Dropdown: Deduplicate complex check
2021-12-01 17:10:39 +02:00
GeoSot
bff95d55af
Dropdown: Remove redundant check since the `show` method already does it
2021-12-01 17:10:39 +02:00
GeoSot
2d32802f53
Dropdown: Change constant to the way we use it
2021-12-01 17:10:39 +02:00
GeoSot
fb5921dec4
Dropdown: Merge `display='static'` & `isNavbar` functionality activating static popper with no styles attached
2021-12-01 17:10:39 +02:00
GeoSot
137b324930
Dropdown: Remove static method used once
2021-12-01 17:10:39 +02:00
GeoSot
cab62af2e6
Fix popover arrow & tooltip template after the `setContent` addition ( #35441 )
2021-12-01 15:10:10 +02:00
GeoSot
44a6cd724c
Tooltip: remove leftover method ( #35440 )
...
Remove a leftover after #32692
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-01 14:53:56 +02:00
GeoSot
6f077ff7bc
Clean tooltip component unneeded functionality ( #32692 )
2021-11-25 20:08:11 +02:00