Warning
This release contains refactorings and deprecations that might break existing code.
The refactoring should make the use case and scope of the builder-like classes, interfaces and methods more obvious. It
introduces a common naming pattern for interfaces and classes:
-
Interface
[HTML|MathML|SVG]Element<Scope>Methods
: These interfaces contain default methods to work with a specific aspect of
an HTML, MathML or SVG element.Some examples are
ElementAttributeMethods
HTMLElementDataMethods
HTMLInputElementMethods
SVGElementStyleMethods
-
Class
[HTML|MathML|SVG](Element|Container)Builder
: Concrete builders that encapsulate an HTML, MathML or SVG element. The
builders implement the method interfaces to work with the element.Some examples are
HTMLElementBuilder
HTMLInputElementBuilder
SVGContainerBuilder
See https://hal-console.gitbook.io/elemento/builder-api#classes-and-interfaces for more information.
Changed
Core
-
HasElement<E extends Element, B extends TypedBuilder<E, B>>
has been deprecated and is split into more specific interfaces:ElementAttributeMethods<E, B>
ElementClassListMethods<E, B>
ElementConsumerMethods<E, B>
ElementContainerMethods<E, B>
ElementEventMethods<E, B>
ElementIdMethods<E, B>
ElementHTMLMethods<E, B>
ElementTextMethods<E, B>
-
HasHTMLElement<E extends Element, B extends TypedBuilder<E, B>>
has been deprecated and is split into more specific
interfaces:HTMLElementAttributeMethods<E, B>
HTMLElementDataMethods<E, B>
HTMLElementStyleMethods<E, B>
HTMLElementVisibilityMethods<E, B>
-
Container<E extends Element, B extends TypedBuilder<E, B>>
has been deprecated. It is replaced by
ElementContainerMethods<E, B>
-
ElementsBag
has been deprecated. It should be replaced by using the standard collection API. -
Finder<E extends Element, B extends TypedBuilder<E, B>>
has been deprecated. It is replaced byElementQueryMethods<E, B>
-
HasInputElement<E extends HTMLInputElement, B extends TypedBuilder<E, B>>
and
InputElementBuilder<E extends HTMLInputElement, B extends TypedBuilder<E, B>>
have been deprecated. They are replaced by
HTMLInputElementMethods<E, B>
andHTMLInputElementBuilder<E, B>
. -
LazyElement
has been deprecated. It should be replaced by using late initialization inIsElement.element()
.
MathML
HasMathMLElement<E extends MathMLElement, B extends TypedBuilder<E, B>>
has been deprecated and is replaced by
MathMLElementStyleMethods<E, B>
:
SVG
HasSVGElement<E extends SVGElement, B extends TypedBuilder<E, B>>
has been deprecated and is replaced by more specific
interfaces:SVGElementDataMethods<E, B>
SVGElementStyleMethods<E, B>