@razorwind/tamagui 0.0.35 → 0.0.36
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/index.cjs +7 -7
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +7 -7
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -5,14 +5,14 @@ Generated by \`@razorwind/tamagui\`.
|
|
|
5
5
|
|
|
6
6
|
## Files
|
|
7
7
|
|
|
8
|
-
- \`${e.
|
|
8
|
+
- \`${e.outputPath}\` — Tamagui v5 config (\`createTamagui\` + generated tokens/themes)
|
|
9
9
|
|
|
10
10
|
## Setup
|
|
11
11
|
|
|
12
12
|
1. Point Tamagui at the generated config:
|
|
13
13
|
|
|
14
14
|
\`\`\`ts
|
|
15
|
-
import config from "./${e.
|
|
15
|
+
import config from "./${e.outputPath}";
|
|
16
16
|
|
|
17
17
|
export default config;
|
|
18
18
|
\`\`\`
|
|
@@ -21,7 +21,7 @@ export default config;
|
|
|
21
21
|
|
|
22
22
|
\`\`\`tsx
|
|
23
23
|
import { TamaguiProvider } from "tamagui";
|
|
24
|
-
import config from "./${e.
|
|
24
|
+
import config from "./${e.outputPath}";
|
|
25
25
|
|
|
26
26
|
export function App() {
|
|
27
27
|
return (
|
|
@@ -36,13 +36,13 @@ export function App() {
|
|
|
36
36
|
|
|
37
37
|
## Regenerate
|
|
38
38
|
|
|
39
|
-
Re-run Razorwind generate when tokens change so \`${e.
|
|
39
|
+
Re-run Razorwind generate when tokens change so \`${e.outputPath}\` stays aligned with your design system.
|
|
40
40
|
`}const _=new Set([`default`,`base`,`light`,`theme`]),v=new Set([`gray`,`grey`,`neutral`,`slate`,`zinc`,`stone`,`palette`,`base`]),y={css:`@tamagui/config/v5-css`,rn:`@tamagui/config/v5-rn`,reanimated:`@tamagui/config/v5-reanimated`,motion:`@tamagui/config/v5-motion`};function b(e){let t=new Set(e.map(e=>e.theme).filter(e=>!!e));if(t.size===0)return e;for(let t of _){let n=e.filter(e=>e.theme?.toLowerCase()===t);if(n.length>0)return n}let n=[...t][0];return e.filter(e=>e.theme===n)}function x(e,t){return e.filter(e=>e.theme?.toLowerCase()===t)}function S(e){let t={};for(let n of e){if(!n.category||!n.tokenKey)continue;let e=t[n.category]??{};e[n.tokenKey]=n.tamaguiValue,t[n.category]=e}return t}function C(e,t=2){let n=` `.repeat(t),r=Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t));return r.length===0?`{}`:`{\n${r.map(([e,t])=>{let r=/^[A-Z_$][\w$]*$/i.test(e)?e:a(e);return`${n}${r}: ${a(t)}`}).join(`,
|
|
41
41
|
`)}\n${` `.repeat(Math.max(t-2,0))}}`}function w(e){let t={},n=new Map;for(let t of e)!t.tokenKey||typeof t.tamaguiValue!=`string`||n.set(t.tokenKey,t.tamaguiValue);let r=/^([A-Z]+)(\d{1,2})$/i;for(let[e,i]of n){let n=r.exec(e);if(!n)continue;let[,a=``,o=``]=n,s=Number(o);if(s<0||s>12)continue;let c=t[a]??{};c[`${a}${s}`]=i,t[a]=c}return Object.fromEntries(Object.entries(t).filter(([,e])=>Object.keys(e).length>=3))}function T(e,t){let n=[];for(let r=1;r<=12;r++){let i=e[`${t}${r}`];if(!i)return;n.push(i)}return n}function E(e){let t=b(e.filter(e=>e.category===`color`)),n=x(e.filter(e=>e.category===`color`),`dark`),r=w(t),i=w(n),a,o;for(let e of Object.keys(r))if(v.has(e.toLowerCase())&&(a=T(r[e],e),a))break;for(let e of Object.keys(i))if(v.has(e.toLowerCase())&&(o=T(i[e],e),o))break;return{lightPalette:a,darkPalette:o}}function D(e){let t=w(e),n={};for(let r of e)r.category!==`color`||!r.tokenKey||typeof r.tamaguiValue!=`string`||/^[A-Z]+\d{1,2}$/i.test(r.tokenKey)&&t[r.tokenKey.replace(/\d{1,2}$/,``)]||(n[r.tokenKey]=r.tamaguiValue);return n}function O(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);if(n.size===0)return;let r=[];for(let i of[...n].toSorted((e,t)=>e.localeCompare(t))){if(v.has(i.toLowerCase()))continue;let n=e[i]??t[i],a=t[i]??e[i];!n||!a||r.push(` ${i}: {
|
|
42
42
|
light: ${C(n,8)},
|
|
43
43
|
dark: ${C(a,8)}
|
|
44
44
|
}`)}if(r.length!==0)return`{\n${r.join(`,
|
|
45
|
-
`)}\n }`}function k(e){switch(e.role){case`heading`:case`display`:return`heading`;case`mono`:case`code`:return`mono`;case`sans`:case`body`:case`serif`:return`body`;default:return e.name
|
|
45
|
+
`)}\n }`}function k(e){switch(e.role){case`heading`:case`display`:return`heading`;case`mono`:case`code`:return`mono`;case`sans`:case`body`:case`serif`:return`body`;case void 0:default:return e.name?.replaceAll(/\W/g,``)||`body`}}function A(e){let t=new Map;for(let n of Object.values(e)){let e=k(n),r=t.get(e);(!r||n.role===e&&r.role!==e)&&t.set(e,n)}return t}function j(e){let t=new Map;for(let n of e.files){let e=String(n.weight??400),i=(0,r.basename)(n.path).replace(/\.[^.]+$/,``),a=t.get(e)??{};n.style===`italic`||n.style===`oblique`?a.italic=i:a.normal=i,t.set(e,a)}if(t.size!==0)return`{\n${[...t.entries()].toSorted(([e],[t])=>e.localeCompare(t,void 0,{numeric:!0})).map(([e,t])=>{let n=[];return t.normal&&n.push(`normal: ${a(t.normal)}`),t.italic&&n.push(`italic: ${a(t.italic)}`),` ${e}: { ${n.join(`, `)} }`}).join(`,
|
|
46
46
|
`)}\n }`}function M(e,n){let r=e.source===`local`?j(e):void 0,i=[`const ${n} = createFont({`,` family: isWeb ? ${a((0,t.cssFontFamily)(e))} : ${a((0,t.fontFamilyName)(e))},`,` size: {`,` 1: 12,`,` 2: 14,`,` 3: 16,`,` 4: 18,`,` 5: 20,`,` 6: 24,`,` 7: 28,`,` 8: 32,`,` 9: 40,`,` 10: 48`,` }${r?`,`:``}`];return r&&i.push(` face: ${r}`),i.push(`});`),i.join(`
|
|
47
47
|
`)}function N(e,t={},n){let r=t.useDefaultConfig!==!1,i=t.animations??`css`,o=t.includeTypeAugmentation!==!1,s=S(b(e)),c=b(e.filter(e=>e.category===`color`)),l=x(e.filter(e=>e.category===`color`),`dark`),u=w(c),d=w(l.length>0?l:c),{lightPalette:f,darkPalette:p}=E(e),m=O(u,d),h=D(c),g=D(l.length>0?l:c),_=Object.keys(h).length>0||Object.keys(g).length>0,v=[];for(let e of[`color`,`space`,`size`,`radius`,`zIndex`]){let t=s[e];t&&Object.keys(t).length>0&&v.push(` ${e}: ${C(t,4)}`)}let T=[];f&&T.push(` lightPalette: ${a(f)}`),p&&T.push(` darkPalette: ${a(p)}`),m&&T.push(` childrenThemes: ${m}`),_&&T.push(` getTheme: ({ scheme }) => {
|
|
48
48
|
const semantic = scheme === "dark"
|
|
@@ -51,7 +51,7 @@ Re-run Razorwind generate when tokens change so \`${e.outFile}\` stays aligned w
|
|
|
51
51
|
return semantic;
|
|
52
52
|
}`);let k=[];r?k.push(`import { createV5Theme, defaultConfig } from "@tamagui/config/v5";`):k.push(`import { createV5Theme } from "@tamagui/config/v5";`),i!==!1&&k.push(`import { animations } from "${y[i]}";`);let j=[`createTamagui`];v.length>0&&j.push(`createTokens`);let N=n?A(n):new Map;N.size>0&&j.push(`createFont`,`isWeb`),k.push(`import { ${j.join(`, `)} } from "tamagui";`);let P=[`/* eslint-disable */`,`/*`,` * Generated by @razorwind/tamagui — do not edit by hand.`,` * @see https://tamagui.dev/docs/core/config-v5`,` */`,``,...k,``];v.length>0&&P.push(`const tokens = createTokens({`,v.join(`,
|
|
53
53
|
`),`});`,``);let F=T.length>0?`createV5Theme({\n${T.join(`,
|
|
54
|
-
`)}\n})`:`createV5Theme()`;P.push(`const themes = ${F};`,``);let I=new Map;if(N.size>0){let e=0;for(let[t,n]of N){let r=`${t}Font`.replaceAll(/
|
|
54
|
+
`)}\n})`:`createV5Theme()`;P.push(`const themes = ${F};`,``);let I=new Map;if(N.size>0){let e=0;for(let[t,n]of N){let r=`${t}Font`.replaceAll(/\W/g,``)||`font${e}`;I.set(t,r),P.push(M(n,r),``),e+=1}}let L=[];if(r&&L.push(` ...defaultConfig`),i!==!1&&L.push(` animations`),v.length>0&&(r?L.push(` tokens: {
|
|
55
55
|
...defaultConfig.tokens,
|
|
56
56
|
...tokens,
|
|
57
57
|
color: {
|
|
@@ -83,4 +83,4 @@ ${e.join(`,
|
|
|
83
83
|
`)}
|
|
84
84
|
}`)}return P.push(`export const config = createTamagui({`,L.join(`,
|
|
85
85
|
`),`});`,``,`export type AppConfig = typeof config;`,``),o&&P.push(`declare module "tamagui" {`,` // eslint-disable-next-line @typescript-eslint/no-empty-object-type`,` interface TamaguiCustomConfig extends AppConfig {}`,`}`,``),P.push(`export default config;`,``),P.join(`
|
|
86
|
-
`)}function P(e,t={}){let i=e.tokens&&Object.keys(e.tokens).length>0,a=e.fonts&&Object.keys(e.fonts).length>0;if(!i&&!a)return{};let o=i?h(e.tokens,t):[];if(o.length===0&&!a)return{};let s=t.
|
|
86
|
+
`)}function P(e,t={}){let i=e.tokens&&Object.keys(e.tokens).length>0,a=e.fonts&&Object.keys(e.fonts).length>0;if(!i&&!a)return{};let o=i?h(e.tokens,t):[];if(o.length===0&&!a)return{};let s=t.outputPath??`tamagui.config.ts`,c=N(o,t,e.fonts),l=t.installGuide??g({outputPath:s}),u=(0,r.join)((0,r.dirname)(s),`INSTALL.md`);return{[s]:(0,n.createDocument)(s,c,{name:`razorwind-tamagui`},`typescript`),[u]:(0,n.createDocument)(u,l,{name:`razorwind-tamagui`},`markdown`)}}var F=(0,e.definePlugin)(e=>({name:`tamagui`,generate:async t=>P(t,e??{})}));exports.collectColorScales=w,exports.default=F,exports.flattenTokens=h,Object.defineProperty(exports,"formatTokenValue",{enumerable:!0,get:function(){return n.formatTokenValue}}),exports.generateTamaguiConfig=P,exports.renderInstallMd=g,exports.renderTamaguiConfig=N,exports.resolveTokenCategory=f,exports.resolveTokenSets=n.resolveTokenSets,Object.defineProperty(exports,"toCssVar",{enumerable:!0,get:function(){return n.toCssVar}}),exports.toTamaguiValue=o,exports.toTokenKey=p;
|
package/dist/index.d.cts
CHANGED
|
@@ -22,7 +22,7 @@ interface TamaguiPluginOptions {
|
|
|
22
22
|
*
|
|
23
23
|
* @defaultValue `"tamagui.config.ts"`
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
outputPath?: string;
|
|
26
26
|
/**
|
|
27
27
|
* Animation driver import from `@tamagui/config/v5-*`.
|
|
28
28
|
* Set to `false` to omit animations (v5 base config includes none).
|
|
@@ -113,7 +113,7 @@ declare function toTamaguiValue(value: unknown, type?: string): string | number;
|
|
|
113
113
|
* @see https://tamagui.dev/docs/core/config-v5
|
|
114
114
|
*/
|
|
115
115
|
declare function renderInstallMd(options: {
|
|
116
|
-
|
|
116
|
+
outputPath: string;
|
|
117
117
|
}): string;
|
|
118
118
|
//#endregion
|
|
119
119
|
//#region src/generate.d.ts
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/flatten.ts","../src/format.ts","../src/install.ts","../src/generate.ts","../src/index.ts"],"mappings":";;;;;;;;;;KAyBY;;;;KAMA;;;;UAMK;;;;;;EAMf;;;;;;;EAQA,aAAa;;;;;;;;EASb;;;;;EAMA,eAAe;;;;;;;EAQf;;;;;EAMA;;;;;UAMe;;EAEf;;EAEA,OAAO;;EAEP;;EAEA;;EAEA;;EAEA,WAAW;;EAEX;;EAEA;;EAEA;;;;;;;iBCfc,qBACd,cACA,gBACC;;;;;;;iBAuCa,WAAW;;;;iBAuEX,cACd,QAAQ,SAAS,eAAe,SAChC,UAAS,KAAK,wCACb;;;;;;;;;iBCnJa,eAAe,gBAAgB;;;;;;;;iBCnC/B,gBAAgB;EAAW;;;;;;;;;iBCwG3B,mBACd,aAAa,cACZ,eAAe;;;;;;iBAkQF,oBACd,QAAQ,aACR,UAAS,sBACT,QAAQ;;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/flatten.ts","../src/format.ts","../src/install.ts","../src/generate.ts","../src/index.ts"],"mappings":";;;;;;;;;;KAyBY;;;;KAMA;;;;UAMK;;;;;;EAMf;;;;;;;EAQA,aAAa;;;;;;;;EASb;;;;;EAMA,eAAe;;;;;;;EAQf;;;;;EAMA;;;;;UAMe;;EAEf;;EAEA,OAAO;;EAEP;;EAEA;;EAEA;;EAEA,WAAW;;EAEX;;EAEA;;EAEA;;;;;;;iBCfc,qBACd,cACA,gBACC;;;;;;;iBAuCa,WAAW;;;;iBAuEX,cACd,QAAQ,SAAS,eAAe,SAChC,UAAS,KAAK,wCACb;;;;;;;;;iBCnJa,eAAe,gBAAgB;;;;;;;;iBCnC/B,gBAAgB;EAAW;;;;;;;;;iBCwG3B,mBACd,aAAa,cACZ,eAAe;;;;;;iBAkQF,oBACd,QAAQ,aACR,UAAS,sBACT,QAAQ;;;;iBA2NM,sBACd,MAAM,QACN,UAAS,uBACR,wBAAwB,QAAQ"}
|
package/dist/index.d.mts
CHANGED
|
@@ -22,7 +22,7 @@ interface TamaguiPluginOptions {
|
|
|
22
22
|
*
|
|
23
23
|
* @defaultValue `"tamagui.config.ts"`
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
outputPath?: string;
|
|
26
26
|
/**
|
|
27
27
|
* Animation driver import from `@tamagui/config/v5-*`.
|
|
28
28
|
* Set to `false` to omit animations (v5 base config includes none).
|
|
@@ -113,7 +113,7 @@ declare function toTamaguiValue(value: unknown, type?: string): string | number;
|
|
|
113
113
|
* @see https://tamagui.dev/docs/core/config-v5
|
|
114
114
|
*/
|
|
115
115
|
declare function renderInstallMd(options: {
|
|
116
|
-
|
|
116
|
+
outputPath: string;
|
|
117
117
|
}): string;
|
|
118
118
|
//#endregion
|
|
119
119
|
//#region src/generate.d.ts
|
package/dist/index.mjs
CHANGED
|
@@ -5,14 +5,14 @@ Generated by \`@razorwind/tamagui\`.
|
|
|
5
5
|
|
|
6
6
|
## Files
|
|
7
7
|
|
|
8
|
-
- \`${e.
|
|
8
|
+
- \`${e.outputPath}\` — Tamagui v5 config (\`createTamagui\` + generated tokens/themes)
|
|
9
9
|
|
|
10
10
|
## Setup
|
|
11
11
|
|
|
12
12
|
1. Point Tamagui at the generated config:
|
|
13
13
|
|
|
14
14
|
\`\`\`ts
|
|
15
|
-
import config from "./${e.
|
|
15
|
+
import config from "./${e.outputPath}";
|
|
16
16
|
|
|
17
17
|
export default config;
|
|
18
18
|
\`\`\`
|
|
@@ -21,7 +21,7 @@ export default config;
|
|
|
21
21
|
|
|
22
22
|
\`\`\`tsx
|
|
23
23
|
import { TamaguiProvider } from "tamagui";
|
|
24
|
-
import config from "./${e.
|
|
24
|
+
import config from "./${e.outputPath}";
|
|
25
25
|
|
|
26
26
|
export function App() {
|
|
27
27
|
return (
|
|
@@ -36,13 +36,13 @@ export function App() {
|
|
|
36
36
|
|
|
37
37
|
## Regenerate
|
|
38
38
|
|
|
39
|
-
Re-run Razorwind generate when tokens change so \`${e.
|
|
39
|
+
Re-run Razorwind generate when tokens change so \`${e.outputPath}\` stays aligned with your design system.
|
|
40
40
|
`}const w=new Set([`default`,`base`,`light`,`theme`]),T=new Set([`gray`,`grey`,`neutral`,`slate`,`zinc`,`stone`,`palette`,`base`]),E={css:`@tamagui/config/v5-css`,rn:`@tamagui/config/v5-rn`,reanimated:`@tamagui/config/v5-reanimated`,motion:`@tamagui/config/v5-motion`};function D(e){let t=new Set(e.map(e=>e.theme).filter(e=>!!e));if(t.size===0)return e;for(let t of w){let n=e.filter(e=>e.theme?.toLowerCase()===t);if(n.length>0)return n}let n=[...t][0];return e.filter(e=>e.theme===n)}function O(e,t){return e.filter(e=>e.theme?.toLowerCase()===t)}function k(e){let t={};for(let n of e){if(!n.category||!n.tokenKey)continue;let e=t[n.category]??{};e[n.tokenKey]=n.tamaguiValue,t[n.category]=e}return t}function A(e,t=2){let n=` `.repeat(t),r=Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t));return r.length===0?`{}`:`{\n${r.map(([e,t])=>{let r=/^[A-Z_$][\w$]*$/i.test(e)?e:f(e);return`${n}${r}: ${f(t)}`}).join(`,
|
|
41
41
|
`)}\n${` `.repeat(Math.max(t-2,0))}}`}function j(e){let t={},n=new Map;for(let t of e)!t.tokenKey||typeof t.tamaguiValue!=`string`||n.set(t.tokenKey,t.tamaguiValue);let r=/^([A-Z]+)(\d{1,2})$/i;for(let[e,i]of n){let n=r.exec(e);if(!n)continue;let[,a=``,o=``]=n,s=Number(o);if(s<0||s>12)continue;let c=t[a]??{};c[`${a}${s}`]=i,t[a]=c}return Object.fromEntries(Object.entries(t).filter(([,e])=>Object.keys(e).length>=3))}function M(e,t){let n=[];for(let r=1;r<=12;r++){let i=e[`${t}${r}`];if(!i)return;n.push(i)}return n}function N(e){let t=D(e.filter(e=>e.category===`color`)),n=O(e.filter(e=>e.category===`color`),`dark`),r=j(t),i=j(n),a,o;for(let e of Object.keys(r))if(T.has(e.toLowerCase())&&(a=M(r[e],e),a))break;for(let e of Object.keys(i))if(T.has(e.toLowerCase())&&(o=M(i[e],e),o))break;return{lightPalette:a,darkPalette:o}}function P(e){let t=j(e),n={};for(let r of e)r.category!==`color`||!r.tokenKey||typeof r.tamaguiValue!=`string`||/^[A-Z]+\d{1,2}$/i.test(r.tokenKey)&&t[r.tokenKey.replace(/\d{1,2}$/,``)]||(n[r.tokenKey]=r.tamaguiValue);return n}function F(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);if(n.size===0)return;let r=[];for(let i of[...n].toSorted((e,t)=>e.localeCompare(t))){if(T.has(i.toLowerCase()))continue;let n=e[i]??t[i],a=t[i]??e[i];!n||!a||r.push(` ${i}: {
|
|
42
42
|
light: ${A(n,8)},
|
|
43
43
|
dark: ${A(a,8)}
|
|
44
44
|
}`)}if(r.length!==0)return`{\n${r.join(`,
|
|
45
|
-
`)}\n }`}function I(e){switch(e.role){case`heading`:case`display`:return`heading`;case`mono`:case`code`:return`mono`;case`sans`:case`body`:case`serif`:return`body`;default:return e.name
|
|
45
|
+
`)}\n }`}function I(e){switch(e.role){case`heading`:case`display`:return`heading`;case`mono`:case`code`:return`mono`;case`sans`:case`body`:case`serif`:return`body`;case void 0:default:return e.name?.replaceAll(/\W/g,``)||`body`}}function L(e){let t=new Map;for(let n of Object.values(e)){let e=I(n),r=t.get(e);(!r||n.role===e&&r.role!==e)&&t.set(e,n)}return t}function R(e){let t=new Map;for(let n of e.files){let e=String(n.weight??400),r=c(n.path).replace(/\.[^.]+$/,``),i=t.get(e)??{};n.style===`italic`||n.style===`oblique`?i.italic=r:i.normal=r,t.set(e,i)}if(t.size!==0)return`{\n${[...t.entries()].toSorted(([e],[t])=>e.localeCompare(t,void 0,{numeric:!0})).map(([e,t])=>{let n=[];return t.normal&&n.push(`normal: ${f(t.normal)}`),t.italic&&n.push(`italic: ${f(t.italic)}`),` ${e}: { ${n.join(`, `)} }`}).join(`,
|
|
46
46
|
`)}\n }`}function z(e,r){let i=e.source===`local`?R(e):void 0,a=[`const ${r} = createFont({`,` family: isWeb ? ${f(t(e))} : ${f(n(e))},`,` size: {`,` 1: 12,`,` 2: 14,`,` 3: 16,`,` 4: 18,`,` 5: 20,`,` 6: 24,`,` 7: 28,`,` 8: 32,`,` 9: 40,`,` 10: 48`,` }${i?`,`:``}`];return i&&a.push(` face: ${i}`),a.push(`});`),a.join(`
|
|
47
47
|
`)}function B(e,t={},n){let r=t.useDefaultConfig!==!1,i=t.animations??`css`,a=t.includeTypeAugmentation!==!1,o=k(D(e)),s=D(e.filter(e=>e.category===`color`)),c=O(e.filter(e=>e.category===`color`),`dark`),l=j(s),u=j(c.length>0?c:s),{lightPalette:d,darkPalette:p}=N(e),m=F(l,u),h=P(s),g=P(c.length>0?c:s),_=Object.keys(h).length>0||Object.keys(g).length>0,v=[];for(let e of[`color`,`space`,`size`,`radius`,`zIndex`]){let t=o[e];t&&Object.keys(t).length>0&&v.push(` ${e}: ${A(t,4)}`)}let y=[];d&&y.push(` lightPalette: ${f(d)}`),p&&y.push(` darkPalette: ${f(p)}`),m&&y.push(` childrenThemes: ${m}`),_&&y.push(` getTheme: ({ scheme }) => {
|
|
48
48
|
const semantic = scheme === "dark"
|
|
@@ -51,7 +51,7 @@ Re-run Razorwind generate when tokens change so \`${e.outFile}\` stays aligned w
|
|
|
51
51
|
return semantic;
|
|
52
52
|
}`);let b=[];r?b.push(`import { createV5Theme, defaultConfig } from "@tamagui/config/v5";`):b.push(`import { createV5Theme } from "@tamagui/config/v5";`),i!==!1&&b.push(`import { animations } from "${E[i]}";`);let x=[`createTamagui`];v.length>0&&x.push(`createTokens`);let S=n?L(n):new Map;S.size>0&&x.push(`createFont`,`isWeb`),b.push(`import { ${x.join(`, `)} } from "tamagui";`);let C=[`/* eslint-disable */`,`/*`,` * Generated by @razorwind/tamagui — do not edit by hand.`,` * @see https://tamagui.dev/docs/core/config-v5`,` */`,``,...b,``];v.length>0&&C.push(`const tokens = createTokens({`,v.join(`,
|
|
53
53
|
`),`});`,``);let w=y.length>0?`createV5Theme({\n${y.join(`,
|
|
54
|
-
`)}\n})`:`createV5Theme()`;C.push(`const themes = ${w};`,``);let T=new Map;if(S.size>0){let e=0;for(let[t,n]of S){let r=`${t}Font`.replaceAll(/
|
|
54
|
+
`)}\n})`:`createV5Theme()`;C.push(`const themes = ${w};`,``);let T=new Map;if(S.size>0){let e=0;for(let[t,n]of S){let r=`${t}Font`.replaceAll(/\W/g,``)||`font${e}`;T.set(t,r),C.push(z(n,r),``),e+=1}}let M=[];if(r&&M.push(` ...defaultConfig`),i!==!1&&M.push(` animations`),v.length>0&&(r?M.push(` tokens: {
|
|
55
55
|
...defaultConfig.tokens,
|
|
56
56
|
...tokens,
|
|
57
57
|
color: {
|
|
@@ -83,5 +83,5 @@ ${e.join(`,
|
|
|
83
83
|
`)}
|
|
84
84
|
}`)}return C.push(`export const config = createTamagui({`,M.join(`,
|
|
85
85
|
`),`});`,``,`export type AppConfig = typeof config;`,``),a&&C.push(`declare module "tamagui" {`,` // eslint-disable-next-line @typescript-eslint/no-empty-object-type`,` interface TamaguiCustomConfig extends AppConfig {}`,`}`,``),C.push(`export default config;`,``),C.join(`
|
|
86
|
-
`)}function V(e,t={}){let n=e.tokens&&Object.keys(e.tokens).length>0,i=e.fonts&&Object.keys(e.fonts).length>0;if(!n&&!i)return{};let a=n?S(e.tokens,t):[];if(a.length===0&&!i)return{};let o=t.
|
|
86
|
+
`)}function V(e,t={}){let n=e.tokens&&Object.keys(e.tokens).length>0,i=e.fonts&&Object.keys(e.fonts).length>0;if(!n&&!i)return{};let a=n?S(e.tokens,t):[];if(a.length===0&&!i)return{};let o=t.outputPath??`tamagui.config.ts`,s=B(a,t,e.fonts),c=t.installGuide??C({outputPath:o}),d=u(l(o),`INSTALL.md`);return{[o]:r(o,s,{name:`razorwind-tamagui`},`typescript`),[d]:r(d,c,{name:`razorwind-tamagui`},`markdown`)}}var H=e(e=>({name:`tamagui`,generate:async t=>V(t,e??{})}));export{j as collectColorScales,H as default,S as flattenTokens,i as formatTokenValue,V as generateTamaguiConfig,C as renderInstallMd,B as renderTamaguiConfig,y as resolveTokenCategory,o as resolveTokenSets,s as toCssVar,p as toTamaguiValue,b as toTokenKey};
|
|
87
87
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@razorwind/tamagui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.36",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Razorwind plugin that creates Tamagui theme tokens from Razorwind design tokens.",
|
|
6
6
|
"repository": {
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"dependencies": {
|
|
86
86
|
"@power-plant/core": "^0.0.90",
|
|
87
87
|
"@power-plant/dtcg-schema": "^0.0.1",
|
|
88
|
-
"@razorwind/core": "^0.0.
|
|
88
|
+
"@razorwind/core": "^0.0.48",
|
|
89
89
|
"@stryke/type-checks": "^0.6.41"
|
|
90
90
|
},
|
|
91
91
|
"peerDependencies": {
|
|
@@ -104,5 +104,5 @@
|
|
|
104
104
|
"typescript": "^6.0.3"
|
|
105
105
|
},
|
|
106
106
|
"publishConfig": { "access": "public" },
|
|
107
|
-
"gitHead": "
|
|
107
|
+
"gitHead": "c53ec72420850efd1c4f8339b264c33ca6b9870b"
|
|
108
108
|
}
|