@luisrodonccs/simplest-ui 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +163 -3
- package/components.manifest.json +54 -0
- package/dist/accordion.js +96 -0
- package/dist/base.css +1 -0
- package/dist/chunks/a11y-BYNN9rH7.js +59 -0
- package/dist/chunks/position-BdzQ8shu.js +7 -0
- package/dist/components/accordion.css +1 -0
- package/dist/components/accordion.d.ts +29 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/alert.css +1 -0
- package/dist/components/avatar.css +1 -0
- package/dist/components/badge.css +1 -0
- package/dist/components/button.css +1 -0
- package/dist/components/card.css +1 -0
- package/dist/components/checkbox.css +1 -0
- package/dist/components/drawer.d.ts +38 -0
- package/dist/components/drawer.d.ts.map +1 -0
- package/dist/components/dropdown.d.ts +39 -0
- package/dist/components/dropdown.d.ts.map +1 -0
- package/dist/components/empty-state.css +1 -0
- package/dist/components/index.d.ts +17 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/input.css +1 -0
- package/dist/components/internal/a11y.d.ts +20 -0
- package/dist/components/internal/a11y.d.ts.map +1 -0
- package/dist/components/internal/position.d.ts +12 -0
- package/dist/components/internal/position.d.ts.map +1 -0
- package/dist/components/modal.d.ts +40 -0
- package/dist/components/modal.d.ts.map +1 -0
- package/dist/components/nav.css +1 -0
- package/dist/components/popover.css +1 -0
- package/dist/components/popover.d.ts +30 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/progress.css +1 -0
- package/dist/components/radio.css +1 -0
- package/dist/components/select.css +1 -0
- package/dist/components/skeleton.css +1 -0
- package/dist/components/spinner.css +1 -0
- package/dist/components/stat.css +1 -0
- package/dist/components/switch.css +1 -0
- package/dist/components/table.css +1 -0
- package/dist/components/tabs.d.ts +30 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/textarea.css +1 -0
- package/dist/components/toast.css +1 -0
- package/dist/components/toast.d.ts +31 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/tooltip.css +1 -0
- package/dist/components/tooltip.d.ts +15 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/topbar.css +1 -0
- package/dist/components.css +1 -0
- package/dist/components.js +19 -0
- package/dist/drawer.js +182 -0
- package/dist/dropdown.js +278 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/modal.js +199 -0
- package/dist/popover.js +83 -0
- package/dist/reset.css +1 -0
- package/dist/styles.css +1 -0
- package/dist/tabs.js +253 -0
- package/dist/toast.js +61 -0
- package/dist/tokens.css +1 -0
- package/dist/tooltip.js +27 -0
- package/package.json +138 -6
- package/skills/simplest-ui/INSTALL.md +46 -0
- package/skills/simplest-ui/SKILL.md +62 -0
- package/skills/simplest-ui/evals/README.md +20 -0
- package/skills/simplest-ui/evals/RESULTS.md +23 -0
- package/skills/simplest-ui/evals/evals.json +23 -0
- package/skills/simplest-ui/references/authoring.md +18 -0
- package/skills/simplest-ui/references/catalog.md +49 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "simplest-ui",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Add a billing summary card with amount, status, and a secondary action to the account view. The project already uses Simplest UI.",
|
|
7
|
+
"expected_output": "The agent composes semantic HTML with ui-card, ui-badge, and ui-button, uses existing tokens or classes, and does not create a sui-card.",
|
|
8
|
+
"files": []
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": 2,
|
|
12
|
+
"prompt": "I need a button that shows export actions, and the menu must work with a keyboard in this Simplest UI application.",
|
|
13
|
+
"expected_output": "The agent chooses sui-dropdown, imports the correct behavior entrypoint, and does not recreate ARIA or keyboard navigation manually.",
|
|
14
|
+
"files": []
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": 3,
|
|
18
|
+
"prompt": "Create a reusable date-range picker with a popup calendar for Simplest UI.",
|
|
19
|
+
"expected_output": "The agent recognizes that no date picker exists, justifies the extension, and proposes or implements a component respecting tokens, accessibility, tests, manifest, and catalog.",
|
|
20
|
+
"files": []
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Authoring rules
|
|
2
|
+
|
|
3
|
+
## Accessibility
|
|
4
|
+
|
|
5
|
+
- Use native controls and labels whenever possible.
|
|
6
|
+
- Pair controls and descriptions with `for`, `aria-describedby`, or component-provided relationships.
|
|
7
|
+
- Do not duplicate existing keyboard or focus logic outside a registered component.
|
|
8
|
+
- Custom events use the `sui-*` namespace, bubble, and are composed.
|
|
9
|
+
|
|
10
|
+
## Visual language
|
|
11
|
+
|
|
12
|
+
- Use semantic `--sui-*` tokens, not literal visual values.
|
|
13
|
+
- Preserve the soft surface, rounded border, and restrained glass effect of the system.
|
|
14
|
+
- Make focus visible and preserve reduced-motion behavior.
|
|
15
|
+
|
|
16
|
+
## Integration
|
|
17
|
+
|
|
18
|
+
When Bootstrap or Tailwind supplies a reset, import `tokens.css` and `components.css`, not the complete `styles.css` bundle. Keep Simplest class names intact rather than translating them into another utility system.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Simplest UI catalog
|
|
2
|
+
|
|
3
|
+
Generated from `components.manifest.json` by `npm run catalog:generate`. Do not edit manually.
|
|
4
|
+
|
|
5
|
+
Read `components.manifest.json` in the repository root first; it is the machine-readable source of truth.
|
|
6
|
+
|
|
7
|
+
## Registered Web Components
|
|
8
|
+
|
|
9
|
+
| Element | Import | Keyboard |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| `sui-modal` | `@luisrodonccs/simplest-ui/components/modal` | Escape, focus trap |
|
|
12
|
+
| `sui-drawer` | `@luisrodonccs/simplest-ui/components/drawer` | Escape, focus trap |
|
|
13
|
+
| `sui-dropdown` | `@luisrodonccs/simplest-ui/components/dropdown` | ArrowUp, ArrowDown, Home, End, Enter, Space, Escape, Tab |
|
|
14
|
+
| `sui-tabs` | `@luisrodonccs/simplest-ui/components/tabs` | ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Home, End |
|
|
15
|
+
| `sui-accordion` | `@luisrodonccs/simplest-ui/components/accordion` | ArrowUp, ArrowDown, Home, End |
|
|
16
|
+
| `sui-popover` | `@luisrodonccs/simplest-ui/components/popover` | ArrowDown, Enter, Space, Escape, Tab |
|
|
17
|
+
| `sui-tooltip` | `@luisrodonccs/simplest-ui/components/tooltip` | focus |
|
|
18
|
+
| `sui-toast` | `@luisrodonccs/simplest-ui/components/toast` | None |
|
|
19
|
+
|
|
20
|
+
## CSS components
|
|
21
|
+
|
|
22
|
+
- **Button**: `ui-button`, `ui-button--primary`, `ui-button--danger`, `ui-button--ghost`, `ui-button--sm`
|
|
23
|
+
- **Input Field**: `ui-field`, `ui-label`, `ui-help`, `ui-error`, `ui-input`, `ui-input--invalid`
|
|
24
|
+
- **Textarea**: `ui-textarea`, `ui-textarea--invalid`
|
|
25
|
+
- **Select**: `ui-select`, `ui-select--invalid`
|
|
26
|
+
- **Checkbox**: `ui-checkbox`, `ui-checkbox--disabled`
|
|
27
|
+
- **Radio**: `ui-radio`, `ui-radio-group`
|
|
28
|
+
- **Switch**: `ui-switch`, `ui-switch__track`
|
|
29
|
+
- **Card**: `ui-card`, `ui-card--raised`, `ui-card--glass`, `ui-card__header`, `ui-card__title`, `ui-card__body`, `ui-card__footer`
|
|
30
|
+
- **Badge Chip**: `ui-badge`, `ui-badge--primary`, `ui-badge--success`, `ui-badge--warning`, `ui-badge--danger`, `ui-badge--info`, `ui-badge--outline`, `ui-chip`
|
|
31
|
+
- **Alert**: `ui-alert`, `ui-alert--success`, `ui-alert--warning`, `ui-alert--danger`, `ui-alert--info`
|
|
32
|
+
- **Spinner**: `ui-spinner`, `ui-spinner--sm`, `ui-spinner--lg`
|
|
33
|
+
- **Skeleton**: `ui-skeleton`, `ui-skeleton--text`, `ui-skeleton--title`, `ui-skeleton--avatar`, `ui-skeleton--block`
|
|
34
|
+
- **Progress**: `ui-progress`, `ui-progress__bar`, `ui-progress--indeterminate`
|
|
35
|
+
- **Table**: `ui-table-wrap`, `ui-table`
|
|
36
|
+
- **Avatar**: `ui-avatar`, `ui-avatar--sm`, `ui-avatar--lg`, `ui-avatar-group`
|
|
37
|
+
- **Stat**: `ui-stat`, `ui-stat__label`, `ui-stat__value`, `ui-stat__hint`
|
|
38
|
+
- **Empty State**: `ui-empty`, `ui-empty__title`, `ui-empty__body`
|
|
39
|
+
- **Nav**: `ui-nav`, `ui-nav__item`, `ui-nav__item--active`, `ui-nav__group-title`
|
|
40
|
+
- **Topbar**: `ui-topbar`, `ui-topbar__brand`, `ui-topbar__mark`, `ui-topbar__controls`, `ui-topbar--glass`
|
|
41
|
+
|
|
42
|
+
## Layouts
|
|
43
|
+
|
|
44
|
+
- **Container**: `ui-container`
|
|
45
|
+
- **Stack**: `ui-stack`
|
|
46
|
+
- **Cluster**: `ui-cluster`
|
|
47
|
+
- **Grid**: `ui-grid`, `ui-grid--auto`
|
|
48
|
+
- **App Shell**: `ui-app-shell`, `ui-app-shell--contained`, `ui-app-shell__sidebar`, `ui-app-shell__header`, `ui-app-shell__main`
|
|
49
|
+
- **Skip Link**: `ui-skip-link`
|