Loading...
Loading...
Translate natural language UI descriptions into IDS (Iress Design System) component implementations using `@iress-oss/ids-components` and `@iress-oss/ids-tokens`.
npx skill4agent add iress/design-system ui-translation@iress-oss/ids-components@iress-oss/ids-tokensimport '@iress-oss/ids-components/dist/style.css'; // Required — component styles
import '@iress-oss/ids-tokens/build/css-vars.css'; // Required if using tokens directly
import {
IressProvider,
IressButton,
IressInput,
IressField,
IressStack,
IressInline,
IressText,
IressCard,
// ... import what you need
} from '@iress-oss/ids-components';
// Wrap your app in IressProvider (handles fonts + CSS variables)
function App() {
return <IressProvider>{/* your UI */}</IressProvider>;
}| Description | IDS Component | Example |
|---|---|---|
| Submit / primary action button | | |
| Cancel / secondary action button | | |
| Less prominent action | | |
| Icon-only action | | |
| Danger / delete action | | |
| Link in text | | |
| Dropdown/context menu trigger | | See patterns docs |
| Description | IDS Component | Example |
|---|---|---|
| Labelled text input | | See Form example below |
| Select dropdown | | |
| Currency input | | |
| Checkbox | | |
| Checkbox group | | |
| Radio buttons | | |
| Toggle switch | | |
| Slider / range | | |
| Autocomplete / typeahead | | See component docs |
| Read-only display | | |
| Description | IDS Component | Example |
|---|---|---|
| Vertical stack (items stacked top-to-bottom) | | |
| Horizontal row (items side-by-side) | | |
| Grid columns | | |
| Container with max-width | | |
| Divider / separator | | |
| Responsive visibility | | |
| Description | IDS Component | Example |
|---|---|---|
| Text / paragraph | | |
| Heading | | |
| Card / panel | | |
| Alert / notification | | |
| Loading spinner | | |
| Skeleton loader | | |
| Progress bar | | |
| Image | | |
| Icon | | |
| Tag / badge | | |
| Pill | | |
| Tooltip | | |
| Description | IDS Component | Example |
|---|---|---|
| Modal / dialog | | See Modal docs |
| Slideout / drawer | | See Slideout docs |
| Popover | | See Popover docs |
| Menu | | See Menu docs |
| Tab navigation | | |
| Skip link (a11y) | | |
| Side navigation | | See SideNav pattern docs |
| Breadcrumbs | | See Breadcrumbs pattern docs |
| Description | IDS Component | Example |
|---|---|---|
| Data table | | |
| Prop | Purpose | Values |
|---|---|---|
| Override flex alignment | |
| Background colour | Colour tokens: |
| Border radius | Radius tokens: |
| Text colour | Colour tokens: |
| Flex grow | |
| Apply focus ring | |
| Hide from breakpoint up | |
| Hide below breakpoint | Breakpoints: |
| Max width | Size tokens: |
| Margin (all sides) | Spacing tokens: |
| Margin horizontal | Same as |
| Margin vertical | Same as |
| Margin top | Same as |
| Margin right | Same as |
| Margin bottom | Same as |
| Margin left | Same as |
| Remove last-child bottom margin | |
| Padding (all sides) | Spacing tokens: |
| Padding horizontal | Same as |
| Padding vertical | Same as |
| Padding top | Same as |
| Padding right | Same as |
| Padding bottom | Same as |
| Padding left | Same as |
| Enable overflow scrolling | |
| Screen-reader only | |
| Fill parent height | |
| Text alignment | |
| Typography style | |
| Element width | Size tokens: |
import {
IressButton,
IressField,
IressInput,
IressStack,
} from '@iress-oss/ids-components';
function LoginForm() {
return (
<IressStack gap="4">
<IressField label="Email" htmlFor="email" required>
<IressInput id="email" type="email" placeholder="Enter your email" />
</IressField>
<IressField label="Password" htmlFor="password" required>
<IressInput
id="password"
type="password"
placeholder="Enter your password"
/>
</IressField>
<IressButton mode="primary" type="submit">
Log in
</IressButton>
</IressStack>
);
}import {
IressCard,
IressButton,
IressInline,
IressText,
} from '@iress-oss/ids-components';
function ActionCard() {
return (
<IressCard>
<IressCard.Header>
<IressText element="h3">Card Title</IressText>
</IressCard.Header>
<IressCard.Body>
<IressText>
This is the card description with supporting details.
</IressText>
</IressCard.Body>
<IressCard.Footer>
<IressInline gap="2">
<IressButton mode="primary">Confirm</IressButton>
<IressButton mode="secondary">Cancel</IressButton>
</IressInline>
</IressCard.Footer>
</IressCard>
);
}import {
IressStack,
IressToggle,
IressCheckboxGroup,
IressCheckbox,
IressButton,
IressText,
IressDivider,
} from '@iress-oss/ids-components';
function SettingsPage() {
return (
<IressStack gap="6">
<IressText element="h2">Settings</IressText>
<IressToggle label="Enable notifications" />
<IressDivider />
<IressCheckboxGroup label="Notification types">
<IressCheckbox label="Email" value="email" />
<IressCheckbox label="SMS" value="sms" />
<IressCheckbox label="Push" value="push" />
</IressCheckboxGroup>
<IressDivider />
<IressButton mode="primary">Save settings</IressButton>
</IressStack>
);
}primarysecondaryIressFieldIressAlertstatusIressText<p>IressButton<button>node_modules/@iress-oss/ids-components/.ai/components/