nk_jtb 0.25.0 → 0.25.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/.ai/prompts/create-component.md +17 -9
- package/.ai/skills/jtb-conversion/SKILL.md +10 -5
- package/.ai/skills/jtb-layouts-and-structures/SKILL.md +16 -2
- package/AGENTS.md +63 -38
- package/CLAUDE.md +63 -38
- package/docs/components/button.md +86 -86
- package/docs/themes.md +118 -118
- package/docs/variable-system.md +58 -58
- package/framework-status.md +343 -343
- package/package.json +1 -1
- package/src/components/_button.scss +33 -33
- package/src/utilities/_border.scss +25 -25
- package/src/utilities/_misc.scss +8 -4
- package/src/utilities/_themes.scss +17 -17
- package/working-with-nathan.md +117 -0
- package/index copy.html +0 -273
|
@@ -4,8 +4,10 @@ Invoke the `jtb-layouts-and-structures` skill before starting.
|
|
|
4
4
|
|
|
5
5
|
## Output
|
|
6
6
|
|
|
7
|
-
Check `index.html
|
|
8
|
-
|
|
7
|
+
Check `index.html`.
|
|
8
|
+
|
|
9
|
+
- If it contains no meaningful content, write there.
|
|
10
|
+
- If it already has content, ask whether to add to it or create a new file.
|
|
9
11
|
|
|
10
12
|
## Design Reference
|
|
11
13
|
|
|
@@ -13,7 +15,7 @@ already has content, ask whether to add to it or create a new file.
|
|
|
13
15
|
|
|
14
16
|
## Responsive Behaviour
|
|
15
17
|
|
|
16
|
-
[Describe how this should adapt, or leave blank
|
|
18
|
+
[Describe how this should adapt, or leave blank for ai to ask.]
|
|
17
19
|
|
|
18
20
|
## Target Markup
|
|
19
21
|
|
|
@@ -23,9 +25,15 @@ already has content, ask whether to add to it or create a new file.
|
|
|
23
25
|
|
|
24
26
|
After building, report only actionable items:
|
|
25
27
|
|
|
26
|
-
- **Issues** — anything that
|
|
27
|
-
and what workaround was used.
|
|
28
|
-
- **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
- **Issues** — anything that could not be expressed cleanly in JTB. State the
|
|
29
|
+
problem and what workaround was used.
|
|
30
|
+
- **Framework Gaps** — utilities, tokens, patterns, or primitives that seem
|
|
31
|
+
missing, weak, or awkward.
|
|
32
|
+
- **Guideline Gaps** — places where the component-creation guidance or JTB docs
|
|
33
|
+
were unclear or insufficient.
|
|
34
|
+
- **Skill Gaps** — places where the invoked skill was unclear, insufficient,
|
|
35
|
+
misleading, or failed to help with a relevant decision.
|
|
36
|
+
- **Recommendations** — concrete, minimal changes worth considering.
|
|
37
|
+
|
|
38
|
+
Do not report clean decisions or resolved choices unless they expose a real
|
|
39
|
+
problem.
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jtb-conversion
|
|
3
3
|
description: >-
|
|
4
|
-
Use this skill whenever
|
|
5
|
-
components
|
|
6
|
-
PHP, JS, or
|
|
7
|
-
|
|
4
|
+
Use this skill whenever translating an existing implementation into NK JTB
|
|
5
|
+
classes and components — for example from Tailwind, custom CSS, plain HTML,
|
|
6
|
+
PHP, JS, or another framework. Do not wait for an explicit request — if
|
|
7
|
+
there is a source implementation that needs to be converted into JTB, this
|
|
8
|
+
skill applies.
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
Do not use this skill for greenfield JTB component builds, design-to-code work
|
|
12
|
+
from screenshots/mockups, or general component composition from scratch.
|
|
13
|
+
|
|
14
|
+
For layout decisions during conversion, invoke the
|
|
15
|
+
`jtb-layouts-and-structures` skill.
|
|
11
16
|
|
|
12
17
|
If the output file is not specified, ask before proceeding.
|
|
13
18
|
|
|
@@ -11,6 +11,7 @@ For layout or responsive work, read:
|
|
|
11
11
|
|
|
12
12
|
- `docs/responsive-design.md`
|
|
13
13
|
- `docs/layouts-and-structures.md`
|
|
14
|
+
- `docs/magic-classes.md`
|
|
14
15
|
|
|
15
16
|
## Scope
|
|
16
17
|
|
|
@@ -34,8 +35,11 @@ Do not use this skill for general documentation or for framework-internals work.
|
|
|
34
35
|
- `grid` with `cols-*` for column-based structures
|
|
35
36
|
- `flex` for linear, single-axis arrangements
|
|
36
37
|
- `container-*` for width and placement
|
|
37
|
-
3.
|
|
38
|
-
|
|
38
|
+
3. Check whether JTB already provides an approved magic or composite class that
|
|
39
|
+
reduces responsive noise for the pattern you need.
|
|
40
|
+
4. Build mobile-first. Add explicit `{bp}:` responsive utilities only when no
|
|
41
|
+
documented higher-level pattern expresses the layout cleanly.
|
|
42
|
+
5. Only escalate to custom solutions when documented primitives cannot express
|
|
39
43
|
the need cleanly.
|
|
40
44
|
|
|
41
45
|
## Markup
|
|
@@ -45,6 +49,13 @@ Do not use this skill for general documentation or for framework-internals work.
|
|
|
45
49
|
## Rules
|
|
46
50
|
|
|
47
51
|
- Prefer mobile-first base layouts with responsive enhancement.
|
|
52
|
+
- Default to the fewest structural elements that cleanly express the layout.
|
|
53
|
+
- Combine width, rhythm, and internal layout on the same element when they do
|
|
54
|
+
not need isolation.
|
|
55
|
+
- Do not split `container`, padding, and grid/flex across extra wrappers unless
|
|
56
|
+
one of those concerns genuinely needs its own box.
|
|
57
|
+
- Put shared layout/presentation utilities on the highest valid parent. Only
|
|
58
|
+
repeat them on children when a child genuinely needs a different value.
|
|
48
59
|
- Treat `container-*` as a layout primitive with built-in inline gutter. Do not
|
|
49
60
|
add extra horizontal padding on the same element.
|
|
50
61
|
- Let the component own its internal padding. Use the container for width and
|
|
@@ -52,5 +63,8 @@ Do not use this skill for general documentation or for framework-internals work.
|
|
|
52
63
|
- Default section rhythm:
|
|
53
64
|
- `py-4-3-2` for standard sections
|
|
54
65
|
- `py-5-3-2` for more prominent sections
|
|
66
|
+
- Prefer approved magic/composite classes when they express an established
|
|
67
|
+
responsive pattern more clearly than explicit breakpoint chains. Common
|
|
68
|
+
examples include `py-*`, `gap-*`, and `cols-*` patterns.
|
|
55
69
|
- Use `{bp}:` for progressive layout changes.
|
|
56
70
|
- Use `to-` and `on-` primarily for visibility windows, not layout progression.
|
package/AGENTS.md
CHANGED
|
@@ -85,7 +85,8 @@ use `gap` instead.
|
|
|
85
85
|
|
|
86
86
|
**Stop and ask when:**
|
|
87
87
|
|
|
88
|
-
- Modifying files not mentioned in the request, unless clearly required to
|
|
88
|
+
- Modifying files not mentioned in the request, unless clearly required to
|
|
89
|
+
complete the task correctly.
|
|
89
90
|
- Multiple valid approaches exist and the choice has real consequences.
|
|
90
91
|
- Something conflicts with existing patterns in a way that needs a decision.
|
|
91
92
|
- Your interpretation of the request is genuinely ambiguous.
|
|
@@ -95,13 +96,15 @@ use `gap` instead.
|
|
|
95
96
|
- "I'll also…" — unsolicited additions
|
|
96
97
|
- "While I'm at it…" — scope expansion
|
|
97
98
|
- Using flags, options, or commands not present in the existing code or docs
|
|
98
|
-
- Expanding scope because something "requires"
|
|
99
|
-
ask first
|
|
99
|
+
- Expanding scope because something "requires" extra work — name the
|
|
100
|
+
prerequisite and ask first
|
|
100
101
|
|
|
101
102
|
## Assumptions
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
State assumptions plainly. If an assumption has real consequences, do not
|
|
105
|
+
proceed without raising it.
|
|
106
|
+
|
|
107
|
+
If you are not sure, say so directly. Do not present guesses as facts.
|
|
105
108
|
|
|
106
109
|
## Disagreement and Pushback
|
|
107
110
|
|
|
@@ -130,13 +133,30 @@ follow the direction.
|
|
|
130
133
|
- **Name it before fixing it** — if something needs prerequisite work, say what
|
|
131
134
|
and why before doing it
|
|
132
135
|
|
|
133
|
-
##
|
|
134
|
-
|
|
135
|
-
- Do not add adjacent improvements, refactors,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
136
|
+
## Scope Discipline
|
|
137
|
+
|
|
138
|
+
- Do not add adjacent improvements, refactors, cleanup, renaming, formatting,
|
|
139
|
+
reorganisation, or bundled unrelated changes unless explicitly requested or
|
|
140
|
+
clearly required to complete the task correctly.
|
|
141
|
+
- Do not introduce flags, options, or commands that are not already part of the
|
|
142
|
+
existing code, docs, or agreed approach without raising them first.
|
|
143
|
+
- If something "requires" extra work, name the prerequisite and ask before
|
|
144
|
+
expanding scope.
|
|
145
|
+
|
|
146
|
+
## Execution Style
|
|
147
|
+
|
|
148
|
+
- For small, explicit tasks, do the work directly and report the result.
|
|
149
|
+
- For multi-step, risky, or ambiguous work, use incremental check-ins.
|
|
150
|
+
- Show the approach before executing when scope, risk, or consequences justify
|
|
151
|
+
it.
|
|
152
|
+
- If the work starts taking a different shape than expected, surface that early
|
|
153
|
+
instead of finishing and explaining afterwards.
|
|
154
|
+
- Once a concrete change is agreed, make the update instead of asking for
|
|
155
|
+
another confirmation.
|
|
156
|
+
- Do not repeat agreement back unless there is a new risk, conflict, or
|
|
157
|
+
decision to surface.
|
|
158
|
+
- Keep responses concise. Avoid long explanations when the next action is
|
|
159
|
+
already clear.
|
|
140
160
|
|
|
141
161
|
## Frustrations to Avoid
|
|
142
162
|
|
|
@@ -146,39 +166,44 @@ follow the direction.
|
|
|
146
166
|
- Burying a concern in the middle of a response instead of leading with it
|
|
147
167
|
- Being indirect or vague to avoid conflict
|
|
148
168
|
|
|
149
|
-
##
|
|
169
|
+
## Session Management
|
|
150
170
|
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
|
|
171
|
+
- Keep track of the main topic, current focus, queued items, parked tangents,
|
|
172
|
+
and open process steps throughout the session.
|
|
173
|
+
- Work one issue at a time. Do not answer several unresolved points in a single
|
|
174
|
+
response.
|
|
175
|
+
- If a tangent appears, keep the main thread state visible so it is easy to
|
|
176
|
+
return to the original track.
|
|
177
|
+
- If a required review, status, or process step becomes due, keep it visible
|
|
178
|
+
even while discussing a tangent.
|
|
156
179
|
|
|
157
|
-
## Skills
|
|
180
|
+
## Skills and File References
|
|
158
181
|
|
|
159
|
-
When a skill system is available and a skill
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
182
|
+
- When a skill system is available and a skill applies, invoke it before
|
|
183
|
+
proceeding unless it conflicts with the user's explicit request.
|
|
184
|
+
- Do not treat reading a `SKILL.md` file as a substitute for invoking the skill.
|
|
185
|
+
- When a skill or prompt references a file that cannot be read, first try
|
|
186
|
+
resolving it from the repository root.
|
|
187
|
+
- If the file still cannot be found, stop and ask before proceeding.
|
|
188
|
+
- Do not make assumptions in place of missing references.
|
|
163
189
|
|
|
164
|
-
##
|
|
190
|
+
## Task Tracking
|
|
165
191
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
still can't be found, stop and ask before proceeding. Do not make assumptions
|
|
169
|
-
in place of missing information.
|
|
192
|
+
`tasks.md` in the project root is a memory aid. It preserves useful context
|
|
193
|
+
across sessions, especially when conversations branch or go off on tangents.
|
|
170
194
|
|
|
171
|
-
|
|
195
|
+
**What belongs:**
|
|
172
196
|
|
|
173
|
-
|
|
174
|
-
|
|
197
|
+
- Specific findings or decisions that would otherwise be lost
|
|
198
|
+
- Items discussed but not being worked on right now
|
|
199
|
+
- Durable context worth remembering later
|
|
175
200
|
|
|
176
|
-
**What
|
|
177
|
-
otherwise be lost. These are things often identified when going off on tangents
|
|
178
|
-
or having multiple topics on the go at once.
|
|
201
|
+
**What does not belong:**
|
|
179
202
|
|
|
180
|
-
|
|
181
|
-
|
|
203
|
+
- Status of active work
|
|
204
|
+
- Things Nathan obviously knows
|
|
205
|
+
- Vague reminders
|
|
206
|
+
- Obvious next steps
|
|
182
207
|
|
|
183
208
|
Three buckets:
|
|
184
209
|
|
|
@@ -188,5 +213,5 @@ Three buckets:
|
|
|
188
213
|
|
|
189
214
|
## Off-Limits Directories
|
|
190
215
|
|
|
191
|
-
-
|
|
192
|
-
reference files
|
|
216
|
+
- `/tmp` is Nathan's personal scratch space. Never read, modify, delete, or
|
|
217
|
+
reference files there unless explicitly asked.
|
package/CLAUDE.md
CHANGED
|
@@ -85,7 +85,8 @@ use `gap` instead.
|
|
|
85
85
|
|
|
86
86
|
**Stop and ask when:**
|
|
87
87
|
|
|
88
|
-
- Modifying files not mentioned in the request, unless clearly required to
|
|
88
|
+
- Modifying files not mentioned in the request, unless clearly required to
|
|
89
|
+
complete the task correctly.
|
|
89
90
|
- Multiple valid approaches exist and the choice has real consequences.
|
|
90
91
|
- Something conflicts with existing patterns in a way that needs a decision.
|
|
91
92
|
- Your interpretation of the request is genuinely ambiguous.
|
|
@@ -95,13 +96,15 @@ use `gap` instead.
|
|
|
95
96
|
- "I'll also…" — unsolicited additions
|
|
96
97
|
- "While I'm at it…" — scope expansion
|
|
97
98
|
- Using flags, options, or commands not present in the existing code or docs
|
|
98
|
-
- Expanding scope because something "requires"
|
|
99
|
-
ask first
|
|
99
|
+
- Expanding scope because something "requires" extra work — name the
|
|
100
|
+
prerequisite and ask first
|
|
100
101
|
|
|
101
102
|
## Assumptions
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
State assumptions plainly. If an assumption has real consequences, do not
|
|
105
|
+
proceed without raising it.
|
|
106
|
+
|
|
107
|
+
If you are not sure, say so directly. Do not present guesses as facts.
|
|
105
108
|
|
|
106
109
|
## Disagreement and Pushback
|
|
107
110
|
|
|
@@ -130,13 +133,30 @@ follow the direction.
|
|
|
130
133
|
- **Name it before fixing it** — if something needs prerequisite work, say what
|
|
131
134
|
and why before doing it
|
|
132
135
|
|
|
133
|
-
##
|
|
134
|
-
|
|
135
|
-
- Do not add adjacent improvements, refactors,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
136
|
+
## Scope Discipline
|
|
137
|
+
|
|
138
|
+
- Do not add adjacent improvements, refactors, cleanup, renaming, formatting,
|
|
139
|
+
reorganisation, or bundled unrelated changes unless explicitly requested or
|
|
140
|
+
clearly required to complete the task correctly.
|
|
141
|
+
- Do not introduce flags, options, or commands that are not already part of the
|
|
142
|
+
existing code, docs, or agreed approach without raising them first.
|
|
143
|
+
- If something "requires" extra work, name the prerequisite and ask before
|
|
144
|
+
expanding scope.
|
|
145
|
+
|
|
146
|
+
## Execution Style
|
|
147
|
+
|
|
148
|
+
- For small, explicit tasks, do the work directly and report the result.
|
|
149
|
+
- For multi-step, risky, or ambiguous work, use incremental check-ins.
|
|
150
|
+
- Show the approach before executing when scope, risk, or consequences justify
|
|
151
|
+
it.
|
|
152
|
+
- If the work starts taking a different shape than expected, surface that early
|
|
153
|
+
instead of finishing and explaining afterwards.
|
|
154
|
+
- Once a concrete change is agreed, make the update instead of asking for
|
|
155
|
+
another confirmation.
|
|
156
|
+
- Do not repeat agreement back unless there is a new risk, conflict, or
|
|
157
|
+
decision to surface.
|
|
158
|
+
- Keep responses concise. Avoid long explanations when the next action is
|
|
159
|
+
already clear.
|
|
140
160
|
|
|
141
161
|
## Frustrations to Avoid
|
|
142
162
|
|
|
@@ -146,39 +166,44 @@ follow the direction.
|
|
|
146
166
|
- Burying a concern in the middle of a response instead of leading with it
|
|
147
167
|
- Being indirect or vague to avoid conflict
|
|
148
168
|
|
|
149
|
-
##
|
|
169
|
+
## Session Management
|
|
150
170
|
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
|
|
171
|
+
- Keep track of the main topic, current focus, queued items, parked tangents,
|
|
172
|
+
and open process steps throughout the session.
|
|
173
|
+
- Work one issue at a time. Do not answer several unresolved points in a single
|
|
174
|
+
response.
|
|
175
|
+
- If a tangent appears, keep the main thread state visible so it is easy to
|
|
176
|
+
return to the original track.
|
|
177
|
+
- If a required review, status, or process step becomes due, keep it visible
|
|
178
|
+
even while discussing a tangent.
|
|
156
179
|
|
|
157
|
-
## Skills
|
|
180
|
+
## Skills and File References
|
|
158
181
|
|
|
159
|
-
When a skill system is available and a skill
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
182
|
+
- When a skill system is available and a skill applies, invoke it before
|
|
183
|
+
proceeding unless it conflicts with the user's explicit request.
|
|
184
|
+
- Do not treat reading a `SKILL.md` file as a substitute for invoking the skill.
|
|
185
|
+
- When a skill or prompt references a file that cannot be read, first try
|
|
186
|
+
resolving it from the repository root.
|
|
187
|
+
- If the file still cannot be found, stop and ask before proceeding.
|
|
188
|
+
- Do not make assumptions in place of missing references.
|
|
163
189
|
|
|
164
|
-
##
|
|
190
|
+
## Task Tracking
|
|
165
191
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
still can't be found, stop and ask before proceeding. Do not make assumptions
|
|
169
|
-
in place of missing information.
|
|
192
|
+
`tasks.md` in the project root is a memory aid. It preserves useful context
|
|
193
|
+
across sessions, especially when conversations branch or go off on tangents.
|
|
170
194
|
|
|
171
|
-
|
|
195
|
+
**What belongs:**
|
|
172
196
|
|
|
173
|
-
|
|
174
|
-
|
|
197
|
+
- Specific findings or decisions that would otherwise be lost
|
|
198
|
+
- Items discussed but not being worked on right now
|
|
199
|
+
- Durable context worth remembering later
|
|
175
200
|
|
|
176
|
-
**What
|
|
177
|
-
otherwise be lost. These are things often identified when going off on tangents
|
|
178
|
-
or having multiple topics on the go at once.
|
|
201
|
+
**What does not belong:**
|
|
179
202
|
|
|
180
|
-
|
|
181
|
-
|
|
203
|
+
- Status of active work
|
|
204
|
+
- Things Nathan obviously knows
|
|
205
|
+
- Vague reminders
|
|
206
|
+
- Obvious next steps
|
|
182
207
|
|
|
183
208
|
Three buckets:
|
|
184
209
|
|
|
@@ -188,5 +213,5 @@ Three buckets:
|
|
|
188
213
|
|
|
189
214
|
## Off-Limits Directories
|
|
190
215
|
|
|
191
|
-
-
|
|
192
|
-
reference files
|
|
216
|
+
- `/tmp` is Nathan's personal scratch space. Never read, modify, delete, or
|
|
217
|
+
reference files there unless explicitly asked.
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
# Button (review)
|
|
2
|
-
|
|
3
|
-
Buttons work with all themes just like other components. Apply `.primary`,
|
|
4
|
-
`.secondary`, or any other theme class to get consistent branding throughout
|
|
5
|
-
your interface.
|
|
6
|
-
|
|
7
|
-
<div class="flex flex-wrap gap-025">
|
|
8
|
-
<button class="btn w-6 red">red</button>
|
|
9
|
-
<button class="btn w-6 orange">orange</button>
|
|
10
|
-
<button class="btn w-6 amber">amber</button>
|
|
11
|
-
<button class="btn w-6 yellow">yellow</button>
|
|
12
|
-
<button class="btn w-6 lime">lime</button>
|
|
13
|
-
<button class="btn w-6 green">green</button>
|
|
14
|
-
<button class="btn w-6 emerald">emerald</button>
|
|
15
|
-
<button class="btn w-6 teal">teal</button>
|
|
16
|
-
<button class="btn w-6 cyan">cyan</button>
|
|
17
|
-
<button class="btn w-6 sky">sky</button>
|
|
18
|
-
<button class="btn w-6 blue">blue</button>
|
|
19
|
-
<button class="btn w-6 indigo">indigo</button>
|
|
20
|
-
<button class="btn w-6 violet">violet</button>
|
|
21
|
-
<button class="btn w-6 purple">purple</button>
|
|
22
|
-
<button class="btn w-6 fuchsia">fuchsia</button>
|
|
23
|
-
<button class="btn w-6 pink">pink</button>
|
|
24
|
-
<button class="btn w-6 rose">rose</button>
|
|
25
|
-
<button class="btn w-6 slate">slate</button>
|
|
26
|
-
<button class="btn w-6 gray">gray</button>
|
|
27
|
-
<button class="btn w-6 zinc">zinc</button>
|
|
28
|
-
<button class="btn w-6 stone">stone</button>
|
|
29
|
-
<button class="btn w-6 neutral">neutral</button>
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
<div class="flex flex-wrap gap-025 my">
|
|
33
|
-
<button class="btn w-6 red-outline">red</button>
|
|
34
|
-
<button class="btn w-6 orange-outline">orange</button>
|
|
35
|
-
<button class="btn w-6 amber-outline">amber</button>
|
|
36
|
-
<button class="btn w-6 yellow-outline">yellow</button>
|
|
37
|
-
<button class="btn w-6 lime-outline">lime</button>
|
|
38
|
-
<button class="btn w-6 green-outline">green</button>
|
|
39
|
-
<button class="btn w-6 emerald-outline">emerald</button>
|
|
40
|
-
<button class="btn w-6 teal-outline">teal</button>
|
|
41
|
-
<button class="btn w-6 cyan-outline">cyan</button>
|
|
42
|
-
<button class="btn w-6 sky-outline">sky</button>
|
|
43
|
-
<button class="btn w-6 blue-outline">blue</button>
|
|
44
|
-
<button class="btn w-6 indigo-outline">indigo</button>
|
|
45
|
-
<button class="btn w-6 violet-outline">violet</button>
|
|
46
|
-
<button class="btn w-6 purple-outline">purple</button>
|
|
47
|
-
<button class="btn w-6 fuchsia-outline">fuchsia</button>
|
|
48
|
-
<button class="btn w-6 pink-outline">pink</button>
|
|
49
|
-
<button class="btn w-6 rose-outline">rose</button>
|
|
50
|
-
<button class="btn w-6 slate-outline">slate</button>
|
|
51
|
-
<button class="btn w-6 gray-outline">gray</button>
|
|
52
|
-
<button class="btn w-6 zinc-outline">zinc</button>
|
|
53
|
-
<button class="btn w-6 stone-outline">stone</button>
|
|
54
|
-
<button class="btn w-6 neutral-outline">neutral</button>
|
|
55
|
-
</div>
|
|
56
|
-
|
|
57
|
-
## Basic Button (review)
|
|
58
|
-
|
|
59
|
-
```html +demo-folded class="bx"
|
|
60
|
-
<button class="btn">Default Button</button>
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Button Themes (review)
|
|
64
|
-
|
|
65
|
-
Apply theme modifiers for different colors:
|
|
66
|
-
|
|
67
|
-
```html +demo-folded class="bx"
|
|
68
|
-
<div class="flex flex-wrap gap-1">
|
|
69
|
-
<button class="btn primary">Primary</button>
|
|
70
|
-
<button class="btn secondary">Secondary</button>
|
|
71
|
-
<button class="btn red">Red</button>
|
|
72
|
-
<button class="btn green">Green</button>
|
|
73
|
-
<button class="btn blue">Blue</button>
|
|
74
|
-
</div>
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Button Sizes (review)
|
|
78
|
-
|
|
79
|
-
```html +demo-folded class="bx"
|
|
80
|
-
<div class="flex flex-wrap gap-1 items-center">
|
|
81
|
-
<button class="btn xs">Extra Small</button>
|
|
82
|
-
<button class="btn sm">Small</button>
|
|
83
|
-
<button class="btn">Default</button>
|
|
84
|
-
<button class="btn lg">Large</button>
|
|
85
|
-
</div>
|
|
86
|
-
```
|
|
1
|
+
# Button (review)
|
|
2
|
+
|
|
3
|
+
Buttons work with all themes just like other components. Apply `.primary`,
|
|
4
|
+
`.secondary`, or any other theme class to get consistent branding throughout
|
|
5
|
+
your interface.
|
|
6
|
+
|
|
7
|
+
<div class="flex flex-wrap gap-025">
|
|
8
|
+
<button class="btn w-6 red">red</button>
|
|
9
|
+
<button class="btn w-6 orange">orange</button>
|
|
10
|
+
<button class="btn w-6 amber">amber</button>
|
|
11
|
+
<button class="btn w-6 yellow">yellow</button>
|
|
12
|
+
<button class="btn w-6 lime">lime</button>
|
|
13
|
+
<button class="btn w-6 green">green</button>
|
|
14
|
+
<button class="btn w-6 emerald">emerald</button>
|
|
15
|
+
<button class="btn w-6 teal">teal</button>
|
|
16
|
+
<button class="btn w-6 cyan">cyan</button>
|
|
17
|
+
<button class="btn w-6 sky">sky</button>
|
|
18
|
+
<button class="btn w-6 blue">blue</button>
|
|
19
|
+
<button class="btn w-6 indigo">indigo</button>
|
|
20
|
+
<button class="btn w-6 violet">violet</button>
|
|
21
|
+
<button class="btn w-6 purple">purple</button>
|
|
22
|
+
<button class="btn w-6 fuchsia">fuchsia</button>
|
|
23
|
+
<button class="btn w-6 pink">pink</button>
|
|
24
|
+
<button class="btn w-6 rose">rose</button>
|
|
25
|
+
<button class="btn w-6 slate">slate</button>
|
|
26
|
+
<button class="btn w-6 gray">gray</button>
|
|
27
|
+
<button class="btn w-6 zinc">zinc</button>
|
|
28
|
+
<button class="btn w-6 stone">stone</button>
|
|
29
|
+
<button class="btn w-6 neutral">neutral</button>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="flex flex-wrap gap-025 my">
|
|
33
|
+
<button class="btn w-6 red-outline">red</button>
|
|
34
|
+
<button class="btn w-6 orange-outline">orange</button>
|
|
35
|
+
<button class="btn w-6 amber-outline">amber</button>
|
|
36
|
+
<button class="btn w-6 yellow-outline">yellow</button>
|
|
37
|
+
<button class="btn w-6 lime-outline">lime</button>
|
|
38
|
+
<button class="btn w-6 green-outline">green</button>
|
|
39
|
+
<button class="btn w-6 emerald-outline">emerald</button>
|
|
40
|
+
<button class="btn w-6 teal-outline">teal</button>
|
|
41
|
+
<button class="btn w-6 cyan-outline">cyan</button>
|
|
42
|
+
<button class="btn w-6 sky-outline">sky</button>
|
|
43
|
+
<button class="btn w-6 blue-outline">blue</button>
|
|
44
|
+
<button class="btn w-6 indigo-outline">indigo</button>
|
|
45
|
+
<button class="btn w-6 violet-outline">violet</button>
|
|
46
|
+
<button class="btn w-6 purple-outline">purple</button>
|
|
47
|
+
<button class="btn w-6 fuchsia-outline">fuchsia</button>
|
|
48
|
+
<button class="btn w-6 pink-outline">pink</button>
|
|
49
|
+
<button class="btn w-6 rose-outline">rose</button>
|
|
50
|
+
<button class="btn w-6 slate-outline">slate</button>
|
|
51
|
+
<button class="btn w-6 gray-outline">gray</button>
|
|
52
|
+
<button class="btn w-6 zinc-outline">zinc</button>
|
|
53
|
+
<button class="btn w-6 stone-outline">stone</button>
|
|
54
|
+
<button class="btn w-6 neutral-outline">neutral</button>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
## Basic Button (review)
|
|
58
|
+
|
|
59
|
+
```html +demo-folded class="bx"
|
|
60
|
+
<button class="btn">Default Button</button>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Button Themes (review)
|
|
64
|
+
|
|
65
|
+
Apply theme modifiers for different colors:
|
|
66
|
+
|
|
67
|
+
```html +demo-folded class="bx"
|
|
68
|
+
<div class="flex flex-wrap gap-1">
|
|
69
|
+
<button class="btn primary">Primary</button>
|
|
70
|
+
<button class="btn secondary">Secondary</button>
|
|
71
|
+
<button class="btn red">Red</button>
|
|
72
|
+
<button class="btn green">Green</button>
|
|
73
|
+
<button class="btn blue">Blue</button>
|
|
74
|
+
</div>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Button Sizes (review)
|
|
78
|
+
|
|
79
|
+
```html +demo-folded class="bx"
|
|
80
|
+
<div class="flex flex-wrap gap-1 items-center">
|
|
81
|
+
<button class="btn xs">Extra Small</button>
|
|
82
|
+
<button class="btn sm">Small</button>
|
|
83
|
+
<button class="btn">Default</button>
|
|
84
|
+
<button class="btn lg">Large</button>
|
|
85
|
+
</div>
|
|
86
|
+
```
|
|
87
87
|
|