Skip to content

Latest commit

 

History

History
637 lines (353 loc) · 42.4 KB

CHANGELOG.md

File metadata and controls

637 lines (353 loc) · 42.4 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

3.0.4 (2021-11-30)

Bug Fixes

  • menu: do not trigger hover events for pointer types pen or touch (680abc5)

Build System

  • 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)

Bug Fixes

  • accessibility: use pointer events for _handleHover() to ensure device support (a137cb0)

Build System

  • 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)

Bug Fixes

  • menubar: ensure click events are fired on regular submenu items (035a104), closes #141

Build System

  • bump eslint-plugin-jsdoc from 36.1.1 to 37.0.0 (84f57d7)

Documentation

  • contributing: update fork info and consistency (2cc2c0d)

Continuous Integration

  • workflow: add build and lint workflows (efbe3ca)

3.0.1 (2021-10-18)

Bug Fixes

  • accessibilty: replace click/touch events with pointer events (e88ae5f)

Documentation

  • 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)

Build System

  • 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)

⚠ BREAKING CHANGES

  • 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

Code Refactoring

  • menu: clean up DOM element generating methods (b242c9c), closes #127
  • menus: change methods to be protected where needed (780c76b)

Documentation

  • 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

Build System

  • lint: update eslint and prettier options (c324a6a)
  • npm: update dev dependencies to latest (cebd3c4)

3.0.0-alpha.3 (2021-07-23)

⚠ BREAKING CHANGES

  • fields: renamed all class fields to start with _ to mark them as protected

Bug Fixes

  • correct typo in error message during initialization (7190697)

Performance Improvements

  • validation: add custom validation for DisclosureMenus to handle _optionalSupport field (be4f370)

Code Refactoring

  • fields: rename and declare class fields outside of constructors (d725043), closes #114

Build System

  • rollup: add cleanup plugin to remove comments from bundled code (8f15e77)

3.0.0-alpha.2 (2021-07-21)

Bug Fixes

  • 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)

Reverts

  • click should still alter the focusState of menus (c56de2f)

Code Refactoring

  • focus: set parent/child menu focus when setting menu's own focus (ae3b663)

Build System

  • github: add action for running tests (9cc2de3)
  • remove unused test directory and dependencies (a5e2e4b)

Documentation

  • 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)

Bug Fixes

  • toggle: remove immediate initialization from _baseMenuToggle (d3fae61)

Performance Improvements

  • toggle: simplify adding and removing of classes (5d21677), closes #113

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)

2.2.0 (2021-03-24)

Features

  • menu: add expand/collapse events to MenuToggles (b736c1a), closes #90

Bug Fixes

  • 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

Documentation

  • mention new expand/collapse events in the toggle documentation (f65ce32)

Build System

  • npm: update dev dependencies to latest (accc5ba)

2.1.1 (2020-11-05)

Bug Fixes

  • accessibility: handle various scenarios causing inaccessible IDs (c55ff1d), closes #87

Build System

  • npm: update dependencies and security violations (d05e1c6)
  • polyfills: add polyfill for String.prototype.endsWith() (82b345a)

2.1.0 (2020-07-25)

Features

  • menu: allow for empty open and close classes (a58b1e3), closes #72
  • menu: allow for multiple open and close classes (b4bc19f), closes #73

Bug Fixes

  • events: make click handling a lot more strict (7f91256)
  • toggle: allow for multiple open/close classes in IE with loop (608450d), closes #72

Documentation

  • usage: update example to be plain html (302a87c), closes #75

Build System

  • 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)

⚠ BREAKING CHANGES

  • 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

Features

  • 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

Bug Fixes

  • 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)

Performance Improvements

  • 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)

Build System

  • update dependencies and config (aa10023)

Documentation

  • update documentation for 2.0.0 (794b553)
  • update jsdocs to have proper default values declared (e7335a1)

Code Refactoring

  • 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)

Features

  • add built-in ie11 support to cdn (0fbba5b), closes #58

Bug Fixes

  • menu: add handlers for enter/space in root level menus (4b26192), closes #56

Build System

Documentation

  • general: add jsfiddle example for the library (8304580)
  • general: update description (6427d56)

1.0.6 (2020-02-26)

Bug Fixes

  • accessibility: correct role declarations on menu items (66aca2f), closes #54

1.0.5 (2020-02-14)

Bug Fixes

  • menu: focus menuitem on tab instead of whole menu (e24c2eb), closes #52

1.0.4 (2019-12-15)

Bug Fixes

  • 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

Build System

  • npm: disallow .files from being packaged (73e0579)
  • npm: ensure build is run and committed with release (a9f03ff)

Code Refactoring

  • main: change main.js to index.js to keep to internal standard (c4091ab)

1.0.3 (2019-11-25)

Bug Fixes

  • menu: fix typo in build (8a9a72d)

1.0.2 (2019-11-25)

Bug Fixes

  • menu: correct type in tab event (d0d9420)

Documentation

  • general: update version in cdn example (da78b06)
  • general: update version in cdn example (588dd78)

1.0.1 (2019-11-24)

Documentation

  • setup: remove notes on initialization (7aa1f4d)

1.0.0 (2019-11-24)

Bug Fixes

  • 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)

Build System

  • npm: update dependencies (2b18bbb)

Documentation

  • 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)

Code Refactoring

  • 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)

⚠ BREAKING CHANGES

  • menu: Constructor params converted to object

Features

  • menu: add support for root dropdown menus (1f85f4e), closes #15

1.0.0-beta.3 (2019-11-21)

Features

  • menu: add support for a-z keys (ecf80f8), closes #8

Performance Improvements

  • menu: provide minified source files (d690bad), closes #31

1.0.0-beta.2 (2019-11-20)

Features

  • 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)

Build System

Documentation

  • 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)

Bug Fixes

  • menu: remove tab capturing from menus (012e458), closes #19

Code Refactoring

  • menu: adjust keybindings to properly follow spec (df3db91), closes #21

1.0.0-beta.0 (2019-11-17)

Features

1.0.0-alpha.1 (2019-11-17)

⚠ BREAKING CHANGES

  • menu: The submenuItem class no longer exists, and the menuToggle class has been added.

Bug Fixes

  • menu: properly exit menu on escape (b5113e9)
  • package: correct entry point to (de6b439), closes #12

Documentation

  • readme: add release and license badges (cea2814)

Code Refactoring

  • menu: replace submenuItem with menuToggle (e43ad22)

1.0.0-alpha.0 (2019-11-17)

Features

  • menu: add menu, menuitem, and submenuitem classes (d0b26ab)
  • initial commit (248b6ee)

Build System

  • npm: add standard-version (1b9b3af), closes #6
  • npm: implement basic githooks (ace93a7), closes #3
  • npm: implement eslint and hook (b05128c), closes #3

Documentation

  • conduct: add code of conduct (0ba3a83), closes #1
  • contributing: add contributing guidelines (c9a97d2)
  • license: add license file (b5f70bb), closes #1
  • readme: add initial readme (2e79315), closes #1
  • readme: add versioning docs (e76a5a9)
  • templates: add issue and pr templates (f5a55b3)