Skip to content

Releases: thednp/bootstrap.native

5.1.0

22 Nov 08:41
Compare
Choose a tag to compare

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 returns instead of long ifs, 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

26 Dec 18:09
Compare
Choose a tag to compare

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

30 May 12:49
Compare
Choose a tag to compare

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 and isShown 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

15 Feb 09:46
Compare
Choose a tag to compare

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

09 Jun 05:56
Compare
Choose a tag to compare

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

03 Feb 16:30
Compare
Choose a tag to compare

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

27 Jul 11:39
Compare
Choose a tag to compare

Updated shorter-js to make BSN work in the site <head> section.

Fixed components not exported to cdn

20 Jun 03:07
Compare
Choose a tag to compare

Better and dedicated build tools for components modules

19 Jun 05:20
Compare
Choose a tag to compare

Components as modules now available, other improvements

18 Jun 18:25
Compare
Choose a tag to compare

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