@tamagui/cli 1.137.1 → 1.137.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/dist/cli.cjs +11 -3
- package/dist/cli.js +6 -3
- package/dist/cli.js.map +1 -1
- package/dist/cli.native.js +11 -3
- package/dist/cli.native.js.map +1 -1
- package/dist/generate-prompt.cjs +176 -51
- package/dist/generate-prompt.js +251 -64
- package/dist/generate-prompt.js.map +1 -1
- package/dist/generate-prompt.native.js +326 -81
- package/dist/generate-prompt.native.js.map +1 -1
- package/package.json +7 -7
- package/src/cli.ts +9 -3
- package/src/generate-prompt.ts +385 -64
- package/types/generate-prompt.d.ts +0 -1
- package/types/generate-prompt.d.ts.map +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -72,6 +72,16 @@ const COMMAND_MAP = {
|
|
|
72
72
|
...options.tamaguiOptions,
|
|
73
73
|
platform: "web"
|
|
74
74
|
});
|
|
75
|
+
const {
|
|
76
|
+
generatePrompt
|
|
77
|
+
} = require("./generate-prompt.cjs"),
|
|
78
|
+
{
|
|
79
|
+
join
|
|
80
|
+
} = require("node:path");
|
|
81
|
+
await generatePrompt({
|
|
82
|
+
...options,
|
|
83
|
+
output: join(options.paths.dotDir, "prompt.md")
|
|
84
|
+
});
|
|
75
85
|
}
|
|
76
86
|
},
|
|
77
87
|
"generate-themes": {
|
|
@@ -190,7 +200,6 @@ const COMMAND_MAP = {
|
|
|
190
200
|
flags: {
|
|
191
201
|
"--help": Boolean,
|
|
192
202
|
"--debug": Boolean,
|
|
193
|
-
"--verbose": Boolean,
|
|
194
203
|
"--output": String
|
|
195
204
|
},
|
|
196
205
|
async run() {
|
|
@@ -202,12 +211,11 @@ const COMMAND_MAP = {
|
|
|
202
211
|
generatePrompt
|
|
203
212
|
} = require("./generate-prompt.cjs"),
|
|
204
213
|
options = await (0, import_utils.getOptions)({
|
|
205
|
-
debug: flags2["--debug"]
|
|
214
|
+
debug: !!flags2["--debug"],
|
|
206
215
|
loadTamaguiOptions: !0
|
|
207
216
|
});
|
|
208
217
|
await generatePrompt({
|
|
209
218
|
...options,
|
|
210
|
-
verbose: flags2["--verbose"],
|
|
211
219
|
output: flags2["--output"]
|
|
212
220
|
});
|
|
213
221
|
}
|
package/dist/cli.js
CHANGED
|
@@ -57,6 +57,11 @@ const COMMAND_MAP = {
|
|
|
57
57
|
...options.tamaguiOptions,
|
|
58
58
|
platform: "web"
|
|
59
59
|
});
|
|
60
|
+
const { generatePrompt } = require("./generate-prompt"), { join } = require("node:path");
|
|
61
|
+
await generatePrompt({
|
|
62
|
+
...options,
|
|
63
|
+
output: join(options.paths.dotDir, "prompt.md")
|
|
64
|
+
});
|
|
60
65
|
}
|
|
61
66
|
},
|
|
62
67
|
"generate-themes": {
|
|
@@ -157,17 +162,15 @@ const COMMAND_MAP = {
|
|
|
157
162
|
flags: {
|
|
158
163
|
"--help": Boolean,
|
|
159
164
|
"--debug": Boolean,
|
|
160
|
-
"--verbose": Boolean,
|
|
161
165
|
"--output": String
|
|
162
166
|
},
|
|
163
167
|
async run() {
|
|
164
168
|
const { _, ...flags2 } = (0, import_arg.default)(this.flags), { generatePrompt } = require("./generate-prompt"), options = await (0, import_utils.getOptions)({
|
|
165
|
-
debug: flags2["--debug"]
|
|
169
|
+
debug: !!flags2["--debug"],
|
|
166
170
|
loadTamaguiOptions: !0
|
|
167
171
|
});
|
|
168
172
|
await generatePrompt({
|
|
169
173
|
...options,
|
|
170
|
-
verbose: flags2["--verbose"],
|
|
171
174
|
output: flags2["--output"]
|
|
172
175
|
});
|
|
173
176
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/cli.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["flags", "arg", "command", "definition", "chalk"]
|
|
6
6
|
}
|
package/dist/cli.native.js
CHANGED
|
@@ -74,6 +74,16 @@ var COMMAND_MAP = {
|
|
|
74
74
|
...options.tamaguiOptions,
|
|
75
75
|
platform: "web"
|
|
76
76
|
});
|
|
77
|
+
var {
|
|
78
|
+
generatePrompt
|
|
79
|
+
} = require("./generate-prompt.native.js"),
|
|
80
|
+
{
|
|
81
|
+
join
|
|
82
|
+
} = require("path");
|
|
83
|
+
await generatePrompt({
|
|
84
|
+
...options,
|
|
85
|
+
output: join(options.paths.dotDir, "prompt.md")
|
|
86
|
+
});
|
|
77
87
|
}
|
|
78
88
|
},
|
|
79
89
|
"generate-themes": {
|
|
@@ -193,7 +203,6 @@ var COMMAND_MAP = {
|
|
|
193
203
|
flags: {
|
|
194
204
|
"--help": Boolean,
|
|
195
205
|
"--debug": Boolean,
|
|
196
|
-
"--verbose": Boolean,
|
|
197
206
|
"--output": String
|
|
198
207
|
},
|
|
199
208
|
async run() {
|
|
@@ -205,12 +214,11 @@ var COMMAND_MAP = {
|
|
|
205
214
|
generatePrompt
|
|
206
215
|
} = require("./generate-prompt.native.js"),
|
|
207
216
|
options = await (0, import_utils.getOptions)({
|
|
208
|
-
debug: flags2["--debug"]
|
|
217
|
+
debug: !!flags2["--debug"],
|
|
209
218
|
loadTamaguiOptions: !0
|
|
210
219
|
});
|
|
211
220
|
await generatePrompt({
|
|
212
221
|
...options,
|
|
213
|
-
verbose: flags2["--verbose"],
|
|
214
222
|
output: flags2["--output"]
|
|
215
223
|
});
|
|
216
224
|
}
|
package/dist/cli.native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_arg","__toESM","require","import_chalk","import_add","import_utils","import_static","forEach","_","process","on","disposeAll","exit","COMMAND_MAP","check","description","shorthands","flags","Boolean","run","flags2","default","options","getOptions","debug","loadTamaguiOptions","checkDeps","paths","root","generate","env","TAMAGUI_KEEP_THEMES","loadTamagui","tamaguiOptions","platform","_cmd","inPath","outPath","Error","generateThemes","writeGeneratedThemes","generated","
|
|
1
|
+
{"version":3,"names":["import_arg","__toESM","require","import_chalk","import_add","import_utils","import_static","forEach","_","process","on","disposeAll","exit","COMMAND_MAP","check","description","shorthands","flags","Boolean","run","flags2","default","options","getOptions","debug","loadTamaguiOptions","checkDeps","paths","root","generate","env","TAMAGUI_KEEP_THEMES","loadTamagui","tamaguiOptions","platform","generatePrompt","join","output","dotDir","_cmd","inPath","outPath","Error","generateThemes","writeGeneratedThemes","generated","console","info","err","error","add","generatedPackageTypes","installGeneratedPackage","cmd","type","path","build","String","_command","dir","imported","include","target","exclude","_flags_ignoredpatterns","updateTemplate","split","commandEntries","Object","keys","flatMap","command2","definition2","entries","map","commands","fromEntries","command","permissive","version","key","warn","yellow","definition","main","param","k","v","name","cmdFlags"],"sources":["../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/generate-prompt.cjs
CHANGED
|
@@ -40,74 +40,188 @@ var import_node_path = require("node:path"),
|
|
|
40
40
|
async function generatePrompt(options) {
|
|
41
41
|
const {
|
|
42
42
|
paths,
|
|
43
|
-
verbose,
|
|
44
43
|
output
|
|
45
44
|
} = options;
|
|
46
|
-
|
|
45
|
+
process.env.TAMAGUI_KEEP_THEMES = "1", await (0, import_static.loadTamagui)({
|
|
47
46
|
...options.tamaguiOptions,
|
|
48
47
|
platform: "web"
|
|
49
48
|
});
|
|
50
49
|
const configPath = (0, import_node_path.join)(paths.dotDir, "tamagui.config.json");
|
|
51
50
|
if (!FS.existsSync(configPath)) throw new Error(`Config file not found at ${configPath}. Please run 'tamagui generate' first.`);
|
|
52
51
|
const config = await FS.readJSON(configPath),
|
|
53
|
-
markdown = generateMarkdown(config
|
|
52
|
+
markdown = generateMarkdown(config),
|
|
54
53
|
outputPath = output || (0, import_node_path.join)(process.cwd(), "tamagui-prompt.md");
|
|
55
|
-
await FS.writeFile(outputPath, markdown, "utf-8"), console.info(
|
|
54
|
+
await FS.writeFile(outputPath, markdown, "utf-8"), console.info(`
|
|
55
|
+
\u2713 Generated prompt file at ${outputPath}
|
|
56
|
+
`);
|
|
56
57
|
}
|
|
57
|
-
function generateMarkdown(config
|
|
58
|
+
function generateMarkdown(config) {
|
|
58
59
|
const sections = [];
|
|
59
60
|
sections.push(`# Tamagui Configuration
|
|
60
61
|
|
|
61
62
|
`), sections.push(`This document provides an overview of the Tamagui configuration for this project.
|
|
62
63
|
|
|
63
|
-
`), sections.push(`## Components
|
|
64
|
-
|
|
65
|
-
`), sections.push(`The following components are available:
|
|
66
64
|
`);
|
|
67
|
-
const
|
|
65
|
+
const shorthands = config.tamaguiConfig?.shorthands || {},
|
|
66
|
+
reverseShorthands = {};
|
|
67
|
+
for (const [short, full] of Object.entries(shorthands)) reverseShorthands[full] = short;
|
|
68
|
+
const getPropName = fullProp => (config.tamaguiConfig?.settings || {}).onlyAllowShorthands && reverseShorthands[fullProp] ? reverseShorthands[fullProp] : fullProp,
|
|
69
|
+
settings = config.tamaguiConfig?.settings || {};
|
|
70
|
+
if (Object.keys(settings).length > 0) {
|
|
71
|
+
sections.push(`## Configuration Settings
|
|
72
|
+
|
|
73
|
+
`), sections.push(`**IMPORTANT:** These settings affect how you write Tamagui code in this project.
|
|
74
|
+
|
|
75
|
+
`), settings.defaultFont && (sections.push(`### Default Font: \`${settings.defaultFont}\`
|
|
76
|
+
|
|
77
|
+
`), sections.push(`All text components will use the "${settings.defaultFont}" font family by default.
|
|
78
|
+
|
|
79
|
+
`)), settings.onlyAllowShorthands !== void 0 && (sections.push(`### Only Allow Shorthands: \`${settings.onlyAllowShorthands}\`
|
|
80
|
+
|
|
81
|
+
`), settings.onlyAllowShorthands ? (sections.push(`**You MUST use shorthand properties in this project.**
|
|
82
|
+
|
|
83
|
+
`), sections.push(`Full property names are not allowed. For example:
|
|
84
|
+
`), sections.push('- \u2705 `<Stack w="$10" />` (correct)\n'), sections.push('- \u274C `<Stack width="$10" />` (will error)\n\n'), sections.push(`See the Shorthand Properties section below for all available shorthands.
|
|
85
|
+
|
|
86
|
+
`)) : sections.push(`You can use either shorthand or full property names.
|
|
87
|
+
|
|
88
|
+
`)), settings.themeClassNameOnRoot !== void 0 && (sections.push(`### Theme Class Name on Root: \`${settings.themeClassNameOnRoot}\`
|
|
89
|
+
|
|
90
|
+
`), settings.themeClassNameOnRoot && sections.push(`Theme classes are applied to the root HTML element.
|
|
91
|
+
|
|
92
|
+
`)), settings.maxDarkLightNesting !== void 0 && (sections.push(`### Max Dark/Light Nesting: \`${settings.maxDarkLightNesting}\`
|
|
93
|
+
|
|
94
|
+
`), sections.push(`Maximum nesting depth for light/dark theme switching: ${settings.maxDarkLightNesting} levels.
|
|
95
|
+
|
|
96
|
+
`));
|
|
97
|
+
const platform = settings.platform || settings.defaultProps?.platform;
|
|
98
|
+
platform && (sections.push(`### Platform Mode: \`${platform}\`
|
|
99
|
+
|
|
100
|
+
`), platform === "web" ? sections.push(`This project is configured for **web only**.
|
|
101
|
+
|
|
102
|
+
`) : platform === "native" && sections.push(`This project is configured for **React Native only**.
|
|
103
|
+
|
|
104
|
+
`)), settings.webContainerType && (sections.push(`### Web Container Type: \`${settings.webContainerType}\`
|
|
105
|
+
|
|
106
|
+
`), sections.push(`Enables web-specific container query optimizations.
|
|
107
|
+
|
|
108
|
+
`)), JSON.stringify(config.tamaguiConfig).includes("semi-strict-web") && (sections.push("### Mode: `semi-strict-web`\n\n"), sections.push(`This configuration uses semi-strict-web mode, which:
|
|
109
|
+
`), sections.push(`- Optimizes for web performance
|
|
110
|
+
`), sections.push(`- May have limited React Native API support
|
|
111
|
+
`), sections.push(`- Focuses on web-first development
|
|
112
|
+
|
|
113
|
+
`));
|
|
114
|
+
}
|
|
115
|
+
const componentsSection = [],
|
|
116
|
+
allComponents = [];
|
|
68
117
|
for (const componentModule of config.components) {
|
|
69
118
|
const componentNames = Object.keys(componentModule.nameToInfo);
|
|
70
119
|
allComponents.push(...componentNames);
|
|
71
120
|
}
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
121
|
+
const componentGroups = /* @__PURE__ */new Map(),
|
|
122
|
+
processed = /* @__PURE__ */new Set(),
|
|
123
|
+
sortedComponents = [...allComponents].sort((a, b) => a.length - b.length);
|
|
124
|
+
for (const name of sortedComponents) {
|
|
125
|
+
if (processed.has(name)) continue;
|
|
126
|
+
const children = allComponents.filter(other => other !== name && other.startsWith(name) && other[name.length]?.match(/[A-Z]/));
|
|
127
|
+
children.length > 0 && (componentGroups.set(name, new Set(children)), processed.add(name), children.forEach(child => processed.add(child)));
|
|
128
|
+
}
|
|
129
|
+
const standaloneComponents = allComponents.filter(name => !processed.has(name));
|
|
130
|
+
componentsSection.push(`## Components
|
|
75
131
|
|
|
132
|
+
`), componentsSection.push(`The following components are available:
|
|
133
|
+
|
|
134
|
+
`);
|
|
135
|
+
const allBaseComponents = [...standaloneComponents, ...Array.from(componentGroups.keys())].sort();
|
|
136
|
+
for (const name of allBaseComponents) if (componentsSection.push(`- ${name}
|
|
137
|
+
`), componentGroups.has(name)) {
|
|
138
|
+
const children = Array.from(componentGroups.get(name)).sort();
|
|
139
|
+
for (const child of children) {
|
|
140
|
+
const suffix = child.slice(name.length);
|
|
141
|
+
componentsSection.push(` - ${name}.${suffix}
|
|
142
|
+
`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
componentsSection.push(`
|
|
76
146
|
`), sections.push(`## Shorthand Properties
|
|
77
147
|
|
|
78
148
|
`), sections.push(`These shorthand properties are available for styling:
|
|
79
149
|
|
|
80
150
|
`);
|
|
81
|
-
const
|
|
82
|
-
shorthandEntries = Object.entries(shorthands).sort(([a], [b]) => a.localeCompare(b));
|
|
151
|
+
const shorthandEntries = Object.entries(shorthands).sort(([a], [b]) => a.localeCompare(b));
|
|
83
152
|
sections.push(shorthandEntries.map(([short, full]) => `- \`${short}\` \u2192 \`${full}\``).join(`
|
|
84
153
|
`)), sections.push(`
|
|
85
154
|
|
|
86
155
|
`), sections.push(`## Themes
|
|
87
156
|
|
|
88
|
-
`), sections.push(`Available theme names:
|
|
89
|
-
|
|
90
157
|
`);
|
|
91
158
|
const themes = config.tamaguiConfig?.themes || {},
|
|
92
159
|
themeNames = Object.keys(themes).sort(),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
160
|
+
hierarchy = {
|
|
161
|
+
level1: /* @__PURE__ */new Set(),
|
|
162
|
+
level2: /* @__PURE__ */new Set(),
|
|
163
|
+
level3: /* @__PURE__ */new Set(),
|
|
164
|
+
components: /* @__PURE__ */new Set()
|
|
165
|
+
};
|
|
166
|
+
for (const themeName of themeNames) {
|
|
167
|
+
const parts = themeName.split("_");
|
|
168
|
+
if (parts[0] === "light" || parts[0] === "dark") {
|
|
169
|
+
hierarchy.level1.add(parts[0]), parts.length > 1 && parts[1] && !parts[1].startsWith("alt") && parts[1] !== "active" && parts[1][0] === parts[1][0].toLowerCase() && hierarchy.level2.add(parts[1]);
|
|
170
|
+
for (const part of parts) (part.startsWith("alt") || part === "active") && hierarchy.level3.add(part);
|
|
171
|
+
for (const part of parts) part[0] && part[0] === part[0].toUpperCase() && part[0] !== part[0].toLowerCase() && hierarchy.components.add(part);
|
|
172
|
+
} else parts.length === 1 && hierarchy.level1.add(themeName);
|
|
173
|
+
}
|
|
174
|
+
sections.push(`Themes are organized hierarchically and can be combined:
|
|
96
175
|
|
|
97
|
-
`), sections.push(
|
|
98
|
-
`))), componentThemes.length > 0 && verbose ? (sections.push(`
|
|
176
|
+
`), hierarchy.level1.size > 0 && (sections.push(`**Level 1 (Base):**
|
|
99
177
|
|
|
100
|
-
|
|
178
|
+
`), sections.push(Array.from(hierarchy.level1).sort().map(name => `- ${name}`).join(`
|
|
179
|
+
`)), sections.push(`
|
|
101
180
|
|
|
102
|
-
`), sections.push(
|
|
103
|
-
`))) : componentThemes.length > 0 && sections.push(`
|
|
181
|
+
`)), hierarchy.level2.size > 0 && (sections.push(`**Level 2 (Color Schemes):**
|
|
104
182
|
|
|
105
|
-
|
|
106
|
-
`), sections.push(`
|
|
183
|
+
`), sections.push(Array.from(hierarchy.level2).sort().map(name => `- ${name}`).join(`
|
|
184
|
+
`)), sections.push(`
|
|
107
185
|
|
|
108
|
-
`), sections.push(
|
|
186
|
+
`)), hierarchy.level3.size > 0 && (sections.push(`**Level 3 (Variants):**
|
|
109
187
|
|
|
110
|
-
`)
|
|
188
|
+
`), sections.push(Array.from(hierarchy.level3).sort().map(name => `- ${name}`).join(`
|
|
189
|
+
`)), sections.push(`
|
|
190
|
+
|
|
191
|
+
`)), hierarchy.components.size > 0 && (sections.push(`**Component Themes:**
|
|
192
|
+
|
|
193
|
+
`), sections.push(Array.from(hierarchy.components).sort().map(name => `- ${name}`).join(`
|
|
194
|
+
`)), sections.push(`
|
|
195
|
+
|
|
196
|
+
`)), sections.push(`### Theme Usage
|
|
197
|
+
|
|
198
|
+
`), sections.push("Themes are combined hierarchically. For example, `light_blue_alt1_Button` combines:\n"), sections.push("- Base: `light`\n"), sections.push("- Color: `blue`\n"), sections.push("- Variant: `alt1`\n"), sections.push("- Component: `Button`\n\n"), sections.push(`**Basic usage:**
|
|
199
|
+
|
|
200
|
+
`), sections.push("```tsx\n"), sections.push(`import { Button, Theme } from 'tamagui'
|
|
201
|
+
|
|
202
|
+
`), sections.push(`// Apply a theme to components
|
|
203
|
+
`), sections.push(`export default () => (
|
|
204
|
+
`), sections.push(` <Theme name="dark">
|
|
205
|
+
`), sections.push(` <Button>I'm a dark button</Button>
|
|
206
|
+
`), sections.push(` </Theme>
|
|
207
|
+
`), sections.push(`)
|
|
208
|
+
|
|
209
|
+
`), sections.push(`// Themes nest and combine automatically
|
|
210
|
+
`), sections.push(`export default () => (
|
|
211
|
+
`), sections.push(` <Theme name="dark">
|
|
212
|
+
`), sections.push(` <Theme name="blue">
|
|
213
|
+
`), sections.push(` <Button>Uses dark_blue theme</Button>
|
|
214
|
+
`), sections.push(` </Theme>
|
|
215
|
+
`), sections.push(` </Theme>
|
|
216
|
+
`), sections.push(`)
|
|
217
|
+
`), sections.push("```\n\n"), sections.push(`**Accessing theme values:**
|
|
218
|
+
|
|
219
|
+
`), sections.push("Components can access theme values using `$` token syntax:\n\n"), sections.push("```tsx\n"), sections.push(`<Stack ${getPropName("backgroundColor")}="$background" ${getPropName("color")}="$color" />
|
|
220
|
+
`), sections.push("```\n\n"), sections.push(`**Special props:**
|
|
221
|
+
|
|
222
|
+
`), sections.push("- `inverse`: Automatically swaps light \u2194 dark themes\n"), sections.push("- `reset`: Reverts to grandparent theme\n\n"), sections.push(`## Tokens
|
|
223
|
+
|
|
224
|
+
`), sections.push("Tokens are design system values that can be referenced using the `$` prefix.\n\n");
|
|
111
225
|
const tokens = config.tamaguiConfig?.tokens || {};
|
|
112
226
|
if (tokens.space) {
|
|
113
227
|
sections.push(`### Space Tokens
|
|
@@ -165,7 +279,7 @@ function generateMarkdown(config, verbose = !1) {
|
|
|
165
279
|
|
|
166
280
|
`);
|
|
167
281
|
}
|
|
168
|
-
if (
|
|
282
|
+
if (tokens.color) {
|
|
169
283
|
sections.push(`### Color Tokens
|
|
170
284
|
|
|
171
285
|
`);
|
|
@@ -173,25 +287,47 @@ function generateMarkdown(config, verbose = !1) {
|
|
|
173
287
|
sections.push(colorTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
|
|
174
288
|
`)), sections.push(`
|
|
175
289
|
|
|
176
|
-
`);
|
|
177
|
-
} else if (tokens.color) {
|
|
178
|
-
const colorCount = Object.keys(tokens.color).length;
|
|
179
|
-
sections.push(`*${colorCount} color tokens available (use --verbose to see all)*
|
|
180
|
-
|
|
181
290
|
`);
|
|
182
291
|
}
|
|
183
|
-
if (
|
|
292
|
+
if (sections.push(`### Token Usage
|
|
293
|
+
|
|
294
|
+
`), sections.push("Tokens can be used in component props with the `$` prefix:\n\n"), sections.push("```tsx\n"), sections.push(`// Space tokens - for margin, padding, gap
|
|
295
|
+
`), sections.push(`<Stack ${getPropName("padding")}="$4" ${getPropName("gap")}="$2" ${getPropName("margin")}="$3" />
|
|
296
|
+
|
|
297
|
+
`), sections.push(`// Size tokens - for width, height, dimensions
|
|
298
|
+
`), sections.push(`<Stack ${getPropName("width")}="$10" ${getPropName("height")}="$6" />
|
|
299
|
+
|
|
300
|
+
`), sections.push(`// Color tokens - for colors and backgrounds
|
|
301
|
+
`), sections.push(`<Stack ${getPropName("backgroundColor")}="$blue5" ${getPropName("color")}="$gray12" />
|
|
302
|
+
|
|
303
|
+
`), sections.push(`// Radius tokens - for border-radius
|
|
304
|
+
`), sections.push(`<Stack ${getPropName("borderRadius")}="$4" />
|
|
305
|
+
`), sections.push("```\n\n"), config.tamaguiConfig?.media) {
|
|
184
306
|
sections.push(`## Media Queries
|
|
185
307
|
|
|
186
|
-
`), sections.push(`
|
|
308
|
+
`), sections.push(`Available responsive breakpoints:
|
|
187
309
|
|
|
188
310
|
`);
|
|
189
311
|
const media = config.tamaguiConfig.media,
|
|
190
312
|
mediaEntries = Object.entries(media).sort(([a], [b]) => a.localeCompare(b));
|
|
191
|
-
sections.push(
|
|
192
|
-
for (const [name, query] of mediaEntries) sections.push(`${name}: ${JSON.stringify(query)}
|
|
313
|
+
for (const [name, query] of mediaEntries) sections.push(`- **${name}**: ${JSON.stringify(query)}
|
|
193
314
|
`);
|
|
194
|
-
sections.push(
|
|
315
|
+
sections.push(`
|
|
316
|
+
`), sections.push(`### Media Query Usage
|
|
317
|
+
|
|
318
|
+
`), sections.push("Media queries can be used as style props or with the `useMedia` hook:\n\n"), sections.push("```tsx\n"), sections.push(`// As style props (prefix with $)
|
|
319
|
+
`);
|
|
320
|
+
const firstMediaName = mediaEntries[0]?.[0];
|
|
321
|
+
firstMediaName && sections.push(`<Stack ${getPropName("width")}="100%" $${firstMediaName}={{ ${getPropName("width")}: "50%" }} />
|
|
322
|
+
|
|
323
|
+
`), sections.push(`// Using the useMedia hook
|
|
324
|
+
`), sections.push(`import { useMedia } from 'tamagui'
|
|
325
|
+
|
|
326
|
+
`), sections.push(`const media = useMedia()
|
|
327
|
+
`), firstMediaName && (sections.push(`if (media.${firstMediaName}) {
|
|
328
|
+
`), sections.push(` // Render for this breakpoint
|
|
329
|
+
`), sections.push(`}
|
|
330
|
+
`)), sections.push("```\n\n");
|
|
195
331
|
}
|
|
196
332
|
if (config.tamaguiConfig?.fonts) {
|
|
197
333
|
sections.push(`## Fonts
|
|
@@ -221,18 +357,7 @@ function generateMarkdown(config, verbose = !1) {
|
|
|
221
357
|
`);
|
|
222
358
|
}
|
|
223
359
|
}
|
|
224
|
-
|
|
225
|
-
sections.push(`## Settings
|
|
226
|
-
|
|
227
|
-
`);
|
|
228
|
-
const settings = config.tamaguiConfig.settings;
|
|
229
|
-
settings.defaultFont && sections.push(`- **Default Font**: ${settings.defaultFont}
|
|
230
|
-
`), settings.onlyAllowShorthands !== void 0 && sections.push(`- **Only Allow Shorthands**: ${settings.onlyAllowShorthands}
|
|
231
|
-
`), settings.themeClassNameOnRoot !== void 0 && sections.push(`- **Theme Class Name on Root**: ${settings.themeClassNameOnRoot}
|
|
232
|
-
`), sections.push(`
|
|
233
|
-
`);
|
|
234
|
-
}
|
|
235
|
-
return sections.join("");
|
|
360
|
+
return sections.push(...componentsSection), sections.join("");
|
|
236
361
|
}
|
|
237
362
|
function formatTokenValue(value) {
|
|
238
363
|
return typeof value == "object" && value !== null && "val" in value ? String(value.val) : String(value);
|