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.
- docs: simplify the upgrade guide around consumer-facing API changes.
- chore!: update dependencies in
composer.json.
- feat!: remove support for global
SimpleFactorydefaults and makeSelectandTextAreaimplementFormControlInterface. - feat(form)!: add typed
ChoiceItem,CheckboxList, andRadioListcontrols, addSelect::value(), and makeSelect::options()takeOption. - fix(form)!: match a checkbox or radio without a
valueattribute againston, the value browsers submit for it. - feat(form): make
SelectimplementMultiValueInterface, exposing single and multiple selection through the shared contract. - feat: make every element carrying a
valueattribute implementValueInterface:Button,Li,Meter,Option,Progress,Select, and thevalue-capable inputs. - feat(embedded): make every element carrying a
srcattribute implementSrcInterface:Audio,Iframe,Img,InputImage,Script,Source,Track, andVideo. - feat(form): make
AbstractChoiceListimplementChoiceListInterface, andAbstractChoiceList,InputCheckbox, andInputRadioimplementCheckedStateInterface. - feat(form): make
InputEmail,InputNumber,InputPassword,InputSearch,InputTel,InputText,InputUrl, andTextAreaimplementPlaceholderInterface. - 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
Htmlfacade with explicit static factory methods and theel()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 onLink,Script,Style, andAinstead 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.
- 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.
- chore: update dependencies and configuration files.
- feat(embedded): add
Iframeclass for<iframe>element.
- chore: migrate to scaffold model; feat(phrasing): add
Code,Strong,Em,Small,Markclasses; feat(flow): addPreclass. - test: standardize PHPDoc headers and replace
array_mapenum-normalization pattern withEnum::normalizeStringArray()acrosstests/.
- perf: refactor codebase to improve performance.
- feat(list): add
Dl,Dt, andDdclasses for description list elements. - feat(form): add
InputWeekclass for<input type="week">element. - docs: standardize PHPDoc headers and usage examples in
src/. - docs: standardize PHPDoc headers in
tests/. - feat(form): add
InputUrlclass for<input type="url">element. - feat(form): add
InputTimeclass for<input type="time">element. - feat(form): add
InputTextclass for<input type="text">element. - feat(form): add
InputTelclass for<input type="tel">element. - feat(form): add
InputSubmitclass for<input type="submit">element. - feat(form): add
InputSearchclass for<input type="search">element. - feat(form): add
InputResetclass for<input type="reset">element. - feat(form): add
InputRangeclass for<input type="range">element. - feat(form): add
InputPasswordclass for<input type="password">element. - feat(form): add
InputCheckboxclass for<input type="checkbox">element. - docs(form): clarify parameter descriptions for form attributes and input elements.
- feat(form): add
Labelclass for<label>element. - feat(form): add
InputHiddenclass for<input type="hidden">element. - feat(form): add
InputRadioclass for<input type="radio">element. - feat(form): add
InputNumberclass for<input type="number">element. - fix: apply latest changes from
ui-awesome/html-corepackage. - refactor(list): remove redundant
afterRun()method fromDl,Ol, andUlclasses. - feat(form): add
InputMonthclass for<input type="month">element. - test: use
assertSame()in rendering tests for global defaults and user overrides. - feat(form): add
InputImageclass for<input type="image">element. - fix: fix messages in
assert()methods and code style. - build: update
ui-awesome/html-helperto^0.7andui-awesome/html-mixinto^0.4. - fix: sync changes from
ui-awesome/html-attributein related classes. - refactor: rename
CanBeUncheckedtoHasUncheckedand update PHPDoc inBaseChoiceclasses. - feat(form): add
InputFileclass for<input type="file">element. - docs(test): update PHPDoc in tests and add tests for
on*attributes. - feat(form): add
InputEmailclass for<input type="email">element. - feat(form): add
InputDateTimeLocalclass for<input type="datetime-local">element. - test: add tests for standardized test cases for clarity and consistency.
- feat(form): add
InputDateclass for<input type="date">element. - feat(form): add
InputColorclass for<input type="color">element. - feat(form): add
TextAreaclass for<textarea>element. - refactor(test): standardize exception test method names.
- refactor(form): remove
BaseChoiceclass and related mixins; updateInputCheckbox,InputFile, andInputRadioto extendBaseInput. - feat(form): add
Buttonclass for<button>element. - test: add tests for invalid argument exceptions in HTML attributes.
- feat(form): add
Formclass for<form>element. - fix: align tag enums and defaults provider with latest
ui-awesome/html-coreandui-awesome/html-interopchanges. - refactor(test): remove
aria-describedbyspecific form input tests to keep the package agnostic. - feat(form): add
Select,Option, andOptgroupclasses for<select>,<option>, and<optgroup>elements. - feat(form): add
Datalistclass for<datalist>element. - feat(form): add
Legendclass for<legend>element. - feat(form): add
Fieldsetclass for<fieldset>element. - feat(form): add
Outputclass for<output>element. - feat(form): add
Progressclass for<progress>element. - feat(form): add
Meterclass for<meter>element. - feat(table): add
Captionclass for<caption>element. - feat(table): add
Tdclass for<td>element. - feat(table): add
Thclass for<th>element. - feat(table): add
Trclass for<tr>element. - feat(table): add
Tfootclass for<tfoot>element. - feat(table): add
Tbodyclass for<tbody>element. - feat(table): add
Theadclass for<thead>element. - feat(table): add
Colclass for<col>element. - feat(table): add
Colgroupclass for<colgroup>element. - feat(table): add convenience methods
row(),rows()onThead,Tbody,Tfoot;cells(),headerCells()onTr; extendcaption()inTableto acceptCaption|string|null. - fix(list): fix PHPDoc
Usage exampleplacement inDl::dd()andDl::dt()to appear before tags. - feat(list): extend
Dl::dd()to acceptDd|string|StringableandDl::dt()to acceptDt|string|Stringablefor 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 multipleColelements. - feat(interactive): add
Summaryclass for<summary>element. - feat(interactive): add
Detailsclass for<details>element. - feat(interactive): add
Dialogclass for<dialog>element. - feat(embedded): add
Audioclass for<audio>element. - feat(embedded): add
Videoclass for<video>element. - docs: complete missing MDN links and mark experimental HTML attributes in PHPDoc.
- feat(embedded): add
Sourceclass for<source>element. - test: add tests
testRenderWithAddEvent()in related classes to validateon*attributes. - refactor: inline element attribute APIs, add track support, and refresh docs/tests.
- refactor: move
Tagclass widget,AbstractElementclass, andAbstractBlockElementclass toui-awesome/html-corepackage.
- refactor: move
Svgclass widget toui-awesome/html-svgpackage.
- fix(docs): fix broken links in docs.
- feat: add
CheckboxListandRadioListclass widgets. - test: add tests for
CheckboxListandRadioListto validate attributes.
- fix(docs): fix broken links in
Div,Li,Ol,P, andUldocumentation. - feat: add
Hrclass widget.
- fix(form): remove auto-generated ID in
UIAwesome\Html\FormControl\Buttonclass. - fix: add
Html\Interop\RenderInterfaceto all classes. - fix(build): change branch alias to
1.0-devincomposer.json.
- Initial release.
- fix(docs): improve
README.mdorganization and headings for better readability. - fix(docs): update badges in
README.md. - refactor: move
Builder::classtoui-awesome/html-helper.