Skip to content

Latest commit

 

History

History
159 lines (131 loc) · 9.81 KB

File metadata and controls

159 lines (131 loc) · 9.81 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Conventional Commits, and this project adheres to Semantic Versioning.

0.6.1 Under development

  • refactor: remove prettier and stylelint templates now provided by php-forge/baseline.

0.6.0 July 31, 2026

  • docs: simplify the upgrade guide around consumer-facing API changes.
  • chore!: update dependencies in composer.json.

0.5.0 July 30, 2026

  • feat!: remove support for global SimpleFactory defaults and make Select and TextArea implement FormControlInterface.
  • feat(form)!: add typed ChoiceItem, CheckboxList, and RadioList controls, add Select::value(), and make Select::options() take Option.
  • fix(form)!: match a checkbox or radio without a value attribute against on, the value browsers submit for it.
  • feat(form): make Select implement MultiValueInterface, exposing single and multiple selection through the shared contract.
  • feat: make every element carrying a value attribute implement ValueInterface: Button, Li, Meter, Option, Progress, Select, and the value-capable inputs.
  • feat(embedded): make every element carrying a src attribute implement SrcInterface: Audio, Iframe, Img, InputImage, Script, Source, Track, and Video.
  • feat(form): make AbstractChoiceList implement ChoiceListInterface, and AbstractChoiceList, InputCheckbox, and InputRadio implement CheckedStateInterface.
  • feat(form): make InputEmail, InputNumber, InputPassword, InputSearch, InputTel, InputText, InputUrl, and TextArea implement PlaceholderInterface.
  • refactor: read the referrerpolicy and src attribute names from the Attribute enum instead of ElementAttribute.
  • refactor: extract the shared maxlength, minlength, pattern, placeholder, and size form attribute methods into reusable traits.
  • refactor: collapse the date and time input controls into a shared abstract base without changing their public API.
  • feat: add the Html facade with explicit static factory methods and the el() terminal shortcut.
  • test: restrict each element suite to its own attributes and keep the universal battery once per render path.
  • fix!: accept any supported type() value on Link, Script, Style, and A instead of validating the <input> control type list.
  • feat(form): add shared item container and label presentation APIs to checkbox and radio lists.
  • docs: normalize PHPDoc examples and type annotations.

0.4.3 July 21, 2026

  • chore: update dependencies and configuration files and remove copyright and license comments from files.
  • ci: replace Super-Linter with reusable quality and security workflows, pin reusable workflow references, group Dependabot updates, and refresh project status badges.

0.4.2 May 26, 2026

  • chore: update dependencies and configuration files.
  • feat(embedded): add Iframe class for <iframe> element.

0.4.1 May 07, 2026

  • chore: migrate to scaffold model; feat(phrasing): add Code, Strong, Em, Small, Mark classes; feat(flow): add Pre class.
  • test: standardize PHPDoc headers and replace array_map enum-normalization pattern with Enum::normalizeStringArray() across tests/.

