Entitlements
Product entitlements table
SaaSProducts
Overview
EntitlementsTable provides an editable table for configuring product entitlements. Supports multiple entitlement types: feature flags (boolean toggles), API/storage quotas (with usage tracking), seat allocations, and content access (resource lists). Entitlements can be toggled active/inactive, and the table supports disabled and max-entitlements-reached states.
Usage
import { EntitlementsTable } from "@leanicon/web-builder-library/saas";
<EntitlementsTable
entitlements={entitlements}
productId="prod-1"
onChange={(updated) => setEntitlements(updated)}
maxEntitlements={10}
disabled={false}
/>;Variants
Loading
Empty
Entitlements
0 of 50 entitlements
No entitlements defined
Add entitlements to define product features and limits
Error
Failed to load entitlements. Please try again.
Default (with data)
Entitlements
3 of 50 entitlements
| Active | Name | Type | Value | |
|---|---|---|---|---|
| Premium Features Access to premium features | Feature Flag | Enabled | ||
| API Calls Monthly API call limit | API Quota | 2500/10000 | ||
| Storage File storage quota in GB | Storage Quota | 45/100 |
Disabled
Entitlements
2 of 50 entitlements
| Active | Name | Type | Value | |
|---|---|---|---|---|
| Premium Features | Feature Flag | Enabled | ||
| API Calls | API Quota | 2500/10000 |
Dark
Entitlements
2 of 50 entitlements
| Active | Name | Type | Value | |
|---|---|---|---|---|
| Premium Features | Feature Flag | Enabled | ||
| API Calls | API Quota | 2500/10000 |
Content Access (code only)
<EntitlementsTable
entitlements={[
{
id: "ca-1",
productId: "prod-1",
type: "content_access",
name: "Module Access",
value: { type: "access", resources: ["crm", "marketing", "sales", "support"] },
isActive: true,
},
{
id: "ca-2",
productId: "prod-1",
type: "content_access",
name: "Report Types",
value: { type: "access", resources: ["financial", "operational"] },
isActive: true,
},
]}
productId="prod-1"
onChange={(e) => setEntitlements(e)}
/>