@tairu/web-client
Web client for Tairu tiles.
Installation
npm install @tairu/web-client
Classes
TileProxy
Extends
EventTarget
Constructors
new TileProxy()
new TileProxy(
params):TileProxy
Parameters
params
Returns
Overrides
EventTarget.constructor
Methods
_handleAction()
_handleAction(
action,value?):Promise<void>
Parameters
action
{label: string;type: "tairu:uri/open";uri: string; }
action.label
string
action.type
"tairu:uri/open"
action.uri
string
{label: string;payload: object;state: object;type: "tairu:did/sign"; }
action.label
string
action.payload
object
action.state
object
action.type
"tairu:did/sign"
{label: string;state: object;type: "tairu:did/submit"; }
action.label
string
action.state
object
action.type
"tairu:did/submit"
value?
string | number | boolean | (string | number | boolean)[]
Returns
Promise<void>
load()
load():
Promise<object>
Returns
Promise<object>
props
props:
object
props.actions?
optionalprops.actions: ({label:string;type:"tairu:uri/open";uri:string; } | {label:string;payload:object;state:object;type:"tairu:did/sign"; } | {label:string;state:object;type:"tairu:did/submit"; })[]
props.children?
optionalprops.children: ({props:object;type:"Box"|"Image"|"Text"; } |object[])[]
props.description?
optionalprops.description:string
props.input?
optionalprops.input: {multiple:boolean;options:object[];type:"options"; } | {defaultValue:string;label:string;placeholder:string;secure:boolean;type:"text"; }
props.key?
optionalprops.key:string
props.style?
optionalprops.style:object
props.style.alignItems?
optionalprops.style.alignItems:"center"|"flex-start"|"flex-end"
props.style.alignSelf?
optionalprops.style.alignSelf:"center"|"flex-start"|"flex-end"|"auto"
props.style.backgroundClip?
optionalprops.style.backgroundClip:"text"|"border-box"
props.style.backgroundColor?
optionalprops.style.backgroundColor:string
props.style.backgroundImage?
optionalprops.style.backgroundImage:string
props.style.backgroundPosition?
optionalprops.style.backgroundPosition:string
props.style.backgroundRepeat?
optionalprops.style.backgroundRepeat:"repeat"|"repeat-x"|"repeat-y"|"no-repeat"
props.style.backgroundSize?
optionalprops.style.backgroundSize:string
props.style.borderBottomColor?
optionalprops.style.borderBottomColor:string
props.style.borderBottomLeftRadius?
optionalprops.style.borderBottomLeftRadius:number
props.style.borderBottomRightRadius?
optionalprops.style.borderBottomRightRadius:number
props.style.borderBottomStyle?
optionalprops.style.borderBottomStyle:"solid"|"dashed"
props.style.borderBottomWidth?
optionalprops.style.borderBottomWidth:number
props.style.borderColor?
optionalprops.style.borderColor:string
props.style.borderLeftColor?
optionalprops.style.borderLeftColor:string
props.style.borderLeftStyle?
optionalprops.style.borderLeftStyle:"solid"|"dashed"
props.style.borderLeftWidth?
optionalprops.style.borderLeftWidth:number
props.style.borderRadius?
optionalprops.style.borderRadius:number
props.style.borderRightColor?
optionalprops.style.borderRightColor:string
props.style.borderRightStyle?
optionalprops.style.borderRightStyle:"solid"|"dashed"
props.style.borderRightWidth?
optionalprops.style.borderRightWidth:number
props.style.borderStyle?
optionalprops.style.borderStyle:"solid"|"dashed"
props.style.borderTopColor?
optionalprops.style.borderTopColor:string
props.style.borderTopLeftRadius?
optionalprops.style.borderTopLeftRadius:number
props.style.borderTopRightRadius?
optionalprops.style.borderTopRightRadius:number
props.style.borderTopStyle?
optionalprops.style.borderTopStyle:"solid"|"dashed"
props.style.borderTopWidth?
optionalprops.style.borderTopWidth:number
props.style.borderWidth?
optionalprops.style.borderWidth:number
props.style.bottom?
optionalprops.style.bottom:number
props.style.boxShadow?
optionalprops.style.boxShadow:string
props.style.display?
optionalprops.style.display:"flex"|"none"
props.style.flexBasis?
optionalprops.style.flexBasis:number
props.style.flexDirection?
optionalprops.style.flexDirection:"row"|"row-reverse"|"column"|"column-reverse"
props.style.flexGrow?
optionalprops.style.flexGrow:number
props.style.flexShrink?
optionalprops.style.flexShrink:number
props.style.flexWrap?
optionalprops.style.flexWrap:"nowrap"|"wrap"|"wrap-reverse"
props.style.gap?
optionalprops.style.gap:number
props.style.height?
optionalprops.style.height:number
props.style.justifyContent?
optionalprops.style.justifyContent:"center"|"flex-start"|"flex-end"|"space-between"|"space-around"
props.style.left?
optionalprops.style.left:number
props.style.margin?
optionalprops.style.margin:number
props.style.marginBottom?
optionalprops.style.marginBottom:number
props.style.marginLeft?
optionalprops.style.marginLeft:number
props.style.marginRight?
optionalprops.style.marginRight:number
props.style.marginTop?
optionalprops.style.marginTop:number
props.style.maxHeight?
optionalprops.style.maxHeight:number
props.style.maxWidth?
optionalprops.style.maxWidth:number
props.style.minHeight?
optionalprops.style.minHeight:number
props.style.minWidth?
optionalprops.style.minWidth:number
props.style.objectFit?
optionalprops.style.objectFit:"none"|"contain"|"cover"
props.style.opacity?
optionalprops.style.opacity:number
props.style.overflow?
optionalprops.style.overflow:"visible"|"hidden"
props.style.padding?
optionalprops.style.padding:number
props.style.paddingBottom?
optionalprops.style.paddingBottom:number
props.style.paddingLeft?
optionalprops.style.paddingLeft:number
props.style.paddingRight?
optionalprops.style.paddingRight:number
props.style.paddingTop?
optionalprops.style.paddingTop:number
props.style.position?
optionalprops.style.position:"relative"|"absolute"
props.style.right?
optionalprops.style.right:number
props.style.top?
optionalprops.style.top:number
props.style.width?
optionalprops.style.width:number
props.title
props.title:
string
type
type:
"Tile"
version
version:
"0.1"
render()
render(
tile):void
Parameters
tile
tile.props
object
tile.props.actions
({label: string;type: "tairu:uri/open";uri: string; } | {label: string;payload: object;state: object;type: "tairu:did/sign"; } | {label: string;state: object;type: "tairu:did/submit"; })[]
tile.props.children
({props: object;type: "Box" | "Image" | "Text"; } | object[])[]
tile.props.description
string
tile.props.input
{multiple: boolean;options: object[];type: "options"; } | {defaultValue: string;label: string;placeholder: string;secure: boolean;type: "text"; }
tile.props.key
string
tile.props.style
object
tile.props.style.alignItems
"center" | "flex-start" | "flex-end"
tile.props.style.alignSelf
"center" | "flex-start" | "flex-end" | "auto"
tile.props.style.backgroundClip
"text" | "border-box"
tile.props.style.backgroundColor
string
tile.props.style.backgroundImage
string
tile.props.style.backgroundPosition
string
tile.props.style.backgroundRepeat
"repeat" | "repeat-x" | "repeat-y" | "no-repeat"
tile.props.style.backgroundSize
string
tile.props.style.borderBottomColor
string
tile.props.style.borderBottomLeftRadius
number
tile.props.style.borderBottomRightRadius
number
tile.props.style.borderBottomStyle
"solid" | "dashed"
tile.props.style.borderBottomWidth
number
tile.props.style.borderColor
string
tile.props.style.borderLeftColor
string
tile.props.style.borderLeftStyle
"solid" | "dashed"
tile.props.style.borderLeftWidth
number
tile.props.style.borderRadius
number
tile.props.style.borderRightColor
string
tile.props.style.borderRightStyle
"solid" | "dashed"
tile.props.style.borderRightWidth
number
tile.props.style.borderStyle
"solid" | "dashed"
tile.props.style.borderTopColor
string
tile.props.style.borderTopLeftRadius
number
tile.props.style.borderTopRightRadius
number
tile.props.style.borderTopStyle
"solid" | "dashed"
tile.props.style.borderTopWidth
number
tile.props.style.borderWidth
number
tile.props.style.bottom
number
tile.props.style.boxShadow
string
tile.props.style.display
"flex" | "none"
tile.props.style.flexBasis
number
tile.props.style.flexDirection
"row" | "row-reverse" | "column" | "column-reverse"
tile.props.style.flexGrow
number
tile.props.style.flexShrink
number
tile.props.style.flexWrap
"nowrap" | "wrap" | "wrap-reverse"
tile.props.style.gap
number
tile.props.style.height
number
tile.props.style.justifyContent
"center" | "flex-start" | "flex-end" | "space-between" | "space-around"
tile.props.style.left
number
tile.props.style.margin
number
tile.props.style.marginBottom
number
tile.props.style.marginLeft
number
tile.props.style.marginRight
number
tile.props.style.marginTop
number
tile.props.style.maxHeight
number
tile.props.style.maxWidth
number
tile.props.style.minHeight
number
tile.props.style.minWidth
number
tile.props.style.objectFit
"none" | "contain" | "cover"
tile.props.style.opacity
number
tile.props.style.overflow
"visible" | "hidden"
tile.props.style.padding
number
tile.props.style.paddingBottom
number
tile.props.style.paddingLeft
number
tile.props.style.paddingRight
number
tile.props.style.paddingTop
number
tile.props.style.position
"relative" | "absolute"
tile.props.style.right
number
tile.props.style.top
number
tile.props.style.width
number
tile.props.title
string
tile.type
"Tile"
tile.version
"0.1"
Returns
void
renderInteractions()
renderInteractions(
interactive):HTMLElement
Parameters
interactive
interactive.actions
({label: string;type: "tairu:uri/open";uri: string; } | {label: string;payload: object;state: object;type: "tairu:did/sign"; } | {label: string;state: object;type: "tairu:did/submit"; })[]
interactive.input
{multiple: boolean;options: object[];type: "options"; } | {defaultValue: string;label: string;placeholder: string;secure: boolean;type: "text"; }
Returns
HTMLElement
fromPlaceholder()
staticfromPlaceholder(params):TileProxy
Parameters
params
Returns
fromPrerendered()
staticfromPrerendered(params):TileProxy
Parameters
params
Returns
WebClient
Constructors
new WebClient()
new WebClient(
params):WebClient
Parameters
params
WebClientParams = {}
Returns
Methods
fromPlaceholder()
fromPlaceholder(
element):TileProxy
Parameters
element
HTMLElement
Returns
fromPrerendered()
fromPrerendered(
element):TileProxy
Parameters
element
HTMLElement
Returns
handlePrerendered()
handlePrerendered():
void
Returns
void
tile()
tile(
url,element):TileProxy
Parameters
url
string
element
HTMLElement
Returns
Type Aliases
FromParams
FromParams:
object
Type declaration
context
context:
TileContext
element
element:
HTMLElement
TileContext
TileContext:
object
Type declaration
loader
loader:
Loader
openURI()
openURI: (
uri) =>void
Parameters
uri
string
Returns
void
renderer
renderer:
WebRenderer
TileProxyParams
TileProxyParams:
object
Type declaration
context
context:
TileContext
element
element:
HTMLElement
url
url:
string
WebClientParams
WebClientParams:
object
Type declaration
handleOpenURI()?
optionalhandleOpenURI: (uri) =>void
Parameters
uri
string
Returns
void
loader?
optionalloader:Loader
renderer?
optionalrenderer:WebRenderer