0.4.0 May 02, 2026

  • perf: refactor codebase to improve performance.
  • feat(list): add Dl, Dt, and Dd classes for description list elements.
  • feat(form): add InputWeek class for <input type="week"> element.
  • docs: standardize PHPDoc headers and usage examples in src/.
  • docs: standardize PHPDoc headers in tests/.
  • feat(form): add InputUrl class for <input type="url"> element.
  • feat(form): add InputTime class for <input type="time"> element.
  • feat(form): add InputText class for <input type="text"> element.
  • feat(form): add InputTel class for <input type="tel"> element.
  • feat(form): add InputSubmit class for <input type="submit"> element.
  • feat(form): add InputSearch class for <input type="search"> element.
  • feat(form): add InputReset class for <input type="reset"> element.
  • feat(form): add InputRange class for <input type="range"> element.
  • feat(form): add InputPassword class for <input type="password"> element.
  • feat(form): add InputCheckbox class for <input type="checkbox"> element.
  • docs(form): clarify parameter descriptions for form attributes and input elements.
  • feat(form): add Label class for <label> element.
  • feat(form): add InputHidden class for <input type="hidden"> element.
  • feat(form): add InputRadio class for <input type="radio"> element.
  • feat(form): add InputNumber class for <input type="number"> element.
  • fix: apply latest changes from ui-awesome/html-core package.
  • refactor(list): remove redundant afterRun() method from Dl, Ol, and Ul classes.
  • feat(form): add InputMonth class for <input type="month"> element.
  • test: use assertSame() in rendering tests for global defaults and user overrides.
  • feat(form): add InputImage class for <input type="image"> element.
  • fix: fix messages in assert() methods and code style.
  • build: update ui-awesome/html-helper to ^0.7 and ui-awesome/html-mixin to ^0.4.
  • fix: sync changes from ui-awesome/html-attribute in related classes.
  • refactor: rename CanBeUnchecked to HasUnchecked and update PHPDoc in BaseChoice classes.
  • feat(form): add InputFile class for <input type="file"> element.
  • docs(test): update PHPDoc in tests and add tests for on* attributes.
  • feat(form): add InputEmail class for <input type="email"> element.
  • feat(form): add InputDateTimeLocal class for <input type="datetime-local"> element.
  • test: add tests for standardized test cases for clarity and consistency.
  • feat(form): add InputDate class for <input type="date"> element.
  • feat(form): add InputColor class for <input type="color"> element.
  • feat(form): add TextArea class for <textarea> element.
  • refactor(test): standardize exception test method names.
  • refactor(form): remove BaseChoice class and related mixins; update InputCheckbox, InputFile, and InputRadio to extend BaseInput.
  • feat(form): add Button class for <button> element.
  • test: add tests for invalid argument exceptions in HTML attributes.
  • feat(form): add Form class for <form> element.
  • fix: align tag enums and defaults provider with latest ui-awesome/html-core and ui-awesome/html-interop changes.
  • refactor(test): remove aria-describedby specific form input tests to keep the package agnostic.
  • feat(form): add Select, Option, and Optgroup classes for <select>, <option>, and <optgroup> elements.
  • feat(form): add Datalist class for <datalist> element.
  • feat(form): add Legend class for <legend> element.
  • feat(form): add Fieldset class for <fieldset> element.
  • feat(form): add Output class for <output> element.
  • feat(form): add Progress class for <progress> element.
  • feat(form): add Meter class for <meter> element.
  • feat(table): add Caption class for <caption> element.
  • feat(table): add Td class for <td> element.
  • feat(table): add Th class for <th> element.
  • feat(table): add Tr class for <tr> element.
  • feat(table): add Tfoot class for <tfoot> element.
  • feat(table): add Tbody class for <tbody> element.
  • feat(table): add Thead class for <thead> element.
  • feat(table): add Col class for <col> element.
  • feat(table): add Colgroup class for <colgroup> element.
  • feat(table): add convenience methods row(), rows() on Thead, Tbody, Tfoot; cells(), headerCells() on Tr; extend caption() in Table to accept Caption|string|null.
  • fix(list): fix PHPDoc Usage example placement in Dl::dd() and Dl::dt() to appear before tags.
  • feat(list): extend Dl::dd() to accept Dd|string|Stringable and Dl::dt() to accept Dt|string|Stringable for API consistency.
  • feat(list): add Dl::terms() batch method for appending multiple term-description pairs.
  • feat(form): add Select::options() convenience method for appending multiple options from value-label pairs.
  • feat(table): add Colgroup::cols() batch method for appending multiple Col elements.
  • feat(interactive): add Summary class for <summary> element.
  • feat(interactive): add Details class for <details> element.
  • feat(interactive): add Dialog class for <dialog> element.
  • feat(embedded): add Audio class for <audio> element.
  • feat(embedded): add Video class for <video> element.
  • docs: complete missing MDN links and mark experimental HTML attributes in PHPDoc.
  • feat(embedded): add Source class for <source> element.
  • test: add tests testRenderWithAddEvent() in related classes to validate on* attributes.
  • refactor: inline element attribute APIs, add track support, and refresh docs/tests.

0.3.0 March 31, 2024

  • refactor: move Tag class widget, AbstractElement class, and AbstractBlockElement class to ui-awesome/html-core package.

0.2.0 March 22, 2024

  • refactor: move Svg class widget to ui-awesome/html-svg package.

0.1.3 March 19, 2024

  • fix(docs): fix broken links in docs.
  • feat: add CheckboxList and RadioList class widgets.
  • test: add tests for CheckboxList and RadioList to validate attributes.

0.1.2 March 15, 2024

  • fix(docs): fix broken links in Div, Li, Ol, P, and Ul documentation.
  • feat: add Hr class widget.

0.1.1 March 08, 2024

  • fix(form): remove auto-generated ID in UIAwesome\Html\FormControl\Button class.
  • fix: add Html\Interop\RenderInterface to all classes.
  • fix(build): change branch alias to 1.0-dev in composer.json.

0.1.0 March 06, 2024

  • Initial release.
  • fix(docs): improve README.md organization and headings for better readability.
  • fix(docs): update badges in README.md.
  • refactor: move Builder::class to ui-awesome/html-helper.