All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
3.0.4 (2021-11-30)
- menu: do not trigger hover events for pointer types pen or touch (680abc5)
- bump @commitlint/cli from 14.1.0 to 15.0.0 (97c0335)
- bump @commitlint/config-conventional from 14.1.0 to 15.0.0 (e2db0da)
- bump lint-staged from 11.2.6 to 12.0.2 (bf4f993)
- versioning: automatically update CDN version links in README on release (556961b), closes #145
3.0.3 (2021-11-11)
- accessibility: use pointer events for _handleHover() to ensure device support (a137cb0)
- bump @commitlint/cli from 13.2.1 to 14.1.0 (4d423c0)
- bump @commitlint/config-conventional from 13.2.0 to 14.1.0 (ccf5e8e)
3.0.2 (2021-10-26)
- bump eslint-plugin-jsdoc from 36.1.1 to 37.0.0 (84f57d7)
- contributing: update fork info and consistency (2cc2c0d)
- workflow: add build and lint workflows (efbe3ca)
3.0.1 (2021-10-18)
- accessibilty: replace click/touch events with pointer events (e88ae5f)
- badges: add CodeQL badge (fdcbfb7)
- correct typo (7adac86)
- examples: use proper links to api in basic examples (9c1f075)
- github: add documentation issue template (f43cf42)
- github: add security policy (30915b5)
- github: update issue and pr templates (8f7b322)
- menu: correct documentation on handle click (c0c9894)
- release: update documentation to be accurate as to what happens on release (a95f86c)
- update contributing guidelines to reflect the current state of the project (8fde6b8)
- validate: add deprecation notice to isEventSupported() (04c7cbd)
- bump jest-extended from 0.11.5 to 1.0.0 (85074a7)
- npm: remove deprecated eslint-plugin-standard (c50a001)
3.0.0 (2021-08-03)
- menus: changed the name of all menu event handler methods and toggle expand/collapse methods to begin with _
- menu: merging and changing the names of the DOM element generation methods will require any code referencing the old methods to be updated
- menu: clean up DOM element generating methods (b242c9c), closes #127
- menus: change methods to be protected where needed (780c76b)
- examples: link to new jsfiddles using 3.x (4df02fe), closes #124
- fix path to treeview (92b0501)
- properly mark fields as protected (7d43b50)
- treeview: correct reference to treeview in toggle (aaa4249)
- use docdash templates for api documentation (9433ddf), closes #123
3.0.0-alpha.3 (2021-07-23)
- fields: renamed all class fields to start with _ to mark them as protected
- correct typo in error message during initialization (7190697)
- validation: add custom validation for DisclosureMenus to handle _optionalSupport field (be4f370)
- rollup: add cleanup plugin to remove comments from bundled code (8f15e77)
3.0.0-alpha.2 (2021-07-21)
- menubar: only change the root menubar's tabIndex on init (d993c13)
- menu: only change focusState on click of non-root menus (110e241)
- menu: only setTimout on mouseleave if hoverDelay is > 0 (1158090)
- menus: add textContent fallback to character functions (d6224cb)
- treeview: fix up and down arrow navigation when going through multiple menu levels (2caf071)
- treeview: handle escape key if the root menu can collapse (43d09bf)
- treeview: only trigger character event if no modifier is pressed (51b43a8)
- click should still alter the focusState of menus (c56de2f)
- focus: set parent/child menu focus when setting menu's own focus (ae3b663)
- github: add action for running tests (9cc2de3)
- remove unused test directory and dependencies (a5e2e4b)
- add upgrade guide from v2 to v3 (c3ae67a), closes #107
- menubar: update docs to reflect tabIndex fix (480406f)
- README: add build status badge (00fabf3)
- use jsdoc to generate api documentation (a524ef8)
3.0.0-alpha.1 (2021-06-23)
- toggle: remove immediate initialization from _baseMenuToggle (d3fae61)
3.0.0-alpha.0 (2021-06-18)
-
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
- 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)
- 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)
- menu: clean up handeClick for all menus (6bdfdd0)
- validation: reduce validation functions into instance or type validation (42bf94e)
- 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)
- 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)
- 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)
2.2.0 (2021-03-24)
- event: check if menu isHoverable before running event code (638778d), closes #84
- event: properly pass event object to keydown and keyup events (fc281bf)
- menubar: wait for menu to render before focussing child (21f50ee), closes #99
- polyfill: add CustomEvent constructor polyfill for IE (d08cb2d), closes #97
- mention new expand/collapse events in the toggle documentation (f65ce32)
- npm: update dev dependencies to latest (accc5ba)
2.1.1 (2020-11-05)
- npm: update dependencies and security violations (d05e1c6)
- polyfills: add polyfill for String.prototype.endsWith() (82b345a)
2.1.0 (2020-07-25)
- menu: allow for empty open and close classes (a58b1e3), closes #72
- menu: allow for multiple open and close classes (b4bc19f), closes #73
- events: make click handling a lot more strict (7f91256)
- toggle: allow for multiple open/close classes in IE with loop (608450d), closes #72
- deps-dev: bump standard-version from 7.1.0 to 8.0.1 (7b6a2c2), closes #82
- deps-dev: bump standard-version from 7.1.0 to 8.0.1 (0fc954f)
2.0.0 (2020-05-21)
- menutoggle: Bootstrap users will need to adjust their custom styles to handle not having the parent's class altered when menus are toggled
- menu: AccessibleMenu is no longer a constructor, so uses will have to use AccessibleMenu.Menubar
- menu: Anything relying on the menu.js file will need to be updated to _baseMenu.js
- menu: Using old getters/setter will result in an error
- events: use keyup events instead of keydown events (4b8a5ad)
- menu: add ability to make submenu's open/close on hover (6b30546)
- menu: add DisclosureMenu class (9ade527), closes #61
- menu: add menuLinkSelector property to Menu class (6b4e1f2), closes #61
- menu: add new methods for setting dom elements in the menu (f55951c)
- menu: add support for a closed class (0668b56)
- menu: remove focus changing when user is using a mouse (0b02fb0)
- menu: split out menubar functionality into it's own class (3466db1), closes #61
- events: use touchup and mouseup events instead of click (24f8eaf)
- ie: add string.prototype.startsWith polyfill (181194b)
- importing: update index to match new structure (5e7a09b)
- menu: pass hoverDelay to all submenus (4eca2aa)
- package: adjust files (4bd259a)
- correct paths (ee62bc3)
- menubar: ensure escape will always close open menus (c42d2e5)
- events: add menu-level event tracking (338a2b0), closes #61
- menu: set default menuItemSelector to li (98e7ec5)
- toggle: clean up close function and create collapse (131d22d)
- toggle: only add button role if toggle isn't a button (95f2cfb)
- validation: condense more of the validation (d9064ac)
- validation: move validation to its own file for code reuse (9df795d)
- update dependencies and config (aa10023)
- update documentation for 2.0.0 (794b553)
- update jsdocs to have proper default values declared (e7335a1)
- events: move toggle events into main menu (04fcc98), closes #61
- menu: change constructors, getters, and setters for menus (3800046), closes #61
- menu: rename Menu to BaseMenu (6ad7ec6), closes #61
- menutoggle: only alter controlled menu classes on open/close (8099df8)
1.1.0 (2020-03-09)
- npm: fix commitizen (244e5b1)
1.0.6 (2020-02-26)
1.0.5 (2020-02-14)
1.0.4 (2019-12-15)
- menu: keep focus on root item after left/right arrows (f0d1499), closes #50
- menu: prevent default event on arrow up/down on top level menus (d9410f3), closes #47
- npm: disallow .files from being packaged (73e0579)
- npm: ensure build is run and committed with release (a9f03ff)
- main: change main.js to index.js to keep to internal standard (c4091ab)
1.0.3 (2019-11-25)
- menu: fix typo in build (8a9a72d)
1.0.2 (2019-11-25)
- menu: correct type in tab event (d0d9420)
1.0.1 (2019-11-24)
- setup: remove notes on initialization (7aa1f4d)
1.0.0 (2019-11-24)
- menu: add proper event handling for older browsers (ef62b61), closes #16
- menu: close top-level dropdowns on click away (5c9ae7c), closes #42
- menu: fix focus on exit (576b540)
- menu: focus menu controller on exit (a89539c)
- toggle: handle non-existant parent menu properly (82e0156)
- npm: update dependencies (2b18bbb)
- contribution: keep all contributing docs in contributing.md (9c252c0)
- general: add class and usage documentation (b007134), closes #38
- readme: add basic instructions for IE/Edge support (fa0e3ee), closes #37
- readme: add browser support icons (081ce1b)
- menu: allow submenu selectors to be null (db1c4d8)
- menu: overhaul keydown handling (ccf3ddc), closes #43 #44
- toggle: move click event into handleClick (337a275)
1.0.0-beta.4 (2019-11-22)
- menu: Constructor params converted to object
1.0.0-beta.3 (2019-11-21)
1.0.0-beta.2 (2019-11-20)
- menu: add aria-controls to menu toggles (ed3cfd2), closes #9
- menu: add aria-label/labelledby to submenus (6f6f2ac), closes #10
- menu: add basic type error handling (b705d47), closes #26
- menu: compile menu through babel (46d4efd)
- npm: add babel (4910dcc)
- contributing: update contributing guidelines with more information (8b7563b)
- development: add specific release documentation (84f908c)
- menu: add usage documentation (5552e68), closes #25
1.0.0-beta.1 (2019-11-18)
1.0.0-beta.0 (2019-11-17)
1.0.0-alpha.1 (2019-11-17)
- menu: The submenuItem class no longer exists, and the menuToggle class has been added.
- readme: add release and license badges (cea2814)
- menu: replace submenuItem with menuToggle (e43ad22)