@whykusanagi/corrupted-theme 0.1.1 → 0.1.3
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/CHANGELOG.md +253 -0
- package/README.md +97 -7
- package/docs/CAPABILITIES.md +209 -0
- package/docs/CHARACTER_LEVEL_CORRUPTION.md +264 -0
- package/docs/COMPONENTS_REFERENCE.md +295 -8
- package/docs/CORRUPTION_PHRASES.md +529 -0
- package/docs/FUTURE_WORK.md +189 -0
- package/docs/IMPLEMENTATION_VALIDATION.md +401 -0
- package/docs/LLM_PROVIDERS.md +345 -0
- package/docs/PERSONALITY.md +128 -0
- package/docs/ROADMAP.md +266 -0
- package/docs/ROUTING.md +324 -0
- package/docs/STYLE_GUIDE.md +605 -0
- package/docs/brand/BRAND_OVERVIEW.md +413 -0
- package/docs/brand/COLOR_SYSTEM.md +583 -0
- package/docs/brand/DESIGN_TOKENS.md +1009 -0
- package/docs/brand/TRANSLATION_FAILURE_AESTHETIC.md +525 -0
- package/docs/brand/TYPOGRAPHY.md +624 -0
- package/docs/components/ANIMATION_GUIDELINES.md +901 -0
- package/docs/components/COMPONENT_LIBRARY.md +1061 -0
- package/docs/components/GLASSMORPHISM.md +602 -0
- package/docs/components/INTERACTIVE_STATES.md +766 -0
- package/docs/governance/CONTRIBUTION_GUIDELINES.md +593 -0
- package/docs/governance/DESIGN_SYSTEM_GOVERNANCE.md +451 -0
- package/docs/governance/VERSION_MANAGEMENT.md +447 -0
- package/docs/governance/VERSION_REFERENCES.md +229 -0
- package/docs/platforms/CLI_IMPLEMENTATION.md +1025 -0
- package/docs/platforms/COMPONENT_MAPPING.md +579 -0
- package/docs/platforms/NPM_PACKAGE.md +854 -0
- package/docs/platforms/WEB_IMPLEMENTATION.md +1221 -0
- package/docs/standards/ACCESSIBILITY.md +715 -0
- package/docs/standards/ANTI_PATTERNS.md +554 -0
- package/docs/standards/SPACING_SYSTEM.md +549 -0
- package/examples/assets/celeste-avatar.png +0 -0
- package/examples/button.html +22 -10
- package/examples/card.html +22 -9
- package/examples/extensions-showcase.html +716 -0
- package/examples/form.html +22 -9
- package/examples/index.html +619 -396
- package/examples/layout.html +22 -8
- package/examples/nikke-team-builder.html +23 -9
- package/examples/showcase-complete.html +884 -28
- package/examples/showcase.html +21 -8
- package/package.json +14 -5
- package/src/css/components.css +676 -0
- package/src/css/extensions.css +933 -0
- package/src/css/theme.css +6 -74
- package/src/css/typography.css +5 -0
- package/src/lib/character-corruption.js +563 -0
- package/src/lib/components.js +283 -0
- package/src/lib/countdown-widget.js +609 -0
- package/src/lib/gallery.js +481 -0
|
@@ -0,0 +1,549 @@
|
|
|
1
|
+
# Spacing System
|
|
2
|
+
|
|
3
|
+
> **Celeste Brand System** | Standards Documentation
|
|
4
|
+
> **Document**: 8-Point Spacing Scale and Layout Guidelines
|
|
5
|
+
> **Version**: 1.0.0
|
|
6
|
+
> **Last Updated**: 2025-12-13
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Table of Contents
|
|
11
|
+
|
|
12
|
+
1. [Overview](#overview)
|
|
13
|
+
2. [8-Point Scale](#8-point-scale)
|
|
14
|
+
3. [Padding & Margin](#padding--margin)
|
|
15
|
+
4. [Vertical Rhythm](#vertical-rhythm)
|
|
16
|
+
5. [Grid System](#grid-system)
|
|
17
|
+
6. [Responsive Spacing](#responsive-spacing)
|
|
18
|
+
7. [CLI Spacing](#cli-spacing)
|
|
19
|
+
8. [Component Spacing](#component-spacing)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Overview
|
|
24
|
+
|
|
25
|
+
Celeste uses an **8-point spacing scale** for consistent, harmonious layouts across all platforms. This mathematical approach creates visual rhythm and makes designs easier to implement.
|
|
26
|
+
|
|
27
|
+
### Spacing Philosophy
|
|
28
|
+
|
|
29
|
+
- **Predictable**: All spacing values are multiples of 4px or 8px
|
|
30
|
+
- **Scalable**: Spacing scales proportionally on larger screens
|
|
31
|
+
- **Consistent**: Same ratios across web and CLI
|
|
32
|
+
- **Accessible**: Sufficient touch target spacing (44px minimum)
|
|
33
|
+
- **Harmonious**: Visual rhythm through mathematical relationships
|
|
34
|
+
|
|
35
|
+
### Base Unit
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Base Unit = 8px (0.5rem)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
All spacing values derive from this base, ensuring visual consistency.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 8-Point Scale
|
|
46
|
+
|
|
47
|
+
### Scale Definition
|
|
48
|
+
|
|
49
|
+
```css
|
|
50
|
+
:root {
|
|
51
|
+
/* 8-point spacing scale */
|
|
52
|
+
--spacing-0: 0; /* 0px - No spacing */
|
|
53
|
+
--spacing-xs: 0.25rem; /* 4px - Minimal gap */
|
|
54
|
+
--spacing-sm: 0.5rem; /* 8px - Small gap */
|
|
55
|
+
--spacing-md: 1rem; /* 16px - Medium gap (base) */
|
|
56
|
+
--spacing-lg: 1.5rem; /* 24px - Large gap */
|
|
57
|
+
--spacing-xl: 2rem; /* 32px - Extra large */
|
|
58
|
+
--spacing-2xl: 3rem; /* 48px - Double extra large */
|
|
59
|
+
--spacing-3xl: 4rem; /* 64px - Triple extra large */
|
|
60
|
+
--spacing-4xl: 6rem; /* 96px - Section spacing */
|
|
61
|
+
--spacing-5xl: 8rem; /* 128px - Page spacing */
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Visual Reference
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
0px │
|
|
69
|
+
4px │■
|
|
70
|
+
8px │■■
|
|
71
|
+
16px │■■■■
|
|
72
|
+
24px │■■■■■■
|
|
73
|
+
32px │■■■■■■■■
|
|
74
|
+
48px │■■■■■■■■■■■■
|
|
75
|
+
64px │■■■■■■■■■■■■■■■■
|
|
76
|
+
96px │■■■■■■■■■■■■■■■■■■■■■■■■
|
|
77
|
+
128px │■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Usage Guidelines
|
|
81
|
+
|
|
82
|
+
| Size | Value | Use Case |
|
|
83
|
+
|------|-------|----------|
|
|
84
|
+
| **xs** | 4px | Icon-text gap, badge padding |
|
|
85
|
+
| **sm** | 8px | Button padding, list item gaps |
|
|
86
|
+
| **md** | 16px | Card padding, section spacing |
|
|
87
|
+
| **lg** | 24px | Container padding (mobile) |
|
|
88
|
+
| **xl** | 32px | Container padding (desktop) |
|
|
89
|
+
| **2xl** | 48px | Section spacing |
|
|
90
|
+
| **3xl** | 64px | Hero spacing |
|
|
91
|
+
| **4xl** | 96px | Page section spacing |
|
|
92
|
+
| **5xl** | 128px | Landing page sections |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Padding & Margin
|
|
97
|
+
|
|
98
|
+
### Component Padding
|
|
99
|
+
|
|
100
|
+
```css
|
|
101
|
+
/* Button padding */
|
|
102
|
+
.btn {
|
|
103
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.btn-large {
|
|
107
|
+
padding: var(--spacing-md) var(--spacing-xl); /* 16px 32px */
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* Card padding */
|
|
111
|
+
.glass-card {
|
|
112
|
+
padding: var(--spacing-xl); /* 32px all sides */
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.glass-card-compact {
|
|
116
|
+
padding: var(--spacing-md); /* 16px all sides */
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* Input padding */
|
|
120
|
+
.input {
|
|
121
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Margin Relationships
|
|
126
|
+
|
|
127
|
+
```css
|
|
128
|
+
/* Stack elements vertically */
|
|
129
|
+
.section {
|
|
130
|
+
margin-bottom: var(--spacing-2xl); /* 48px between sections */
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.section > * + * {
|
|
134
|
+
margin-top: var(--spacing-lg); /* 24px between elements */
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* Horizontal spacing (button groups) */
|
|
138
|
+
.btn + .btn {
|
|
139
|
+
margin-left: var(--spacing-sm); /* 8px gap */
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Container Padding
|
|
144
|
+
|
|
145
|
+
```css
|
|
146
|
+
/* Page container */
|
|
147
|
+
.container {
|
|
148
|
+
padding: 0 var(--spacing-md); /* 16px horizontal padding */
|
|
149
|
+
max-width: 1200px;
|
|
150
|
+
margin: 0 auto;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* Responsive container padding */
|
|
154
|
+
@media (min-width: 641px) {
|
|
155
|
+
.container {
|
|
156
|
+
padding: 0 var(--spacing-xl); /* 32px on tablet */
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@media (min-width: 1025px) {
|
|
161
|
+
.container {
|
|
162
|
+
padding: 0 var(--spacing-2xl); /* 48px on desktop */
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Vertical Rhythm
|
|
170
|
+
|
|
171
|
+
### Line Height Relationships
|
|
172
|
+
|
|
173
|
+
Typography line heights should maintain 8px rhythm:
|
|
174
|
+
|
|
175
|
+
```css
|
|
176
|
+
:root {
|
|
177
|
+
/* Base line height: 24px (16px × 1.5) */
|
|
178
|
+
--line-height-tight: 1.2; /* 19.2px ≈ 20px */
|
|
179
|
+
--line-height-normal: 1.5; /* 24px ✓ (16px base) */
|
|
180
|
+
--line-height-relaxed: 1.75; /* 28px ≈ 32px */
|
|
181
|
+
--line-height-loose: 2; /* 32px ✓ */
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* Body text */
|
|
185
|
+
body {
|
|
186
|
+
font-size: 1rem; /* 16px */
|
|
187
|
+
line-height: var(--line-height-normal); /* 24px - maintains rhythm */
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* Headings */
|
|
191
|
+
h1 {
|
|
192
|
+
font-size: 3.75rem; /* 60px */
|
|
193
|
+
line-height: 1.2; /* 72px (60 × 1.2) - 8px multiple ✓ */
|
|
194
|
+
margin-bottom: var(--spacing-xl); /* 32px */
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
h2 {
|
|
198
|
+
font-size: 2.5rem; /* 40px */
|
|
199
|
+
line-height: 1.2; /* 48px (40 × 1.2) - 8px multiple ✓ */
|
|
200
|
+
margin-bottom: var(--spacing-lg); /* 24px */
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Vertical Spacing Stack
|
|
205
|
+
|
|
206
|
+
```css
|
|
207
|
+
/* Consistent vertical spacing between elements */
|
|
208
|
+
.content > * + * {
|
|
209
|
+
margin-top: var(--spacing-lg); /* 24px default gap */
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.content > h2 + * {
|
|
213
|
+
margin-top: var(--spacing-md); /* 16px after heading */
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.content > p + p {
|
|
217
|
+
margin-top: var(--spacing-md); /* 16px between paragraphs */
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* Section spacing */
|
|
221
|
+
.section {
|
|
222
|
+
padding-top: var(--spacing-4xl); /* 96px */
|
|
223
|
+
padding-bottom: var(--spacing-4xl); /* 96px */
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Grid System
|
|
230
|
+
|
|
231
|
+
### 12-Column Grid (Optional)
|
|
232
|
+
|
|
233
|
+
```css
|
|
234
|
+
.grid {
|
|
235
|
+
display: grid;
|
|
236
|
+
gap: var(--spacing-md); /* 16px gutter */
|
|
237
|
+
grid-template-columns: repeat(12, 1fr);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/* Span utilities */
|
|
241
|
+
.col-1 { grid-column: span 1; }
|
|
242
|
+
.col-2 { grid-column: span 2; }
|
|
243
|
+
.col-3 { grid-column: span 3; }
|
|
244
|
+
.col-4 { grid-column: span 4; }
|
|
245
|
+
.col-6 { grid-column: span 6; }
|
|
246
|
+
.col-12 { grid-column: span 12; }
|
|
247
|
+
|
|
248
|
+
/* Responsive columns */
|
|
249
|
+
@media (max-width: 640px) {
|
|
250
|
+
.col-1, .col-2, .col-3, .col-4, .col-6 {
|
|
251
|
+
grid-column: span 12; /* Full width on mobile */
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Flexbox Spacing
|
|
257
|
+
|
|
258
|
+
```css
|
|
259
|
+
/* Equal spacing between flex items */
|
|
260
|
+
.flex-row {
|
|
261
|
+
display: flex;
|
|
262
|
+
gap: var(--spacing-md); /* 16px gap (modern) */
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/* Legacy browsers (no gap support) */
|
|
266
|
+
.flex-row-legacy {
|
|
267
|
+
display: flex;
|
|
268
|
+
margin: 0 calc(var(--spacing-md) * -0.5); /* Negative margin trick */
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.flex-row-legacy > * {
|
|
272
|
+
margin: 0 calc(var(--spacing-md) * 0.5); /* Restore spacing */
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Responsive Spacing
|
|
279
|
+
|
|
280
|
+
### Mobile-First Scaling
|
|
281
|
+
|
|
282
|
+
```css
|
|
283
|
+
/* Mobile: Compact spacing */
|
|
284
|
+
:root {
|
|
285
|
+
--spacing-page: var(--spacing-xl); /* 32px */
|
|
286
|
+
--spacing-section: var(--spacing-2xl); /* 48px */
|
|
287
|
+
--spacing-card: var(--spacing-md); /* 16px */
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/* Tablet: Moderate spacing */
|
|
291
|
+
@media (min-width: 641px) {
|
|
292
|
+
:root {
|
|
293
|
+
--spacing-page: var(--spacing-2xl); /* 48px */
|
|
294
|
+
--spacing-section: var(--spacing-3xl); /* 64px */
|
|
295
|
+
--spacing-card: var(--spacing-lg); /* 24px */
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/* Desktop: Generous spacing */
|
|
300
|
+
@media (min-width: 1025px) {
|
|
301
|
+
:root {
|
|
302
|
+
--spacing-page: var(--spacing-3xl); /* 64px */
|
|
303
|
+
--spacing-section: var(--spacing-4xl); /* 96px */
|
|
304
|
+
--spacing-card: var(--spacing-xl); /* 32px */
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/* Usage */
|
|
309
|
+
.page {
|
|
310
|
+
padding: var(--spacing-page); /* Scales automatically */
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Viewport-Based Spacing (Advanced)
|
|
315
|
+
|
|
316
|
+
```css
|
|
317
|
+
/* Scale spacing with viewport width */
|
|
318
|
+
.hero {
|
|
319
|
+
padding: clamp(
|
|
320
|
+
var(--spacing-2xl), /* Minimum: 48px */
|
|
321
|
+
8vw, /* Preferred: 8% of viewport */
|
|
322
|
+
var(--spacing-5xl) /* Maximum: 128px */
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## CLI Spacing
|
|
330
|
+
|
|
331
|
+
### Line-Based Spacing
|
|
332
|
+
|
|
333
|
+
Terminal spacing uses **line counts** instead of pixels:
|
|
334
|
+
|
|
335
|
+
```go
|
|
336
|
+
// Vertical spacing (newlines)
|
|
337
|
+
const (
|
|
338
|
+
SpacingNone = 0 // No gap
|
|
339
|
+
SpacingTight = 1 // 1 line gap
|
|
340
|
+
SpacingNormal = 2 // 2 line gap (default)
|
|
341
|
+
SpacingLoose = 3 // 3 line gap
|
|
342
|
+
SpacingWide = 5 // 5 line gap (sections)
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
// Horizontal spacing (characters)
|
|
346
|
+
const (
|
|
347
|
+
PaddingNone = 0 // No padding
|
|
348
|
+
PaddingTight = 1 // 1 char padding
|
|
349
|
+
PaddingNormal = 2 // 2 char padding (default)
|
|
350
|
+
PaddingWide = 4 // 4 char padding
|
|
351
|
+
)
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### CLI Spacing Examples
|
|
355
|
+
|
|
356
|
+
```go
|
|
357
|
+
// Vertical spacing between sections
|
|
358
|
+
func RenderSections(section1, section2 string) string {
|
|
359
|
+
gap := strings.Repeat("\n", SpacingNormal) // 2 newlines
|
|
360
|
+
return section1 + gap + section2
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// Horizontal padding (lipgloss)
|
|
364
|
+
style := lipgloss.NewStyle().
|
|
365
|
+
Padding(1, 2) // 1 line vertical, 2 chars horizontal
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### CLI-to-Web Mapping
|
|
369
|
+
|
|
370
|
+
| CLI Spacing | Web Equivalent | Use Case |
|
|
371
|
+
|-------------|----------------|----------|
|
|
372
|
+
| 1 line | 16px (`--spacing-md`) | Between list items |
|
|
373
|
+
| 2 lines | 32px (`--spacing-xl`) | Between sections |
|
|
374
|
+
| 3 lines | 48px (`--spacing-2xl`) | Between major sections |
|
|
375
|
+
| 5 lines | 96px (`--spacing-4xl`) | Between pages |
|
|
376
|
+
| 1 char | 8px (`--spacing-sm`) | Compact padding |
|
|
377
|
+
| 2 chars | 16px (`--spacing-md`) | Normal padding |
|
|
378
|
+
| 4 chars | 32px (`--spacing-xl`) | Wide padding |
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Component Spacing
|
|
383
|
+
|
|
384
|
+
### Button Spacing
|
|
385
|
+
|
|
386
|
+
```css
|
|
387
|
+
/* Button internal spacing */
|
|
388
|
+
.btn {
|
|
389
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
390
|
+
gap: var(--spacing-xs); /* 4px between icon + text */
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/* Button group spacing */
|
|
394
|
+
.btn-group {
|
|
395
|
+
display: flex;
|
|
396
|
+
gap: var(--spacing-sm); /* 8px between buttons */
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/* Stacked buttons (mobile) */
|
|
400
|
+
@media (max-width: 640px) {
|
|
401
|
+
.btn-group {
|
|
402
|
+
flex-direction: column;
|
|
403
|
+
gap: var(--spacing-sm); /* 8px vertical gap */
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.btn {
|
|
407
|
+
width: 100%; /* Full width on mobile */
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### Card Spacing
|
|
413
|
+
|
|
414
|
+
```css
|
|
415
|
+
/* Card internal spacing */
|
|
416
|
+
.glass-card {
|
|
417
|
+
padding: var(--spacing-xl); /* 32px all sides */
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.glass-card > * + * {
|
|
421
|
+
margin-top: var(--spacing-md); /* 16px between children */
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/* Card grid spacing */
|
|
425
|
+
.card-grid {
|
|
426
|
+
display: grid;
|
|
427
|
+
gap: var(--spacing-lg); /* 24px gutter */
|
|
428
|
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
429
|
+
}
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Form Spacing
|
|
433
|
+
|
|
434
|
+
```css
|
|
435
|
+
/* Form field spacing */
|
|
436
|
+
.form-group {
|
|
437
|
+
margin-bottom: var(--spacing-lg); /* 24px between fields */
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.form-group label {
|
|
441
|
+
display: block;
|
|
442
|
+
margin-bottom: var(--spacing-xs); /* 4px label-input gap */
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/* Input internal spacing */
|
|
446
|
+
.input {
|
|
447
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/* Form actions */
|
|
451
|
+
.form-actions {
|
|
452
|
+
margin-top: var(--spacing-xl); /* 32px above buttons */
|
|
453
|
+
display: flex;
|
|
454
|
+
gap: var(--spacing-sm); /* 8px between buttons */
|
|
455
|
+
}
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Navigation Spacing
|
|
459
|
+
|
|
460
|
+
```css
|
|
461
|
+
/* Navbar spacing */
|
|
462
|
+
.navbar {
|
|
463
|
+
padding: var(--spacing-md) var(--spacing-xl); /* 16px 32px */
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.navbar-links {
|
|
467
|
+
display: flex;
|
|
468
|
+
gap: var(--spacing-lg); /* 24px between links */
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/* Breadcrumb spacing */
|
|
472
|
+
.breadcrumb {
|
|
473
|
+
display: flex;
|
|
474
|
+
gap: var(--spacing-xs); /* 4px around separator */
|
|
475
|
+
}
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
## Quick Reference
|
|
481
|
+
|
|
482
|
+
### Spacing Cheat Sheet
|
|
483
|
+
|
|
484
|
+
```css
|
|
485
|
+
/* Copy-paste ready spacing utilities */
|
|
486
|
+
|
|
487
|
+
/* Padding utilities */
|
|
488
|
+
.p-0 { padding: 0; }
|
|
489
|
+
.p-xs { padding: var(--spacing-xs); }
|
|
490
|
+
.p-sm { padding: var(--spacing-sm); }
|
|
491
|
+
.p-md { padding: var(--spacing-md); }
|
|
492
|
+
.p-lg { padding: var(--spacing-lg); }
|
|
493
|
+
.p-xl { padding: var(--spacing-xl); }
|
|
494
|
+
|
|
495
|
+
/* Margin utilities */
|
|
496
|
+
.m-0 { margin: 0; }
|
|
497
|
+
.m-xs { margin: var(--spacing-xs); }
|
|
498
|
+
.m-sm { margin: var(--spacing-sm); }
|
|
499
|
+
.m-md { margin: var(--spacing-md); }
|
|
500
|
+
.m-lg { margin: var(--spacing-lg); }
|
|
501
|
+
.m-xl { margin: var(--spacing-xl); }
|
|
502
|
+
|
|
503
|
+
/* Gap utilities (flexbox/grid) */
|
|
504
|
+
.gap-xs { gap: var(--spacing-xs); }
|
|
505
|
+
.gap-sm { gap: var(--spacing-sm); }
|
|
506
|
+
.gap-md { gap: var(--spacing-md); }
|
|
507
|
+
.gap-lg { gap: var(--spacing-lg); }
|
|
508
|
+
.gap-xl { gap: var(--spacing-xl); }
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
### Common Patterns
|
|
512
|
+
|
|
513
|
+
```css
|
|
514
|
+
/* Stack pattern (consistent vertical spacing) */
|
|
515
|
+
.stack > * + * {
|
|
516
|
+
margin-top: var(--spacing-md);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/* Cluster pattern (horizontal spacing with wrapping) */
|
|
520
|
+
.cluster {
|
|
521
|
+
display: flex;
|
|
522
|
+
flex-wrap: wrap;
|
|
523
|
+
gap: var(--spacing-sm);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
/* Center pattern (centered content with side padding) */
|
|
527
|
+
.center {
|
|
528
|
+
max-width: 1200px;
|
|
529
|
+
margin: 0 auto;
|
|
530
|
+
padding: 0 var(--spacing-xl);
|
|
531
|
+
}
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
## Related Documentation
|
|
537
|
+
|
|
538
|
+
- [DESIGN_TOKENS.md](../brand/DESIGN_TOKENS.md) - Spacing token specifications
|
|
539
|
+
- [TYPOGRAPHY.md](../brand/TYPOGRAPHY.md) - Line height and vertical rhythm
|
|
540
|
+
- [WEB_IMPLEMENTATION.md](../platforms/WEB_IMPLEMENTATION.md) - Responsive spacing examples
|
|
541
|
+
- [CLI_IMPLEMENTATION.md](../platforms/CLI_IMPLEMENTATION.md) - Terminal spacing patterns
|
|
542
|
+
|
|
543
|
+
---
|
|
544
|
+
|
|
545
|
+
**Last Updated**: 2025-12-13
|
|
546
|
+
**Version**: 1.0.0
|
|
547
|
+
**Base Unit**: 8px
|
|
548
|
+
**Maintainer**: Celeste Brand System
|
|
549
|
+
**Status**: ✅ Production Ready
|
|
Binary file
|
package/examples/button.html
CHANGED
|
@@ -116,17 +116,29 @@
|
|
|
116
116
|
</style>
|
|
117
117
|
</head>
|
|
118
118
|
<body>
|
|
119
|
+
<!-- Global Navigation -->
|
|
119
120
|
<nav class="navbar">
|
|
120
121
|
<div class="navbar-content">
|
|
121
|
-
<a href="index.html" class="navbar-logo"><i class="fas fa-
|
|
122
|
-
<
|
|
123
|
-
<a href="
|
|
124
|
-
<a href="
|
|
125
|
-
<a href="
|
|
126
|
-
<
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
122
|
+
<a href="index.html" class="navbar-logo"><i class="fas fa-palette"></i> Corrupted Theme</a>
|
|
123
|
+
<ul class="navbar-links">
|
|
124
|
+
<li><a href="index.html"><i class="fas fa-home"></i> Home</a></li>
|
|
125
|
+
<li><a href="showcase-complete.html"><i class="fas fa-cube"></i> Components</a></li>
|
|
126
|
+
<li><a href="extensions-showcase.html"><i class="fas fa-puzzle-piece"></i> Extensions</a></li>
|
|
127
|
+
<li class="has-submenu">
|
|
128
|
+
<a href="#" class="active">
|
|
129
|
+
<i class="fas fa-flask"></i> Examples
|
|
130
|
+
<i class="fas fa-chevron-down" style="font-size: 0.7em; margin-left: 4px;"></i>
|
|
131
|
+
</a>
|
|
132
|
+
<div class="submenu">
|
|
133
|
+
<a href="nikke-team-builder.html"><i class="fas fa-users"></i> Nikke Team Builder</a>
|
|
134
|
+
<a href="button.html" class="active"><i class="fas fa-hand-pointer"></i> Buttons</a>
|
|
135
|
+
<a href="card.html"><i class="fas fa-square"></i> Cards</a>
|
|
136
|
+
<a href="form.html"><i class="fas fa-edit"></i> Forms</a>
|
|
137
|
+
<a href="layout.html"><i class="fas fa-columns"></i> Layouts</a>
|
|
138
|
+
</div>
|
|
139
|
+
</li>
|
|
140
|
+
<li><a href="../docs/COMPONENTS_REFERENCE.md"><i class="fas fa-book"></i> Docs</a></li>
|
|
141
|
+
</ul>
|
|
130
142
|
</div>
|
|
131
143
|
</nav>
|
|
132
144
|
|
|
@@ -426,7 +438,7 @@
|
|
|
426
438
|
</section>
|
|
427
439
|
|
|
428
440
|
<footer style="text-align: center; padding: var(--spacing-2xl) var(--spacing-lg); margin-top: var(--spacing-2xl); border-top: 1px solid var(--border); color: var(--text-secondary);">
|
|
429
|
-
<p>Button Component Documentation • Corrupted Theme v0.1.
|
|
441
|
+
<p>Button Component Documentation • Corrupted Theme v0.1.3</p>
|
|
430
442
|
<p style="font-size: 0.875rem; margin-top: var(--spacing-md);">
|
|
431
443
|
<a href="index.html" style="color: var(--accent); text-decoration: none;">← Back to Showcase</a>
|
|
432
444
|
</p>
|
package/examples/card.html
CHANGED
|
@@ -225,16 +225,29 @@
|
|
|
225
225
|
</style>
|
|
226
226
|
</head>
|
|
227
227
|
<body>
|
|
228
|
+
<!-- Global Navigation -->
|
|
228
229
|
<nav class="navbar">
|
|
229
230
|
<div class="navbar-content">
|
|
230
|
-
<a href="index.html" class="navbar-logo"><i class="fas fa-
|
|
231
|
-
<
|
|
232
|
-
<a href="
|
|
233
|
-
<a href="
|
|
234
|
-
<a href="
|
|
235
|
-
<
|
|
236
|
-
|
|
237
|
-
|
|
231
|
+
<a href="index.html" class="navbar-logo"><i class="fas fa-palette"></i> Corrupted Theme</a>
|
|
232
|
+
<ul class="navbar-links">
|
|
233
|
+
<li><a href="index.html"><i class="fas fa-home"></i> Home</a></li>
|
|
234
|
+
<li><a href="showcase-complete.html"><i class="fas fa-cube"></i> Components</a></li>
|
|
235
|
+
<li><a href="extensions-showcase.html"><i class="fas fa-puzzle-piece"></i> Extensions</a></li>
|
|
236
|
+
<li class="has-submenu">
|
|
237
|
+
<a href="#" class="active">
|
|
238
|
+
<i class="fas fa-flask"></i> Examples
|
|
239
|
+
<i class="fas fa-chevron-down" style="font-size: 0.7em; margin-left: 4px;"></i>
|
|
240
|
+
</a>
|
|
241
|
+
<div class="submenu">
|
|
242
|
+
<a href="nikke-team-builder.html"><i class="fas fa-users"></i> Nikke Team Builder</a>
|
|
243
|
+
<a href="button.html"><i class="fas fa-hand-pointer"></i> Buttons</a>
|
|
244
|
+
<a href="card.html" class="active"><i class="fas fa-square"></i> Cards</a>
|
|
245
|
+
<a href="form.html"><i class="fas fa-edit"></i> Forms</a>
|
|
246
|
+
<a href="layout.html"><i class="fas fa-columns"></i> Layouts</a>
|
|
247
|
+
</div>
|
|
248
|
+
</li>
|
|
249
|
+
<li><a href="../docs/COMPONENTS_REFERENCE.md"><i class="fas fa-book"></i> Docs</a></li>
|
|
250
|
+
</ul>
|
|
238
251
|
</div>
|
|
239
252
|
</nav>
|
|
240
253
|
|
|
@@ -668,7 +681,7 @@
|
|
|
668
681
|
</section>
|
|
669
682
|
|
|
670
683
|
<footer style="text-align: center; padding: var(--spacing-2xl) var(--spacing-lg); margin-top: var(--spacing-2xl); border-top: 1px solid var(--border); color: var(--text-secondary);">
|
|
671
|
-
<p>Card Components Documentation • Corrupted Theme v0.1.
|
|
684
|
+
<p>Card Components Documentation • Corrupted Theme v0.1.3</p>
|
|
672
685
|
<p style="font-size: 0.875rem; margin-top: var(--spacing-md);">
|
|
673
686
|
<a href="index.html" style="color: var(--accent); text-decoration: none;">← Back to Showcase</a>
|
|
674
687
|
</p>
|