Skip to main content
Service pages use Tailwind CSS and DaisyUI as the common styling vocabulary. Tailwind CSS provides utility classes, while DaisyUI provides component styles and semantic component variants. Tailwind CSS is the recommended styling layer for service pages. DaisyUI is available when a service needs its component classes. Neither library is a requirement for a service that has its own frontend build pipeline. The requirement is that the page follows the shared theme scheme described below.

Shared style resources

The application currently publishes these frontend resources: The Tailwind and DaisyUI resources provide a quick way to start a service frontend. A service may instead compile its own CSS and JavaScript. Such a frontend only needs to remain compatible with /assets/css/scheme.css and the theme states it defines.

Theme scheme

The shared theme scheme is available at /assets/css/scheme.css. It defines variables for body.light and body.dark. The variables are the visual contract between the application and service pages.
Services should use the semantic variables rather than fixed colors.

Theme switching

The selected theme is shared through browser storage under the key arupa.theme. The value is light or dark; the effective default is light. Storage carries the application-wide choice, while each service page reflects that choice through its own body.light or body.dark state. Changing the stored value is the application-wide theme switch. Service pages must follow the change so that all visible pages use the same theme. The web-sdk service provides a convenience API for reading, writing, and observing this storage value, but the storage convention is independent of the SDK.