All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- "root", for the root page of the rendered list/menu, is now included in placeholders for list and nav templates.
- Restored options array for ___getTemplate() params.
- Placeholders array is passed to ___getTemplate() and made available for callable templates.
- New hookable methods treeItemIsParent() and arrayItemIsParent().
- Signature for hookable method renderArrayItem has changed, $root item is now provided as the third param. This applies to a protected method, but is still a breaking change in case third party code is hooking into said method.
- Root page ID check in renderArrayItem() was referring to a non-existing variable.
- Support for providing menu items as a prepopulated array via the menu_items option.
- Support for callables as templates, enabling template string to be defined dynamically.
- Include level by default in the 'item' template.
- New hookable method getSelector().
- Updated ProcessWire version requirement in composer.json.
- Consider possible include selector when checking if a menu item has children.
- Support for passing in a prepopulated PageArray of menu items via the menu_items option.
- Fixed an issue where include option root_page wasn't being properly reset (since 0.7.0).
- New hookable method getItems().
- Method renderTreeItem() made hookable.
- Bumped required version of wireframe-framework/processwire-composer-installer to 1.0.
- An issue where the has_class class was not applied to elements with children.
- Changes to default templates and classes, and the addition of a new {class} default placeholder.
- An issue where sub-trees were also getting wrapped with the 'nav' element.
- Switched WireTextTools::populatePlaceholders() calls to wirePopulateStringTags() in order to support current stable ProcessWire version.
- Renamed 'text_tools_options' option to 'placeholder_options'.
- Updated the required version of wireframe-framework/processwire-composer-installer.
- Support for "&" placeholders in class names, referencing current template class.
- Constructor method for MarkupMenuData for easily instantiating objects with data.
- Changes to default classes and some code reordering.
- An issue with menu item class name output, where the result was "Array".
- Add classes to templates array items nav, item, and item_current in default options.
- Classes array indexes for items in the templates array: nav, list, list_item, item, and item_current.
- Custom placeholders from options array are merged with default placeholder values instead of getting added as property "placeholders".
- New semantic 'nav' element for wrapping existing list, list item, and item elements.
- Rewrote parts of the MarkupMenu codebase to decrease repetition of code.