@razorwind/docgen 0.0.25 → 0.0.27
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-Bl-XjHVv.d.cts +133 -0
- package/dist/generate-Bl-XjHVv.d.cts.map +1 -0
- package/dist/generate-CXRg2yXU.mjs +60 -0
- package/dist/generate-CXRg2yXU.mjs.map +1 -0
- package/dist/generate-ZyNHz9gq.cjs +59 -0
- package/dist/generate-tgHJ7N42.d.mts +133 -0
- package/dist/generate-tgHJ7N42.d.mts.map +1 -0
- package/dist/generate.cjs +1 -1
- package/dist/generate.d.cts +2 -125
- package/dist/generate.d.mts +2 -125
- package/dist/generate.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{types-Br4Cf9rf.d.mts → types-Df_Xoq3m.d.mts} +6 -1
- package/dist/types-Df_Xoq3m.d.mts.map +1 -0
- package/dist/{types-CW5pdxOV.d.cts → types-tdksapmJ.d.cts} +6 -1
- package/dist/types-tdksapmJ.d.cts.map +1 -0
- package/package.json +5 -5
- package/dist/generate-DHTLF9jO.mjs +0 -30
- package/dist/generate-DHTLF9jO.mjs.map +0 -1
- package/dist/generate-ZUMEoeQ7.cjs +0 -29
- package/dist/generate.d.cts.map +0 -1
- package/dist/generate.d.mts.map +0 -1
- package/dist/types-Br4Cf9rf.d.mts.map +0 -1
- package/dist/types-CW5pdxOV.d.cts.map +0 -1
package/dist/extract.d.cts
CHANGED
package/dist/extract.d.mts
CHANGED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { i as __exportAll, n as DocgenGeneratePluginOptions, r as FlatToken } from "./types-tdksapmJ.cjs";
|
|
2
|
+
import { GeneratorFunctionResult } from "@power-plant/core";
|
|
3
|
+
import { Schema } from "@razorwind/core/schema";
|
|
4
|
+
//#region src/install.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Build docgen INSTALL.md for generated MDX documentation.
|
|
7
|
+
*/
|
|
8
|
+
declare function renderInstallMd(options: {
|
|
9
|
+
outDir: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
}): string;
|
|
12
|
+
declare namespace generate_d_exports {
|
|
13
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderInstallMd, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
14
|
+
}
|
|
15
|
+
/** Top-level path segment used to group tokens into pages. */
|
|
16
|
+
declare function tokenGroup(token: FlatToken): string;
|
|
17
|
+
/**
|
|
18
|
+
* Group flattened tokens by their top-level path segment.
|
|
19
|
+
*/
|
|
20
|
+
declare function groupTokens(tokens: FlatToken[]): Map<string, FlatToken[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Render a markdown token table for a set of flattened tokens.
|
|
23
|
+
*/
|
|
24
|
+
declare function renderTokenTable(tokens: FlatToken[]): string;
|
|
25
|
+
/**
|
|
26
|
+
* Render an MDX documentation page for a single token group.
|
|
27
|
+
*/
|
|
28
|
+
declare function renderGroupMdx(group: string, tokens: FlatToken[]): string;
|
|
29
|
+
/**
|
|
30
|
+
* Render the documentation index page linking to every generated page.
|
|
31
|
+
*/
|
|
32
|
+
declare function renderIndexMdx(input: {
|
|
33
|
+
title: string;
|
|
34
|
+
groups: Map<string, FlatToken[]>;
|
|
35
|
+
hasComponents: boolean;
|
|
36
|
+
componentPages?: {
|
|
37
|
+
slug: string;
|
|
38
|
+
title: string;
|
|
39
|
+
count: number;
|
|
40
|
+
}[];
|
|
41
|
+
iconCount?: number;
|
|
42
|
+
}): string;
|
|
43
|
+
/** Component types that receive a dedicated documentation page. */
|
|
44
|
+
declare const COMPONENT_TYPES: {
|
|
45
|
+
readonly ui: {
|
|
46
|
+
readonly slug: "ui";
|
|
47
|
+
readonly title: "UI Primitives";
|
|
48
|
+
};
|
|
49
|
+
readonly component: {
|
|
50
|
+
readonly slug: "components";
|
|
51
|
+
readonly title: "Components";
|
|
52
|
+
};
|
|
53
|
+
readonly page: {
|
|
54
|
+
readonly slug: "pages";
|
|
55
|
+
readonly title: "Pages";
|
|
56
|
+
};
|
|
57
|
+
readonly block: {
|
|
58
|
+
readonly slug: "blocks";
|
|
59
|
+
readonly title: "Blocks";
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/** @deprecated Use {@link COMPONENT_TYPES}. */
|
|
63
|
+
declare const REGISTRY_ITEM_TYPES: {
|
|
64
|
+
readonly "registry:ui": {
|
|
65
|
+
readonly slug: "ui";
|
|
66
|
+
readonly title: "UI Primitives";
|
|
67
|
+
};
|
|
68
|
+
readonly "registry:component": {
|
|
69
|
+
readonly slug: "components";
|
|
70
|
+
readonly title: "Components";
|
|
71
|
+
};
|
|
72
|
+
readonly "registry:page": {
|
|
73
|
+
readonly slug: "pages";
|
|
74
|
+
readonly title: "Pages";
|
|
75
|
+
};
|
|
76
|
+
readonly "registry:block": {
|
|
77
|
+
readonly slug: "blocks";
|
|
78
|
+
readonly title: "Blocks";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
type ComponentDocType = keyof typeof COMPONENT_TYPES;
|
|
82
|
+
type RegistryItemType = keyof typeof REGISTRY_ITEM_TYPES;
|
|
83
|
+
/** A documented component type together with its matching items. */
|
|
84
|
+
interface RegistryItemPage {
|
|
85
|
+
type: ComponentDocType;
|
|
86
|
+
slug: string;
|
|
87
|
+
title: string;
|
|
88
|
+
items: Record<string, unknown>[];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Extract documented components from `schema.components`, grouped by type.
|
|
92
|
+
*
|
|
93
|
+
* Only `ui`, `component`, `page` and `block` items are documented — one page
|
|
94
|
+
* per type.
|
|
95
|
+
*/
|
|
96
|
+
declare function extractRegistryItems(components: unknown): RegistryItemPage[];
|
|
97
|
+
/**
|
|
98
|
+
* Extract documented icons from `schema.icons`.
|
|
99
|
+
*/
|
|
100
|
+
declare function extractIcons(icons: unknown): Record<string, unknown>[];
|
|
101
|
+
/**
|
|
102
|
+
* Render an MDX documentation page for all icons.
|
|
103
|
+
*/
|
|
104
|
+
declare function renderIconsMdx(icons: Record<string, unknown>[]): string;
|
|
105
|
+
/**
|
|
106
|
+
* Render an MDX documentation page for all components of a single type.
|
|
107
|
+
*/
|
|
108
|
+
declare function renderRegistryItemsMdx(page: RegistryItemPage): string;
|
|
109
|
+
/**
|
|
110
|
+
* Generate MDX documentation pages from a Razorwind schema.
|
|
111
|
+
*
|
|
112
|
+
* Produces an index page, one page per top-level token group, component
|
|
113
|
+
* pages grouped by type, icon documentation, and a flattened `tokens.json`
|
|
114
|
+
* manifest.
|
|
115
|
+
*/
|
|
116
|
+
declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOptions): GeneratorFunctionResult<Schema, DocgenGeneratePluginOptions>;
|
|
117
|
+
/**
|
|
118
|
+
* Generate MDX documentation pages from a Razorwind schema.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* import { defineConfig } from "@razorwind/core";
|
|
123
|
+
* import docgen from "@razorwind/docgen/generate";
|
|
124
|
+
*
|
|
125
|
+
* export default defineConfig({
|
|
126
|
+
* plugins: [docgen()]
|
|
127
|
+
* });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
declare const _default: (options?: DocgenGeneratePluginOptions | undefined) => import("@razorwind/core/plugin").Plugin;
|
|
131
|
+
//#endregion
|
|
132
|
+
export { tokenGroup as _, RegistryItemType as a, extractRegistryItems as c, groupTokens as d, renderGroupMdx as f, renderTokenTable as g, renderRegistryItemsMdx as h, RegistryItemPage as i, generateDocs as l, renderIndexMdx as m, ComponentDocType as n, _default as o, renderIconsMdx as p, REGISTRY_ITEM_TYPES as r, extractIcons as s, COMPONENT_TYPES as t, generate_d_exports as u, renderInstallMd as v };
|
|
133
|
+
//# sourceMappingURL=generate-Bl-XjHVv.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-Bl-XjHVv.d.cts","names":[],"sources":["../src/install.ts","../src/generate.ts"],"mappings":";;;;;;;iBAqBgB,gBAAgB;EAC9B;EACA;;;;;;iBCcc,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;;;;;;;;iBA2C7B,aACd,MAAM,QACN,UAAS,8BACR,wBAAwB,QAAQ"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.mjs";import{definePlugin as t}from"@razorwind/core/plugin";import{createDocument as n,flattenTokens as r,isObject as i,titleCase as a,toCssVar as o}from"@razorwind/core/utils";import{join as s}from"node:path";function c(e,t={}){let n=t.cssVarPrefix??`rw`;return r(e,{includeTypes:t.includeTypes,enrichToken:e=>({...e,cssVar:o(e.path,n)})})}function l(e){return e.trim().replaceAll(/[^\w-]+/g,`-`).replaceAll(/-{2,}/g,`-`).replaceAll(/^-|-$/g,``).toLowerCase()}function u(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`|`,`\\|`).replaceAll(`<`,`\\<`).replaceAll(`{`,`\\{`).replaceAll(/\r?\n/g,` `)}function d(e){let t=e.title??`Design System`;return`# Installing ${t} Docs
|
|
2
|
+
|
|
3
|
+
Generated by \`@razorwind/docgen\`.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- \`${e.outDir}/index.mdx\` — documentation index
|
|
8
|
+
- \`${e.outDir}/tokens/\` — per-group token pages
|
|
9
|
+
- \`${e.outDir}/tokens.json\` — flattened token manifest
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
1. Wire generated MDX into your docs site (Storybook, Nextra, Docusaurus, etc.).
|
|
14
|
+
|
|
15
|
+
Example for Storybook:
|
|
16
|
+
|
|
17
|
+
\`\`\`ts
|
|
18
|
+
// .storybook/main.ts
|
|
19
|
+
export default {
|
|
20
|
+
stories: ["../${e.outDir}/**/*.mdx"]
|
|
21
|
+
};
|
|
22
|
+
\`\`\`
|
|
23
|
+
|
|
24
|
+
2. Open \`${e.outDir}/index.mdx\` as the **${t}** entry point.
|
|
25
|
+
|
|
26
|
+
3. Re-run Razorwind generate when tokens or registry items change.
|
|
27
|
+
|
|
28
|
+
## Regenerate
|
|
29
|
+
|
|
30
|
+
Docs under \`${e.outDir}/\` are generated output — edit source tokens/components instead of hand-editing MDX.
|
|
31
|
+
`}var f=e({COMPONENT_TYPES:()=>b,REGISTRY_ITEM_TYPES:()=>x,default:()=>z,extractIcons:()=>j,extractRegistryItems:()=>E,generateDocs:()=>R,groupTokens:()=>h,renderGroupMdx:()=>v,renderIconsMdx:()=>F,renderIndexMdx:()=>y,renderInstallMd:()=>d,renderRegistryItemsMdx:()=>I,renderTokenTable:()=>_,tokenGroup:()=>m});function p(e){return`---\n${Object.entries(e).map(([e,t])=>`${e}: ${JSON.stringify(t)}`).join(`
|
|
32
|
+
`)}\n---`}function m(e){return e.path.split(`.`)[0]||`tokens`}function h(e){let t=new Map;for(let n of e){let e=m(n),r=t.get(e)??[];r.push(n),t.set(e,r)}return t}function g(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 _(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`?g(e.cssValue):``]:[],`\`${u(e.path)}\``,e.type?`\`${u(String(e.type))}\``:`—`,`\`${u(e.cssValue)}\``,`\`${u(e.cssVar)}\``,...t?[e.theme?u(e.theme):`—`]:[],...n?[e.description?u(e.description):`—`]:[]].join(` | `)} |`);return[`| ${i.join(` | `)} |`,`| ${i.map(()=>`---`).join(` | `)} |`,...a].join(`
|
|
33
|
+
`)}function v(e,t){let n=a(e),r=[...new Set(t.map(e=>e.theme).filter(Boolean))],i=[p({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(`## ${a(e)}`,_(n))}else i.push(_(t));return`${i.join(`
|
|
34
|
+
|
|
35
|
+
`)}\n`}function y(e){let{title:t,groups:n,hasComponents:r,componentPages:i=[],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`- [${a(e)}](./tokens/${l(e)}.mdx) — ${t} token${t===1?``:`s`}`}),u=[p({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(`
|
|
36
|
+
`):`_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`}`);u.push(`## Components`,e.length>0?e.join(`
|
|
37
|
+
`):`_No components found._`)}return o>0&&u.push(`## Icons`,`- [Icons](./icons.mdx) — ${o} icon${o===1?``:`s`}`),`${u.join(`
|
|
38
|
+
|
|
39
|
+
`)}\n`}const b={ui:{slug:`ui`,title:`UI Primitives`},component:{slug:`components`,title:`Components`},page:{slug:`pages`,title:`Pages`},block:{slug:`blocks`,title:`Blocks`}},x={"registry:ui":b.ui,"registry:component":b.component,"registry:page":b.page,"registry:block":b.block};function S(e,t){let n=e[t];return typeof n==`string`?n:void 0}function C(e,t){let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function w(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 T(e){let t=C(e,`categories`);if(t.length>0)return t;let n=C(e,`tags`),r=S(e,`category`);return[...r?[r]:[],...n.filter(e=>e!==r)]}function E(e){if(!i(e))return[];let t=Object.values(e).filter(i),n=[];for(let[e,r]of Object.entries(b)){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 D(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${u(e)}\` | — | — |`;if(!i(e))return;let t=S(e,`path`);if(!t)return;let n=S(e,`type`),r=S(e,`target`);return`| \`${u(t)}\` | ${n?`\`${u(n)}\``:`—`} | ${r?`\`${u(r)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Target |`,`| --- | --- | --- |`,...t].join(`
|
|
40
|
+
`)}function O(e){let t=e.split(`.`).pop()?.toLowerCase();return t?t===`md`?`markdown`:t:`tsx`}function k(e){return(Array.isArray(e.usage)?e.usage:[]).map(e=>{if(!i(e))return;let t=S(e,`path`),n=S(e,`content`);if(!n)return;let r=S(e,`name`)??(t?t.split(`/`).pop()?.replace(/\.[^.]+$/,``)??`example`:`example`),o=S(e,`title`)??a(r),s=S(e,`description`),c=S(e,`language`)??(t?O(t):`tsx`),l=[`#### ${o}`];return s&&l.push(s),l.push(`\`\`\`${c}\n${n.trimEnd()}\n\`\`\``),l.join(`
|
|
41
|
+
|
|
42
|
+
`)}).filter(e=>e!==void 0).join(`
|
|
43
|
+
|
|
44
|
+
`)}function A(e){let t=S(e,`name`)??`unknown`,n=S(e,`title`)??a(t),r=S(e,`description`),i=S(e,`author`),o=T(e),s=w(e,`dependencies`),c=w(e,`registryDependencies`),l=[`## ${n}`];r&&l.push(r);let d=[`- **Name:** \`${t}\``,`- **Type:** \`${String(e.type)}\``,...i?[`- **Author:** ${u(i)}`]:[],...o.length>0?[`- **Categories:** ${o.map(e=>`\`${e}\``).join(`, `)}`]:[]];l.push(d.join(`
|
|
45
|
+
`)),s.length>0&&l.push(`### Dependencies`,s.map(e=>`- \`${e}\``).join(`
|
|
46
|
+
`)),c.length>0&&l.push(`### Registry Dependencies`,c.map(e=>`- \`${e}\``).join(`
|
|
47
|
+
`));let f=D(e);f&&l.push(`### Files`,f);let p=k(e);return p&&l.push(`### Usage`,p),l.join(`
|
|
48
|
+
|
|
49
|
+
`)}function j(e){return i(e)?Object.values(e).filter(i).toSorted((e,t)=>(S(e,`name`)??``).localeCompare(S(t,`name`)??``)):[]}function M(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${u(e)}\` | — | — | — |`;if(!i(e))return;let t=S(e,`path`);if(!t)return;let n=S(e,`type`),r=S(e,`theme`),a=S(e,`target`);return`| \`${u(t)}\` | ${n?`\`${u(n)}\``:`—`} | ${r?`\`${u(r)}\``:`—`} | ${a?`\`${u(a)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Theme | Target |`,`| --- | --- | --- | --- |`,...t].join(`
|
|
50
|
+
`)}function N(e){let t=(Array.isArray(e.files)?e.files:[]).find(e=>i(e)&&S(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(`
|
|
51
|
+
|
|
52
|
+
`)}function P(e){let t=S(e,`name`)??`unknown`,n=S(e,`title`)??a(t),r=S(e,`description`),i=S(e,`category`),o=C(e,`tags`),s=C(e,`aliases`),c=[`## ${n}`];r&&c.push(r);let l=[`- **Name:** \`${t}\``,...i?[`- **Category:** \`${i}\``]:[],...o.length>0?[`- **Tags:** ${o.map(e=>`\`${e}\``).join(`, `)}`]:[],...s.length>0?[`- **Aliases:** ${s.map(e=>`\`${e}\``).join(`, `)}`]:[]];c.push(l.join(`
|
|
53
|
+
`));let u=N(e);u&&c.push(u);let d=M(e);return d&&c.push(`### Files`,d),c.join(`
|
|
54
|
+
|
|
55
|
+
`)}function F(e){let t=[p({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(P(n));return`${t.join(`
|
|
56
|
+
|
|
57
|
+
`)}\n`}function I(e){let t=[p({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)=>(S(e,`name`)??``).localeCompare(S(t,`name`)??``));for(let e of n)t.push(A(e));return`${t.join(`
|
|
58
|
+
|
|
59
|
+
`)}\n`}function L(e,t,r){return n(e,t,{name:`docgen`},r)}function R(e,t={}){let n=t.outDir??`docs/design-system`,r=t.title??`Design System`,i=c(e.tokens,t),a=h(i),o=t.skipRegistry?[]:E(e.components),u=o.length>0,f=t.skipIcons?[]:j(e.icons),p={[s(n,`index.mdx`)]:L(s(n,`index.mdx`),y({title:r,groups:a,hasComponents:u,componentPages:o.map(e=>({slug:e.slug,title:e.title,count:e.items.length})),iconCount:f.length}),`mdx`)};for(let[e,t]of a){let r=s(n,`tokens`,`${l(e)}.mdx`);p[r]=L(r,v(e,t),`mdx`)}for(let e of o){let t=s(n,`registry`,`${e.slug}.mdx`);p[t]=L(t,I(e),`mdx`)}if(f.length>0){let e=s(n,`icons.mdx`);p[e]=L(e,F(f),`mdx`)}p[s(n,`tokens.json`)]=L(s(n,`tokens.json`),`${JSON.stringify(i,null,2)}\n`,`json`);let m=t.installGuide??d({outDir:n,title:r}),g=s(n,`INSTALL.md`);return p[g]=L(g,m,`markdown`),p}var z=t(e=>({name:`docgen:generate`,generate:async t=>R(t,e??{})}));export{R as a,h as c,y as d,I as f,d as h,E as i,v as l,m,x as n,z as o,_ as p,j as r,f as s,b as t,F as u};
|
|
60
|
+
//# sourceMappingURL=generate-CXRg2yXU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-CXRg2yXU.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
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,t={}){let r=t.cssVarPrefix??`rw`;return(0,n.flattenTokens)(e,{includeTypes:t.includeTypes,enrichToken:e=>({...e,cssVar:(0,n.toCssVar)(e.path,r)})})}function a(e){return e.trim().replaceAll(/[^\w-]+/g,`-`).replaceAll(/-{2,}/g,`-`).replaceAll(/^-|-$/g,``).toLowerCase()}function o(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`|`,`\\|`).replaceAll(`<`,`\\<`).replaceAll(`{`,`\\{`).replaceAll(/\r?\n/g,` `)}function s(e){let t=e.title??`Design System`;return`# Installing ${t} Docs
|
|
2
|
+
|
|
3
|
+
Generated by \`@razorwind/docgen\`.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- \`${e.outDir}/index.mdx\` — documentation index
|
|
8
|
+
- \`${e.outDir}/tokens/\` — per-group token pages
|
|
9
|
+
- \`${e.outDir}/tokens.json\` — flattened token manifest
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
1. Wire generated MDX into your docs site (Storybook, Nextra, Docusaurus, etc.).
|
|
14
|
+
|
|
15
|
+
Example for Storybook:
|
|
16
|
+
|
|
17
|
+
\`\`\`ts
|
|
18
|
+
// .storybook/main.ts
|
|
19
|
+
export default {
|
|
20
|
+
stories: ["../${e.outDir}/**/*.mdx"]
|
|
21
|
+
};
|
|
22
|
+
\`\`\`
|
|
23
|
+
|
|
24
|
+
2. Open \`${e.outDir}/index.mdx\` as the **${t}** entry point.
|
|
25
|
+
|
|
26
|
+
3. Re-run Razorwind generate when tokens or registry items change.
|
|
27
|
+
|
|
28
|
+
## Regenerate
|
|
29
|
+
|
|
30
|
+
Docs under \`${e.outDir}/\` are generated output — edit source tokens/components instead of hand-editing MDX.
|
|
31
|
+
`}var c=e.t({COMPONENT_TYPES:()=>g,REGISTRY_ITEM_TYPES:()=>_,default:()=>F,extractIcons:()=>D,extractRegistryItems:()=>S,generateDocs:()=>P,groupTokens:()=>d,renderGroupMdx:()=>m,renderIconsMdx:()=>j,renderIndexMdx:()=>h,renderInstallMd:()=>s,renderRegistryItemsMdx:()=>M,renderTokenTable:()=>p,tokenGroup:()=>u});function l(e){return`---\n${Object.entries(e).map(([e,t])=>`${e}: ${JSON.stringify(t)}`).join(`
|
|
32
|
+
`)}\n---`}function u(e){return e.path.split(`.`)[0]||`tokens`}function d(e){let t=new Map;for(let n of e){let e=u(n),r=t.get(e)??[];r.push(n),t.set(e,r)}return t}function f(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 p(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`?f(e.cssValue):``]:[],`\`${o(e.path)}\``,e.type?`\`${o(String(e.type))}\``:`—`,`\`${o(e.cssValue)}\``,`\`${o(e.cssVar)}\``,...t?[e.theme?o(e.theme):`—`]:[],...n?[e.description?o(e.description):`—`]:[]].join(` | `)} |`);return[`| ${i.join(` | `)} |`,`| ${i.map(()=>`---`).join(` | `)} |`,...a].join(`
|
|
33
|
+
`)}function m(e,t){let r=(0,n.titleCase)(e),i=[...new Set(t.map(e=>e.theme).filter(Boolean))],a=[l({title:r,description:`${r} design tokens for the Razorwind design system.`}),`# ${r}`,`${t.length} token${t.length===1?``:`s`} in the \`${e}\` group.`];if(i.length>1)for(let e of i.toSorted((e,t)=>e.localeCompare(t))){let r=t.filter(t=>t.theme===e);a.push(`## ${(0,n.titleCase)(e)}`,p(r))}else a.push(p(t));return`${a.join(`
|
|
34
|
+
|
|
35
|
+
`)}\n`}function h(e){let{title:t,groups:r,hasComponents:i,componentPages:o=[],iconCount:s=0}=e,c=[...r.values()].reduce((e,t)=>e+t.length,0),u=[...r.keys()].toSorted((e,t)=>e.localeCompare(t)).map(e=>{let t=r.get(e)?.length??0;return`- [${(0,n.titleCase)(e)}](./tokens/${a(e)}.mdx) — ${t} token${t===1?``:`s`}`}),d=[l({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 ${c} design token${c===1?``:`s`} across ${r.size} group${r.size===1?``:`s`}.`,`## Design Tokens`,u.length>0?u.join(`
|
|
36
|
+
`):`_No design tokens found._`];if(i||o.length>0){let e=o.map(e=>`- [${e.title}](./registry/${e.slug}.mdx) — ${e.count} item${e.count===1?``:`s`}`);d.push(`## Components`,e.length>0?e.join(`
|
|
37
|
+
`):`_No components found._`)}return s>0&&d.push(`## Icons`,`- [Icons](./icons.mdx) — ${s} icon${s===1?``:`s`}`),`${d.join(`
|
|
38
|
+
|
|
39
|
+
`)}\n`}const g={ui:{slug:`ui`,title:`UI Primitives`},component:{slug:`components`,title:`Components`},page:{slug:`pages`,title:`Pages`},block:{slug:`blocks`,title:`Blocks`}},_={"registry:ui":g.ui,"registry:component":g.component,"registry:page":g.page,"registry:block":g.block};function v(e,t){let n=e[t];return typeof n==`string`?n:void 0}function y(e,t){let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function b(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 x(e){let t=y(e,`categories`);if(t.length>0)return t;let n=y(e,`tags`),r=v(e,`category`);return[...r?[r]:[],...n.filter(e=>e!==r)]}function S(e){if(!(0,n.isObject)(e))return[];let t=Object.values(e).filter(n.isObject),r=[];for(let[e,n]of Object.entries(g)){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 C(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${o(e)}\` | — | — |`;if(!(0,n.isObject)(e))return;let t=v(e,`path`);if(!t)return;let r=v(e,`type`),i=v(e,`target`);return`| \`${o(t)}\` | ${r?`\`${o(r)}\``:`—`} | ${i?`\`${o(i)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Target |`,`| --- | --- | --- |`,...t].join(`
|
|
40
|
+
`)}function w(e){let t=e.split(`.`).pop()?.toLowerCase();return t?t===`md`?`markdown`:t:`tsx`}function T(e){return(Array.isArray(e.usage)?e.usage:[]).map(e=>{if(!(0,n.isObject)(e))return;let t=v(e,`path`),r=v(e,`content`);if(!r)return;let i=v(e,`name`)??(t?t.split(`/`).pop()?.replace(/\.[^.]+$/,``)??`example`:`example`),a=v(e,`title`)??(0,n.titleCase)(i),o=v(e,`description`),s=v(e,`language`)??(t?w(t):`tsx`),c=[`#### ${a}`];return o&&c.push(o),c.push(`\`\`\`${s}\n${r.trimEnd()}\n\`\`\``),c.join(`
|
|
41
|
+
|
|
42
|
+
`)}).filter(e=>e!==void 0).join(`
|
|
43
|
+
|
|
44
|
+
`)}function E(e){let t=v(e,`name`)??`unknown`,r=v(e,`title`)??(0,n.titleCase)(t),i=v(e,`description`),a=v(e,`author`),s=x(e),c=b(e,`dependencies`),l=b(e,`registryDependencies`),u=[`## ${r}`];i&&u.push(i);let d=[`- **Name:** \`${t}\``,`- **Type:** \`${String(e.type)}\``,...a?[`- **Author:** ${o(a)}`]:[],...s.length>0?[`- **Categories:** ${s.map(e=>`\`${e}\``).join(`, `)}`]:[]];u.push(d.join(`
|
|
45
|
+
`)),c.length>0&&u.push(`### Dependencies`,c.map(e=>`- \`${e}\``).join(`
|
|
46
|
+
`)),l.length>0&&u.push(`### Registry Dependencies`,l.map(e=>`- \`${e}\``).join(`
|
|
47
|
+
`));let f=C(e);f&&u.push(`### Files`,f);let p=T(e);return p&&u.push(`### Usage`,p),u.join(`
|
|
48
|
+
|
|
49
|
+
`)}function D(e){return(0,n.isObject)(e)?Object.values(e).filter(n.isObject).toSorted((e,t)=>(v(e,`name`)??``).localeCompare(v(t,`name`)??``)):[]}function O(e){let t=(Array.isArray(e.files)?e.files:[]).map(e=>{if(typeof e==`string`)return`| \`${o(e)}\` | — | — | — |`;if(!(0,n.isObject)(e))return;let t=v(e,`path`);if(!t)return;let r=v(e,`type`),i=v(e,`theme`),a=v(e,`target`);return`| \`${o(t)}\` | ${r?`\`${o(r)}\``:`—`} | ${i?`\`${o(i)}\``:`—`} | ${a?`\`${o(a)}\``:`—`} |`}).filter(e=>e!==void 0);return t.length===0?``:[`| Path | Type | Theme | Target |`,`| --- | --- | --- | --- |`,...t].join(`
|
|
50
|
+
`)}function k(e){let t=(Array.isArray(e.files)?e.files:[]).find(e=>(0,n.isObject)(e)&&v(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(`
|
|
51
|
+
|
|
52
|
+
`)}function A(e){let t=v(e,`name`)??`unknown`,r=v(e,`title`)??(0,n.titleCase)(t),i=v(e,`description`),a=v(e,`category`),o=y(e,`tags`),s=y(e,`aliases`),c=[`## ${r}`];i&&c.push(i);let l=[`- **Name:** \`${t}\``,...a?[`- **Category:** \`${a}\``]:[],...o.length>0?[`- **Tags:** ${o.map(e=>`\`${e}\``).join(`, `)}`]:[],...s.length>0?[`- **Aliases:** ${s.map(e=>`\`${e}\``).join(`, `)}`]:[]];c.push(l.join(`
|
|
53
|
+
`));let u=k(e);u&&c.push(u);let d=O(e);return d&&c.push(`### Files`,d),c.join(`
|
|
54
|
+
|
|
55
|
+
`)}function j(e){let t=[l({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(A(n));return`${t.join(`
|
|
56
|
+
|
|
57
|
+
`)}\n`}function M(e){let t=[l({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)=>(v(e,`name`)??``).localeCompare(v(t,`name`)??``));for(let e of n)t.push(E(e));return`${t.join(`
|
|
58
|
+
|
|
59
|
+
`)}\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`,o=t.title??`Design System`,c=i(e.tokens,t),l=d(c),u=t.skipRegistry?[]:S(e.components),f=u.length>0,p=t.skipIcons?[]:D(e.icons),g={[(0,r.join)(n,`index.mdx`)]:N((0,r.join)(n,`index.mdx`),h({title:o,groups:l,hasComponents:f,componentPages:u.map(e=>({slug:e.slug,title:e.title,count:e.items.length})),iconCount:p.length}),`mdx`)};for(let[e,t]of l){let i=(0,r.join)(n,`tokens`,`${a(e)}.mdx`);g[i]=N(i,m(e,t),`mdx`)}for(let e of u){let t=(0,r.join)(n,`registry`,`${e.slug}.mdx`);g[t]=N(t,M(e),`mdx`)}if(p.length>0){let e=(0,r.join)(n,`icons.mdx`);g[e]=N(e,j(p),`mdx`)}g[(0,r.join)(n,`tokens.json`)]=N((0,r.join)(n,`tokens.json`),`${JSON.stringify(c,null,2)}\n`,`json`);let _=t.installGuide??s({outDir:n,title:o}),v=(0,r.join)(n,`INSTALL.md`);return g[v]=N(v,_,`markdown`),g}var F=(0,t.definePlugin)(e=>({name:`docgen:generate`,generate:async t=>P(t,e??{})}));Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return j}});
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { n as DocgenGeneratePluginOptions, r as FlatToken } from "./types-Df_Xoq3m.mjs";
|
|
2
|
+
import { GeneratorFunctionResult } from "@power-plant/core";
|
|
3
|
+
import { Schema } from "@razorwind/core/schema";
|
|
4
|
+
//#region src/install.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Build docgen INSTALL.md for generated MDX documentation.
|
|
7
|
+
*/
|
|
8
|
+
declare function renderInstallMd(options: {
|
|
9
|
+
outDir: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
}): string;
|
|
12
|
+
declare namespace generate_d_exports {
|
|
13
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderInstallMd, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
14
|
+
}
|
|
15
|
+
/** Top-level path segment used to group tokens into pages. */
|
|
16
|
+
declare function tokenGroup(token: FlatToken): string;
|
|
17
|
+
/**
|
|
18
|
+
* Group flattened tokens by their top-level path segment.
|
|
19
|
+
*/
|
|
20
|
+
declare function groupTokens(tokens: FlatToken[]): Map<string, FlatToken[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Render a markdown token table for a set of flattened tokens.
|
|
23
|
+
*/
|
|
24
|
+
declare function renderTokenTable(tokens: FlatToken[]): string;
|
|
25
|
+
/**
|
|
26
|
+
* Render an MDX documentation page for a single token group.
|
|
27
|
+
*/
|
|
28
|
+
declare function renderGroupMdx(group: string, tokens: FlatToken[]): string;
|
|
29
|
+
/**
|
|
30
|
+
* Render the documentation index page linking to every generated page.
|
|
31
|
+
*/
|
|
32
|
+
declare function renderIndexMdx(input: {
|
|
33
|
+
title: string;
|
|
34
|
+
groups: Map<string, FlatToken[]>;
|
|
35
|
+
hasComponents: boolean;
|
|
36
|
+
componentPages?: {
|
|
37
|
+
slug: string;
|
|
38
|
+
title: string;
|
|
39
|
+
count: number;
|
|
40
|
+
}[];
|
|
41
|
+
iconCount?: number;
|
|
42
|
+
}): string;
|
|
43
|
+
/** Component types that receive a dedicated documentation page. */
|
|
44
|
+
declare const COMPONENT_TYPES: {
|
|
45
|
+
readonly ui: {
|
|
46
|
+
readonly slug: "ui";
|
|
47
|
+
readonly title: "UI Primitives";
|
|
48
|
+
};
|
|
49
|
+
readonly component: {
|
|
50
|
+
readonly slug: "components";
|
|
51
|
+
readonly title: "Components";
|
|
52
|
+
};
|
|
53
|
+
readonly page: {
|
|
54
|
+
readonly slug: "pages";
|
|
55
|
+
readonly title: "Pages";
|
|
56
|
+
};
|
|
57
|
+
readonly block: {
|
|
58
|
+
readonly slug: "blocks";
|
|
59
|
+
readonly title: "Blocks";
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/** @deprecated Use {@link COMPONENT_TYPES}. */
|
|
63
|
+
declare const REGISTRY_ITEM_TYPES: {
|
|
64
|
+
readonly "registry:ui": {
|
|
65
|
+
readonly slug: "ui";
|
|
66
|
+
readonly title: "UI Primitives";
|
|
67
|
+
};
|
|
68
|
+
readonly "registry:component": {
|
|
69
|
+
readonly slug: "components";
|
|
70
|
+
readonly title: "Components";
|
|
71
|
+
};
|
|
72
|
+
readonly "registry:page": {
|
|
73
|
+
readonly slug: "pages";
|
|
74
|
+
readonly title: "Pages";
|
|
75
|
+
};
|
|
76
|
+
readonly "registry:block": {
|
|
77
|
+
readonly slug: "blocks";
|
|
78
|
+
readonly title: "Blocks";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
type ComponentDocType = keyof typeof COMPONENT_TYPES;
|
|
82
|
+
type RegistryItemType = keyof typeof REGISTRY_ITEM_TYPES;
|
|
83
|
+
/** A documented component type together with its matching items. */
|
|
84
|
+
interface RegistryItemPage {
|
|
85
|
+
type: ComponentDocType;
|
|
86
|
+
slug: string;
|
|
87
|
+
title: string;
|
|
88
|
+
items: Record<string, unknown>[];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Extract documented components from `schema.components`, grouped by type.
|
|
92
|
+
*
|
|
93
|
+
* Only `ui`, `component`, `page` and `block` items are documented — one page
|
|
94
|
+
* per type.
|
|
95
|
+
*/
|
|
96
|
+
declare function extractRegistryItems(components: unknown): RegistryItemPage[];
|
|
97
|
+
/**
|
|
98
|
+
* Extract documented icons from `schema.icons`.
|
|
99
|
+
*/
|
|
100
|
+
declare function extractIcons(icons: unknown): Record<string, unknown>[];
|
|
101
|
+
/**
|
|
102
|
+
* Render an MDX documentation page for all icons.
|
|
103
|
+
*/
|
|
104
|
+
declare function renderIconsMdx(icons: Record<string, unknown>[]): string;
|
|
105
|
+
/**
|
|
106
|
+
* Render an MDX documentation page for all components of a single type.
|
|
107
|
+
*/
|
|
108
|
+
declare function renderRegistryItemsMdx(page: RegistryItemPage): string;
|
|
109
|
+
/**
|
|
110
|
+
* Generate MDX documentation pages from a Razorwind schema.
|
|
111
|
+
*
|
|
112
|
+
* Produces an index page, one page per top-level token group, component
|
|
113
|
+
* pages grouped by type, icon documentation, and a flattened `tokens.json`
|
|
114
|
+
* manifest.
|
|
115
|
+
*/
|
|
116
|
+
declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOptions): GeneratorFunctionResult<Schema, DocgenGeneratePluginOptions>;
|
|
117
|
+
/**
|
|
118
|
+
* Generate MDX documentation pages from a Razorwind schema.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* import { defineConfig } from "@razorwind/core";
|
|
123
|
+
* import docgen from "@razorwind/docgen/generate";
|
|
124
|
+
*
|
|
125
|
+
* export default defineConfig({
|
|
126
|
+
* plugins: [docgen()]
|
|
127
|
+
* });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
declare const _default: (options?: DocgenGeneratePluginOptions | undefined) => import("@razorwind/core/plugin").Plugin;
|
|
131
|
+
//#endregion
|
|
132
|
+
export { tokenGroup as _, RegistryItemType as a, extractRegistryItems as c, groupTokens as d, renderGroupMdx as f, renderTokenTable as g, renderRegistryItemsMdx as h, RegistryItemPage as i, generateDocs as l, renderIndexMdx as m, ComponentDocType as n, _default as o, renderIconsMdx as p, REGISTRY_ITEM_TYPES as r, extractIcons as s, COMPONENT_TYPES as t, generate_d_exports as u, renderInstallMd as v };
|
|
133
|
+
//# sourceMappingURL=generate-tgHJ7N42.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-tgHJ7N42.d.mts","names":[],"sources":["../src/install.ts","../src/generate.ts"],"mappings":""}
|
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-ZyNHz9gq.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.renderInstallMd=e.h,exports.renderRegistryItemsMdx=e.f,exports.renderTokenTable=e.p,exports.tokenGroup=e.m;
|
package/dist/generate.d.cts
CHANGED
|
@@ -1,125 +1,2 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
|
|
3
|
-
import { Schema } from "@razorwind/core/schema";
|
|
4
|
-
declare namespace generate_d_exports {
|
|
5
|
-
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
6
|
-
}
|
|
7
|
-
/** Top-level path segment used to group tokens into pages. */
|
|
8
|
-
declare function tokenGroup(token: FlatToken): string;
|
|
9
|
-
/**
|
|
10
|
-
* Group flattened tokens by their top-level path segment.
|
|
11
|
-
*/
|
|
12
|
-
declare function groupTokens(tokens: FlatToken[]): Map<string, FlatToken[]>;
|
|
13
|
-
/**
|
|
14
|
-
* Render a markdown token table for a set of flattened tokens.
|
|
15
|
-
*/
|
|
16
|
-
declare function renderTokenTable(tokens: FlatToken[]): string;
|
|
17
|
-
/**
|
|
18
|
-
* Render an MDX documentation page for a single token group.
|
|
19
|
-
*/
|
|
20
|
-
declare function renderGroupMdx(group: string, tokens: FlatToken[]): string;
|
|
21
|
-
/**
|
|
22
|
-
* Render the documentation index page linking to every generated page.
|
|
23
|
-
*/
|
|
24
|
-
declare function renderIndexMdx(input: {
|
|
25
|
-
title: string;
|
|
26
|
-
groups: Map<string, FlatToken[]>;
|
|
27
|
-
hasComponents: boolean;
|
|
28
|
-
componentPages?: {
|
|
29
|
-
slug: string;
|
|
30
|
-
title: string;
|
|
31
|
-
count: number;
|
|
32
|
-
}[];
|
|
33
|
-
iconCount?: number;
|
|
34
|
-
}): string;
|
|
35
|
-
/** Component types that receive a dedicated documentation page. */
|
|
36
|
-
declare const COMPONENT_TYPES: {
|
|
37
|
-
readonly ui: {
|
|
38
|
-
readonly slug: "ui";
|
|
39
|
-
readonly title: "UI Primitives";
|
|
40
|
-
};
|
|
41
|
-
readonly component: {
|
|
42
|
-
readonly slug: "components";
|
|
43
|
-
readonly title: "Components";
|
|
44
|
-
};
|
|
45
|
-
readonly page: {
|
|
46
|
-
readonly slug: "pages";
|
|
47
|
-
readonly title: "Pages";
|
|
48
|
-
};
|
|
49
|
-
readonly block: {
|
|
50
|
-
readonly slug: "blocks";
|
|
51
|
-
readonly title: "Blocks";
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
/** @deprecated Use {@link COMPONENT_TYPES}. */
|
|
55
|
-
declare const REGISTRY_ITEM_TYPES: {
|
|
56
|
-
readonly "registry:ui": {
|
|
57
|
-
readonly slug: "ui";
|
|
58
|
-
readonly title: "UI Primitives";
|
|
59
|
-
};
|
|
60
|
-
readonly "registry:component": {
|
|
61
|
-
readonly slug: "components";
|
|
62
|
-
readonly title: "Components";
|
|
63
|
-
};
|
|
64
|
-
readonly "registry:page": {
|
|
65
|
-
readonly slug: "pages";
|
|
66
|
-
readonly title: "Pages";
|
|
67
|
-
};
|
|
68
|
-
readonly "registry:block": {
|
|
69
|
-
readonly slug: "blocks";
|
|
70
|
-
readonly title: "Blocks";
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
type ComponentDocType = keyof typeof COMPONENT_TYPES;
|
|
74
|
-
type RegistryItemType = keyof typeof REGISTRY_ITEM_TYPES;
|
|
75
|
-
/** A documented component type together with its matching items. */
|
|
76
|
-
interface RegistryItemPage {
|
|
77
|
-
type: ComponentDocType;
|
|
78
|
-
slug: string;
|
|
79
|
-
title: string;
|
|
80
|
-
items: Record<string, unknown>[];
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Extract documented components from `schema.components`, grouped by type.
|
|
84
|
-
*
|
|
85
|
-
* Only `ui`, `component`, `page` and `block` items are documented — one page
|
|
86
|
-
* per type.
|
|
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;
|
|
97
|
-
/**
|
|
98
|
-
* Render an MDX documentation page for all components of a single type.
|
|
99
|
-
*/
|
|
100
|
-
declare function renderRegistryItemsMdx(page: RegistryItemPage): string;
|
|
101
|
-
/**
|
|
102
|
-
* Generate MDX documentation pages from a Razorwind schema.
|
|
103
|
-
*
|
|
104
|
-
* Produces an index page, one page per top-level token group, component
|
|
105
|
-
* pages grouped by type, icon documentation, and a flattened `tokens.json`
|
|
106
|
-
* manifest.
|
|
107
|
-
*/
|
|
108
|
-
declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOptions): GeneratorFunctionResult<Schema, DocgenGeneratePluginOptions>;
|
|
109
|
-
/**
|
|
110
|
-
* Generate MDX documentation pages from a Razorwind schema.
|
|
111
|
-
*
|
|
112
|
-
* @example
|
|
113
|
-
* ```ts
|
|
114
|
-
* import { defineConfig } from "@razorwind/core";
|
|
115
|
-
* import docgen from "@razorwind/docgen/generate";
|
|
116
|
-
*
|
|
117
|
-
* export default defineConfig({
|
|
118
|
-
* plugins: [docgen()]
|
|
119
|
-
* });
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
declare const _default: (options?: DocgenGeneratePluginOptions | undefined) => import("@razorwind/core/plugin").Plugin;
|
|
123
|
-
//#endregion
|
|
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 };
|
|
125
|
-
//# sourceMappingURL=generate.d.cts.map
|
|
1
|
+
import { _ as tokenGroup, a as RegistryItemType, c as extractRegistryItems, d as groupTokens, f as renderGroupMdx, g as renderTokenTable, h as renderRegistryItemsMdx, i as RegistryItemPage, l as generateDocs, m as renderIndexMdx, n as ComponentDocType, o as _default, p as renderIconsMdx, r as REGISTRY_ITEM_TYPES, s as extractIcons, t as COMPONENT_TYPES, v as renderInstallMd } from "./generate-Bl-XjHVv.cjs";
|
|
2
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderInstallMd, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
package/dist/generate.d.mts
CHANGED
|
@@ -1,125 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
import { Schema } from "@razorwind/core/schema";
|
|
4
|
-
declare namespace generate_d_exports {
|
|
5
|
-
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
|
6
|
-
}
|
|
7
|
-
/** Top-level path segment used to group tokens into pages. */
|
|
8
|
-
declare function tokenGroup(token: FlatToken): string;
|
|
9
|
-
/**
|
|
10
|
-
* Group flattened tokens by their top-level path segment.
|
|
11
|
-
*/
|
|
12
|
-
declare function groupTokens(tokens: FlatToken[]): Map<string, FlatToken[]>;
|
|
13
|
-
/**
|
|
14
|
-
* Render a markdown token table for a set of flattened tokens.
|
|
15
|
-
*/
|
|
16
|
-
declare function renderTokenTable(tokens: FlatToken[]): string;
|
|
17
|
-
/**
|
|
18
|
-
* Render an MDX documentation page for a single token group.
|
|
19
|
-
*/
|
|
20
|
-
declare function renderGroupMdx(group: string, tokens: FlatToken[]): string;
|
|
21
|
-
/**
|
|
22
|
-
* Render the documentation index page linking to every generated page.
|
|
23
|
-
*/
|
|
24
|
-
declare function renderIndexMdx(input: {
|
|
25
|
-
title: string;
|
|
26
|
-
groups: Map<string, FlatToken[]>;
|
|
27
|
-
hasComponents: boolean;
|
|
28
|
-
componentPages?: {
|
|
29
|
-
slug: string;
|
|
30
|
-
title: string;
|
|
31
|
-
count: number;
|
|
32
|
-
}[];
|
|
33
|
-
iconCount?: number;
|
|
34
|
-
}): string;
|
|
35
|
-
/** Component types that receive a dedicated documentation page. */
|
|
36
|
-
declare const COMPONENT_TYPES: {
|
|
37
|
-
readonly ui: {
|
|
38
|
-
readonly slug: "ui";
|
|
39
|
-
readonly title: "UI Primitives";
|
|
40
|
-
};
|
|
41
|
-
readonly component: {
|
|
42
|
-
readonly slug: "components";
|
|
43
|
-
readonly title: "Components";
|
|
44
|
-
};
|
|
45
|
-
readonly page: {
|
|
46
|
-
readonly slug: "pages";
|
|
47
|
-
readonly title: "Pages";
|
|
48
|
-
};
|
|
49
|
-
readonly block: {
|
|
50
|
-
readonly slug: "blocks";
|
|
51
|
-
readonly title: "Blocks";
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
/** @deprecated Use {@link COMPONENT_TYPES}. */
|
|
55
|
-
declare const REGISTRY_ITEM_TYPES: {
|
|
56
|
-
readonly "registry:ui": {
|
|
57
|
-
readonly slug: "ui";
|
|
58
|
-
readonly title: "UI Primitives";
|
|
59
|
-
};
|
|
60
|
-
readonly "registry:component": {
|
|
61
|
-
readonly slug: "components";
|
|
62
|
-
readonly title: "Components";
|
|
63
|
-
};
|
|
64
|
-
readonly "registry:page": {
|
|
65
|
-
readonly slug: "pages";
|
|
66
|
-
readonly title: "Pages";
|
|
67
|
-
};
|
|
68
|
-
readonly "registry:block": {
|
|
69
|
-
readonly slug: "blocks";
|
|
70
|
-
readonly title: "Blocks";
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
type ComponentDocType = keyof typeof COMPONENT_TYPES;
|
|
74
|
-
type RegistryItemType = keyof typeof REGISTRY_ITEM_TYPES;
|
|
75
|
-
/** A documented component type together with its matching items. */
|
|
76
|
-
interface RegistryItemPage {
|
|
77
|
-
type: ComponentDocType;
|
|
78
|
-
slug: string;
|
|
79
|
-
title: string;
|
|
80
|
-
items: Record<string, unknown>[];
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Extract documented components from `schema.components`, grouped by type.
|
|
84
|
-
*
|
|
85
|
-
* Only `ui`, `component`, `page` and `block` items are documented — one page
|
|
86
|
-
* per type.
|
|
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;
|
|
97
|
-
/**
|
|
98
|
-
* Render an MDX documentation page for all components of a single type.
|
|
99
|
-
*/
|
|
100
|
-
declare function renderRegistryItemsMdx(page: RegistryItemPage): string;
|
|
101
|
-
/**
|
|
102
|
-
* Generate MDX documentation pages from a Razorwind schema.
|
|
103
|
-
*
|
|
104
|
-
* Produces an index page, one page per top-level token group, component
|
|
105
|
-
* pages grouped by type, icon documentation, and a flattened `tokens.json`
|
|
106
|
-
* manifest.
|
|
107
|
-
*/
|
|
108
|
-
declare function generateDocs(spec: Schema, options?: DocgenGeneratePluginOptions): GeneratorFunctionResult<Schema, DocgenGeneratePluginOptions>;
|
|
109
|
-
/**
|
|
110
|
-
* Generate MDX documentation pages from a Razorwind schema.
|
|
111
|
-
*
|
|
112
|
-
* @example
|
|
113
|
-
* ```ts
|
|
114
|
-
* import { defineConfig } from "@razorwind/core";
|
|
115
|
-
* import docgen from "@razorwind/docgen/generate";
|
|
116
|
-
*
|
|
117
|
-
* export default defineConfig({
|
|
118
|
-
* plugins: [docgen()]
|
|
119
|
-
* });
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
declare const _default: (options?: DocgenGeneratePluginOptions | undefined) => import("@razorwind/core/plugin").Plugin;
|
|
123
|
-
//#endregion
|
|
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 };
|
|
125
|
-
//# sourceMappingURL=generate.d.mts.map
|
|
1
|
+
import { _ as tokenGroup, a as RegistryItemType, c as extractRegistryItems, d as groupTokens, f as renderGroupMdx, g as renderTokenTable, h as renderRegistryItemsMdx, i as RegistryItemPage, l as generateDocs, m as renderIndexMdx, n as ComponentDocType, o as _default, p as renderIconsMdx, r as REGISTRY_ITEM_TYPES, s as extractIcons, t as COMPONENT_TYPES, v as renderInstallMd } from "./generate-tgHJ7N42.mjs";
|
|
2
|
+
export { COMPONENT_TYPES, ComponentDocType, REGISTRY_ITEM_TYPES, RegistryItemPage, RegistryItemType, _default as default, extractIcons, extractRegistryItems, generateDocs, groupTokens, renderGroupMdx, renderIconsMdx, renderIndexMdx, renderInstallMd, renderRegistryItemsMdx, renderTokenTable, tokenGroup };
|
package/dist/generate.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,d as n,f as r,i,
|
|
1
|
+
import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,t as f,u as p}from"./generate-CXRg2yXU.mjs";export{f as COMPONENT_TYPES,c as REGISTRY_ITEM_TYPES,l as default,d as extractIcons,a as extractRegistryItems,e as generateDocs,t as groupTokens,o as renderGroupMdx,p as renderIconsMdx,n as renderIndexMdx,i as renderInstallMd,r as renderRegistryItemsMdx,u as renderTokenTable,s 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-ZyNHz9gq.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.d.cts
CHANGED
package/dist/index.d.mts
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./extract.mjs";import{s as t}from"./generate-
|
|
1
|
+
import{t as e}from"./extract.mjs";import{s as t}from"./generate-CXRg2yXU.mjs";export{e as extract,t as generate};
|
|
@@ -43,6 +43,11 @@ interface DocgenGeneratePluginOptions {
|
|
|
43
43
|
* @defaultValue `false`
|
|
44
44
|
*/
|
|
45
45
|
skipIcons?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Override body for generated `INSTALL.md`. When omitted, doc site wiring
|
|
48
|
+
* steps are generated for the output directory.
|
|
49
|
+
*/
|
|
50
|
+
installGuide?: string;
|
|
46
51
|
}
|
|
47
52
|
/**
|
|
48
53
|
* A flattened design token ready for documentation rendering.
|
|
@@ -65,4 +70,4 @@ interface FlatToken {
|
|
|
65
70
|
}
|
|
66
71
|
//#endregion
|
|
67
72
|
export { DocgenGeneratePluginOptions as n, FlatToken as r, DocgenExtractPluginOptions as t };
|
|
68
|
-
//# sourceMappingURL=types-
|
|
73
|
+
//# sourceMappingURL=types-Df_Xoq3m.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-Df_Xoq3m.d.mts","names":[],"sources":["../src/types.ts"],"mappings":""}
|
|
@@ -44,6 +44,11 @@ interface DocgenGeneratePluginOptions {
|
|
|
44
44
|
* @defaultValue `false`
|
|
45
45
|
*/
|
|
46
46
|
skipIcons?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Override body for generated `INSTALL.md`. When omitted, doc site wiring
|
|
49
|
+
* steps are generated for the output directory.
|
|
50
|
+
*/
|
|
51
|
+
installGuide?: string;
|
|
47
52
|
}
|
|
48
53
|
/**
|
|
49
54
|
* A flattened design token ready for documentation rendering.
|
|
@@ -66,4 +71,4 @@ interface FlatToken {
|
|
|
66
71
|
}
|
|
67
72
|
//#endregion
|
|
68
73
|
export { __exportAll as i, DocgenGeneratePluginOptions as n, FlatToken as r, DocgenExtractPluginOptions as t };
|
|
69
|
-
//# sourceMappingURL=types-
|
|
74
|
+
//# sourceMappingURL=types-tdksapmJ.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-tdksapmJ.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;UAuBiB;;;;UAKA;;;;;;EAMf;;;;;;EAOA;;;;;;EAOA;;;;;EAMA,eAAe;;;;;;EAOf;;;;;;EAOA;;;;;EAMA;;;;;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.27",
|
|
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.81",
|
|
101
101
|
"@power-plant/dtcg-schema": "^0.0.1",
|
|
102
|
-
"@razorwind/core": "0.0.
|
|
102
|
+
"@razorwind/core": "0.0.31",
|
|
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.591",
|
|
107
107
|
"@types/node": "^25.9.5",
|
|
108
108
|
"typescript": "^6.0.3"
|
|
109
109
|
},
|
|
110
110
|
"publishConfig": { "access": "public" },
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "e5f1a6ed40a0cd566735910851df15a8a1647116"
|
|
112
112
|
}
|
|
@@ -1,30 +0,0 @@
|
|
|
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
|
-
`)}\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
|
-
`)}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
|
-
|
|
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
|
-
|
|
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=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(`
|
|
15
|
-
`)),o.length>0&&l.push(`### Dependencies`,o.map(e=>`- \`${e}\``).join(`
|
|
16
|
-
`)),s.length>0&&l.push(`### Registry Dependencies`,s.map(e=>`- \`${e}\``).join(`
|
|
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(`
|
|
26
|
-
|
|
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(`
|
|
28
|
-
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-DHTLF9jO.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1,29 +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:()=>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.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.mts","names":[],"sources":["../src/generate.ts"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-Br4Cf9rf.d.mts","names":[],"sources":["../src/types.ts"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|