@tairu/renderer
Renderer for tiles implementing the Tairu protocol.
Installation
npm install @tairu/renderer
Classes
Renderer<ElementType>
Extended by
Type Parameters
• ElementType
Constructors
new Renderer()
new Renderer<
ElementType
>():Renderer
<ElementType
>
Returns
Renderer
<ElementType
>
Methods
createBox()
createBox(
props
,children
):ElementType
Parameters
props
props.children
({props
: object
;type
: "Box"
| "Image"
| "Text"
; } | object
[])[]
props.key
string
props.style
object
props.style.alignItems
"flex-start"
| "center"
| "flex-end"
props.style.alignSelf
"flex-start"
| "center"
| "flex-end"
| "auto"
props.style.backgroundClip
"text"
| "border-box"
props.style.backgroundColor
string
props.style.backgroundImage
string
props.style.backgroundPosition
string
props.style.backgroundRepeat
"repeat"
| "repeat-x"
| "repeat-y"
| "no-repeat"
props.style.backgroundSize
string
props.style.borderBottomColor
string
props.style.borderBottomLeftRadius
number
props.style.borderBottomRightRadius
number
props.style.borderBottomStyle
"solid"
| "dashed"
props.style.borderBottomWidth
number
props.style.borderColor
string
props.style.borderLeftColor
string
props.style.borderLeftStyle
"solid"
| "dashed"
props.style.borderLeftWidth
number
props.style.borderRadius
number
props.style.borderRightColor
string
props.style.borderRightStyle
"solid"
| "dashed"
props.style.borderRightWidth
number
props.style.borderStyle
"solid"
| "dashed"
props.style.borderTopColor
string
props.style.borderTopLeftRadius
number
props.style.borderTopRightRadius
number
props.style.borderTopStyle
"solid"
| "dashed"
props.style.borderTopWidth
number
props.style.borderWidth
number
props.style.bottom
number
props.style.boxShadow
string
props.style.display
"flex"
| "none"
props.style.flexBasis
number
props.style.flexDirection
"row"
| "row-reverse"
| "column"
| "column-reverse"
props.style.flexGrow
number
props.style.flexShrink
number
props.style.flexWrap
"nowrap"
| "wrap"
| "wrap-reverse"
props.style.gap
number
props.style.height
number
props.style.justifyContent
"flex-start"
| "center"
| "flex-end"
| "space-between"
| "space-around"
props.style.left
number
props.style.margin
number
props.style.marginBottom
number
props.style.marginLeft
number
props.style.marginRight
number
props.style.marginTop
number
props.style.maxHeight
number
props.style.maxWidth
number
props.style.minHeight
number
props.style.minWidth
number
props.style.objectFit
"none"
| "contain"
| "cover"
props.style.opacity
number
props.style.overflow
"visible"
| "hidden"
props.style.padding
number
props.style.paddingBottom
number
props.style.paddingLeft
number
props.style.paddingRight
number
props.style.paddingTop
number
props.style.position
"relative"
| "absolute"
props.style.right
number
props.style.top
number
props.style.width
number
children
ElementChildren
<ElementType
>
Returns
ElementType
createBoxChildren()
createBoxChildren(
children
?,key
?):ElementChildren
<ElementType
>
Parameters
children?
{props
: object
;type
: "Box"
| "Image"
| "Text"
; }
children.props
object
children.type
"Box"
| "Image"
| "Text"
object
[]
key?
string
Returns
ElementChildren
<ElementType
>
createElement()
createElement(
el
,key
?):ElementType
Parameters
el
el.props
object
el.type
"Box"
| "Image"
| "Text"
key?
string
Returns
ElementType
createImage()
createImage(
props
):ElementType
Parameters
props
props.alt
string
props.height
number
props.key
string
props.src
string
props.width
number
Returns
ElementType
createText()
createText(
props
,children
):ElementType
Parameters
props
props.children
string
| number
| boolean
| {props
: object
;type
: "Text"
; } | (string
| number
| boolean
| {props
: object
;type
: "Text"
; })[]
props.key
string
props.style
object
props.style.color
string
props.style.fontFamily
string
props.style.fontSize
number
props.style.fontStyle
"normal"
| "italic"
props.style.fontWeight
"bold"
| "normal"
| "100"
| "200"
| "300"
| "400"
| "500"
| "600"
| "700"
| "800"
| "900"
| "ultralight"
| "thin"
| "light"
| "medium"
| "regular"
| "semibold"
| "condensedBold"
| "condensed"
| "heavy"
| "black"
props.style.letterSpacing
number
props.style.lineHeight
number
props.style.textAlign
"right"
| "left"
| "center"
| "justify"
props.style.textDecoration
string
props.style.textOverflow
"clip"
| "ellipsis"
props.style.textShadow
string
props.style.textTransform
"none"
| "uppercase"
| "lowercase"
| "capitalize"
props.style.textWrap
"wrap"
| "balance"
props.style.whiteSpace
"nowrap"
| "normal"
| "pre"
| "pre-wrap"
| "pre-line"
props.style.wordBreak
"normal"
| "break-all"
| "break-word"
| "keep-all"
children
ElementChildren
<ElementType
>
Returns
ElementType
createTextChildren()
createTextChildren(
children
?):ElementChildren
<ElementType
>
Parameters
children?
string
number
boolean
{props
: object
;type
: "Text"
; }
children.props
object
children.type
"Text"
(string
| number
| boolean
| {props
: object
;type
: "Text"
; })[]
Returns
ElementChildren
<ElementType
>
render()
render(
props
):ElementType
Parameters
props
Returns
ElementType
renderInteractions()
renderInteractions(
props
):ElementType
Parameters
props
Returns
ElementType
renderTile()
renderTile(
props
):ElementType
Parameters
props
RenderTileProps
<ElementType
>
Returns
ElementType
Type Aliases
ActionHandler()
ActionHandler: (
action
,submitValue
?) =>Promise
<void
>
Parameters
action
submitValue?
Returns
Promise
<void
>
BoxPropsV0
BoxPropsV0:
FromSchema
<typeofboxPropsV0
>
ElementChild<ElementType>
ElementChild<
ElementType
>:null
|ValueV0
|ElementType
Type Parameters
• ElementType
ElementChildren<ElementType>
ElementChildren<
ElementType
>:ElementChild
<ElementType
> |ElementChild
<ElementType
>[]
Type Parameters
• ElementType
ImagePropsV0
ImagePropsV0:
FromSchema
<typeofimagePropsV0
>
RenderInteractionsHandler()<ElementType>
RenderInteractionsHandler<
ElementType
>: (props
) =>ElementType
Type Parameters
• ElementType
Parameters
props
Returns
ElementType
RenderInteractionsProps
RenderInteractionsProps:
TileInteractiveV0
&object
Type declaration
handleAction?
optional
handleAction:ActionHandler
RenderProps
RenderProps:
object
Type declaration
handleAction?
optional
handleAction:ActionHandler
tile
tile:
TileV0
RenderTileProps<ElementType>
RenderTileProps<
ElementType
>:object
Type Parameters
• ElementType
Type declaration
children
children:
ElementChildren
<ElementType
>
handleAction?
optional
handleAction:ActionHandler
tile
tile:
TileV0
TextPropsV0
TextPropsV0:
FromSchema
<typeoftextPropsV0
>