Happy New Year everyone! I hope 2024 brings peace, love and joy to all of you!
It has finally come the time to release a first public alpha of the v2.0.0 code that I have been working on with varying intensity for quite a long time. This has taken me far longer than I would have liked due to many reasons (client projects, family, two kids and what not) but I am happy to finally share the code with the hopes that it will be useful to others.
SmartMenus Configurator
A new configurator tool is now available that allows configuring and testing your preferred navbar(s) layout and provides dynamic instructions/code samples based on the exact configuration. You can check it out at:
https://configurator.smartmenus.org
Docs
The docs for all future v2 releases will be available at:
https://docs.smartmenus.org
The source code of the configurator and docs is now hosted in the main repo at GitHub so please feel free to contribute and/or suggest any improvements.
Source code
You can find the code in the new 2.0.0-dev
branch at GitHub:
https://github.com/vadikom/smartmenus/tree/2.0.0-dev
It has also been published to npm:
https://www.npmjs.com/package/smartmenus
What's new (in short)
- Complete rewrite of the JS code with no external library dependencies (jQuery) any more
- Refactored script options considering support for both single page applications (SPA) as well as (can we now call it old school?) full page reloads
- Support for arbitrary menu tree HTML structure via new script options
- Support for complete navbars (including nav toggler buttons, offcanvas/collapse elements, etc.)
- Support for split links - i.e. parent menu items that have both a link and a sub toggler
- Complete rewrite of the CSS code with support for many different navbar/nav variants (thousands of combinations supported)
- Highly customizable theme via CSS/SASS variables
Well, I think that's all for now. Happy coding! 🙂
Posted on 02 Jan, 2024 at 12:51 pm under Releases, Uncategorized
A couple of maintenance releases are now available.
What's new in 1.1.1
- A second click on a main menu item when "showOnClick: true" should hide the sub menu
- Update demos with Bootstrap 4.5.0
- Fix: Mouse input not detected correctly on Windows when pointer speed is set to any of the fastest 2 options and additionally "Enhance pointer precision" is unchecked
- Fix: Avoid Content Security Policy issue when valid JSON is used as "data-sm-options" value
- Fix: "showOnClick: true" should not affect collapsible mode behavior in any way
- Fix: Remove SHJS syntax highlighter source code from the repo
- Fix: Problem with markCurrentTree in megamenu
- Fix: Uncaught TypeError when clicking on items (that do not have a sub menu in certain cases) in collapsible mode
What's new in 1.0.2
We decided to update the old 1.0.x branch for those of you still using it with a fix for a pretty critical issue reported recently:
- Fix: Mouse input not detected correctly on Windows when pointer speed is set to any of the fastest 2 options and additionally "Enhance pointer precision" is unchecked
Download a 1.0.2 zip.
Project status update
Some of you have been concerned about the state of the project so I would like to take this opportunity to post a short status update. 🙂
In short - I have no plans of shutting down the project and I am already working on a new major release.
If you are interested in a longer explanation, I've posted a brief summary of the reasons behind the lack of any notable recent project activity:
https://github.com/vadikom/smartmenus/issues/105
As always, thanks a lot for your support! And I hope I would be able to share some good news soon (whatever "soon" means 🙂 ). Keep it up and stay safe in these weird times!
Posted on 23 Jul, 2020 at 2:00 pm under Releases, SmartMenus jQuery
It's time for another major release and 1.1.0 is now available! We are bringing some notable improvements to the code and have packed a number of fixes based on your continuing feedback since 1.0.1 which was released almost a year ago. And still we've tried to keep the upgrade process as simple as possible.
What's new
- Support jQuery 1.7+ (no more 1.4.4+)
- Support jQuery "slim" versions
- New Bootsrap 4 addon
- New long requested option
collapsibleBehavior
- Remove Compass dependency in the themes
- Change main module name from "jquery.smartmenus" to "smartmenus" in addons
- Replace
bind
/unbind
, delegate
/undelegate
with on
/off
in the JS
- Replace
:before
/:after
with ::before
/::after
in the CSS
- Fix: themes SCSS files renamed to avoid filename issue for
@import
in node-sass (e.g. from "_sm-blue.scss" to "_sm-blue-theme.scss")
- Fix:
hideOnClick: true
not working in collapsible mode if the menu item text is wrapped in a <span>
- Fix:
isCSSOn()
method not working properly when the main menu links have display
set to anything other than inline
- Bootstrap addon fix: prevent issue in Chrome if
display: flex
is set to any .navbar-nav
in desktop view
- Deprecate and remove
overlapControlsInIE
option
Multi-level navbar dropdowns with Bootstrap 4 made simple
Now that Bootstrap 4 has gone "beta" we thought it's the right time to finally release an official addon for it. The new Bootstrap 4 addon works exactly like the original Bootstrap (3) addon. You just need to include the JS/CSS files on your page and you are good to go with your multi-level dropdowns - everything should work automatically including full support for your Bootstrap 4 theme.
We have created a few demo pages with quick instructions (they're also included in the download package):
Thanks for your support! We hope you'll enjoy the new release as much as we do! ❤️
Posted on 17 Sep, 2017 at 3:44 pm under Bootstrap, Bootstrap 4, Releases, SmartMenus jQuery
It's been a while since the v1.0.0 final release so we are very happy to share some good stuff today. 🙂
First, we are now launching a new online demos + themes gallery. We hope many of you will find useful the current samples and, of course, we do plan to add more soon.
And second, we are also releasing the maintenance v1.0.1 today. As the minor version bump suggests, it's mainly a maintenance release including some CSS bug fixes for the themes but there is also a handy new feature added:
- Added support for the
data-sm-options
attribute on the root <ul>
element
This allows setting any custom options directly in the HTML source rather than passing them in the init function call. It is particularly useful when using the Bootstrap addon since users will not need to modify the addon source code any more if they just need to set some custom option.
As always, we are grateful to everyone that contributed to this release! Enjoy!
Posted on 01 Nov, 2016 at 1:04 pm under Releases, SmartMenus jQuery
First of all, Happy New Year everyone! We hope you've had wonderful holidays and wish you all the best in 2016! 🙂
Now to some long-awaited news from us. More than 2 years after the first public release we are excited and happy to finally reach the v1.0.0 milestone. It's been a long journey, far, far longer than we initially planned and expected but we feel it was worth it and the project has evolved and matured into something we can proudly stand behind.
Posted on 27 Jan, 2016 at 11:01 am under AMD, CommonJS, npm, Releases, SmartMenus jQuery
It took us 9 months since the last v0.9.7 but the first 1.0.x release is finally here. Although dubbed a "beta", we are actually not aware of any issues or bugs at the moment so we consider it safe for production use. If everything goes well, we have planned to go v1.0.0 final in the coming weeks so this is really a major milestone for the project.
Posted on 01 Jun, 2015 at 5:52 pm under Bootstrap, Releases, SmartMenus jQuery
The new v0.9.7 is now released including some notable changes, features and fixes:
- Removed menu layout tweaks and hacks for IE 6/7/8
- Switched to
box-sizing: border-box;
- Long sub menus can now be scrolled via touch for fixed positioned menu bars
- Added Bower support
- and more...
Posted on 25 Aug, 2014 at 4:15 pm under Releases, SmartMenus jQuery
A new theme named "sm-mint" is now available in the download package and you can also check it out right away online at the GitHub demo page.
As for v0.9.6, it's basically just another maintenance release on the road to v1.0.0. It features some bug and compatibility fixes both in the script core and the Bootstrap addon which is also bumped to v0.1.1 and should now work properly for those of you using jQuery in noConflict() mode.
Posted on 27 Mar, 2014 at 4:04 pm under Releases, SmartMenus jQuery
We are now introducing advanced keyboard navigation support via a small optional addon script. By default even without this addon the SmartMenus plugin includes basic keyboard navigation support - i.e. a user can use the Tab key to cycle through all main and sub menu links. This addon takes keyboard navigation to a more advanced level by allowing the use of the keyboard arrow and Esc keys to browse the menu tree conveniently. Additionally a hotkey can be set too if needed - i.e. a keyboard shortcut that will send focus to any menu tree. Here is an online demo with instructions (it is, of course, also included in the download package):
http://vadikom.github.io/smartmenus/src/demo/keyboard-navigation.html
We are also releasing v0.9.4 today which includes some fixes for keyboard navigation on touch devices. It should now work equally well on touch or mouse-driven devices. This version also includes some other fixes and generic optimizations so all in all it's a recommended update for all users.
Posted on 01 Dec, 2013 at 1:27 pm under Releases, SmartMenus jQuery
Bootstrap 3's global usage of box-sizing: border-box
was causing incorrect sub menus positioning in some browsers like Chrome so we've addressed this in v0.9.3 which is now available. SmartMenus jQuery should now be considered fully compatible with Bootstrap 3.
Note: The actual fix is in the "sm-core-css.css" file so make sure you update it too if you are upgrading.
Posted on 08 Oct, 2013 at 4:04 pm under Releases, SmartMenus jQuery