Tairu packages
Tiles handling
The following packages provide APIs to create Tile handlers, that can be served over HTTP using the Tairu CLI or a Node.js HTTP server.
@tairu/handler
This is the main package to use when getting started with Tairu. It enables to create handlers serving JSON Tiles, but also rendering as HTML and SVG.
@tairu/json-handler
APIs to create handlers for JSON Tiles only. The @tairu/handler
package should be used instead for rendering HTML and SVG.
Tiles rendering
The following packages provide APIs to load, display and interact with Tiles on clients.
@tairu/web-client
Main client for supporting Tiles in DOM environments, allowing to add interactions to prerendered Tiles or fully loading and rending Tiles by URL.
@tairu/jquery
jQuery plugin for interacting with Tiles.
@tairu/react-dom
High-level logic for supporting Tiles in clients using React for DOM environments. The @tairu/react-dom/server
export can also be used to support React Server Components.
@tairu/react-native
High-level logic for supporting Tiles in clients using React Native.
Integrations
@tairu/next
High-level integration for the Next.js React framework. This package exports a Tile
component that can be used to simply integrate Tiles in a Next.js application, supporting Server Components rendering.
The @tairu/next/server
export can also be used to create Tile handlers as Next.js Route Handlers.
Utilities
These are low-level packages mainly used to provide common logic for the higher-level packages supporting Tiles handling and rendering.
@tairu/protocol
The schemas and types implementing the Tairu protocol.
@tairu/loader
APIs to interact with Tile handlers by loading Tiles and posting actions.
@tairu/renderer
This package provides the base class that needs to be extended to implement platform-specific rendering logic. In most cases, the high-level Tiles rendering packages should be used instead of this package.
@tairu/testing
This package provides a TestAgent
class that can be used to interact with Tile handlers in tests with minimal setup.
@tairu/jsx
Utilities to convert JSX elements to the JSON Tile structure, allowing to use the JSX syntax as an abstraction in Tile handlers.
@tairu/react
Generic rendering logic for React, used by the @tairu/react-dom
and @tairu/react-native
packages.