Skip to main content
Version: 1.0

Styling

MealzUIKit UI is SSR HTML/CSS inside the WebView. Branding is applied through CSS manifests, not native theme protocols (those belonged to the Older MealzCore stack). Defaults already look fine — register manifests only when you need brand overrides.

Where to Put Your Files​

Mealz already ships SSR + retailer default styles inside the WebView. You only add files for extra brand overrides, then register them. CustomStyle resolves those paths for you (Android assets / iOS main bundle).

  • Put manifests and CSS in the app main bundle (same relative folder layout you will pass to registerManifest).
  • Register with that bundle-relative path, e.g. styles/base-manifest.json.

CSS (and other assets) listed in a manifest’s links array are resolved relative to the directory that contains that manifest. Keep overrides under that tree — files outside the registered manifest folders are not loaded.

Example layout:

styles/
base-manifest.json # links → ./override/base.css
catalog-manifest.json
override/
base.css
catalog.css

Register a Manifest​

CustomStyle.companion.getInstance().registerManifest(
    path: "styles/base-manifest.json",
    type: .base
)

// Optionally per feature:
CustomStyle.companion.getInstance().registerManifest(
    path: "styles/catalog-manifest.json",
    type: .catalog
)

ManifestFeatureType values: BASE, CATALOG, PLANNER, RECIPE.

Example manifest:

{
"updated-at": "2026-01-09T11-26-00",
"layer": "retailer",
"links": [
"./override/base.css"
]
}