Skip to Content
GuidesUI & permissions

UI & permissions

@sumx/ui separates permission data (host app) from UI primitives (package).

Provider API

import { PermissionProvider, usePermission, hasPermission } from '@sumx/ui'; // Option A — pass checker <PermissionProvider checkPermission={(keys) => myAppCan(keys)}> // Option B — pass permission list <PermissionProvider permissions={permissionsFromStore} />

Default without provider: only ['allow'] passes (safe for auth dialogs).

Component props

PropValuesBehavior
permissionstring[] resource keysRequired resources
permissionModehide (default) | disableHidden vs disabled

Applies to Button and DialogTrigger.

Portal mapping

Portal permissions use { resource: string, ... }[]. hasPermission in @sumx/ui matches portal helpers/permission.helper.ts semantics ('allow' bypass).

Tailwind / theme

Host tailwind.config.js owns colors (primary, etc.). @sumx/ui only adds class names; scan via:

/* src/styles/tailwind.css */ @source '../../node_modules/@sumx/ui/dist'; @source '../../node_modules/@sumx/ssr-auth-react/dist';

Do not import kit theme over portal tokens.