3.0.0-alpha.0 (2021-06-18)
⚠ BREAKING CHANGES
-
disclosuremenu: Users expecting the default handling of the option keys will now need to set
optionalKeySupport to true
-
validation: merge isHTMLELement, isEvent, isKeyboardEvent, isMenu, and isMenuToggle into
isValidInstance and merge isBoolean, isString, and isNumber into isValidType
-
focus: custom menus extending BaseMenu and relying on the menubar's focus functionality
will need to extend Menubar.
-
dist: Removing all polyfills and reference to IE in the compiler will break all menus
when displayed in IE
-
menus: if any existing implementation relies on sub-menus and toggles to not inherit the root's properties, this will cause major functionality issues.
-
Changing both the file and class names for MenuItem and MenuToggle will break
anything relying on those classes.
-
refactor(generation): set menu and children element classes during contruction
-
feat(menus): add specific menu item and toggle classes for each menu type
-
refactor(imports): add .js extention to ensure browser module support
-
test(functional): add browser module testing for available menu types
-
chore: add compiled code
-
test: update tests for hovering and events
Features
- disclosure: add getter/setter for optionalKeySupport (f6ef2d4)
- disclosuremenu: add the ability to toggle optional keyboard support (18c0fa7), closes #104
- dist: add full esm support and kill IE support (8610728)
- hover: change isHoverable to hoverType to handle dynamic hovers (2cf40aa), closes #100
- initialization: add a flag to allow/disallow auto initialization for subclass menus (0fc701f)
- menu: add new method to focus a child of a given index (cea3352)
- menu: add shoudlFocus getter to control moving focus in the DOM (68ca8a6)
- menu: have focus follow hover when hover is set to dynamic (a2e7e1a), closes #100
- subclass: add Treeview subclass (e25c93f), closes #105
- toggle: allow expand and collapse methods to be silent (8282e93)
- implement browser module support (0bab26c)
Bug Fixes
- event: make sure key is not a number before using .match() (d8b0f02)
- menu: add basic error prevention when setting the currentChild (ce1b431)
- menu: add blurSiblings method to menu items to fix click issues (5b1f7f2)
- menu: ensure proper event type is set for menus (a4f7505)
- menu: manually trigger click action on space/enter (559afc8)
- module: resolve circular dependencies (5278b1e), closes #95
- treeview: correct toggle class name (e96ffaa)
- validation: ensure error message only use constructor's name (80ccdcc)
- validation: fail isCSSSelector is null is passed (15c34a3)
- validation: make isEventSupported return false if either checks fail (ecd9f88)
- validation: make isValidClassList fail if array is passed instead of object (c401b70)
Performance Improvements
- menu: clean up handeClick for all menus (6bdfdd0)
- validation: reduce validation functions into instance or type validation (42bf94e)
Build System
- lint: pass ignore file to prettier during lint-staged (1cdfbd8)
- npm: package entire src directory (02bca65)
- use specific rollup file to allow multiple exports on index (82a3f48)
- editor: add specific editor config (fd44608)
- lint: use prettier as a stand-alone formatter (aedffb1)
- npm: add lint-staged for faster commits (1874fb3)
- npm: add new files to packaged files (135d7b2)
- npm: cleanup package and add files (9ec6ca6)
- npm: rename test build command (8bd9706)
- npm: upgrade husky to 6.0 (ab7579a)
- prettier: specifically set the prettier options that are cared about (4f7c5af)
Documentation
- classes: correct error in focus state for closing toggles (93cc9ca)
- add information about dist directory and what is provided (0865987)
- minor corrections to comments (9964af8)
- remove reference to open/close classes for menu toggles (247dff2)
- basics: update basic exmaples to reflect changes (3a01856)
- classes: update all class documentation to reflect changes made (b5f06d4)
- readme: update general information (ef079f1)
Code Refactoring
- focus: move focus methods for menubar into the menubar subclass (38230a8)
- menu: make sure all parameters are valid before initialization (ae694c7)
- menus: use root props for sub-menus and toggles (4aea368), closes #86
- toggle: rearrange actions in open, preview, and close to make more sense (f26e120)
- validation: make classlist validation more useful (f8edd77)
- validation: rework validation to be more descriptive and helpful (7456490)
- validation: use proper name for open/close class validation (6d5073c)