lion-make 0.3.0 → 0.4.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/dist/components/footer/Disclosure.d.ts +1 -1
- package/dist/components/layout/LionMakeProvider.d.ts +5 -0
- package/dist/index.d.ts +2 -0
- package/dist/lion-make.js +1705 -899
- package/dist/lion-make.umd.cjs +810 -10
- package/guidelines/Guidelines.md +18 -2
- package/guidelines/content-types/footer/anklet.md +1 -1
- package/guidelines/content-types/footer/overview.md +1 -1
- package/guidelines/content-types/header/top-level-navigation.md +1 -1
- package/guidelines/content-types/hero/overview.md +1 -1
- package/guidelines/discovery.md +2 -0
- package/guidelines/setup.md +23 -0
- package/package.json +3 -3
package/guidelines/Guidelines.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# lion-make
|
|
1
|
+
# lion-make Design System
|
|
2
2
|
|
|
3
3
|
## What This System Is
|
|
4
4
|
|
|
5
|
-
lion-make is a **zone-locked CMS design system
|
|
5
|
+
lion-make is a **zone-locked CMS design system**. It is not a free-composition component library. Every page is divided into fixed zones — Header, Hero, General Content, Anklet, Footer — and each zone accepts only its designated content types. This is the system's single most important structural rule.
|
|
6
6
|
|
|
7
7
|
**Do not invent components, layouts, or structures outside the defined content types. If it is not in this system, it does not exist here.**
|
|
8
8
|
|
|
@@ -28,6 +28,22 @@ Use these defaults for every design decision unless a prompt overrides them expl
|
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
+
## Mandatory Bootstrap
|
|
32
|
+
|
|
33
|
+
**Every page must be wrapped in `<LionMakeProvider>`.** This component injects all design tokens (CSS custom properties), the Source Sans Pro font, and structural CSS for every component class. Without it, no tokens resolve, no layout works, and no font loads.
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { LionMakeProvider } from 'lion-make'
|
|
37
|
+
|
|
38
|
+
<LionMakeProvider>
|
|
39
|
+
{/* your entire page here */}
|
|
40
|
+
</LionMakeProvider>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This is the very first thing to generate. Do not render any lion-make component outside of `<LionMakeProvider>`.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
31
47
|
## Non-Negotiable Principles
|
|
32
48
|
|
|
33
49
|
1. **Zone lock.** Content types belong to exactly one zone. A hero component in the footer is invalid. Check `composition/zones.md` if unsure.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Zone:** Anklet — its own dedicated zone directly above the Footer zone. Not part of the Footer zone itself.
|
|
4
4
|
|
|
5
|
-
> **Note on placement:**
|
|
5
|
+
> **Note on placement:** The Anklet is grouped under the "Footer" section of the guide, but architecturally it occupies its own zone (`data-zone="anklet"`) between General Content and the Footer. It is not nested inside a `Section zone="footer"`.
|
|
6
6
|
|
|
7
7
|
## Description
|
|
8
8
|
|
|
@@ -89,7 +89,7 @@ import {
|
|
|
89
89
|
- [compliance.md](./compliance.md)
|
|
90
90
|
- [legal-links.md](./legal-links.md)
|
|
91
91
|
|
|
92
|
-
Legacy docs (
|
|
92
|
+
Legacy docs (earlier naming — kept for reference):
|
|
93
93
|
- [disclaimer.md](./disclaimer.md)
|
|
94
94
|
- [disclosure.md](./disclosure.md)
|
|
95
95
|
- [compliance-block.md](./compliance-block.md)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
The global navigation menu — the primary wayfinding element across all pages. Renders as a horizontal link bar with optional dropdown sub-menus. Every page must include exactly one `TopLevelNavigation`.
|
|
8
8
|
|
|
9
|
-
Supports one level of dropdown children. Deeper nesting is not supported
|
|
9
|
+
Supports one level of dropdown children. Deeper nesting is not supported.
|
|
10
10
|
|
|
11
11
|
## Props
|
|
12
12
|
|
|
@@ -72,5 +72,5 @@ import { Section, CTAHeroBlock } from 'lion-make'
|
|
|
72
72
|
- [multi-hero.md](./multi-hero.md)
|
|
73
73
|
- [not-available-hero-block.md](./not-available-hero-block.md)
|
|
74
74
|
|
|
75
|
-
Legacy (
|
|
75
|
+
Legacy (generic stub — kept for backward compatibility):
|
|
76
76
|
- [hero-variants.md](./hero-variants.md)
|
package/guidelines/discovery.md
CHANGED
|
@@ -136,6 +136,8 @@ Common failure modes and how to avoid them:
|
|
|
136
136
|
|
|
137
137
|
| Task | Where to look |
|
|
138
138
|
|---|---|
|
|
139
|
+
| "How do I bootstrap the design system?" | Wrap everything in `<LionMakeProvider>` from `lion-make` — first, before anything else |
|
|
140
|
+
|---|---|
|
|
139
141
|
| "What can I put in the hero?" | `guidelines/content-types/hero/overview.md` |
|
|
140
142
|
| "Which hero type should I use?" | `guidelines/content-types/hero/overview.md` → decision tree |
|
|
141
143
|
| "What props does CTAHeroBlock take?" | `guidelines/content-types/hero/cta-hero-block.md` + `src/components/hero/CTAHeroBlock.tsx` |
|
package/guidelines/setup.md
CHANGED
|
@@ -37,6 +37,26 @@ Or in CSS:
|
|
|
37
37
|
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700');
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
## Required: LionMakeProvider
|
|
41
|
+
|
|
42
|
+
**Wrap every page in `<LionMakeProvider>` before rendering anything else.** It injects all CSS tokens, the Source Sans Pro font, and structural CSS automatically — no separate CSS imports needed in Figma Make.
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { LionMakeProvider } from 'lion-make'
|
|
46
|
+
|
|
47
|
+
export function Page() {
|
|
48
|
+
return (
|
|
49
|
+
<LionMakeProvider>
|
|
50
|
+
{/* everything else goes here */}
|
|
51
|
+
</LionMakeProvider>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If you skip this, CSS custom properties will not resolve, the font will not load, and all components will render unstyled.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
40
60
|
## Import Components
|
|
41
61
|
|
|
42
62
|
Components are organized by zone. Import only what you need.
|
|
@@ -91,6 +111,7 @@ import {
|
|
|
91
111
|
|
|
92
112
|
```tsx
|
|
93
113
|
import {
|
|
114
|
+
LionMakeProvider,
|
|
94
115
|
PageForehead,
|
|
95
116
|
Section,
|
|
96
117
|
Container,
|
|
@@ -111,6 +132,7 @@ import {
|
|
|
111
132
|
|
|
112
133
|
export function Page() {
|
|
113
134
|
return (
|
|
135
|
+
<LionMakeProvider>
|
|
114
136
|
<PageForehead>
|
|
115
137
|
|
|
116
138
|
<Section zone="header">
|
|
@@ -160,6 +182,7 @@ export function Page() {
|
|
|
160
182
|
</Section>
|
|
161
183
|
|
|
162
184
|
</PageForehead>
|
|
185
|
+
</LionMakeProvider>
|
|
163
186
|
)
|
|
164
187
|
}
|
|
165
188
|
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lion-make",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Zone-locked CMS design system for Figma Make — structured layout system with CSS design tokens and React component stubs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/lion-make.umd.cjs",
|
|
7
7
|
"module": "./dist/lion-make.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"keywords": [
|
|
46
46
|
"design-system",
|
|
47
47
|
"figma-make",
|
|
48
|
-
"
|
|
48
|
+
"zone-locked",
|
|
49
49
|
"react",
|
|
50
50
|
"lion-make"
|
|
51
51
|
],
|