@razorwind/docgen 0.0.22 → 0.0.23
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/extract.d.cts +1 -1
- package/dist/extract.d.mts +1 -1
- package/dist/{generate-CASp9YNu.mjs → generate-DHTLF9jO.mjs} +21 -9
- package/dist/generate-DHTLF9jO.mjs.map +1 -0
- package/dist/generate-ZUMEoeQ7.cjs +29 -0
- package/dist/generate.cjs +1 -1
- package/dist/generate.d.cts +14 -4
- package/dist/generate.d.cts.map +1 -1
- package/dist/generate.d.mts +14 -4
- package/dist/generate.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{types-L9_4rtz5.d.mts → types-Br4Cf9rf.d.mts} +7 -1
- package/dist/types-Br4Cf9rf.d.mts.map +1 -0
- package/dist/{types-BIi5hVjx.d.cts → types-CW5pdxOV.d.cts} +7 -1
- package/dist/types-CW5pdxOV.d.cts.map +1 -0
- package/package.json +5 -5
- package/dist/generate-CASp9YNu.mjs.map +0 -1
- package/dist/generate-CZoSXXKv.cjs +0 -17
- package/dist/types-BIi5hVjx.d.cts.map +0 -1
- package/dist/types-L9_4rtz5.d.mts.map +0 -1
package/dist/extract.d.cts
CHANGED
package/dist/extract.d.mts
CHANGED
|
@@ -1,18 +1,30 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.mjs";import{definePlugin as t}from"@razorwind/core/plugin";import{createDocument as n,formatTokenValue as r,isObject as i,toCssVar as a}from"@razorwind/core/utils";import{join as o}from"node:path";function s(e){return e.trim().replaceAll(/[^\w-]+/g,`-`).replaceAll(/-{2,}/g,`-`).replaceAll(/^-|-$/g,``).toLowerCase()}function c(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`|`,`\\|`).replaceAll(`<`,`\\<`).replaceAll(`{`,`\\{`).replaceAll(/\r?\n/g,` `)}const l=/^(?:light|dark|dim|high-contrast|hc|default|base|theme)(?:[._-].+)?$/i;function u(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function d(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function f(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function p(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function m(e,t,n,o,s,c){if(!i(e))return;let l=f(e,n);if(u(e)){let n=p(e),i=t.join(`.`);c.push({path:i,type:l,value:n,cssValue:r(n,l),cssVar:a(i,s),description:d(e),theme:o});return}for(let[n,r]of Object.entries(e))n.startsWith(`$`)||m(r,[...t,n],l,o,s,c)}function h(e){if(!i(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>l.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function g(e,t={}){let n=t.cssVarPrefix??`rw`,r=t.includeTypes?new Set(t.includeTypes):void 0,i=[];for(let t of h(e)){let e=t.id==="default"?void 0:t.id;m(t.tokens,[],void 0,e,n,i)}return r?i.filter(e=>!e.type||r.has(e.type)):i}var _=e({COMPONENT_TYPES:()=>E,REGISTRY_ITEM_TYPES:()=>D,default:()=>
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.mjs";import{definePlugin as t}from"@razorwind/core/plugin";import{createDocument as n,formatTokenValue as r,isObject as i,toCssVar as a}from"@razorwind/core/utils";import{join as o}from"node:path";function s(e){return e.trim().replaceAll(/[^\w-]+/g,`-`).replaceAll(/-{2,}/g,`-`).replaceAll(/^-|-$/g,``).toLowerCase()}function c(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`|`,`\\|`).replaceAll(`<`,`\\<`).replaceAll(`{`,`\\{`).replaceAll(/\r?\n/g,` `)}const l=/^(?:light|dark|dim|high-contrast|hc|default|base|theme)(?:[._-].+)?$/i;function u(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function d(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function f(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function p(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function m(e,t,n,o,s,c){if(!i(e))return;let l=f(e,n);if(u(e)){let n=p(e),i=t.join(`.`);c.push({path:i,type:l,value:n,cssValue:r(n,l),cssVar:a(i,s),description:d(e),theme:o});return}for(let[n,r]of Object.entries(e))n.startsWith(`$`)||m(r,[...t,n],l,o,s,c)}function h(e){if(!i(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>l.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function g(e,t={}){let n=t.cssVarPrefix??`rw`,r=t.includeTypes?new Set(t.includeTypes):void 0,i=[];for(let t of h(e)){let e=t.id==="default"?void 0:t.id;m(t.tokens,[],void 0,e,n,i)}return r?i.filter(e=>!e.type||r.has(e.type)):i}var _=e({COMPONENT_TYPES:()=>E,REGISTRY_ITEM_TYPES:()=>D,default:()=>G,extractIcons:()=>L,extractRegistryItems:()=>M,generateDocs:()=>W,groupTokens:()=>x,renderGroupMdx:()=>w,renderIconsMdx:()=>V,renderIndexMdx:()=>T,renderRegistryItemsMdx:()=>H,renderTokenTable:()=>C,tokenGroup:()=>b});function v(e){return`---\n${Object.entries(e).map(([e,t])=>`${e}: ${JSON.stringify(t)}`).join(`
|
|
2
2
|
`)}\n---`}function y(e){return e.split(/[._-]/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function b(e){return e.path.split(`.`)[0]||`tokens`}function x(e){let t=new Map;for(let n of e){let e=b(n),r=t.get(e)??[];r.push(n),t.set(e,r)}return t}function S(e){return`<span style={{ display: "inline-block", width: "1.25em", height: "1.25em", borderRadius: "4px", verticalAlign: "middle", border: "1px solid rgba(128, 128, 128, 0.35)", background: ${JSON.stringify(e)} }} />`}function C(e){let t=e.some(e=>e.theme),n=e.some(e=>e.description),r=e.some(e=>e.type===`color`),i=[...r?[`Preview`]:[],`Token`,`Type`,`Value`,`CSS Variable`,...t?[`Theme`]:[],...n?[`Description`]:[]],a=e.toSorted((e,t)=>(e.theme??``).localeCompare(t.theme??``)||e.path.localeCompare(t.path)).map(e=>`| ${[...r?[e.type===`color`?S(e.cssValue):``]:[],`\`${c(e.path)}\``,e.type?`\`${c(String(e.type))}\``:`—`,`\`${c(e.cssValue)}\``,`\`${c(e.cssVar)}\``,...t?[e.theme?c(e.theme):`—`]:[],...n?[e.description?c(e.description):`—`]:[]].join(` | `)} |`);return[`| ${i.join(` | `)} |`,`| ${i.map(()=>`---`).join(` | `)} |`,...a].join(`
|
|
3
3
|
`)}function w(e,t){let n=y(e),r=[...new Set(t.map(e=>e.theme).filter(Boolean))],i=[v({title:n,description:`${n} design tokens for the Razorwind design system.`}),`# ${n}`,`${t.length} token${t.length===1?``:`s`} in the \`${e}\` group.`];if(r.length>1)for(let e of r.toSorted((e,t)=>e.localeCompare(t))){let n=t.filter(t=>t.theme===e);i.push(`## ${y(e)}`,C(n))}else i.push(C(t));return`${i.join(`
|
|
4
4
|
|
|
5
|
-
`)}\n`}function T(e){let{title:t,groups:n,hasComponents:r,componentPages:i=[]}=e,
|
|
6
|
-
`):`_No design tokens found._`];if(r||i.length>0){let e=i.map(e=>`- [${e.title}](./registry/${e.slug}.mdx) — ${e.count} item${e.count===1?``:`s`}`);
|
|
7
|
-
`):`_No components found._`)}return
|
|
5
|
+
`)}\n`}function T(e){let{title:t,groups:n,hasComponents:r,componentPages:i=[],iconCount:a=0}=e,o=[...n.values()].reduce((e,t)=>e+t.length,0),c=[...n.keys()].toSorted((e,t)=>e.localeCompare(t)).map(e=>{let t=n.get(e)?.length??0;return`- [${y(e)}](./tokens/${s(e)}.mdx) — ${t} token${t===1?``:`s`}`}),l=[v({title:t,description:`Generated reference documentation for the ${t} design tokens, components, and icons.`}),`# ${t}`,`This documentation is generated from the design system specification. It covers ${o} design token${o===1?``:`s`} across ${n.size} group${n.size===1?``:`s`}.`,`## Design Tokens`,c.length>0?c.join(`
|
|
6
|
+
`):`_No design tokens found._`];if(r||i.length>0){let e=i.map(e=>`- [${e.title}](./registry/${e.slug}.mdx) — ${e.count} item${e.count===1?``:`s`}`);l.push(`## Components`,e.length>0?e.join(`
|
|
7
|
+
`):`_No components found._`)}return a>0&&l.push(`## Icons`,`- [Icons](./icons.mdx) — ${a} icon${a===1?``:`s`}`),`${l.join(`
|
|
8
8
|
|
|
9
9
|
`)}\n`}const E={ui:{slug:`ui`,title:`UI Primitives`},component:{slug:`components`,title:`Components`},page:{slug:`pages`,title:`Pages`},block:{slug:`blocks`,title:`Blocks`}},D={"registry:ui":E.ui,"registry:component":E.component,"registry:page":E.page,"registry:block":E.block};function O(e,t){let n=e[t];return typeof n==`string`?n:void 0}function k(e,t){let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function A(e,t){let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):i(n)?Object.entries(n).map(([e,t])=>typeof t==`string`&&t!==`*`?`${e}@${t}`:e):[]}function j(e){let t=k(e,`categories`);if(t.length>0)return t;let n=k(e,`tags`),r=O(e,`category`);return[...r?[r]:[],...n.filter(e=>e!==r)]}function M(e){if(!i(e))return[];let t=Object.values(e).filter(i),n=[];for(let[e,r]of Object.entries(E)){let i=t.filter(t=>t.type===e);i.length>0&&n.push({type:e,slug:r.slug,title:r.title,items:i})}return n}function N(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${c(e)}\` | — | — |`;if(!i(e))return;let t=O(e,`path`);if(!t)return;let n=O(e,`type`),r=O(e,`target`);return`| \`${c(t)}\` | ${n?`\`${c(n)}\``:`—`} | ${r?`\`${c(r)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Target |`,`| --- | --- | --- |`,...t].join(`
|
|
10
|
-
`)}function P(e){let t=O(e,`
|
|
10
|
+
`)}function P(e){let t=e.split(`.`).pop()?.toLowerCase();return t?t===`md`?`markdown`:t:`tsx`}function F(e){return(Array.isArray(e.usage)?e.usage:[]).map(e=>{if(!i(e))return;let t=O(e,`path`),n=O(e,`content`);if(!n)return;let r=O(e,`name`)??(t?t.split(`/`).pop()?.replace(/\.[^.]+$/,``)??`example`:`example`),a=O(e,`title`)??y(r),o=O(e,`description`),s=O(e,`language`)??(t?P(t):`tsx`),c=[`#### ${a}`];return o&&c.push(o),c.push(`\`\`\`${s}\n${n.trimEnd()}\n\`\`\``),c.join(`
|
|
11
|
+
|
|
12
|
+
`)}).filter(e=>e!==void 0).join(`
|
|
13
|
+
|
|
14
|
+
`)}function I(e){let t=O(e,`name`)??`unknown`,n=O(e,`title`)??y(t),r=O(e,`description`),i=O(e,`author`),a=j(e),o=A(e,`dependencies`),s=A(e,`registryDependencies`),l=[`## ${n}`];r&&l.push(r);let u=[`- **Name:** \`${t}\``,`- **Type:** \`${String(e.type)}\``,...i?[`- **Author:** ${c(i)}`]:[],...a.length>0?[`- **Categories:** ${a.map(e=>`\`${e}\``).join(`, `)}`]:[]];l.push(u.join(`
|
|
11
15
|
`)),o.length>0&&l.push(`### Dependencies`,o.map(e=>`- \`${e}\``).join(`
|
|
12
16
|
`)),s.length>0&&l.push(`### Registry Dependencies`,s.map(e=>`- \`${e}\``).join(`
|
|
13
|
-
`));let d=N(e);
|
|
17
|
+
`));let d=N(e);d&&l.push(`### Files`,d);let f=F(e);return f&&l.push(`### Usage`,f),l.join(`
|
|
18
|
+
|
|
19
|
+
`)}function L(e){return i(e)?Object.values(e).filter(i).toSorted((e,t)=>(O(e,`name`)??``).localeCompare(O(t,`name`)??``)):[]}function R(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${c(e)}\` | — | — | — |`;if(!i(e))return;let t=O(e,`path`);if(!t)return;let n=O(e,`type`),r=O(e,`theme`),a=O(e,`target`);return`| \`${c(t)}\` | ${n?`\`${c(n)}\``:`—`} | ${r?`\`${c(r)}\``:`—`} | ${a?`\`${c(a)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Theme | Target |`,`| --- | --- | --- | --- |`,...t].join(`
|
|
20
|
+
`)}function z(e){let t=(Array.isArray(e.files)?e.files:[]).find(e=>i(e)&&O(e,`type`)===`svg`&&typeof e.content==`string`);return!i(t)||typeof t.content!=`string`?``:[`### Preview`,`<div style={{ display: "inline-flex", width: "2rem", height: "2rem" }} dangerouslySetInnerHTML={{ __html: ${JSON.stringify(t.content)} }} />`].join(`
|
|
21
|
+
|
|
22
|
+
`)}function B(e){let t=O(e,`name`)??`unknown`,n=O(e,`title`)??y(t),r=O(e,`description`),i=O(e,`category`),a=k(e,`tags`),o=k(e,`aliases`),s=[`## ${n}`];r&&s.push(r);let c=[`- **Name:** \`${t}\``,...i?[`- **Category:** \`${i}\``]:[],...a.length>0?[`- **Tags:** ${a.map(e=>`\`${e}\``).join(`, `)}`]:[],...o.length>0?[`- **Aliases:** ${o.map(e=>`\`${e}\``).join(`, `)}`]:[]];s.push(c.join(`
|
|
23
|
+
`));let l=z(e);l&&s.push(l);let u=R(e);return u&&s.push(`### Files`,u),s.join(`
|
|
24
|
+
|
|
25
|
+
`)}function V(e){let t=[v({title:`Icons`,description:`Icons available in the Razorwind design system.`}),`# Icons`,`${e.length} icon${e.length===1?``:`s`} in the design system.`];for(let n of e)t.push(B(n));return`${t.join(`
|
|
14
26
|
|
|
15
|
-
`)}function
|
|
27
|
+
`)}\n`}function H(e){let t=[v({title:e.title,description:`${e.title} available in the Razorwind component registry.`}),`# ${e.title}`,`${e.items.length} \`${e.type}\` item${e.items.length===1?``:`s`} in the component registry.`],n=e.items.toSorted((e,t)=>(O(e,`name`)??``).localeCompare(O(t,`name`)??``));for(let e of n)t.push(I(e));return`${t.join(`
|
|
16
28
|
|
|
17
|
-
`)}\n`}function
|
|
18
|
-
//# sourceMappingURL=generate-
|
|
29
|
+
`)}\n`}function U(e,t,r){return n(e,t,{name:`docgen`},r)}function W(e,t={}){let n=t.outDir??`docs/design-system`,r=t.title??`Design System`,i=g(e.tokens,t),a=x(i),c=t.skipRegistry?[]:M(e.components),l=c.length>0,u=t.skipIcons?[]:L(e.icons),d={[o(n,`index.mdx`)]:U(o(n,`index.mdx`),T({title:r,groups:a,hasComponents:l,componentPages:c.map(e=>({slug:e.slug,title:e.title,count:e.items.length})),iconCount:u.length}),`mdx`)};for(let[e,t]of a){let r=o(n,`tokens`,`${s(e)}.mdx`);d[r]=U(r,w(e,t),`mdx`)}for(let e of c){let t=o(n,`registry`,`${e.slug}.mdx`);d[t]=U(t,H(e),`mdx`)}if(u.length>0){let e=o(n,`icons.mdx`);d[e]=U(e,V(u),`mdx`)}return d[o(n,`tokens.json`)]=U(o(n,`tokens.json`),`${JSON.stringify(i,null,2)}\n`,`json`),d}var G=t(e=>({name:`docgen:generate`,generate:async t=>W(t,e??{})}));export{W as a,x as c,T as d,H as f,M as i,w as l,b as m,D as n,G as o,C as p,L as r,_ as s,E as t,V as u};
|
|
30
|
+
//# sourceMappingURL=generate-DHTLF9jO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-DHTLF9jO.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs");let t=require("@razorwind/core/plugin"),n=require("@razorwind/core/utils"),r=require("node:path");function i(e){return e.trim().replaceAll(/[^\w-]+/g,`-`).replaceAll(/-{2,}/g,`-`).replaceAll(/^-|-$/g,``).toLowerCase()}function a(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`|`,`\\|`).replaceAll(`<`,`\\<`).replaceAll(`{`,`\\{`).replaceAll(/\r?\n/g,` `)}const o=/^(?:light|dark|dim|high-contrast|hc|default|base|theme)(?:[._-].+)?$/i;function s(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function c(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function l(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function u(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function d(e,t,r,i,a,o){if(!(0,n.isObject)(e))return;let f=l(e,r);if(s(e)){let r=u(e),s=t.join(`.`);o.push({path:s,type:f,value:r,cssValue:(0,n.formatTokenValue)(r,f),cssVar:(0,n.toCssVar)(s,a),description:c(e),theme:i});return}for(let[n,r]of Object.entries(e))n.startsWith(`$`)||d(r,[...t,n],f,i,a,o)}function f(e){if(!(0,n.isObject)(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>o.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function p(e,t={}){let n=t.cssVarPrefix??`rw`,r=t.includeTypes?new Set(t.includeTypes):void 0,i=[];for(let t of f(e)){let e=t.id==="default"?void 0:t.id;d(t.tokens,[],void 0,e,n,i)}return r?i.filter(e=>!e.type||r.has(e.type)):i}var m=e.t({COMPONENT_TYPES:()=>C,REGISTRY_ITEM_TYPES:()=>w,default:()=>H,extractIcons:()=>P,extractRegistryItems:()=>k,generateDocs:()=>V,groupTokens:()=>v,renderGroupMdx:()=>x,renderIconsMdx:()=>R,renderIndexMdx:()=>S,renderRegistryItemsMdx:()=>z,renderTokenTable:()=>b,tokenGroup:()=>_});function h(e){return`---\n${Object.entries(e).map(([e,t])=>`${e}: ${JSON.stringify(t)}`).join(`
|
|
2
|
+
`)}\n---`}function g(e){return e.split(/[._-]/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function _(e){return e.path.split(`.`)[0]||`tokens`}function v(e){let t=new Map;for(let n of e){let e=_(n),r=t.get(e)??[];r.push(n),t.set(e,r)}return t}function y(e){return`<span style={{ display: "inline-block", width: "1.25em", height: "1.25em", borderRadius: "4px", verticalAlign: "middle", border: "1px solid rgba(128, 128, 128, 0.35)", background: ${JSON.stringify(e)} }} />`}function b(e){let t=e.some(e=>e.theme),n=e.some(e=>e.description),r=e.some(e=>e.type===`color`),i=[...r?[`Preview`]:[],`Token`,`Type`,`Value`,`CSS Variable`,...t?[`Theme`]:[],...n?[`Description`]:[]],o=e.toSorted((e,t)=>(e.theme??``).localeCompare(t.theme??``)||e.path.localeCompare(t.path)).map(e=>`| ${[...r?[e.type===`color`?y(e.cssValue):``]:[],`\`${a(e.path)}\``,e.type?`\`${a(String(e.type))}\``:`—`,`\`${a(e.cssValue)}\``,`\`${a(e.cssVar)}\``,...t?[e.theme?a(e.theme):`—`]:[],...n?[e.description?a(e.description):`—`]:[]].join(` | `)} |`);return[`| ${i.join(` | `)} |`,`| ${i.map(()=>`---`).join(` | `)} |`,...o].join(`
|
|
3
|
+
`)}function x(e,t){let n=g(e),r=[...new Set(t.map(e=>e.theme).filter(Boolean))],i=[h({title:n,description:`${n} design tokens for the Razorwind design system.`}),`# ${n}`,`${t.length} token${t.length===1?``:`s`} in the \`${e}\` group.`];if(r.length>1)for(let e of r.toSorted((e,t)=>e.localeCompare(t))){let n=t.filter(t=>t.theme===e);i.push(`## ${g(e)}`,b(n))}else i.push(b(t));return`${i.join(`
|
|
4
|
+
|
|
5
|
+
`)}\n`}function S(e){let{title:t,groups:n,hasComponents:r,componentPages:a=[],iconCount:o=0}=e,s=[...n.values()].reduce((e,t)=>e+t.length,0),c=[...n.keys()].toSorted((e,t)=>e.localeCompare(t)).map(e=>{let t=n.get(e)?.length??0;return`- [${g(e)}](./tokens/${i(e)}.mdx) — ${t} token${t===1?``:`s`}`}),l=[h({title:t,description:`Generated reference documentation for the ${t} design tokens, components, and icons.`}),`# ${t}`,`This documentation is generated from the design system specification. It covers ${s} design token${s===1?``:`s`} across ${n.size} group${n.size===1?``:`s`}.`,`## Design Tokens`,c.length>0?c.join(`
|
|
6
|
+
`):`_No design tokens found._`];if(r||a.length>0){let e=a.map(e=>`- [${e.title}](./registry/${e.slug}.mdx) — ${e.count} item${e.count===1?``:`s`}`);l.push(`## Components`,e.length>0?e.join(`
|
|
7
|
+
`):`_No components found._`)}return o>0&&l.push(`## Icons`,`- [Icons](./icons.mdx) — ${o} icon${o===1?``:`s`}`),`${l.join(`
|
|
8
|
+
|
|
9
|
+
`)}\n`}const C={ui:{slug:`ui`,title:`UI Primitives`},component:{slug:`components`,title:`Components`},page:{slug:`pages`,title:`Pages`},block:{slug:`blocks`,title:`Blocks`}},w={"registry:ui":C.ui,"registry:component":C.component,"registry:page":C.page,"registry:block":C.block};function T(e,t){let n=e[t];return typeof n==`string`?n:void 0}function E(e,t){let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function D(e,t){let r=e[t];return Array.isArray(r)?r.filter(e=>typeof e==`string`):(0,n.isObject)(r)?Object.entries(r).map(([e,t])=>typeof t==`string`&&t!==`*`?`${e}@${t}`:e):[]}function O(e){let t=E(e,`categories`);if(t.length>0)return t;let n=E(e,`tags`),r=T(e,`category`);return[...r?[r]:[],...n.filter(e=>e!==r)]}function k(e){if(!(0,n.isObject)(e))return[];let t=Object.values(e).filter(n.isObject),r=[];for(let[e,n]of Object.entries(C)){let i=t.filter(t=>t.type===e);i.length>0&&r.push({type:e,slug:n.slug,title:n.title,items:i})}return r}function A(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${a(e)}\` | — | — |`;if(!(0,n.isObject)(e))return;let t=T(e,`path`);if(!t)return;let r=T(e,`type`),i=T(e,`target`);return`| \`${a(t)}\` | ${r?`\`${a(r)}\``:`—`} | ${i?`\`${a(i)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Target |`,`| --- | --- | --- |`,...t].join(`
|
|
10
|
+
`)}function j(e){let t=e.split(`.`).pop()?.toLowerCase();return t?t===`md`?`markdown`:t:`tsx`}function M(e){return(Array.isArray(e.usage)?e.usage:[]).map(e=>{if(!(0,n.isObject)(e))return;let t=T(e,`path`),r=T(e,`content`);if(!r)return;let i=T(e,`name`)??(t?t.split(`/`).pop()?.replace(/\.[^.]+$/,``)??`example`:`example`),a=T(e,`title`)??g(i),o=T(e,`description`),s=T(e,`language`)??(t?j(t):`tsx`),c=[`#### ${a}`];return o&&c.push(o),c.push(`\`\`\`${s}\n${r.trimEnd()}\n\`\`\``),c.join(`
|
|
11
|
+
|
|
12
|
+
`)}).filter(e=>e!==void 0).join(`
|
|
13
|
+
|
|
14
|
+
`)}function N(e){let t=T(e,`name`)??`unknown`,n=T(e,`title`)??g(t),r=T(e,`description`),i=T(e,`author`),o=O(e),s=D(e,`dependencies`),c=D(e,`registryDependencies`),l=[`## ${n}`];r&&l.push(r);let u=[`- **Name:** \`${t}\``,`- **Type:** \`${String(e.type)}\``,...i?[`- **Author:** ${a(i)}`]:[],...o.length>0?[`- **Categories:** ${o.map(e=>`\`${e}\``).join(`, `)}`]:[]];l.push(u.join(`
|
|
15
|
+
`)),s.length>0&&l.push(`### Dependencies`,s.map(e=>`- \`${e}\``).join(`
|
|
16
|
+
`)),c.length>0&&l.push(`### Registry Dependencies`,c.map(e=>`- \`${e}\``).join(`
|
|
17
|
+
`));let d=A(e);d&&l.push(`### Files`,d);let f=M(e);return f&&l.push(`### Usage`,f),l.join(`
|
|
18
|
+
|
|
19
|
+
`)}function P(e){return(0,n.isObject)(e)?Object.values(e).filter(n.isObject).toSorted((e,t)=>(T(e,`name`)??``).localeCompare(T(t,`name`)??``)):[]}function F(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${a(e)}\` | — | — | — |`;if(!(0,n.isObject)(e))return;let t=T(e,`path`);if(!t)return;let r=T(e,`type`),i=T(e,`theme`),o=T(e,`target`);return`| \`${a(t)}\` | ${r?`\`${a(r)}\``:`—`} | ${i?`\`${a(i)}\``:`—`} | ${o?`\`${a(o)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Theme | Target |`,`| --- | --- | --- | --- |`,...t].join(`
|
|
20
|
+
`)}function I(e){let t=(Array.isArray(e.files)?e.files:[]).find(e=>(0,n.isObject)(e)&&T(e,`type`)===`svg`&&typeof e.content==`string`);return!(0,n.isObject)(t)||typeof t.content!=`string`?``:[`### Preview`,`<div style={{ display: "inline-flex", width: "2rem", height: "2rem" }} dangerouslySetInnerHTML={{ __html: ${JSON.stringify(t.content)} }} />`].join(`
|
|
21
|
+
|
|
22
|
+
`)}function L(e){let t=T(e,`name`)??`unknown`,n=T(e,`title`)??g(t),r=T(e,`description`),i=T(e,`category`),a=E(e,`tags`),o=E(e,`aliases`),s=[`## ${n}`];r&&s.push(r);let c=[`- **Name:** \`${t}\``,...i?[`- **Category:** \`${i}\``]:[],...a.length>0?[`- **Tags:** ${a.map(e=>`\`${e}\``).join(`, `)}`]:[],...o.length>0?[`- **Aliases:** ${o.map(e=>`\`${e}\``).join(`, `)}`]:[]];s.push(c.join(`
|
|
23
|
+
`));let l=I(e);l&&s.push(l);let u=F(e);return u&&s.push(`### Files`,u),s.join(`
|
|
24
|
+
|
|
25
|
+
`)}function R(e){let t=[h({title:`Icons`,description:`Icons available in the Razorwind design system.`}),`# Icons`,`${e.length} icon${e.length===1?``:`s`} in the design system.`];for(let n of e)t.push(L(n));return`${t.join(`
|
|
26
|
+
|
|
27
|
+
`)}\n`}function z(e){let t=[h({title:e.title,description:`${e.title} available in the Razorwind component registry.`}),`# ${e.title}`,`${e.items.length} \`${e.type}\` item${e.items.length===1?``:`s`} in the component registry.`],n=e.items.toSorted((e,t)=>(T(e,`name`)??``).localeCompare(T(t,`name`)??``));for(let e of n)t.push(N(e));return`${t.join(`
|
|
28
|
+
|
|
29
|
+
`)}\n`}function B(e,t,r){return(0,n.createDocument)(e,t,{name:`docgen`},r)}function V(e,t={}){let n=t.outDir??`docs/design-system`,a=t.title??`Design System`,o=p(e.tokens,t),s=v(o),c=t.skipRegistry?[]:k(e.components),l=c.length>0,u=t.skipIcons?[]:P(e.icons),d={[(0,r.join)(n,`index.mdx`)]:B((0,r.join)(n,`index.mdx`),S({title:a,groups:s,hasComponents:l,componentPages:c.map(e=>({slug:e.slug,title:e.title,count:e.items.length})),iconCount:u.length}),`mdx`)};for(let[e,t]of s){let a=(0,r.join)(n,`tokens`,`${i(e)}.mdx`);d[a]=B(a,x(e,t),`mdx`)}for(let e of c){let t=(0,r.join)(n,`registry`,`${e.slug}.mdx`);d[t]=B(t,z(e),`mdx`)}if(u.length>0){let e=(0,r.join)(n,`icons.mdx`);d[e]=B(e,R(u),`mdx`)}return d[(0,r.join)(n,`tokens.json`)]=B((0,r.join)(n,`tokens.json`),`${JSON.stringify(o,null,2)}\n`,`json`),d}var H=(0,t.definePlugin)(e=>({name:`docgen:generate`,generate:async t=>V(t,e??{})}));Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return R}});
|
package/dist/generate.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./generate-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./generate-ZUMEoeQ7.cjs");exports.COMPONENT_TYPES=e.t,exports.REGISTRY_ITEM_TYPES=e.n,exports.default=e.o,exports.extractIcons=e.r,exports.extractRegistryItems=e.i,exports.generateDocs=e.a,exports.groupTokens=e.c,exports.renderGroupMdx=e.l,exports.renderIconsMdx=e.u,exports.renderIndexMdx=e.d,exports.renderRegistryItemsMdx=e.f,exports.renderTokenTable=e.p,exports.tokenGroup=e.m;
|
package/dist/generate.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as __exportAll, n as DocgenGeneratePluginOptions, r as FlatToken } from "./types-
|
|
1
|
+
import { i as __exportAll, n as DocgenGeneratePluginOptions, r as FlatToken } from "./types-CW5pdxOV.cjs";
|
|
2
2
|
import { GeneratorFunctionResult } from "@power-plant/core";
|
|
3
3
|
import { Schema } from "@razorwind/core/schema";
|
|
4
4
|
declare namespace generate_d_exports {
|
|
5
|
-
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
5
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
6
6
|
}
|
|
7
7
|
/** Top-level path segment used to group tokens into pages. */
|
|
8
8
|
declare function tokenGroup(token: FlatToken): string;
|
|
@@ -30,6 +30,7 @@ declare function renderIndexMdx(input: {
|
|
|
30
30
|
title: string;
|
|
31
31
|
count: number;
|
|
32
32
|
}[];
|
|
33
|
+
iconCount?: number;
|
|
33
34
|
}): string;
|
|
34
35
|
/** Component types that receive a dedicated documentation page. */
|
|
35
36
|
declare const COMPONENT_TYPES: {
|
|
@@ -85,6 +86,14 @@ interface RegistryItemPage {
|
|
|
85
86
|
* per type.
|
|
86
87
|
*/
|
|
87
88
|
declare function extractRegistryItems(components: unknown): RegistryItemPage[];
|
|
89
|
+
/**
|
|
90
|
+
* Extract documented icons from `schema.icons`.
|
|
91
|
+
*/
|
|
92
|
+
declare function extractIcons(icons: unknown): Record<string, unknown>[];
|
|
93
|
+
/**
|
|
94
|
+
* Render an MDX documentation page for all icons.
|
|
95
|
+
*/
|
|
96
|
+
declare function renderIconsMdx(icons: Record<string, unknown>[]): string;
|
|
88
97
|
/**
|
|
89
98
|
* Render an MDX documentation page for all components of a single type.
|
|
90
99
|
*/
|
|
@@ -93,7 +102,8 @@ declare function renderRegistryItemsMdx(page: RegistryItemPage): string;
|
|
|
93
102
|
* Generate MDX documentation pages from a Razorwind schema.
|
|
94
103
|
*
|
|
95
104
|
* Produces an index page, one page per top-level token group, component
|
|
96
|
-
* pages grouped by type, and a flattened `tokens.json`
|
|
105
|
+
* pages grouped by type, icon documentation, and a flattened `tokens.json`
|
|
106
|
+
* manifest.
|
|
97
107
|
*/
|
|
98
108
|
declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOptions): GeneratorFunctionResult<Schema, DocgenGeneratePluginOptions>;
|
|
99
109
|
/**
|
|
@@ -111,5 +121,5 @@ declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOption
|
|
|
111
121
|
*/
|
|
112
122
|
declare const _default: (options?: DocgenGeneratePluginOptions | undefined) => import("@razorwind/core/plugin").Plugin;
|
|
113
123
|
//#endregion
|
|
114
|
-
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, generate_d_exports as t, tokenGroup };
|
|
124
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, generate_d_exports as t, tokenGroup };
|
|
115
125
|
//# sourceMappingURL=generate.d.cts.map
|
package/dist/generate.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.cts","names":[],"sources":["../src/generate.ts"],"mappings":";;;;;;;iBA4CgB,WAAW,OAAO;;;;iBAOlB,YAAY,QAAQ,cAAc,YAAY;;;;iBAoB9C,iBAAiB,QAAQ;;;;iBAiDzB,eAAe,eAAe,QAAQ;;;;iBA8BtC,eAAe;EAC7B;EACA,QAAQ,YAAY;EACpB;EACA;IAAmB;IAAc;IAAe
|
|
1
|
+
{"version":3,"file":"generate.d.cts","names":[],"sources":["../src/generate.ts"],"mappings":";;;;;;;iBA4CgB,WAAW,OAAO;;;;iBAOlB,YAAY,QAAQ,cAAc,YAAY;;;;iBAoB9C,iBAAiB,QAAQ;;;;iBAiDzB,eAAe,eAAe,QAAQ;;;;iBA8BtC,eAAe;EAC7B;EACA,QAAQ,YAAY;EACpB;EACA;IAAmB;IAAc;IAAe;;EAChD;;;cA2DW;;;;;;;;;;;;;;;;;;;cAQA;;;;;;;;;;;;;;;;;;KAOD,gCAAgC;KAChC,gCAAgC;;UAG3B;EACf,MAAM;EACN;EACA;EACA,OAAO;;;;;;;;iBA4DO,qBAAqB,sBAAsB;;;;iBA4K3C,aAAa,iBAAiB;;;;iBA8G9B,eAAe,OAAO;;;;iBAoBtB,uBAAuB,MAAM;;;;;;;;iBAyC7B,aACd,MAAM,QACN,UAAS,8BACR,wBAAwB,QAAQ"}
|
package/dist/generate.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as DocgenGeneratePluginOptions, r as FlatToken } from "./types-
|
|
1
|
+
import { n as DocgenGeneratePluginOptions, r as FlatToken } from "./types-Br4Cf9rf.mjs";
|
|
2
2
|
import { GeneratorFunctionResult } from "@power-plant/core";
|
|
3
3
|
import { Schema } from "@razorwind/core/schema";
|
|
4
4
|
declare namespace generate_d_exports {
|
|
5
|
-
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
5
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
6
6
|
}
|
|
7
7
|
/** Top-level path segment used to group tokens into pages. */
|
|
8
8
|
declare function tokenGroup(token: FlatToken): string;
|
|
@@ -30,6 +30,7 @@ declare function renderIndexMdx(input: {
|
|
|
30
30
|
title: string;
|
|
31
31
|
count: number;
|
|
32
32
|
}[];
|
|
33
|
+
iconCount?: number;
|
|
33
34
|
}): string;
|
|
34
35
|
/** Component types that receive a dedicated documentation page. */
|
|
35
36
|
declare const COMPONENT_TYPES: {
|
|
@@ -85,6 +86,14 @@ interface RegistryItemPage {
|
|
|
85
86
|
* per type.
|
|
86
87
|
*/
|
|
87
88
|
declare function extractRegistryItems(components: unknown): RegistryItemPage[];
|
|
89
|
+
/**
|
|
90
|
+
* Extract documented icons from `schema.icons`.
|
|
91
|
+
*/
|
|
92
|
+
declare function extractIcons(icons: unknown): Record<string, unknown>[];
|
|
93
|
+
/**
|
|
94
|
+
* Render an MDX documentation page for all icons.
|
|
95
|
+
*/
|
|
96
|
+
declare function renderIconsMdx(icons: Record<string, unknown>[]): string;
|
|
88
97
|
/**
|
|
89
98
|
* Render an MDX documentation page for all components of a single type.
|
|
90
99
|
*/
|
|
@@ -93,7 +102,8 @@ declare function renderRegistryItemsMdx(page: RegistryItemPage): string;
|
|
|
93
102
|
* Generate MDX documentation pages from a Razorwind schema.
|
|
94
103
|
*
|
|
95
104
|
* Produces an index page, one page per top-level token group, component
|
|
96
|
-
* pages grouped by type, and a flattened `tokens.json`
|
|
105
|
+
* pages grouped by type, icon documentation, and a flattened `tokens.json`
|
|
106
|
+
* manifest.
|
|
97
107
|
*/
|
|
98
108
|
declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOptions): GeneratorFunctionResult<Schema, DocgenGeneratePluginOptions>;
|
|
99
109
|
/**
|
|
@@ -111,5 +121,5 @@ declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOption
|
|
|
111
121
|
*/
|
|
112
122
|
declare const _default: (options?: DocgenGeneratePluginOptions | undefined) => import("@razorwind/core/plugin").Plugin;
|
|
113
123
|
//#endregion
|
|
114
|
-
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, generate_d_exports as t, tokenGroup };
|
|
124
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, generate_d_exports as t, tokenGroup };
|
|
115
125
|
//# sourceMappingURL=generate.d.mts.map
|
package/dist/generate.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,d as n,f as r,i,l as a,
|
|
1
|
+
import{a as e,c as t,d as n,f as r,i,l as a,m as o,n as s,o as c,p as l,r as u,t as d,u as f}from"./generate-DHTLF9jO.mjs";export{d as COMPONENT_TYPES,s as REGISTRY_ITEM_TYPES,c as default,u as extractIcons,i as extractRegistryItems,e as generateDocs,t as groupTokens,a as renderGroupMdx,f as renderIconsMdx,n as renderIndexMdx,r as renderRegistryItemsMdx,l as renderTokenTable,o as tokenGroup};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./extract.cjs"),t=require("./generate-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./extract.cjs"),t=require("./generate-ZUMEoeQ7.cjs");Object.defineProperty(exports,"extract",{enumerable:!0,get:function(){return e.t}}),Object.defineProperty(exports,"generate",{enumerable:!0,get:function(){return t.s}});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./extract.mjs";import{
|
|
1
|
+
import{t as e}from"./extract.mjs";import{s as t}from"./generate-DHTLF9jO.mjs";export{e as extract,t as generate};
|
|
@@ -37,6 +37,12 @@ interface DocgenGeneratePluginOptions {
|
|
|
37
37
|
* @defaultValue `false`
|
|
38
38
|
*/
|
|
39
39
|
skipRegistry?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Skip generating icon documentation pages.
|
|
42
|
+
*
|
|
43
|
+
* @defaultValue `false`
|
|
44
|
+
*/
|
|
45
|
+
skipIcons?: boolean;
|
|
40
46
|
}
|
|
41
47
|
/**
|
|
42
48
|
* A flattened design token ready for documentation rendering.
|
|
@@ -59,4 +65,4 @@ interface FlatToken {
|
|
|
59
65
|
}
|
|
60
66
|
//#endregion
|
|
61
67
|
export { DocgenGeneratePluginOptions as n, FlatToken as r, DocgenExtractPluginOptions as t };
|
|
62
|
-
//# sourceMappingURL=types-
|
|
68
|
+
//# sourceMappingURL=types-Br4Cf9rf.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-Br4Cf9rf.d.mts","names":[],"sources":["../src/types.ts"],"mappings":""}
|
|
@@ -38,6 +38,12 @@ interface DocgenGeneratePluginOptions {
|
|
|
38
38
|
* @defaultValue `false`
|
|
39
39
|
*/
|
|
40
40
|
skipRegistry?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Skip generating icon documentation pages.
|
|
43
|
+
*
|
|
44
|
+
* @defaultValue `false`
|
|
45
|
+
*/
|
|
46
|
+
skipIcons?: boolean;
|
|
41
47
|
}
|
|
42
48
|
/**
|
|
43
49
|
* A flattened design token ready for documentation rendering.
|
|
@@ -60,4 +66,4 @@ interface FlatToken {
|
|
|
60
66
|
}
|
|
61
67
|
//#endregion
|
|
62
68
|
export { __exportAll as i, DocgenGeneratePluginOptions as n, FlatToken as r, DocgenExtractPluginOptions as t };
|
|
63
|
-
//# sourceMappingURL=types-
|
|
69
|
+
//# sourceMappingURL=types-CW5pdxOV.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-CW5pdxOV.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;UAuBiB;;;;UAKA;;;;;;EAMf;;;;;;EAOA;;;;;;EAOA;;;;;EAMA,eAAe;;;;;;EAOf;;;;;;EAOA;;;;;UAMe;;EAEf;;EAEA,OAAO;;EAEP;;EAEA;;EAEA;;EAEA;;EAEA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@razorwind/docgen",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Razorwind plugin that creates MDX documentation for the tokens/components defined in the design system.",
|
|
6
6
|
"repository": {
|
|
@@ -97,16 +97,16 @@
|
|
|
97
97
|
"types": "./dist/index.d.cts",
|
|
98
98
|
"typings": "dist/index.d.mts",
|
|
99
99
|
"dependencies": {
|
|
100
|
-
"@power-plant/core": "^0.0.
|
|
100
|
+
"@power-plant/core": "^0.0.75",
|
|
101
101
|
"@power-plant/dtcg-schema": "^0.0.1",
|
|
102
|
-
"@razorwind/core": "
|
|
102
|
+
"@razorwind/core": "0.0.27",
|
|
103
103
|
"@stryke/type-checks": "^0.6.35"
|
|
104
104
|
},
|
|
105
105
|
"devDependencies": {
|
|
106
|
-
"@powerlines/plugin-tsdown": "^0.1.
|
|
106
|
+
"@powerlines/plugin-tsdown": "^0.1.589",
|
|
107
107
|
"@types/node": "^25.9.5",
|
|
108
108
|
"typescript": "^6.0.3"
|
|
109
109
|
},
|
|
110
110
|
"publishConfig": { "access": "public" },
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "556f2499e0ef94c0463e86c2d8f9b42bbdb0bc08"
|
|
112
112
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-CASp9YNu.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs");let t=require("@razorwind/core/plugin"),n=require("@razorwind/core/utils"),r=require("node:path");function i(e){return e.trim().replaceAll(/[^\w-]+/g,`-`).replaceAll(/-{2,}/g,`-`).replaceAll(/^-|-$/g,``).toLowerCase()}function a(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`|`,`\\|`).replaceAll(`<`,`\\<`).replaceAll(`{`,`\\{`).replaceAll(/\r?\n/g,` `)}const o=/^(?:light|dark|dim|high-contrast|hc|default|base|theme)(?:[._-].+)?$/i;function s(e){return`$value`in e||`value`in e||`$ref`in e||`ref`in e}function c(e){if(typeof e.$description==`string`)return e.$description;if(typeof e.description==`string`)return e.description}function l(e,t){return typeof e.$type==`string`?e.$type:typeof e.type==`string`?e.type:t}function u(e){if(`$value`in e)return e.$value;if(`value`in e)return e.value;if(typeof e.$ref==`string`)return e.$ref;if(typeof e.ref==`string`)return e.ref}function d(e,t,r,i,a,o){if(!(0,n.isObject)(e))return;let f=l(e,r);if(s(e)){let r=u(e),s=t.join(`.`);o.push({path:s,type:f,value:r,cssValue:(0,n.formatTokenValue)(r,f),cssVar:(0,n.toCssVar)(s,a),description:c(e),theme:i});return}for(let[n,r]of Object.entries(e))n.startsWith(`$`)||d(r,[...t,n],f,i,a,o)}function f(e){if(!(0,n.isObject)(e))return[];let t=Object.keys(e).filter(e=>!e.startsWith(`$`));if(t.length>0&&t.every(e=>o.test(e))){let n=e;return t.map(e=>({id:e,tokens:n[e]}))}return[{id:`default`,tokens:e}]}function p(e,t={}){let n=t.cssVarPrefix??`rw`,r=t.includeTypes?new Set(t.includeTypes):void 0,i=[];for(let t of f(e)){let e=t.id==="default"?void 0:t.id;d(t.tokens,[],void 0,e,n,i)}return r?i.filter(e=>!e.type||r.has(e.type)):i}var m=e.t({COMPONENT_TYPES:()=>C,REGISTRY_ITEM_TYPES:()=>w,default:()=>F,extractRegistryItems:()=>k,generateDocs:()=>P,groupTokens:()=>v,renderGroupMdx:()=>x,renderIndexMdx:()=>S,renderRegistryItemsMdx:()=>M,renderTokenTable:()=>b,tokenGroup:()=>_});function h(e){return`---\n${Object.entries(e).map(([e,t])=>`${e}: ${JSON.stringify(t)}`).join(`
|
|
2
|
-
`)}\n---`}function g(e){return e.split(/[._-]/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function _(e){return e.path.split(`.`)[0]||`tokens`}function v(e){let t=new Map;for(let n of e){let e=_(n),r=t.get(e)??[];r.push(n),t.set(e,r)}return t}function y(e){return`<span style={{ display: "inline-block", width: "1.25em", height: "1.25em", borderRadius: "4px", verticalAlign: "middle", border: "1px solid rgba(128, 128, 128, 0.35)", background: ${JSON.stringify(e)} }} />`}function b(e){let t=e.some(e=>e.theme),n=e.some(e=>e.description),r=e.some(e=>e.type===`color`),i=[...r?[`Preview`]:[],`Token`,`Type`,`Value`,`CSS Variable`,...t?[`Theme`]:[],...n?[`Description`]:[]],o=e.toSorted((e,t)=>(e.theme??``).localeCompare(t.theme??``)||e.path.localeCompare(t.path)).map(e=>`| ${[...r?[e.type===`color`?y(e.cssValue):``]:[],`\`${a(e.path)}\``,e.type?`\`${a(String(e.type))}\``:`—`,`\`${a(e.cssValue)}\``,`\`${a(e.cssVar)}\``,...t?[e.theme?a(e.theme):`—`]:[],...n?[e.description?a(e.description):`—`]:[]].join(` | `)} |`);return[`| ${i.join(` | `)} |`,`| ${i.map(()=>`---`).join(` | `)} |`,...o].join(`
|
|
3
|
-
`)}function x(e,t){let n=g(e),r=[...new Set(t.map(e=>e.theme).filter(Boolean))],i=[h({title:n,description:`${n} design tokens for the Razorwind design system.`}),`# ${n}`,`${t.length} token${t.length===1?``:`s`} in the \`${e}\` group.`];if(r.length>1)for(let e of r.toSorted((e,t)=>e.localeCompare(t))){let n=t.filter(t=>t.theme===e);i.push(`## ${g(e)}`,b(n))}else i.push(b(t));return`${i.join(`
|
|
4
|
-
|
|
5
|
-
`)}\n`}function S(e){let{title:t,groups:n,hasComponents:r,componentPages:a=[]}=e,o=[...n.values()].reduce((e,t)=>e+t.length,0),s=[...n.keys()].toSorted((e,t)=>e.localeCompare(t)).map(e=>{let t=n.get(e)?.length??0;return`- [${g(e)}](./tokens/${i(e)}.mdx) — ${t} token${t===1?``:`s`}`}),c=[h({title:t,description:`Generated reference documentation for the ${t} design tokens and components.`}),`# ${t}`,`This documentation is generated from the design system specification. It covers ${o} design token${o===1?``:`s`} across ${n.size} group${n.size===1?``:`s`}.`,`## Design Tokens`,s.length>0?s.join(`
|
|
6
|
-
`):`_No design tokens found._`];if(r||a.length>0){let e=a.map(e=>`- [${e.title}](./registry/${e.slug}.mdx) — ${e.count} item${e.count===1?``:`s`}`);c.push(`## Components`,e.length>0?e.join(`
|
|
7
|
-
`):`_No components found._`)}return`${c.join(`
|
|
8
|
-
|
|
9
|
-
`)}\n`}const C={ui:{slug:`ui`,title:`UI Primitives`},component:{slug:`components`,title:`Components`},page:{slug:`pages`,title:`Pages`},block:{slug:`blocks`,title:`Blocks`}},w={"registry:ui":C.ui,"registry:component":C.component,"registry:page":C.page,"registry:block":C.block};function T(e,t){let n=e[t];return typeof n==`string`?n:void 0}function E(e,t){let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function D(e,t){let r=e[t];return Array.isArray(r)?r.filter(e=>typeof e==`string`):(0,n.isObject)(r)?Object.entries(r).map(([e,t])=>typeof t==`string`&&t!==`*`?`${e}@${t}`:e):[]}function O(e){let t=E(e,`categories`);if(t.length>0)return t;let n=E(e,`tags`),r=T(e,`category`);return[...r?[r]:[],...n.filter(e=>e!==r)]}function k(e){if(!(0,n.isObject)(e))return[];let t=Object.values(e).filter(n.isObject),r=[];for(let[e,n]of Object.entries(C)){let i=t.filter(t=>t.type===e);i.length>0&&r.push({type:e,slug:n.slug,title:n.title,items:i})}return r}function A(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${a(e)}\` | — | — |`;if(!(0,n.isObject)(e))return;let t=T(e,`path`);if(!t)return;let r=T(e,`type`),i=T(e,`target`);return`| \`${a(t)}\` | ${r?`\`${a(r)}\``:`—`} | ${i?`\`${a(i)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Target |`,`| --- | --- | --- |`,...t].join(`
|
|
10
|
-
`)}function j(e){let t=T(e,`name`)??`unknown`,n=T(e,`title`)??g(t),r=T(e,`description`),i=T(e,`author`),o=O(e),s=D(e,`dependencies`),c=D(e,`registryDependencies`),l=[`## ${n}`];r&&l.push(r);let u=[`- **Name:** \`${t}\``,`- **Type:** \`${String(e.type)}\``,...i?[`- **Author:** ${a(i)}`]:[],...o.length>0?[`- **Categories:** ${o.map(e=>`\`${e}\``).join(`, `)}`]:[]];l.push(u.join(`
|
|
11
|
-
`)),s.length>0&&l.push(`### Dependencies`,s.map(e=>`- \`${e}\``).join(`
|
|
12
|
-
`)),c.length>0&&l.push(`### Registry Dependencies`,c.map(e=>`- \`${e}\``).join(`
|
|
13
|
-
`));let d=A(e);return d&&l.push(`### Files`,d),l.join(`
|
|
14
|
-
|
|
15
|
-
`)}function M(e){let t=[h({title:e.title,description:`${e.title} available in the Razorwind component registry.`}),`# ${e.title}`,`${e.items.length} \`${e.type}\` item${e.items.length===1?``:`s`} in the component registry.`],n=e.items.toSorted((e,t)=>(T(e,`name`)??``).localeCompare(T(t,`name`)??``));for(let e of n)t.push(j(e));return`${t.join(`
|
|
16
|
-
|
|
17
|
-
`)}\n`}function N(e,t,r){return(0,n.createDocument)(e,t,{name:`docgen`},r)}function P(e,t={}){let n=t.outDir??`docs/design-system`,a=t.title??`Design System`,o=p(e.tokens,t),s=v(o),c=t.skipRegistry?[]:k(e.components),l=c.length>0,u={[(0,r.join)(n,`index.mdx`)]:N((0,r.join)(n,`index.mdx`),S({title:a,groups:s,hasComponents:l,componentPages:c.map(e=>({slug:e.slug,title:e.title,count:e.items.length}))}),`mdx`)};for(let[e,t]of s){let a=(0,r.join)(n,`tokens`,`${i(e)}.mdx`);u[a]=N(a,x(e,t),`mdx`)}for(let e of c){let t=(0,r.join)(n,`registry`,`${e.slug}.mdx`);u[t]=N(t,M(e),`mdx`)}return u[(0,r.join)(n,`tokens.json`)]=N((0,r.join)(n,`tokens.json`),`${JSON.stringify(o,null,2)}\n`,`json`),u}var F=(0,t.definePlugin)(e=>({name:`docgen:generate`,generate:async t=>P(t,e??{})}));Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return M}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-BIi5hVjx.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;UAuBiB;;;;UAKA;;;;;;EAMf;;;;;;EAOA;;;;;;EAOA;;;;;EAMA,eAAe;;;;;;EAOf;;;;;UAMe;;EAEf;;EAEA,OAAO;;EAEP;;EAEA;;EAEA;;EAEA;;EAEA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-L9_4rtz5.d.mts","names":[],"sources":["../src/types.ts"],"mappings":""}
|