Skip to content

Elemento 1.7.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 29 Nov 16:34
b47bed0

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 by ElementQueryMethods<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> and HTMLInputElementBuilder<E, B>.

  • LazyElement has been deprecated. It should be replaced by using late initialization in IsElement.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>