API Reference
The following functions are a public API of the hybrids library available as named exports:
define
arguments:
tagName
- a custom element tag name,descriptorsOrConstructor
- an object with a map of hybrid property descriptors or constructor
returns:
Wrapper
- custom element constructor (extendsHTMLElement
)
arguments:
tagName
- a custom element tag name in pascal case or camel case,descriptorsOrConstructor
- an object with a map of hybrid property descriptors or constructor
returns:
{ tagName: Wrapper, ...}
- a map of custom element constructors (extendsHTMLElement
)
property
arguments:
defaultValue
- any valueconnect
- a connect callback function of the property descriptor
returns:
a property descriptor, which resolves to value
parent
arguments:
hybridsOrFn
- reference to an object containing property descriptors or a function, which returnstrue
when currenthybrids
meets the condition
returns:
a property descriptor, which resolves to
null
orElement
instance
children
arguments:
hybridsOrFn
- reference to an object containing property descriptors or a function, which returnstrue
when currenthybrids
meets the conditionoptions
- object with available keys:deep
- boolean, defaults tofalse
nested
- boolean, defaults tofalse
returns:
a property descriptor, which resolves to
array
ofElement
instances
render
arguments:
fn(host: Element): Function
- callback function withhost
argument; returned function hashost
andtarget
argumentsoptions: Object
- an object, which has a following structure:{ shadowRoot: true }
(default value) - initializes Shadow DOM and settarget
asshadowRoot
{ shadowRoot: false }
- setstarget
argument ashost
,{ shadowRoot: { extraOption: true, ... } }
- initializes Shadow DOM with passed options forattachShadow()
method
returns:
hybrid property descriptor, which resolves to a function
store
direct
arguments:
Model: object
- a model definitionid: string | object
- a string or an object representing identifier of the model instance
returns:
Model instance or model instance placeholder
arguments:
Model: object
- a model definitionvalues: object
- an object with partial values of the model instance
returns:
A promise, which resolves with the model instance
arguments:
modelInstance: object
- a model instancevalues: object | null
- an object with partial values of the model instance ornull
for deleting the model
returns:
A promise, which resolves to the model instance or placeholder (for model deletion)
factory
arguments:
Model: object
- a model definitionoptions
- an object with the following properties or the shorter syntax with the belowid
field valueid
- ahost
property name, or a function returning the identifier using thehost
draft
- a boolean switch for the draft mode, where the property returns a copy of the model instance for the form manipulation
returns:
hybrid property descriptor, which resolves to a store model instance
guards
arguments:
model: object
- a model instance
returns:
true
for a valid model instance,false
otherwise
arguments:
model: object
- a model instance
returns:
In pending state a promise instance resolving with the next model value,
false
otherwise
arguments:
model
- a model instancepropertyName
- a property name of the failed validation defined withstore.value()
method
returns:
An error instance or whatever has been thrown or
false
. WhenpropertyName
is set, it returnserr.errors[propertyName]
orfalse
value
arguments:
defaultValue
-string
ornumber
valuevalidate
- a validation function -validate(val, key, model)
, which should returnfalse
, error message or throws when validation fails, or a RegExp instance. If omitted, the default validation is used, which fails for empty string and0
.errorMessage
- optional error message used when validation fails
returns:
a
String
orNumber
instance
html
arguments:
HTML content as a template content
value
- dynamic values as a property values or element content
returns:
an update function, which takes
host
andtarget
arguments
arguments:
map
- object with hybrids definitions or custom element's constructors
returns:
update function compatible with content expression
arguments:
styles
- a list of text contents of CSS stylesheets, or instances ofCSSStyleSheet
(only for constructable stylesheets)
returns:
an update function compatible with content expression
arguments:
promise
- promise, which should resolve/reject update functionplaceholder
- update function for render content until promise is resolved or rejecteddelay
- delay in milliseconds, after which placeholder is rendered
returns:
update function compatible with content expression
svg
arguments:
SVG content as a template content
value
- dynamic values as a property values or element content
returns:
an update function, which takes
host
andtarget
arguments
arguments:
map
- object with hybrids definitions or custom element's constructors
returns:
update function compatible with content expression
arguments:
styles
- text content of CSS stylesheet
returns:
update function compatible with content expression
arguments:
promise
- promise, which should resolve/reject update functionplaceholder
- update function for render content until promise is resolved or rejecteddelay
- delay in milliseconds, after which placeholder is rendered
returns:
update function compatible with content expression
dispatch
arguments:
host
- element instanceeventType
- type of the event to be dispatchedoptions
- a dictionary, having the following optional fields:bubbles
- a boolean indicating whether the event bubbles. The default is falsecancelable
- a boolean indicating whether the event can be cancelled. The default is falsecomposed
- a boolean indicating whether the event will trigger listeners outside of a shadow root The default is falsedetail
- a custom data, which will be passed to an event listener
returns:
false
if event is cancelable and at least one of the event handlers which handled this event calledpreventDefault()
, otherwise it returnstrue
Last updated