diff --git a/docs/package.json b/docs/package.json index 5f2eea16b..10e93cfe5 100644 --- a/docs/package.json +++ b/docs/package.json @@ -19,8 +19,9 @@ "generate:api": "tsx scripts/generate-component-api.ts", "generate:screenshots": "tsx scripts/generate-screenshots.ts", "generate:catalog": "tsx scripts/generate-example-catalog.ts", + "generate:mini-docs": "tsx scripts/generate-mini-docs.ts", "generate:stackblitz": "tsx scripts/build-stackblitz-files.ts", - "generate:all": "pnpm generate:api && pnpm generate:screenshots && pnpm generate:catalog && pnpm generate:stackblitz" + "generate:all": "pnpm generate:api && pnpm generate:screenshots && pnpm generate:catalog && pnpm generate:mini-docs && pnpm generate:stackblitz" }, "devDependencies": { "@content-collections/core": "^0.11.1", diff --git a/docs/scripts/generate-mini-docs.ts b/docs/scripts/generate-mini-docs.ts new file mode 100644 index 000000000..cdff5164e --- /dev/null +++ b/docs/scripts/generate-mini-docs.ts @@ -0,0 +1,300 @@ +/** + * LayerChart Mini Docs Generator + * + * This script generates mini-docs component files for all components in the layerchart library. + * It extracts API properties from the generated/api/*.json files. + * It extracts metadata from the docs/src/content/*.md files. + * It extracts 1st usage example from the docs/src/examples/components/*.svelte files. + * It trims the code to remove module exports and data export statement. + * It applies the appropriate indentation to the code to preserve the indentation of the code in mini-docs. + * It generates the mini-docs content and saves it as a svelte file in docs/src/generated/mini-docs/*.svelte. + * Once the components imported to the Layerchart components, you can hover over the component + * in the IDE to see mini docs for each component. + * + * @description + * Scans all .md files in docs/src/content and extracts: + * - Component name + * - Component URL + * - Description + * - Category + * - Layers + * - Related + * - Usage example + * + * + * @output + * Generates individual ts files in generated/mini-docs/ for each component + * + * @usage + * pnpm extract:mini-docs + * + */ + +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import { toTitleCase } from '@layerstack/utils'; +import type { ComponentAPI } from '../src/lib/api-types.js'; + +interface MiniDocsMetadata { + componentName: string; + componentUrl: string; + description: string; + category: string; + layers: string[]; + related: string[]; + exampleName: string; +} + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const MARKDOWN_DIR = path.resolve(__dirname, '../src/content'); +const API_DIR = path.resolve(__dirname, '../src/generated/api'); +const EXAMPLES_DIR = path.resolve(__dirname, '../src/examples'); +const CATEGORIES_DIR = path.resolve(__dirname, '../src/content/components'); +const OUTPUT_DIR = path.resolve(__dirname, '../src/generated/mini-docs'); + +// Note: Identing of template is needed to preserve indentation of the code content. +// See https://www.youtube.com/watch?v=sY1Hqi5TENA&lc=UgyOIe4CX9hMxIywKEV4AaABAg +const miniDocsTemplate = ` + +`; + +/** + * Get all files with a specific extension in a directory (recursively), supporting files to ignore + */ +export function getFilesOfType(dir: string, ext: string, ignore: string[] = []): string[] { + const files: string[] = []; + const entries = fs.readdirSync(dir, { withFileTypes: true }); + + for (const entry of entries) { + const fullPath = path.join(dir, entry.name); + if (entry.isDirectory()) { + // Recursively scan subdirectories + files.push(...getFilesOfType(fullPath, ext, ignore)); + } else if (entry.isFile() && entry.name.endsWith(ext)) { + // Check if file should be ignored + const shouldIgnore = ignore.some((i) => fullPath.includes(i)); + if (!shouldIgnore) { + files.push(fullPath); + } + } + } + + return files; +} + +/** + * Extract component name, component URL, description, category, layers, related and usage example metadata from a markdown file + */ +function extractMiniDocsMetadata(filePath: string): MiniDocsMetadata { + const content = fs.readFileSync(filePath, 'utf-8'); + + const componentName = path.basename(filePath, '.md'); + const componentUrl = `/docs/components/${componentName}`; + + // Extract the description, categories, layers, and related metadatafrom the markdown file + const descriptionMatch = content.match(/^description:\s*(.*?)\s*$/ms); + const categoryMatch = content.match(/^category:\s*(.*?)\s*$/ms); + const layersMatch = content.match(/^layers:\s*\[(.*?)\]\s*$/ms); + const relatedMatch = content.match(/^related:\s*\[(.*?)\]\s*$/ms); + const exampleNameMatch = content.match(/^:example\{\s*name=["|'](.*?)["'].*\}$/ms); + + const description = descriptionMatch?.[1]?.trim() || ''; + const category = toTitleCase(categoryMatch?.[1]?.trim() || ''); + const layers = layersMatch?.[1]?.split(',').map((l) => l.trim()) || []; + const related = relatedMatch?.[1]?.split(',').map((r) => r.trim()) || []; + const exampleName = exampleNameMatch?.[1]?.trim() || ''; + + return { componentName, componentUrl, description, category, layers, related, exampleName }; +} + +/** + * Trim code to remove module exports and data export statement + * Note indentation included because it is required to preserve the indentation of the code in mini-docs + */ +function trimCode(code: string, indentLevel: number = 1): string { + return code + .replace(/[\s\S]*?<\/script>/g, '') /* remove module exports section */ + .replace( + /\n+\s*export \{ data \};\s*\n+\s*<\/script>/gm, + '\n' + ) /* remove data export statement */ + .replaceAll( + /\n(?=.)/g, + indentLevel > 0 ? '\n' + '\t'.repeat(indentLevel) : '\n' + ) /* apply indent only to lines with content (postiive lookahead)*/ + .trim(); +} + +/** + * Get URL for component documentation page + */ +function getComponentUrl(component: string): string { + return `/docs/components/${component}`; +} + +/** + * Main function + */ +function main() { + console.warn( + 'WARNING: This script assumes API files have already been generated by the generate-component-api.ts script.' + ); + console.log('\n\nExtracting component metadata from markdown files...'); + + const mdFiles = getFilesOfType(MARKDOWN_DIR, '.md', ['async', 'promise', 'source-plugin']); + console.log(`\nFound ${mdFiles.length} markdown files`); + + const mdMetadata: MiniDocsMetadata[] = []; + + for (const filePath of mdFiles) { + const mdName = path.basename(filePath, '.md'); + console.log(`Processing ${mdName}...`); + + const metadata = extractMiniDocsMetadata(filePath); + mdMetadata.push(metadata); + } + + // Sort by component name + mdMetadata.sort((a, b) => a.componentName.localeCompare(b.componentName)); + + console.log('\nLoading corresponding component APIs from generated JSON files...'); + + const apiFiles = getFilesOfType(API_DIR, '.json'); + console.log(`Found ${apiFiles.length} API files\n`); + + const apis: ComponentAPI[] = []; + + for (const filePath of apiFiles) { + const componentName = path.basename(filePath, '.json'); + if (componentName === 'index') continue; + console.log(`Loading API for ${componentName}...`); + + try { + const apiContent = fs.readFileSync(filePath, 'utf-8'); + const api: ComponentAPI = JSON.parse(apiContent); + apis.push(api); + console.log(` ✓ Loaded ${api.properties.length} properties`); + } catch (error) { + console.log(` ⚠ Error loading API for ${componentName}:`, error); + } + } + + // Create output directory if it doesn't exist + if (!fs.existsSync(OUTPUT_DIR)) { + fs.mkdirSync(OUTPUT_DIR, { recursive: true }); + } + + // Write individual mini-docs files + console.log(`\nWriting individual mini-docs files...`); + + for (const md of mdMetadata) { + const miniDocsFile = path.join(OUTPUT_DIR, `${md.componentName}.svelte`); + + // Find matching API for the component + const api = apis.find((a) => a.component === md.componentName); + if (!api) { + console.log(` ⚠ No API found for ${md.componentName}`); + continue; + } + + // Get content of example file + console.log(` ⏳ Getting example content for example ${md.componentName}: ${md.exampleName}`); + let exampleContent = ''; + if (md.exampleName) { + const exampleFile = path.join( + EXAMPLES_DIR, + 'components', + md.componentName, + `${md.exampleName}.svelte` + ); + try { + exampleContent = fs.readFileSync(exampleFile, 'utf-8'); + } catch (error) { + console.log(` ⚠ No example file found for ${md.componentName}: ${error}`); + } + exampleContent = trimCode(exampleContent); + } + + // Generate mini-docs content + const miniDocsContent = miniDocsTemplate + .replaceAll('', md.componentName) + .replaceAll('', md.componentUrl) + .replace('', md.description ? '## Description\n\n\t' + md.description : '') + .replace( + '', + md.category + ? `## Category\n\n\t[[${md.category}](${CATEGORIES_DIR}/${md.category}.md)]` + : '' + ) + .replace( + '', + md.layers + .map((l, i) => { + const h2 = i === 0 ? '## Layers\n\n\t' : ''; + return `${h2}[${l === 'html' || l === 'svg' ? l.toUpperCase() : toTitleCase(l)}](${getComponentUrl(l)})`; + }) + .join(', ') + ) + .replace( + '', + api.properties + .map((p, i) => { + const h2 = i === 0 ? '## API Properties\n\n\t' : ''; + return `${h2}* ${p.name}:<${p.type}>${p.default ? `=${p.default}` : ''} - ${p.description} ${p.required ? ' (REQUIRED)' : ''}`; + }) + .join('\n\t') + ) + .replace( + '', + md.related + .map((r, i) => { + const h2 = i === 0 ? '## Related\n\n\t' : ''; + return `${h2}[${r}](${getComponentUrl(r)})`; + }) + .join('\n\t') + ) + .replace( + '', + exampleContent ? '@example\n\t```svelte\n\t' + exampleContent + '\n\t```' : '' + ); + + fs.writeFileSync(miniDocsFile, miniDocsContent); + console.log(` ✓ Generated mini-docs for ${md.componentName}`); + } + + // // Write index file with list of all mini-docs components + // const indexFile = path.join(OUTPUT_DIR, 'index.json'); + // const indexOutput = { + // generatedAt: new Date().toISOString(), + // components: mdMetadata.map((md) => ({ + // component: md.componentName, + // file: `${md.componentName}.svelte` + // })) + // }; + // fs.writeFileSync(indexFile, JSON.stringify(indexOutput, null, 2)); + + console.log(`\n✅ Generated ${mdMetadata.length} component mini docs files in ${OUTPUT_DIR}`); + // console.log(`✅ Generated index file: ${indexFile}`); +} + +main(); diff --git a/docs/src/generated/mini-docs/AnnotationLine.svelte b/docs/src/generated/mini-docs/AnnotationLine.svelte new file mode 100644 index 000000000..c8c9b5f8b --- /dev/null +++ b/docs/src/generated/mini-docs/AnnotationLine.svelte @@ -0,0 +1,63 @@ + + diff --git a/docs/src/generated/mini-docs/AnnotationPoint.svelte b/docs/src/generated/mini-docs/AnnotationPoint.svelte new file mode 100644 index 000000000..352f0fd2e --- /dev/null +++ b/docs/src/generated/mini-docs/AnnotationPoint.svelte @@ -0,0 +1,141 @@ + + +
+ {data.annotation.details} +
+ {:else} + + {format(context.x(data), 'daytime')} + + + + {/if} + {/snippet} + + {/snippet} + + ``` +--> diff --git a/docs/src/generated/mini-docs/AnnotationRange.svelte b/docs/src/generated/mini-docs/AnnotationRange.svelte new file mode 100644 index 000000000..6df31ca48 --- /dev/null +++ b/docs/src/generated/mini-docs/AnnotationRange.svelte @@ -0,0 +1,75 @@ + + diff --git a/docs/src/generated/mini-docs/Arc.svelte b/docs/src/generated/mini-docs/Arc.svelte new file mode 100644 index 000000000..bae3322fe --- /dev/null +++ b/docs/src/generated/mini-docs/Arc.svelte @@ -0,0 +1,117 @@ + + diff --git a/docs/src/generated/mini-docs/ArcChart.svelte b/docs/src/generated/mini-docs/ArcChart.svelte new file mode 100644 index 000000000..c72b3c044 --- /dev/null +++ b/docs/src/generated/mini-docs/ArcChart.svelte @@ -0,0 +1,58 @@ + + diff --git a/docs/src/generated/mini-docs/Area.svelte b/docs/src/generated/mini-docs/Area.svelte new file mode 100644 index 000000000..39308d750 --- /dev/null +++ b/docs/src/generated/mini-docs/Area.svelte @@ -0,0 +1,61 @@ + + diff --git a/docs/src/generated/mini-docs/AreaChart.svelte b/docs/src/generated/mini-docs/AreaChart.svelte new file mode 100644 index 000000000..16674a7c5 --- /dev/null +++ b/docs/src/generated/mini-docs/AreaChart.svelte @@ -0,0 +1,43 @@ + + diff --git a/docs/src/generated/mini-docs/Axis.svelte b/docs/src/generated/mini-docs/Axis.svelte new file mode 100644 index 000000000..5502ac326 --- /dev/null +++ b/docs/src/generated/mini-docs/Axis.svelte @@ -0,0 +1,73 @@ + + diff --git a/docs/src/generated/mini-docs/Bar.svelte b/docs/src/generated/mini-docs/Bar.svelte new file mode 100644 index 000000000..44f64ee06 --- /dev/null +++ b/docs/src/generated/mini-docs/Bar.svelte @@ -0,0 +1,55 @@ + + diff --git a/docs/src/generated/mini-docs/BarChart.svelte b/docs/src/generated/mini-docs/BarChart.svelte new file mode 100644 index 000000000..c0179e8b5 --- /dev/null +++ b/docs/src/generated/mini-docs/BarChart.svelte @@ -0,0 +1,52 @@ + + diff --git a/docs/src/generated/mini-docs/Bars.svelte b/docs/src/generated/mini-docs/Bars.svelte new file mode 100644 index 000000000..e4914b04b --- /dev/null +++ b/docs/src/generated/mini-docs/Bars.svelte @@ -0,0 +1,63 @@ + + diff --git a/docs/src/generated/mini-docs/Blur.svelte b/docs/src/generated/mini-docs/Blur.svelte new file mode 100644 index 000000000..b539ce9bd --- /dev/null +++ b/docs/src/generated/mini-docs/Blur.svelte @@ -0,0 +1,32 @@ + + diff --git a/docs/src/generated/mini-docs/Bounds.svelte b/docs/src/generated/mini-docs/Bounds.svelte new file mode 100644 index 000000000..777003d66 --- /dev/null +++ b/docs/src/generated/mini-docs/Bounds.svelte @@ -0,0 +1,32 @@ + + diff --git a/docs/src/generated/mini-docs/BrushContext.svelte b/docs/src/generated/mini-docs/BrushContext.svelte new file mode 100644 index 000000000..773adf72c --- /dev/null +++ b/docs/src/generated/mini-docs/BrushContext.svelte @@ -0,0 +1,66 @@ + + diff --git a/docs/src/generated/mini-docs/Calendar.svelte b/docs/src/generated/mini-docs/Calendar.svelte new file mode 100644 index 000000000..0686ed86c --- /dev/null +++ b/docs/src/generated/mini-docs/Calendar.svelte @@ -0,0 +1,81 @@ + + diff --git a/docs/src/generated/mini-docs/Canvas.svelte b/docs/src/generated/mini-docs/Canvas.svelte new file mode 100644 index 000000000..85f249446 --- /dev/null +++ b/docs/src/generated/mini-docs/Canvas.svelte @@ -0,0 +1,47 @@ + + diff --git a/docs/src/generated/mini-docs/Chart.svelte b/docs/src/generated/mini-docs/Chart.svelte new file mode 100644 index 000000000..5c51c0bda --- /dev/null +++ b/docs/src/generated/mini-docs/Chart.svelte @@ -0,0 +1,216 @@ + + diff --git a/docs/src/generated/mini-docs/ChartClipPath.svelte b/docs/src/generated/mini-docs/ChartClipPath.svelte new file mode 100644 index 000000000..38a333e67 --- /dev/null +++ b/docs/src/generated/mini-docs/ChartClipPath.svelte @@ -0,0 +1,32 @@ + + diff --git a/docs/src/generated/mini-docs/Circle.svelte b/docs/src/generated/mini-docs/Circle.svelte new file mode 100644 index 000000000..5479ec239 --- /dev/null +++ b/docs/src/generated/mini-docs/Circle.svelte @@ -0,0 +1,69 @@ + + diff --git a/docs/src/generated/mini-docs/CircleClipPath.svelte b/docs/src/generated/mini-docs/CircleClipPath.svelte new file mode 100644 index 000000000..ee5314b90 --- /dev/null +++ b/docs/src/generated/mini-docs/CircleClipPath.svelte @@ -0,0 +1,36 @@ + + diff --git a/docs/src/generated/mini-docs/ClipPath.svelte b/docs/src/generated/mini-docs/ClipPath.svelte new file mode 100644 index 000000000..2e4bf9843 --- /dev/null +++ b/docs/src/generated/mini-docs/ClipPath.svelte @@ -0,0 +1,38 @@ + + diff --git a/docs/src/generated/mini-docs/ColorRamp.svelte b/docs/src/generated/mini-docs/ColorRamp.svelte new file mode 100644 index 000000000..70f7b0d14 --- /dev/null +++ b/docs/src/generated/mini-docs/ColorRamp.svelte @@ -0,0 +1,64 @@ + + diff --git a/docs/src/generated/mini-docs/Connector.svelte b/docs/src/generated/mini-docs/Connector.svelte new file mode 100644 index 000000000..7eae807af --- /dev/null +++ b/docs/src/generated/mini-docs/Connector.svelte @@ -0,0 +1,92 @@ + + diff --git a/docs/src/generated/mini-docs/Dagre.svelte b/docs/src/generated/mini-docs/Dagre.svelte new file mode 100644 index 000000000..f689c516a --- /dev/null +++ b/docs/src/generated/mini-docs/Dagre.svelte @@ -0,0 +1,151 @@ + + diff --git a/docs/src/generated/mini-docs/Ellipse.svelte b/docs/src/generated/mini-docs/Ellipse.svelte new file mode 100644 index 000000000..b79d146e4 --- /dev/null +++ b/docs/src/generated/mini-docs/Ellipse.svelte @@ -0,0 +1,71 @@ + + diff --git a/docs/src/generated/mini-docs/ForceSimulation.svelte b/docs/src/generated/mini-docs/ForceSimulation.svelte new file mode 100644 index 000000000..6f2488777 --- /dev/null +++ b/docs/src/generated/mini-docs/ForceSimulation.svelte @@ -0,0 +1,124 @@ + + diff --git a/docs/src/generated/mini-docs/Frame.svelte b/docs/src/generated/mini-docs/Frame.svelte new file mode 100644 index 000000000..10d3bebdd --- /dev/null +++ b/docs/src/generated/mini-docs/Frame.svelte @@ -0,0 +1,47 @@ + + diff --git a/docs/src/generated/mini-docs/GeoCircle.svelte b/docs/src/generated/mini-docs/GeoCircle.svelte new file mode 100644 index 000000000..3be04baf4 --- /dev/null +++ b/docs/src/generated/mini-docs/GeoCircle.svelte @@ -0,0 +1,125 @@ + + diff --git a/docs/src/generated/mini-docs/GeoContext.svelte b/docs/src/generated/mini-docs/GeoContext.svelte new file mode 100644 index 000000000..b8b65a891 --- /dev/null +++ b/docs/src/generated/mini-docs/GeoContext.svelte @@ -0,0 +1,136 @@ + + diff --git a/docs/src/generated/mini-docs/GeoEdgeFade.svelte b/docs/src/generated/mini-docs/GeoEdgeFade.svelte new file mode 100644 index 000000000..e593d6646 --- /dev/null +++ b/docs/src/generated/mini-docs/GeoEdgeFade.svelte @@ -0,0 +1,31 @@ + + diff --git a/docs/src/generated/mini-docs/GeoPath.svelte b/docs/src/generated/mini-docs/GeoPath.svelte new file mode 100644 index 000000000..bad846f06 --- /dev/null +++ b/docs/src/generated/mini-docs/GeoPath.svelte @@ -0,0 +1,103 @@ + + + + {#if settings.layer === 'canvas'} + + {#if context.tooltip.data} + + {/if} + + {/if} + + + {#snippet children({ data })} + {@const [longitude, latitude] = + context.geo.projection?.invert?.([context.tooltip.x, context.tooltip.y]) ?? []} + {data.properties.name} + + + + + {/snippet} + + {/snippet} + + ``` +--> diff --git a/docs/src/generated/mini-docs/GeoPoint.svelte b/docs/src/generated/mini-docs/GeoPoint.svelte new file mode 100644 index 000000000..11f4b7113 --- /dev/null +++ b/docs/src/generated/mini-docs/GeoPoint.svelte @@ -0,0 +1,96 @@ + + + {#if settings.layer === 'svg'} + + + + + {:else if settings.layer === 'canvas'} + + {#snippet children({ x, y })} + + + {/snippet} + + {/if} + {/each} + + + + ``` +--> diff --git a/docs/src/generated/mini-docs/GeoSpline.svelte b/docs/src/generated/mini-docs/GeoSpline.svelte new file mode 100644 index 000000000..cee10e346 --- /dev/null +++ b/docs/src/generated/mini-docs/GeoSpline.svelte @@ -0,0 +1,81 @@ + + diff --git a/docs/src/generated/mini-docs/GeoTile.svelte b/docs/src/generated/mini-docs/GeoTile.svelte new file mode 100644 index 000000000..a8d107a7a --- /dev/null +++ b/docs/src/generated/mini-docs/GeoTile.svelte @@ -0,0 +1,104 @@ + + + (selectedFeature = selectedFeature === feature ? filteredStates : feature)} + /> + {/each} + + + + {#snippet children({ data })} + {@const [longitude, latitude] = + context.geo.projection?.invert?.([context.tooltip.x, context.tooltip.y]) ?? []} + {data.properties.name} + + + + + {/snippet} + + {/snippet} + + ``` +--> diff --git a/docs/src/generated/mini-docs/GeoVisible.svelte b/docs/src/generated/mini-docs/GeoVisible.svelte new file mode 100644 index 000000000..37145aefc --- /dev/null +++ b/docs/src/generated/mini-docs/GeoVisible.svelte @@ -0,0 +1,31 @@ + + diff --git a/docs/src/generated/mini-docs/Graticule.svelte b/docs/src/generated/mini-docs/Graticule.svelte new file mode 100644 index 000000000..025cc8d9f --- /dev/null +++ b/docs/src/generated/mini-docs/Graticule.svelte @@ -0,0 +1,106 @@ + + diff --git a/docs/src/generated/mini-docs/Grid.svelte b/docs/src/generated/mini-docs/Grid.svelte new file mode 100644 index 000000000..dc4b99e1b --- /dev/null +++ b/docs/src/generated/mini-docs/Grid.svelte @@ -0,0 +1,51 @@ + + diff --git a/docs/src/generated/mini-docs/Group.svelte b/docs/src/generated/mini-docs/Group.svelte new file mode 100644 index 000000000..11ec026f5 --- /dev/null +++ b/docs/src/generated/mini-docs/Group.svelte @@ -0,0 +1,62 @@ + + diff --git a/docs/src/generated/mini-docs/Highlight.svelte b/docs/src/generated/mini-docs/Highlight.svelte new file mode 100644 index 000000000..45f49ef9e --- /dev/null +++ b/docs/src/generated/mini-docs/Highlight.svelte @@ -0,0 +1,44 @@ + + diff --git a/docs/src/generated/mini-docs/Html.svelte b/docs/src/generated/mini-docs/Html.svelte new file mode 100644 index 000000000..1213de849 --- /dev/null +++ b/docs/src/generated/mini-docs/Html.svelte @@ -0,0 +1,37 @@ + + diff --git a/docs/src/generated/mini-docs/Hull.svelte b/docs/src/generated/mini-docs/Hull.svelte new file mode 100644 index 000000000..2c1c8dbe4 --- /dev/null +++ b/docs/src/generated/mini-docs/Hull.svelte @@ -0,0 +1,87 @@ + + + + {/each} + + + ``` +--> diff --git a/docs/src/generated/mini-docs/Labels.svelte b/docs/src/generated/mini-docs/Labels.svelte new file mode 100644 index 000000000..08d3304ae --- /dev/null +++ b/docs/src/generated/mini-docs/Labels.svelte @@ -0,0 +1,42 @@ + + diff --git a/docs/src/generated/mini-docs/Layer.svelte b/docs/src/generated/mini-docs/Layer.svelte new file mode 100644 index 000000000..2da7c93b0 --- /dev/null +++ b/docs/src/generated/mini-docs/Layer.svelte @@ -0,0 +1,31 @@ + + diff --git a/docs/src/generated/mini-docs/Legend.svelte b/docs/src/generated/mini-docs/Legend.svelte new file mode 100644 index 000000000..552cbfb44 --- /dev/null +++ b/docs/src/generated/mini-docs/Legend.svelte @@ -0,0 +1,64 @@ + + diff --git a/docs/src/generated/mini-docs/Line.svelte b/docs/src/generated/mini-docs/Line.svelte new file mode 100644 index 000000000..efdab7c4b --- /dev/null +++ b/docs/src/generated/mini-docs/Line.svelte @@ -0,0 +1,76 @@ + + diff --git a/docs/src/generated/mini-docs/LineChart.svelte b/docs/src/generated/mini-docs/LineChart.svelte new file mode 100644 index 000000000..5a463dff3 --- /dev/null +++ b/docs/src/generated/mini-docs/LineChart.svelte @@ -0,0 +1,43 @@ + + diff --git a/docs/src/generated/mini-docs/LinearGradient.svelte b/docs/src/generated/mini-docs/LinearGradient.svelte new file mode 100644 index 000000000..eba1fab19 --- /dev/null +++ b/docs/src/generated/mini-docs/LinearGradient.svelte @@ -0,0 +1,70 @@ + + diff --git a/docs/src/generated/mini-docs/Link.svelte b/docs/src/generated/mini-docs/Link.svelte new file mode 100644 index 000000000..36f3c2418 --- /dev/null +++ b/docs/src/generated/mini-docs/Link.svelte @@ -0,0 +1,44 @@ + + diff --git a/docs/src/generated/mini-docs/Marker.svelte b/docs/src/generated/mini-docs/Marker.svelte new file mode 100644 index 000000000..7d6e646ed --- /dev/null +++ b/docs/src/generated/mini-docs/Marker.svelte @@ -0,0 +1,99 @@ + + diff --git a/docs/src/generated/mini-docs/MotionPath.svelte b/docs/src/generated/mini-docs/MotionPath.svelte new file mode 100644 index 000000000..512db416d --- /dev/null +++ b/docs/src/generated/mini-docs/MotionPath.svelte @@ -0,0 +1,96 @@ + + diff --git a/docs/src/generated/mini-docs/Pack.svelte b/docs/src/generated/mini-docs/Pack.svelte new file mode 100644 index 000000000..2da874716 --- /dev/null +++ b/docs/src/generated/mini-docs/Pack.svelte @@ -0,0 +1,187 @@ + + diff --git a/docs/src/generated/mini-docs/Partition.svelte b/docs/src/generated/mini-docs/Partition.svelte new file mode 100644 index 000000000..b48ff6d7c --- /dev/null +++ b/docs/src/generated/mini-docs/Partition.svelte @@ -0,0 +1,185 @@ + + diff --git a/docs/src/generated/mini-docs/Path.svelte b/docs/src/generated/mini-docs/Path.svelte new file mode 100644 index 000000000..59c5ca975 --- /dev/null +++ b/docs/src/generated/mini-docs/Path.svelte @@ -0,0 +1,59 @@ + + diff --git a/docs/src/generated/mini-docs/Pattern.svelte b/docs/src/generated/mini-docs/Pattern.svelte new file mode 100644 index 000000000..522200445 --- /dev/null +++ b/docs/src/generated/mini-docs/Pattern.svelte @@ -0,0 +1,131 @@ + + diff --git a/docs/src/generated/mini-docs/Pie.svelte b/docs/src/generated/mini-docs/Pie.svelte new file mode 100644 index 000000000..b1ef1fe6a --- /dev/null +++ b/docs/src/generated/mini-docs/Pie.svelte @@ -0,0 +1,84 @@ + + diff --git a/docs/src/generated/mini-docs/PieChart.svelte b/docs/src/generated/mini-docs/PieChart.svelte new file mode 100644 index 000000000..e7473ad2a --- /dev/null +++ b/docs/src/generated/mini-docs/PieChart.svelte @@ -0,0 +1,67 @@ + + diff --git a/docs/src/generated/mini-docs/Point.svelte b/docs/src/generated/mini-docs/Point.svelte new file mode 100644 index 000000000..e3d947e6e --- /dev/null +++ b/docs/src/generated/mini-docs/Point.svelte @@ -0,0 +1,64 @@ + + diff --git a/docs/src/generated/mini-docs/Points.svelte b/docs/src/generated/mini-docs/Points.svelte new file mode 100644 index 000000000..3c18bd834 --- /dev/null +++ b/docs/src/generated/mini-docs/Points.svelte @@ -0,0 +1,57 @@ + + diff --git a/docs/src/generated/mini-docs/Polygon.svelte b/docs/src/generated/mini-docs/Polygon.svelte new file mode 100644 index 000000000..5e42f5c1a --- /dev/null +++ b/docs/src/generated/mini-docs/Polygon.svelte @@ -0,0 +1,81 @@ + + diff --git a/docs/src/generated/mini-docs/RadialGradient.svelte b/docs/src/generated/mini-docs/RadialGradient.svelte new file mode 100644 index 000000000..afd669d48 --- /dev/null +++ b/docs/src/generated/mini-docs/RadialGradient.svelte @@ -0,0 +1,73 @@ + + diff --git a/docs/src/generated/mini-docs/Rect.svelte b/docs/src/generated/mini-docs/Rect.svelte new file mode 100644 index 000000000..404e0ef1f --- /dev/null +++ b/docs/src/generated/mini-docs/Rect.svelte @@ -0,0 +1,80 @@ + + diff --git a/docs/src/generated/mini-docs/RectClipPath.svelte b/docs/src/generated/mini-docs/RectClipPath.svelte new file mode 100644 index 000000000..6e7442c3d --- /dev/null +++ b/docs/src/generated/mini-docs/RectClipPath.svelte @@ -0,0 +1,44 @@ + + diff --git a/docs/src/generated/mini-docs/Rule.svelte b/docs/src/generated/mini-docs/Rule.svelte new file mode 100644 index 000000000..29c965095 --- /dev/null +++ b/docs/src/generated/mini-docs/Rule.svelte @@ -0,0 +1,56 @@ + + diff --git a/docs/src/generated/mini-docs/Sankey.svelte b/docs/src/generated/mini-docs/Sankey.svelte new file mode 100644 index 000000000..ab3c9bc55 --- /dev/null +++ b/docs/src/generated/mini-docs/Sankey.svelte @@ -0,0 +1,72 @@ + + diff --git a/docs/src/generated/mini-docs/ScatterChart.svelte b/docs/src/generated/mini-docs/ScatterChart.svelte new file mode 100644 index 000000000..051c2b7d9 --- /dev/null +++ b/docs/src/generated/mini-docs/ScatterChart.svelte @@ -0,0 +1,42 @@ + + diff --git a/docs/src/generated/mini-docs/Spline.svelte b/docs/src/generated/mini-docs/Spline.svelte new file mode 100644 index 000000000..9643c6268 --- /dev/null +++ b/docs/src/generated/mini-docs/Spline.svelte @@ -0,0 +1,50 @@ + + diff --git a/docs/src/generated/mini-docs/Svg.svelte b/docs/src/generated/mini-docs/Svg.svelte new file mode 100644 index 000000000..1f7baf68a --- /dev/null +++ b/docs/src/generated/mini-docs/Svg.svelte @@ -0,0 +1,40 @@ + + diff --git a/docs/src/generated/mini-docs/Text.svelte b/docs/src/generated/mini-docs/Text.svelte new file mode 100644 index 000000000..a378033f3 --- /dev/null +++ b/docs/src/generated/mini-docs/Text.svelte @@ -0,0 +1,118 @@ + + diff --git a/docs/src/generated/mini-docs/Threshold.svelte b/docs/src/generated/mini-docs/Threshold.svelte new file mode 100644 index 000000000..889e72c62 --- /dev/null +++ b/docs/src/generated/mini-docs/Threshold.svelte @@ -0,0 +1,80 @@ + + diff --git a/docs/src/generated/mini-docs/TileImage.svelte b/docs/src/generated/mini-docs/TileImage.svelte new file mode 100644 index 000000000..791b91fb4 --- /dev/null +++ b/docs/src/generated/mini-docs/TileImage.svelte @@ -0,0 +1,37 @@ + + diff --git a/docs/src/generated/mini-docs/Tooltip.svelte b/docs/src/generated/mini-docs/Tooltip.svelte new file mode 100644 index 000000000..d2d6d1298 --- /dev/null +++ b/docs/src/generated/mini-docs/Tooltip.svelte @@ -0,0 +1,88 @@ + + diff --git a/docs/src/generated/mini-docs/TooltipContext.svelte b/docs/src/generated/mini-docs/TooltipContext.svelte new file mode 100644 index 000000000..99c17f67a --- /dev/null +++ b/docs/src/generated/mini-docs/TooltipContext.svelte @@ -0,0 +1,45 @@ + + diff --git a/docs/src/generated/mini-docs/TransformContext.svelte b/docs/src/generated/mini-docs/TransformContext.svelte new file mode 100644 index 000000000..3542eb441 --- /dev/null +++ b/docs/src/generated/mini-docs/TransformContext.svelte @@ -0,0 +1,122 @@ + + diff --git a/docs/src/generated/mini-docs/Tree.svelte b/docs/src/generated/mini-docs/Tree.svelte new file mode 100644 index 000000000..d95fee42c --- /dev/null +++ b/docs/src/generated/mini-docs/Tree.svelte @@ -0,0 +1,169 @@ + + diff --git a/docs/src/generated/mini-docs/Treemap.svelte b/docs/src/generated/mini-docs/Treemap.svelte new file mode 100644 index 000000000..c8d566eca --- /dev/null +++ b/docs/src/generated/mini-docs/Treemap.svelte @@ -0,0 +1,102 @@ + + diff --git a/docs/src/generated/mini-docs/Voronoi.svelte b/docs/src/generated/mini-docs/Voronoi.svelte new file mode 100644 index 000000000..4a3a046fa --- /dev/null +++ b/docs/src/generated/mini-docs/Voronoi.svelte @@ -0,0 +1,76 @@ + + diff --git a/docs/src/generated/mini-docs/index.json b/docs/src/generated/mini-docs/index.json new file mode 100644 index 000000000..8fe3585ed --- /dev/null +++ b/docs/src/generated/mini-docs/index.json @@ -0,0 +1,329 @@ +{ + "generatedAt": "2026-01-03T18:37:21.934Z", + "components": [ + { + "component": "AnnotationLine", + "file": "AnnotationLine.svelte" + }, + { + "component": "AnnotationPoint", + "file": "AnnotationPoint.svelte" + }, + { + "component": "AnnotationRange", + "file": "AnnotationRange.svelte" + }, + { + "component": "Arc", + "file": "Arc.svelte" + }, + { + "component": "ArcChart", + "file": "ArcChart.svelte" + }, + { + "component": "Area", + "file": "Area.svelte" + }, + { + "component": "AreaChart", + "file": "AreaChart.svelte" + }, + { + "component": "Axis", + "file": "Axis.svelte" + }, + { + "component": "Bar", + "file": "Bar.svelte" + }, + { + "component": "BarChart", + "file": "BarChart.svelte" + }, + { + "component": "Bars", + "file": "Bars.svelte" + }, + { + "component": "Blur", + "file": "Blur.svelte" + }, + { + "component": "Bounds", + "file": "Bounds.svelte" + }, + { + "component": "BrushContext", + "file": "BrushContext.svelte" + }, + { + "component": "Calendar", + "file": "Calendar.svelte" + }, + { + "component": "Canvas", + "file": "Canvas.svelte" + }, + { + "component": "Chart", + "file": "Chart.svelte" + }, + { + "component": "ChartClipPath", + "file": "ChartClipPath.svelte" + }, + { + "component": "Circle", + "file": "Circle.svelte" + }, + { + "component": "CircleClipPath", + "file": "CircleClipPath.svelte" + }, + { + "component": "ClipPath", + "file": "ClipPath.svelte" + }, + { + "component": "cls", + "file": "cls.svelte" + }, + { + "component": "ColorRamp", + "file": "ColorRamp.svelte" + }, + { + "component": "Connector", + "file": "Connector.svelte" + }, + { + "component": "Dagre", + "file": "Dagre.svelte" + }, + { + "component": "direct", + "file": "direct.svelte" + }, + { + "component": "Ellipse", + "file": "Ellipse.svelte" + }, + { + "component": "ForceSimulation", + "file": "ForceSimulation.svelte" + }, + { + "component": "format", + "file": "format.svelte" + }, + { + "component": "Frame", + "file": "Frame.svelte" + }, + { + "component": "GeoCircle", + "file": "GeoCircle.svelte" + }, + { + "component": "GeoContext", + "file": "GeoContext.svelte" + }, + { + "component": "GeoEdgeFade", + "file": "GeoEdgeFade.svelte" + }, + { + "component": "GeoPath", + "file": "GeoPath.svelte" + }, + { + "component": "GeoPoint", + "file": "GeoPoint.svelte" + }, + { + "component": "GeoSpline", + "file": "GeoSpline.svelte" + }, + { + "component": "GeoTile", + "file": "GeoTile.svelte" + }, + { + "component": "GeoVisible", + "file": "GeoVisible.svelte" + }, + { + "component": "Graticule", + "file": "Graticule.svelte" + }, + { + "component": "Grid", + "file": "Grid.svelte" + }, + { + "component": "Group", + "file": "Group.svelte" + }, + { + "component": "Highlight", + "file": "Highlight.svelte" + }, + { + "component": "Html", + "file": "Html.svelte" + }, + { + "component": "Hull", + "file": "Hull.svelte" + }, + { + "component": "Labels", + "file": "Labels.svelte" + }, + { + "component": "Layer", + "file": "Layer.svelte" + }, + { + "component": "Legend", + "file": "Legend.svelte" + }, + { + "component": "Line", + "file": "Line.svelte" + }, + { + "component": "LinearGradient", + "file": "LinearGradient.svelte" + }, + { + "component": "LineChart", + "file": "LineChart.svelte" + }, + { + "component": "Link", + "file": "Link.svelte" + }, + { + "component": "Marker", + "file": "Marker.svelte" + }, + { + "component": "MotionPath", + "file": "MotionPath.svelte" + }, + { + "component": "Pack", + "file": "Pack.svelte" + }, + { + "component": "Partition", + "file": "Partition.svelte" + }, + { + "component": "Path", + "file": "Path.svelte" + }, + { + "component": "Pattern", + "file": "Pattern.svelte" + }, + { + "component": "Pie", + "file": "Pie.svelte" + }, + { + "component": "PieChart", + "file": "PieChart.svelte" + }, + { + "component": "pivot", + "file": "pivot.svelte" + }, + { + "component": "Point", + "file": "Point.svelte" + }, + { + "component": "Points", + "file": "Points.svelte" + }, + { + "component": "Polygon", + "file": "Polygon.svelte" + }, + { + "component": "RadialGradient", + "file": "RadialGradient.svelte" + }, + { + "component": "Rect", + "file": "Rect.svelte" + }, + { + "component": "RectClipPath", + "file": "RectClipPath.svelte" + }, + { + "component": "Rule", + "file": "Rule.svelte" + }, + { + "component": "Sankey", + "file": "Sankey.svelte" + }, + { + "component": "ScatterChart", + "file": "ScatterChart.svelte" + }, + { + "component": "Spline", + "file": "Spline.svelte" + }, + { + "component": "string", + "file": "string.svelte" + }, + { + "component": "Svg", + "file": "Svg.svelte" + }, + { + "component": "Text", + "file": "Text.svelte" + }, + { + "component": "Threshold", + "file": "Threshold.svelte" + }, + { + "component": "TileImage", + "file": "TileImage.svelte" + }, + { + "component": "Tooltip", + "file": "Tooltip.svelte" + }, + { + "component": "TooltipContext", + "file": "TooltipContext.svelte" + }, + { + "component": "TransformContext", + "file": "TransformContext.svelte" + }, + { + "component": "Tree", + "file": "Tree.svelte" + }, + { + "component": "Treemap", + "file": "Treemap.svelte" + }, + { + "component": "Voronoi", + "file": "Voronoi.svelte" + } + ] +} \ No newline at end of file diff --git a/docs/svelte.config.js b/docs/svelte.config.js index 312e1a5e5..b439ef890 100644 --- a/docs/svelte.config.js +++ b/docs/svelte.config.js @@ -11,6 +11,7 @@ const config = { adapter: adapter(), alias: { $examples: './src/examples', + $miniDocs: './src/generated/mini-docs', '$static/*': 'static/*', 'content-collections': './.content-collections/generated' },