Releases: thednp/bootstrap.native
Releases · thednp/bootstrap.native
5.1.0
What changed
- 🔋 added a new PositionObserver for Tooltip, Popover, Dropdown and ScrollSpy to replace the legacy scroll and/or resize event listeners, for top notch performance;
- 📟 Modal and Offcanvas now make use of ResizeObserver with the same effect;
- 🗺️ Tooltip and Popover use a different positioning system based on
position: absolute
; - 🚇 improved accessibility for Modal and Offcanvas by implementing a focus trap, if at least one focusable element is inside your modal/offcanvas, users cannot focus outside of it;
- 💯 replaced Cypress tests with Vitest, it's not just better but it works perfect on my Linux machine;
- ⛑️ removed many tools like eslint and prettier with Deno 2.0 powered tools; we only update dependencies that actually matter;
- 🚄 performance improvements: early
return
s instead of longif
s, improved logic, code cleanup; - 🔑 updated Types, in some cases more strict in others more flexible;
- 🕺 all interaction event listeners now check for target
disabled
status; - ✔️ fixed Tab event listener for the cases where
currentTarget
is a child element of the event target (possibly a result of incorrect code mergers in the past);
TypeScript version alpha version
5.0.0 Changes
Typescript
All components, utilities, tooling, testing is 100% TypeScript sourced.
Tooltip/Popover
- simplified Tooltip/Popover positioning code
- deprecated the container option
Other
- updated tests
- updated dependencies
- updated tooling, replaced Rollup with Vite
- added Prettier
- code cleanup and minor fixes
Important update
What's changed
- removed V4 version of our sources and polyfill, all legacy code is moved to a separate branch
- Carousel no longer use touch events but a standardized pointer event listener setup
- Modal and Offcanvas will use a callback for dispose() method combined with specific hide() / close() method
- Updated Popover / Tooltip for Bootstrap 5.2.x
What's new
- Added Cypress testing suite for all components
- Added codeQL
- Various improvements for Tooltip / Popover, now you can set all content items (Popover title, content and btnClose as HTMLElement or string, Tooltip title) as well as the template option
- added
triggers
andisShown
property to Toast component - Offcanvas also has 'static' backdrop option
What's fixed
- Fixing Tab issue #444
- Minor fix for Button.isActive property
- Minor fixes to allow working with iframes, bugs revealed by Cypress testing
- Dropdown improvements for automatic positioning
For a complete and detailed view of the changes, check out the commits log
BSN 4.1.0 stable release
What Changed
In brief, a complete rework of all components for stronger TypeScript or improved JavaScript consistency, as well as new features.
Potentially Breaking Changes
- Target elements no longer host the initialization object (EG:
myAlertElement.Alert
), you now need to use the build in static methods (EG:BSN.Alert.getInstance(myAlertElement)
which is on par with the original library. - Utilities are now split between V4 and V5, V4 will use those versions with legacy browsers fallback while V5 only uses modern browsers utilities only, which means our V5 is completely and definitely free from legacy browsers fallback.
- Our
shorter-js
library has suffered an entire sweep of changes to file and folder structure, your de-duped builds may need some updates.
New Features
- Added TypeScript "strong type" definitions. This effort was possible thanks to @fmasa.
- Added the new EventListener to handle component event listeners even more efficient.
- Added a new Timer to replace various properties added to component targets (EG.
myCollapse.isAnimating
) the result is: execution must never bubble or break in any case. The following components benefit: Carousel, Collapse, Modal, Tooltip, Popover, Tab and Toast. - Added full RTL support for Carousel, Dropdown, Popover & Tooltip, and the demo has been updated to reflect the changes.
- Carousel can work with multiple controls as long as they match the DATA API to point to the target
.carousel
element. - Tooltip now supports trigger event options just like Popover and the original library.
Improvements
- Tooltip and Popover now fully implement floating-ui (featured with Popper) to better determine the tooltip / popover position in any configuration or context.
- Popover is now extending Tooltip, similar to how the original library Popover works, it makes the
dist/components.popover.js
slightly larger in size, but BSN is overall smaller. - Dropdown dynamic positioning is improved to work with RTL languages, but also better handle position in general.
Most Notable Commits
Thanks to all who tested and participated in #430 @midzer @jcorporation @lekoala
Major Version Release 4.0 for Bootstrap 5
Changes:
- BSN V5 is now the official build (
bootstrap.native.js
), BSN V4 is now the legacy version (bootstrap-native.v4.js
) - Major version bump 4.0.0 as discussed here
- Complete changelog #400
First Bootstrap 5 version available
This is an important release, that's why I'm adding here a RELEASE TAG. BSN for Bootstrap 5 is probably close to what I'd call great.
For full changelog, please check #400
Please test and report back.
BSN now works in HEAD
Updated shorter-js
to make BSN work in the site <head>
section.
Fixed components not exported to cdn
Better and dedicated build tools for components modules
3.0.7 Bump version
Components as modules now available, other improvements
Changes:
- changed all util and imports structure for more accurate bundles
- addressing #381, added more build scripts, now
dist/components/
folder holds UMD and ESM modules for all components, thanks @lpar - removed dependency on
shorter-js
for events handling, class manipulation, and more, see commit file changes - removed the
tryWrapper
due to some inconsistency error reporting, despite the benefit it brings - Code cleanup