@sableui/react 0.5.0 → 0.6.1
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/AGENTS.md +2 -2
- package/CHANGELOG.md +148 -0
- package/CONTRIBUTING.md +1 -1
- package/THIRD_PARTY_NOTICES.md +11 -0
- package/bin/sable-lint.mjs +2 -1
- package/bin/sable.mjs +3 -2
- package/dist/{_contract-Cn3lUpih.d.ts → _contract-C2M1SjBf.d.ts} +20 -2
- package/dist/blocks/index.js +19 -51
- package/dist/{chunk-RCLKXF2N.js → chunk-7QSDYBXO.js} +610 -30
- package/dist/{chunk-GU3T7SBA.js → chunk-EDXLM7YL.js} +1 -1
- package/dist/chunk-FKZXAFIY.js +12 -0
- package/dist/{chunk-OQACYT2D.js → chunk-NETUFI34.js} +23 -1
- package/dist/{chunk-ZBZMKOO7.js → chunk-VVW4UCDI.js} +3 -3
- package/dist/foundations/index.js +6 -0
- package/dist/index.d.ts +127 -11
- package/dist/index.js +23 -13
- package/dist/ios/index.d.ts +6 -1
- package/dist/ios/index.js +4 -3
- package/dist/ios/styles.css +9 -0
- package/dist/patterns/index.js +22 -28
- package/dist/presets/index.d.ts +108 -5
- package/dist/presets/index.js +239 -6
- package/dist/styles.css +50 -0
- package/dist/{theme-provider-CGeiusgu.d.ts → theme-provider-kQszHYji.d.ts} +1 -1
- package/dist/themes/atelier/atelier.css +31 -3
- package/dist/themes/atelier/index.d.ts +1 -1
- package/dist/themes/ember/ember.css +38 -7
- package/dist/themes/ember/index.d.ts +1 -1
- package/dist/themes/index.d.ts +2 -2
- package/dist/themes/meridian/index.d.ts +1 -1
- package/dist/themes/meridian/meridian.css +33 -4
- package/dist/themes/poppy/index.d.ts +1 -1
- package/dist/themes/poppy/poppy.css +28 -0
- package/dist/themes/prism/index.d.ts +1 -1
- package/dist/themes/prism/prism.css +26 -0
- package/dist/themes/sable/index.d.ts +1 -1
- package/dist/themes/sable/sable.css +24 -11
- package/dist/themes/verdant/index.d.ts +1 -1
- package/dist/themes/verdant/verdant.css +34 -4
- package/llms/blocks/danger-zone-block.md +1 -1
- package/llms/blocks/event-card-block.md +1 -1
- package/llms/blocks/feedback-form-block.md +1 -1
- package/llms/blocks/invite-team-block.md +1 -1
- package/llms/blocks/media-player-block.md +3 -16
- package/llms/blocks/notification-list-block.md +3 -3
- package/llms/blocks/product-card-block.md +3 -17
- package/llms/blocks/profile-card-block.md +4 -17
- package/llms/blocks/profile-form-block.md +2 -2
- package/llms/blocks/team-members-block.md +1 -1
- package/llms/blocks/testimonial-block.md +1 -1
- package/llms/components/avatar.md +13 -1
- package/llms/components/card.md +1 -1
- package/llms/components/gradient-art.md +80 -0
- package/llms/components/sheet.md +1 -1
- package/llms/foundations/accessibility.md +1 -0
- package/llms/patterns/auth-page.md +5 -19
- package/llms/patterns/brand-landing-page.md +1 -1
- package/llms/patterns/chat-panel.md +1 -1
- package/llms/patterns/dashboard-page.md +4 -4
- package/llms/patterns/feed-page.md +4 -4
- package/llms/patterns/landing-page.md +1 -1
- package/llms/patterns/list-detail-page.md +3 -2
- package/llms/patterns/settings-page.md +3 -3
- package/llms/reference/token-intent.md +9 -1
- package/llms/tasks/auditing-an-app.md +6 -0
- package/llms/tasks/building-an-ios-prototype.md +3 -1
- package/llms/tasks/converting-an-app.md +1 -1
- package/llms/tasks/creating-a-preset.md +24 -0
- package/llms/tasks/reviewing-a-design.md +9 -0
- package/llms/tasks/using-presets.md +6 -1
- package/llms-full.txt +201 -104
- package/llms.txt +3 -2
- package/package.json +9 -7
- package/registry.json +283 -30
- package/scripts/design-presets.mjs +27 -4
- package/scripts/grade.mjs +2 -1
- package/scripts/label-contrast.mjs +174 -0
- package/scripts/lint-rules.mjs +39 -2
- package/skills/sable/SKILL.md +3 -1
- package/targets/ios.json +18 -2
- package/third-party/paper-shaders-LICENSE.txt +201 -0
- package/third-party/paper-shaders-NOTICE.txt +5 -0
package/llms.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Sable (@sableui/react)
|
|
2
2
|
|
|
3
|
-
> An owned, themeable React component system. Default theme: **Base** (dark-by-default, content-first, fluid product UI). Behavior from Base UI; styling via Tailwind v4 + semantic CSS-variable tokens; Reicon icons via a pluggable adapter.
|
|
3
|
+
> An owned, themeable React component system. Default theme: **Base** (dark-by-default, content-first, fluid product UI). Behavior from Base UI; styling via Tailwind v4 + semantic CSS-variable tokens; Reicon icons via a pluggable adapter. 106 components, 13 layout primitives, and a **patterns** tier of canonical page shells. The full, per-component contract is the generated `registry.json`.
|
|
4
4
|
|
|
5
5
|
## Start here — brief, composition, evidence
|
|
6
6
|
|
|
@@ -346,7 +346,7 @@ import { Button, Card, IconProvider, MotionProvider, SableThemeProvider, useSabl
|
|
|
346
346
|
- **helper** — `hit-target`, `link-underline`, `checkerboard`
|
|
347
347
|
- **elsewhere** — paired `text-*` page tiers: registry.json → tokens.typography; `motion-*` / `animate-*` recipes: registry.json → tokens.motion.recipes.
|
|
348
348
|
|
|
349
|
-
### Components (
|
|
349
|
+
### Components (106) — full props/subcomponents/variants/guidance/a11y/examples in registry.json → components
|
|
350
350
|
|
|
351
351
|
- **Accordion** — Stacked, collapsible disclosure sections over Base UI Accordion — roving focus, arrow-key navigation, ARIA region/heading/button wiring, and an animated height transition. *Parts:* AccordionItem, AccordionTrigger, AccordionPanel. → [`llms/components/accordion.md`](./llms/components/accordion.md)
|
|
352
352
|
- **AppHeader** — Mobile top bar (sticky, hidden at lg) with leading / title / actions slots on a 3-column grid that keeps the title optically centered. → [`llms/components/app-header.md`](./llms/components/app-header.md)
|
|
@@ -388,6 +388,7 @@ import { Button, Card, IconProvider, MotionProvider, SableThemeProvider, useSabl
|
|
|
388
388
|
- **FileDropzone** — Drag-and-drop target and file picker in one keyboard-operable button. → [`llms/components/file-dropzone.md`](./llms/components/file-dropzone.md)
|
|
389
389
|
- **Form** — A styled <form> plus Field — the form orchestration layer, built on Base UI Form and Field. *Parts:* Field. → [`llms/components/form.md`](./llms/components/form.md)
|
|
390
390
|
- **GlidingHighlight** — One highlight that travels to the active item, instead of each item toggling its own background. → [`llms/components/gliding-highlight.md`](./llms/components/gliding-highlight.md)
|
|
391
|
+
- **GradientArt** — **BETA.** Placeholder artwork painted by a static WebGL shader from the preset's own art direction (the --art-* tokens: palette, ground, warp, softness, grain) — Ember burns, Prism airbrushes, Meridian is grainy monochrome — with a CSS gradient underneath for prerendered pages and browsers without WebGL2. → [`llms/components/gradient-art.md`](./llms/components/gradient-art.md)
|
|
391
392
|
- **InlineStatus** — A borderless single-line status message — a leading semantic icon + one line of text over the canonical tone scale (neutral/info/success/warning/destructive). → [`llms/components/inline-status.md`](./llms/components/inline-status.md)
|
|
392
393
|
- **Input** — Styled native text input. → [`llms/components/input.md`](./llms/components/input.md)
|
|
393
394
|
- **Kbd** — A keyboard key indicator. → [`llms/components/kbd.md`](./llms/components/kbd.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sableui/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Sable: themeable React components, layout patterns, and tools for coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -102,6 +102,7 @@
|
|
|
102
102
|
"dist",
|
|
103
103
|
"bin",
|
|
104
104
|
"scripts/lint-rules.mjs",
|
|
105
|
+
"scripts/label-contrast.mjs",
|
|
105
106
|
"scripts/skeleton.mjs",
|
|
106
107
|
"scripts/grade.mjs",
|
|
107
108
|
"scripts/review-evidence.mjs",
|
|
@@ -131,19 +132,20 @@
|
|
|
131
132
|
"provenance": true
|
|
132
133
|
},
|
|
133
134
|
"peerDependencies": {
|
|
135
|
+
"konsta": "^5.5.0",
|
|
134
136
|
"react": "^19",
|
|
135
137
|
"react-dom": "^19",
|
|
136
|
-
"tailwindcss": "^4"
|
|
137
|
-
"konsta": "^5.5.0"
|
|
138
|
+
"tailwindcss": "^4"
|
|
138
139
|
},
|
|
139
140
|
"dependencies": {
|
|
140
141
|
"@base-ui/react": "^1.5.0",
|
|
142
|
+
"@paper-design/shaders": "0.0.81",
|
|
141
143
|
"class-variance-authority": "^0.7.1",
|
|
142
144
|
"clsx": "^2.1.1",
|
|
143
145
|
"date-fns": "^4.4.0",
|
|
144
146
|
"react-day-picker": "^9.13.2",
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
+
"reicon-react": "^1.2.0",
|
|
148
|
+
"tailwind-merge": "^3.4.0"
|
|
147
149
|
},
|
|
148
150
|
"devDependencies": {
|
|
149
151
|
"@testing-library/dom": "^10.4.1",
|
|
@@ -155,11 +157,11 @@
|
|
|
155
157
|
"@types/react-dom": "^19.2.3",
|
|
156
158
|
"jest-axe": "^10.0.0",
|
|
157
159
|
"jsdom": "^29.1.1",
|
|
160
|
+
"konsta": "^5.5.0",
|
|
158
161
|
"reicon-brands": "^1.0.2",
|
|
159
162
|
"tsup": "^8.5.0",
|
|
160
163
|
"typescript": "^5.9.3",
|
|
161
|
-
"vitest": "^3.2.6"
|
|
162
|
-
"konsta": "^5.5.0"
|
|
164
|
+
"vitest": "^3.2.6"
|
|
163
165
|
},
|
|
164
166
|
"license": "MIT",
|
|
165
167
|
"author": "Sable contributors",
|