Forms

PolicyLock

Explains why a setting is policy-managed, identifies its source, and exposes the policy scope as a badge.

import { PolicyLock } from '@lostgradient/cinder';
formpolicy
01

Overview

PolicyLock explains why a setting is managed, names the policy source when available, and displays the policy scope as a Badge. Use it with SettingRow when a setting is visible but not locally editable.

Usage

svelte
<script lang="ts">
  import { PolicyLock } from '@lostgradient/cinder';
</script>

<PolicyLock id="retention-policy" reason="Managed by your organization" source="Security policy" />

reason is the required explanation; source and scope add context when the host can name the policy that applies. PolicyLock is explanatory UI, not an authorization check and not a disabled form control. Pair it with SettingRow, keep the setting visible, and let the host decide whether a request-access or retry action is available.

Live preview
Managed by your organization Source: Security policy.
02

When to use

Use when
  • A control is unavailable because an administrator or policy source owns its value.
Avoid when
  • A control is unavailable for a temporary or non-policy reason.
03

Examples

Managed setting

Explain why a setting is controlled by policy.

04

Props

Props for policy-lock
Name
Type
Default
Description
id required text Stable id for the lock explanation.
reason required text Required explanation of why the setting is managed.
source text Name of the policy source, when the host can name it.
scope text Policy scope, rendered as a Badge when non-empty—scope="" renders nothing, the same as omitted ({#if scope}).