@svadmin/create 0.16.11 → 0.18.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/guidance/DESIGN.md +47 -0
- package/package.json +1 -1
- package/scaffold-manifest.json +1 -1
package/guidance/DESIGN.md
CHANGED
|
@@ -143,12 +143,23 @@ not a page background. Success, warning, and danger are reserved for semantic
|
|
|
143
143
|
status and feedback. Consumer themes may replace the primary hue while keeping
|
|
144
144
|
the neutral hierarchy and contrast relationships intact.
|
|
145
145
|
|
|
146
|
+
- **WCAG 2.2 AA Contrast**: Normal text maintains at least 4.5:1 against its
|
|
147
|
+
canvas; large text, icons, and focus rings maintain at least 3:1. Enhanced AAA
|
|
148
|
+
screens target 7:1 for normal text.
|
|
149
|
+
- **Palette Discipline**: Avoid one-note palettes dominated by a single hue
|
|
150
|
+
family. Functional states (success, warning, destructive) must use distinct
|
|
151
|
+
chroma and hue angles, never tints of the primary accent.
|
|
152
|
+
|
|
146
153
|
## Typography
|
|
147
154
|
|
|
148
155
|
Use Inter or the consumer's compatible system sans. Product pages use compact
|
|
149
156
|
headings and normal letter spacing. Uppercase table labels, negative tracking,
|
|
150
157
|
and oversized dashboard numerals are not defaults.
|
|
151
158
|
|
|
159
|
+
- **Tabular Figures**: All data tables, numeric metrics, counters, and
|
|
160
|
+
timestamps use `tabular-nums` (monospaced figures) to guarantee stable column
|
|
161
|
+
alignment and avoid visual jitter during live updates.
|
|
162
|
+
|
|
152
163
|
## Layout
|
|
153
164
|
|
|
154
165
|
Use an 8px spacing rhythm with 4px for tight internal alignment. Pages are
|
|
@@ -156,6 +167,19 @@ unframed layouts with a stable content width. Cards represent individual
|
|
|
156
167
|
objects or bounded tools; page sections are not decorative floating cards and
|
|
157
168
|
cards are not nested for visual effect.
|
|
158
169
|
|
|
170
|
+
### Visual Density Dials
|
|
171
|
+
|
|
172
|
+
svadmin components support systematic density levels to balance scanning speed
|
|
173
|
+
and operational throughput:
|
|
174
|
+
|
|
175
|
+
- **Density 8–10 (Dense / Dashboard)**: 2px/4px/8px rhythm with 28px–32px row
|
|
176
|
+
heights. Used for `AutoTable`, `FilterToolbar`, `RecordDetailDrawer`, and
|
|
177
|
+
operations work areas.
|
|
178
|
+
- **Density 4–6 (Comfortable / Standard)**: 4px/8px/16px rhythm with 40px–44px
|
|
179
|
+
control heights. Used for settings forms, account profiles, and overview cards.
|
|
180
|
+
- **Density 1–3 (Spacious / Onboarding)**: 16px/24px/32px rhythm for public
|
|
181
|
+
portals and introductory workflows.
|
|
182
|
+
|
|
159
183
|
## Elevation & Depth
|
|
160
184
|
|
|
161
185
|
Surfaces use a one-pixel border plus a subtle two-layer shadow. Hover elevation
|
|
@@ -163,6 +187,11 @@ may increase slightly for genuinely clickable items, without translation or
|
|
|
163
187
|
glow. Dialogs and menus receive stronger depth because they are floating
|
|
164
188
|
layers. Dark mode keeps the same hierarchy with low-chroma surfaces.
|
|
165
189
|
|
|
190
|
+
- **Control Shadow**: `0 1px 2px rgb(15 23 42 / 0.05), 0 0 0 1px rgb(15 23 42 / 0.025)`
|
|
191
|
+
- **Surface Shadow**: `0 1px 2px rgb(15 23 42 / 0.035), 0 1px 3px rgb(15 23 42 / 0.025)`
|
|
192
|
+
- **Surface Hover Shadow**: `0 2px 5px rgb(15 23 42 / 0.055), 0 1px 2px rgb(15 23 42 / 0.035)`
|
|
193
|
+
- **Overlay Shadow**: `0 18px 48px rgb(15 23 42 / 0.14), 0 4px 12px rgb(15 23 42 / 0.08)`
|
|
194
|
+
|
|
166
195
|
## Shapes
|
|
167
196
|
|
|
168
197
|
Controls use 6px radii and bounded surfaces use 8px radii. Pills are limited to
|
|
@@ -175,6 +204,24 @@ feedback use shared components and semantic tokens. Layout presets may adjust
|
|
|
175
204
|
density and composition, but they must not replace component color, typography,
|
|
176
205
|
focus, or elevation with hard-coded values.
|
|
177
206
|
|
|
207
|
+
|
|
208
|
+
## Micro-interactions & Motion
|
|
209
|
+
|
|
210
|
+
Transitions provide clear state confirmation without delaying user action:
|
|
211
|
+
|
|
212
|
+
- **Timing**: Micro-transitions use 140ms–250ms with `cubic-bezier(0.16, 1, 0.3, 1)`
|
|
213
|
+
or standard ease-out curves.
|
|
214
|
+
- **Focus Rings**: Operable controls declare `:focus-visible` with a 2px solid
|
|
215
|
+
ring and a 2px offset.
|
|
216
|
+
- **Accessibility**: All transitions and keyframe animations collapse to 0.01ms
|
|
217
|
+
when `prefers-reduced-motion: reduce` is active.
|
|
218
|
+
- **Accessible Authentication & OTP**: One-time passwords, 2FA codes, and
|
|
219
|
+
security tokens must support multi-digit paste distribution, keyboard navigation,
|
|
220
|
+
and `autocomplete="one-time-code"` without cognitive barriers (WCAG 2.2 AA).
|
|
221
|
+
- **Destructive Action Defenses**: Irreversible operations (such as deleting
|
|
222
|
+
records or revoking keys) require confirmation with clear loading states and
|
|
223
|
+
accidental submission defense.
|
|
224
|
+
|
|
178
225
|
### Reference responsibilities
|
|
179
226
|
|
|
180
227
|
The reference stack is layered. It is not a visual mixture:
|
package/package.json
CHANGED