A React client component for rendering boolean values as icon-accompanied Yes/No indicators, plus a utility function for evaluating feature flag values across multiple data types.
## Key Components
### `YesNoDisplay` (Component)
Renders a boolean state with an icon and label. Supports custom text override, configurable Yes/No labels, and optional CSS class extension.
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `value` | `boolean` | — | The boolean state to display |
| `yesText` | `string` | `"Yes"` | Label shown for truthy state |
| `noText` | `string` | `"No"` | Label shown for falsy state |
| `customText` | `string` | — | Overrides Yes/No logic; always renders with check icon |
| `className` | `string` | `""` | Additional CSS classes |
### `evaluateFeatureValue` (Utility)
Normalizes raw feature values (`string | null | undefined`) to a `boolean` using type-aware rules:
- **`boolean`** — matches `"true"`, `"1"`, `"yes"`, `"✓"`, `"✅"`
- **`text`** — emoji-aware; treats any non-empty, non-negative string as truthy
- **`number`** — parses float; truthy if `> 0`
- Null-like sentinels (`"null"`, `"n/a"`, `"none"`, `"-"`) always return `false`
## Usage Example
```typescript
import { YesNoDisplay, evaluateFeatureValue } from './yes-no-display'
// Basic boolean display
// ✓ Yes
// Custom text (always shows check icon)
// Evaluate raw feature flag values before rendering
const isEnabled = evaluateFeatureValue("✅", "text") // true
const hasCount = evaluateFeatureValue("42", "number") // true
const missing = evaluateFeatureValue("n/a", "boolean") // false
```
## Source
[`yes-no-display.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/yes-no-display.tsx)