@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?
optionalhandleAction:ActionHandler
RenderProps
RenderProps:
object
Type declaration
handleAction?
optionalhandleAction:ActionHandler
tile
tile:
TileV0
RenderTileProps<ElementType>
RenderTileProps<
ElementType>:object
Type Parameters
• ElementType
Type declaration
children
children:
ElementChildren<ElementType>
handleAction?
optionalhandleAction:ActionHandler
tile
tile:
TileV0
TextPropsV0
TextPropsV0:
FromSchema<typeoftextPropsV0>