Tag Interfaces
The following interfaces are exposed by the Partas.Solid library to provide inheritance for common component structures and properties.
Beyond this, feel free to inherit from any of the concrete classes such as div
.
Foundation Interfaces
HtmlElement
Base type for all elements.
To allow a class/type to be accepted as a child node in the computation expressions,
the type must derive from HtmlElement
, or one of it's subsequent derivatives.
HtmlTag
Implementation of HtmlElement
with common/global solid-js attributes.
Interface provides the support for extension methods.
HtmlContainer
Interface enables the computation expression to construct child elements.
Derivative Interfaces
RegularNode
An interface which provides common/global solid-js attributes, extension methods, and accepts children nodes.
This is essentially just a convenient interface to both HtmlContainer and HtmlTag
VoidNode
An interface which provides common/global solid-js attributes, extension methods, but does not accept any children nodes.
This is essentially just an alias to HtmlTag.
Historically, the Derivative Interfaces were concrete classes. The change to interfaces make this more-or-less redundant.
FragmentNode
Special interface which renders <> </>
in the plugin.
At face value, it is just a derivative of HtmlContainer
. It is implemented
by the concrete class Fragment()
.
Special Interfaces
ChildLambdaProvider
Provides interfaces which implement the lambda constructor functionality that is
already existing in components such as For
and Index
.
A numeric suffix to the interface name provides more explicit type parameter numbers.
The plugin uncurries the lambda function that is passed as a child to the element.
ChildLambdaProviderStrict
An implementation of the ChildLambdaProvider
family of interfaces, with the
addendum that you can specify the exact type that the child must be.
An example use is for elements like the solidjs/router Router
, which can only
accept children of type Route
.
Polymorph
Library support for polymorphic elements from Kobalte
and ArkUI
.
Usage is best described in the Partas.Solid.Kobalte binding library documentation.
Last updated: 7/9/25, 7:54 PM