feat: codegen
This commit is contained in:
parent
5ec399ef2a
commit
4ec3dd9d76
|
|
@ -12,7 +12,8 @@
|
||||||
"typecheck": "vue-tsc",
|
"typecheck": "vue-tsc",
|
||||||
"typecheck:registry": "vue-tsc -p tsconfig.registry.json",
|
"typecheck:registry": "vue-tsc -p tsconfig.registry.json",
|
||||||
"build:registry": "tsx ./scripts/build-registry.ts",
|
"build:registry": "tsx ./scripts/build-registry.ts",
|
||||||
"build:registry-strict": "pnpm typecheck:registry && tsx ./scripts/build-registry.ts"
|
"build:registry-strict": "pnpm typecheck:registry && tsx ./scripts/build-registry.ts",
|
||||||
|
"docs:gen": "tsx ./scripts/autogen.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@formkit/auto-animate": "^0.8.2",
|
"@formkit/auto-animate": "^0.8.2",
|
||||||
|
|
@ -44,6 +45,7 @@
|
||||||
"zod": "^3.23.3"
|
"zod": "^3.23.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/traverse": "^7.24.1",
|
||||||
"@iconify-json/lucide": "^1.1.180",
|
"@iconify-json/lucide": "^1.1.180",
|
||||||
"@iconify-json/ph": "^1.1.12",
|
"@iconify-json/ph": "^1.1.12",
|
||||||
"@iconify-json/radix-icons": "^1.1.14",
|
"@iconify-json/radix-icons": "^1.1.14",
|
||||||
|
|
@ -61,7 +63,9 @@
|
||||||
"@vue/compiler-dom": "^3.4.24",
|
"@vue/compiler-dom": "^3.4.24",
|
||||||
"@vue/tsconfig": "^0.5.1",
|
"@vue/tsconfig": "^0.5.1",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
|
"fast-glob": "^3.3.2",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
"markdown-it": "^14.1.0",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"rimraf": "^5.0.5",
|
"rimraf": "^5.0.5",
|
||||||
"shiki": "^1.3.0",
|
"shiki": "^1.3.0",
|
||||||
|
|
@ -71,6 +75,7 @@
|
||||||
"typescript": "^5.4.5",
|
"typescript": "^5.4.5",
|
||||||
"unplugin-icons": "^0.18.5",
|
"unplugin-icons": "^0.18.5",
|
||||||
"vitepress": "^1.1.3",
|
"vitepress": "^1.1.3",
|
||||||
|
"vue-component-meta": "^2.0.13",
|
||||||
"vue-tsc": "^2.0.14"
|
"vue-tsc": "^2.0.14"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
154
apps/www/scripts/autogen.ts
Normal file
154
apps/www/scripts/autogen.ts
Normal file
|
|
@ -0,0 +1,154 @@
|
||||||
|
import { join, parse, resolve } from 'node:path'
|
||||||
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs'
|
||||||
|
import { fileURLToPath } from 'node:url'
|
||||||
|
import fg from 'fast-glob'
|
||||||
|
import MarkdownIt from 'markdown-it'
|
||||||
|
import type { ComponentMeta, MetaCheckerOptions, PropertyMeta, PropertyMetaSchema } from 'vue-component-meta'
|
||||||
|
import { createComponentMetaChecker } from 'vue-component-meta'
|
||||||
|
|
||||||
|
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||||
|
|
||||||
|
const md = new MarkdownIt()
|
||||||
|
|
||||||
|
const ROOTPATH = '../'
|
||||||
|
const OUTPUTPATH = '../src/content/meta'
|
||||||
|
|
||||||
|
const checkerOptions: MetaCheckerOptions = {
|
||||||
|
forceUseTs: true,
|
||||||
|
printer: { newLine: 1 },
|
||||||
|
}
|
||||||
|
|
||||||
|
const tsconfigChecker = createComponentMetaChecker(
|
||||||
|
resolve(__dirname, ROOTPATH, 'tsconfig.registry.json'),
|
||||||
|
checkerOptions,
|
||||||
|
)
|
||||||
|
|
||||||
|
const components = fg.sync(['chart/**/*.vue', 'chart*/**/*.vue'], {
|
||||||
|
cwd: resolve(__dirname, ROOTPATH, 'src/lib/registry/default/ui/'),
|
||||||
|
absolute: true,
|
||||||
|
})
|
||||||
|
|
||||||
|
components.forEach((componentPath) => {
|
||||||
|
try {
|
||||||
|
const componentName = parse(componentPath).name
|
||||||
|
const meta = parseMeta(tsconfigChecker.getComponentMeta(componentPath))
|
||||||
|
|
||||||
|
const metaDirPath = resolve(__dirname, OUTPUTPATH)
|
||||||
|
// if meta dir doesn't exist create
|
||||||
|
if (!existsSync(metaDirPath))
|
||||||
|
mkdirSync(metaDirPath)
|
||||||
|
|
||||||
|
const metaMdFilePath = join(metaDirPath, `${componentName}.md`)
|
||||||
|
|
||||||
|
let parsedString = '<!-- This file was automatic generated. Do not edit it manually -->\n\n'
|
||||||
|
if (meta.props.length)
|
||||||
|
parsedString += `<PropsTable :data="${JSON.stringify(meta.props, null, 2).replace(/"/g, '\'')}" />\n`
|
||||||
|
|
||||||
|
if (meta.events.length)
|
||||||
|
parsedString += `\n<EmitsTable :data="${JSON.stringify(meta.events, null, 2).replace(/"/g, '\'')}" />\n`
|
||||||
|
|
||||||
|
if (meta.slots.length)
|
||||||
|
parsedString += `\n<SlotsTable :data="${JSON.stringify(meta.slots, null, 2).replace(/"/g, '\'')}" />\n`
|
||||||
|
|
||||||
|
if (meta.methods.length)
|
||||||
|
parsedString += `\n<MethodsTable :data="${JSON.stringify(meta.methods, null, 2).replace(/"/g, '\'')}" />\n`
|
||||||
|
|
||||||
|
writeFileSync(metaMdFilePath, parsedString)
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
function parseTypeFromSchema(schema: PropertyMetaSchema): string {
|
||||||
|
if (typeof schema === 'object' && (schema.kind === 'enum' || schema.kind === 'array')) {
|
||||||
|
const isFlatEnum = schema.schema?.every(val => typeof val === 'string')
|
||||||
|
const enumValue = schema?.schema?.filter(i => i !== 'undefined') ?? []
|
||||||
|
|
||||||
|
if (isFlatEnum && /^[A-Z]/.test(schema.type))
|
||||||
|
return enumValue.join(' | ')
|
||||||
|
else if (typeof schema.schema?.[0] === 'object' && schema.schema?.[0].kind === 'enum')
|
||||||
|
return schema.schema.map((s: PropertyMetaSchema) => parseTypeFromSchema(s)).join(' | ')
|
||||||
|
else
|
||||||
|
return schema.type
|
||||||
|
}
|
||||||
|
else if (typeof schema === 'object' && schema.kind === 'object') {
|
||||||
|
return schema.type
|
||||||
|
}
|
||||||
|
else if (typeof schema === 'string') {
|
||||||
|
return schema
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Utilities
|
||||||
|
function parseMeta(meta: ComponentMeta) {
|
||||||
|
const props = meta.props
|
||||||
|
// Exclude global props
|
||||||
|
.filter(prop => !prop.global)
|
||||||
|
.map((prop) => {
|
||||||
|
let defaultValue = prop.default
|
||||||
|
let type = prop.type
|
||||||
|
const { name, description, required } = prop
|
||||||
|
|
||||||
|
if (name === 'as')
|
||||||
|
defaultValue = defaultValue ?? '"div"'
|
||||||
|
|
||||||
|
if (defaultValue === 'undefined')
|
||||||
|
defaultValue = undefined
|
||||||
|
|
||||||
|
if (!type.includes('AcceptableValue'))
|
||||||
|
type = parseTypeFromSchema(prop.schema) || type
|
||||||
|
|
||||||
|
return ({
|
||||||
|
name,
|
||||||
|
description: md.render(description),
|
||||||
|
type: type.replace(/\s*\|\s*undefined/g, ''),
|
||||||
|
required,
|
||||||
|
default: defaultValue ?? undefined,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
const events = meta.events
|
||||||
|
.map((event) => {
|
||||||
|
const { name, type } = event
|
||||||
|
return ({
|
||||||
|
name,
|
||||||
|
type: type.replace(/\s*\|\s*undefined/g, ''),
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
const defaultSlot = meta.slots?.[0]
|
||||||
|
const slots: { name: string, description: string, type: string }[] = []
|
||||||
|
|
||||||
|
if (defaultSlot && defaultSlot.type !== '{}') {
|
||||||
|
const schema = defaultSlot.schema
|
||||||
|
if (typeof schema === 'object' && schema.schema) {
|
||||||
|
Object.values(schema.schema).forEach((childMeta: PropertyMeta) => {
|
||||||
|
slots.push({
|
||||||
|
name: childMeta.name,
|
||||||
|
description: md.render(childMeta.description),
|
||||||
|
type: parseTypeFromSchema(childMeta.schema),
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// exposed method
|
||||||
|
const methods = meta.exposed
|
||||||
|
.filter(expose => typeof expose.schema === 'object' && expose.schema.kind === 'event')
|
||||||
|
.map(expose => ({
|
||||||
|
name: expose.name,
|
||||||
|
description: md.render(expose.description),
|
||||||
|
type: expose.type,
|
||||||
|
}))
|
||||||
|
|
||||||
|
return {
|
||||||
|
props,
|
||||||
|
events,
|
||||||
|
slots,
|
||||||
|
methods,
|
||||||
|
}
|
||||||
|
}
|
||||||
116
apps/www/src/content/meta/AreaChart.md
Normal file
116
apps/www/src/content/meta/AreaChart.md
Normal file
|
|
@ -0,0 +1,116 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'data',
|
||||||
|
'description': '<p>The source data, in which each entry is a dictionary.</p>\n',
|
||||||
|
'type': 'Record<string, any>',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'categories',
|
||||||
|
'description': '<p>Select the categories from your data. Used to populate the legend and toolip.</p>\n',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'index',
|
||||||
|
'description': '<p>Sets the key to map the data to the axis.</p>\n',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'colors',
|
||||||
|
'description': '<p>Change the default colors.</p>\n',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'margin',
|
||||||
|
'description': '<p>Margin of each the container</p>\n',
|
||||||
|
'type': 'Spacing',
|
||||||
|
'required': false,
|
||||||
|
'default': '{ top: 0, bottom: 0, left: 0, right: 0 }'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'filterOpacity',
|
||||||
|
'description': '<p>Change the opacity of the non-selected field</p>\n',
|
||||||
|
'type': 'number',
|
||||||
|
'required': false,
|
||||||
|
'default': '0.2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'xFormatter',
|
||||||
|
'description': '<p>Function to format X label</p>\n',
|
||||||
|
'type': '((tick: number | Date, i: number, ticks: number[] | Date[]) => string)',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'yFormatter',
|
||||||
|
'description': '<p>Function to format Y label</p>\n',
|
||||||
|
'type': '((tick: number | Date, i: number, ticks: number[] | Date[]) => string)',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showXAxis',
|
||||||
|
'description': '<p>Controls the visibility of the X axis.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showYAxis',
|
||||||
|
'description': '<p>Controls the visibility of the Y axis.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showTooltip',
|
||||||
|
'description': '<p>Controls the visibility of tooltip.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showLegend',
|
||||||
|
'description': '<p>Controls the visibility of legend.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showGridLine',
|
||||||
|
'description': '<p>Controls the visibility of gridline.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'customTooltip',
|
||||||
|
'description': '<p>Render custom tooltip component.</p>\n',
|
||||||
|
'type': 'Component',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'curveType',
|
||||||
|
'description': '<p>Type of curve</p>\n',
|
||||||
|
'type': 'CurveType.Basis | CurveType.BasisClosed | CurveType.BasisOpen | CurveType.Bundle | CurveType.Cardinal | CurveType.CardinalClosed | CurveType.CardinalOpen | CurveType.CatmullRom | CurveType.CatmullRomClosed | CurveType.CatmullRomOpen | CurveType.Linear | CurveType.LinearClosed | CurveType.MonotoneX | CurveType.MonotoneY | CurveType.Natural | CurveType.Step | CurveType.StepAfter | CurveType.StepBefore',
|
||||||
|
'required': false,
|
||||||
|
'default': 'CurveType.MonotoneX'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showGradiant',
|
||||||
|
'description': '<p>Controls the visibility of gradient.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
|
|
||||||
|
<EmitsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'legendItemClick',
|
||||||
|
'type': '[d: BulletLegendItemInterface, i: number]'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
116
apps/www/src/content/meta/BarChart.md
Normal file
116
apps/www/src/content/meta/BarChart.md
Normal file
|
|
@ -0,0 +1,116 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'data',
|
||||||
|
'description': '<p>The source data, in which each entry is a dictionary.</p>\n',
|
||||||
|
'type': 'Record<string, any>',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'categories',
|
||||||
|
'description': '<p>Select the categories from your data. Used to populate the legend and toolip.</p>\n',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'index',
|
||||||
|
'description': '<p>Sets the key to map the data to the axis.</p>\n',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'colors',
|
||||||
|
'description': '<p>Change the default colors.</p>\n',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'margin',
|
||||||
|
'description': '<p>Margin of each the container</p>\n',
|
||||||
|
'type': 'Spacing',
|
||||||
|
'required': false,
|
||||||
|
'default': '{ top: 0, bottom: 0, left: 0, right: 0 }'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'filterOpacity',
|
||||||
|
'description': '<p>Change the opacity of the non-selected field</p>\n',
|
||||||
|
'type': 'number',
|
||||||
|
'required': false,
|
||||||
|
'default': '0.2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'xFormatter',
|
||||||
|
'description': '<p>Function to format X label</p>\n',
|
||||||
|
'type': '((tick: number | Date, i: number, ticks: number[] | Date[]) => string)',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'yFormatter',
|
||||||
|
'description': '<p>Function to format Y label</p>\n',
|
||||||
|
'type': '((tick: number | Date, i: number, ticks: number[] | Date[]) => string)',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showXAxis',
|
||||||
|
'description': '<p>Controls the visibility of the X axis.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showYAxis',
|
||||||
|
'description': '<p>Controls the visibility of the Y axis.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showTooltip',
|
||||||
|
'description': '<p>Controls the visibility of tooltip.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showLegend',
|
||||||
|
'description': '<p>Controls the visibility of legend.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showGridLine',
|
||||||
|
'description': '<p>Controls the visibility of gridline.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'customTooltip',
|
||||||
|
'description': '<p>Render custom tooltip component.</p>\n',
|
||||||
|
'type': 'Component',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'type',
|
||||||
|
'description': '<p>Change the type of the chart</p>\n',
|
||||||
|
'type': '\'stacked\' | \'grouped\'',
|
||||||
|
'required': false,
|
||||||
|
'default': '\'grouped\''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'roundedCorners',
|
||||||
|
'description': '<p>Rounded bar corners</p>\n',
|
||||||
|
'type': 'number',
|
||||||
|
'required': false,
|
||||||
|
'default': '0'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
|
|
||||||
|
<EmitsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'legendItemClick',
|
||||||
|
'type': '[d: BulletLegendItemInterface, i: number]'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
29
apps/www/src/content/meta/ChartCrosshair.md
Normal file
29
apps/www/src/content/meta/ChartCrosshair.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'colors',
|
||||||
|
'description': '',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': false,
|
||||||
|
'default': '[]'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'index',
|
||||||
|
'description': '',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'items',
|
||||||
|
'description': '',
|
||||||
|
'type': 'BulletLegendItemInterface[]',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'customTooltip',
|
||||||
|
'description': '',
|
||||||
|
'type': 'Component',
|
||||||
|
'required': false
|
||||||
|
}
|
||||||
|
]" />
|
||||||
22
apps/www/src/content/meta/ChartLegend.md
Normal file
22
apps/www/src/content/meta/ChartLegend.md
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'items',
|
||||||
|
'description': '',
|
||||||
|
'type': 'BulletLegendItemInterface[]',
|
||||||
|
'required': false,
|
||||||
|
'default': '[]'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
|
|
||||||
|
<EmitsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'legendItemClick',
|
||||||
|
'type': '[d: BulletLegendItemInterface, i: number]'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'update:items',
|
||||||
|
'type': '[payload: BulletLegendItemInterface[]]'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
43
apps/www/src/content/meta/ChartSingleTooltip.md
Normal file
43
apps/www/src/content/meta/ChartSingleTooltip.md
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'valueFormatter',
|
||||||
|
'description': '',
|
||||||
|
'type': '((tick: number, i?: number, ticks?: number[]) => string)',
|
||||||
|
'required': false,
|
||||||
|
'default': '`${tick}`'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'index',
|
||||||
|
'description': '',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'items',
|
||||||
|
'description': '',
|
||||||
|
'type': 'BulletLegendItemInterface[]',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'customTooltip',
|
||||||
|
'description': '',
|
||||||
|
'type': 'Component',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'selector',
|
||||||
|
'description': '',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
}
|
||||||
|
]" />
|
||||||
|
|
||||||
|
<MethodsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'valueFormatter',
|
||||||
|
'description': '',
|
||||||
|
'type': '(tick: number, i?: number | undefined, ticks?: number[] | undefined) => string'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
16
apps/www/src/content/meta/ChartTooltip.md
Normal file
16
apps/www/src/content/meta/ChartTooltip.md
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'title',
|
||||||
|
'description': '',
|
||||||
|
'type': 'string',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'data',
|
||||||
|
'description': '',
|
||||||
|
'type': '{ name: string; color: string; value: any; }[]',
|
||||||
|
'required': true
|
||||||
|
}
|
||||||
|
]" />
|
||||||
82
apps/www/src/content/meta/DonutChart.md
Normal file
82
apps/www/src/content/meta/DonutChart.md
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'colors',
|
||||||
|
'description': '<p>Change the default colors.</p>\n',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'index',
|
||||||
|
'description': '<p>Sets the key to map the data to the axis.</p>\n',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'data',
|
||||||
|
'description': '<p>The source data, in which each entry is a dictionary.</p>\n',
|
||||||
|
'type': 'Record<string, any>',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'margin',
|
||||||
|
'description': '<p>Margin of each the container</p>\n',
|
||||||
|
'type': 'Spacing',
|
||||||
|
'required': false,
|
||||||
|
'default': '{ top: 0, bottom: 0, left: 0, right: 0 }'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'filterOpacity',
|
||||||
|
'description': '<p>Change the opacity of the non-selected field</p>\n',
|
||||||
|
'type': 'number',
|
||||||
|
'required': false,
|
||||||
|
'default': '0.2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showTooltip',
|
||||||
|
'description': '<p>Controls the visibility of tooltip.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showLegend',
|
||||||
|
'description': '<p>Controls the visibility of legend.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'category',
|
||||||
|
'description': '<p>Sets the name of the key containing the quantitative chart values.</p>\n',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'type',
|
||||||
|
'description': '<p>Change the type of the chart</p>\n',
|
||||||
|
'type': '\'donut\' | \'pie\'',
|
||||||
|
'required': false,
|
||||||
|
'default': '\'donut\''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'sortFunction',
|
||||||
|
'description': '<p>Function to sort the segment</p>\n',
|
||||||
|
'type': '((a: any, b: any) => number)',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'valueFormatter',
|
||||||
|
'description': '<p>Controls the formatting for the label.</p>\n',
|
||||||
|
'type': '((tick: number, i?: number, ticks?: number[]) => string)',
|
||||||
|
'required': false,
|
||||||
|
'default': '`${tick}`'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'customTooltip',
|
||||||
|
'description': '<p>Render custom tooltip component.</p>\n',
|
||||||
|
'type': 'DefineComponent',
|
||||||
|
'required': false
|
||||||
|
}
|
||||||
|
]" />
|
||||||
109
apps/www/src/content/meta/LineChart.md
Normal file
109
apps/www/src/content/meta/LineChart.md
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
<!-- This file was automatic generated. Do not edit it manually -->
|
||||||
|
|
||||||
|
<PropsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'data',
|
||||||
|
'description': '<p>The source data, in which each entry is a dictionary.</p>\n',
|
||||||
|
'type': 'Record<string, any>',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'categories',
|
||||||
|
'description': '<p>Select the categories from your data. Used to populate the legend and toolip.</p>\n',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'index',
|
||||||
|
'description': '<p>Sets the key to map the data to the axis.</p>\n',
|
||||||
|
'type': 'string',
|
||||||
|
'required': true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'colors',
|
||||||
|
'description': '<p>Change the default colors.</p>\n',
|
||||||
|
'type': 'string[]',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'margin',
|
||||||
|
'description': '<p>Margin of each the container</p>\n',
|
||||||
|
'type': 'Spacing',
|
||||||
|
'required': false,
|
||||||
|
'default': '{ top: 0, bottom: 0, left: 0, right: 0 }'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'filterOpacity',
|
||||||
|
'description': '<p>Change the opacity of the non-selected field</p>\n',
|
||||||
|
'type': 'number',
|
||||||
|
'required': false,
|
||||||
|
'default': '0.2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'xFormatter',
|
||||||
|
'description': '<p>Function to format X label</p>\n',
|
||||||
|
'type': '((tick: number | Date, i: number, ticks: number[] | Date[]) => string)',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'yFormatter',
|
||||||
|
'description': '<p>Function to format Y label</p>\n',
|
||||||
|
'type': '((tick: number | Date, i: number, ticks: number[] | Date[]) => string)',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showXAxis',
|
||||||
|
'description': '<p>Controls the visibility of the X axis.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showYAxis',
|
||||||
|
'description': '<p>Controls the visibility of the Y axis.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showTooltip',
|
||||||
|
'description': '<p>Controls the visibility of tooltip.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showLegend',
|
||||||
|
'description': '<p>Controls the visibility of legend.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'showGridLine',
|
||||||
|
'description': '<p>Controls the visibility of gridline.</p>\n',
|
||||||
|
'type': 'boolean',
|
||||||
|
'required': false,
|
||||||
|
'default': 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'customTooltip',
|
||||||
|
'description': '<p>Render custom tooltip component.</p>\n',
|
||||||
|
'type': 'Component',
|
||||||
|
'required': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'curveType',
|
||||||
|
'description': '<p>Type of curve</p>\n',
|
||||||
|
'type': 'CurveType.Basis | CurveType.BasisClosed | CurveType.BasisOpen | CurveType.Bundle | CurveType.Cardinal | CurveType.CardinalClosed | CurveType.CardinalOpen | CurveType.CatmullRom | CurveType.CatmullRomClosed | CurveType.CatmullRomOpen | CurveType.Linear | CurveType.LinearClosed | CurveType.MonotoneX | CurveType.MonotoneY | CurveType.Natural | CurveType.Step | CurveType.StepAfter | CurveType.StepBefore',
|
||||||
|
'required': false,
|
||||||
|
'default': 'CurveType.MonotoneX'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
|
|
||||||
|
<EmitsTable :data="[
|
||||||
|
{
|
||||||
|
'name': 'legendItemClick',
|
||||||
|
'type': '[d: BulletLegendItemInterface, i: number]'
|
||||||
|
}
|
||||||
|
]" />
|
||||||
|
|
@ -123,6 +123,9 @@ importers:
|
||||||
specifier: ^3.23.3
|
specifier: ^3.23.3
|
||||||
version: 3.23.3
|
version: 3.23.3
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@babel/traverse':
|
||||||
|
specifier: ^7.24.1
|
||||||
|
version: 7.24.1
|
||||||
'@iconify-json/lucide':
|
'@iconify-json/lucide':
|
||||||
specifier: ^1.1.180
|
specifier: ^1.1.180
|
||||||
version: 1.1.184
|
version: 1.1.184
|
||||||
|
|
@ -174,9 +177,15 @@ importers:
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: ^10.4.19
|
specifier: ^10.4.19
|
||||||
version: 10.4.19(postcss@8.4.38)
|
version: 10.4.19(postcss@8.4.38)
|
||||||
|
fast-glob:
|
||||||
|
specifier: ^3.3.2
|
||||||
|
version: 3.3.2
|
||||||
lodash-es:
|
lodash-es:
|
||||||
specifier: ^4.17.21
|
specifier: ^4.17.21
|
||||||
version: 4.17.21
|
version: 4.17.21
|
||||||
|
markdown-it:
|
||||||
|
specifier: ^14.1.0
|
||||||
|
version: 14.1.0
|
||||||
pathe:
|
pathe:
|
||||||
specifier: ^1.1.2
|
specifier: ^1.1.2
|
||||||
version: 1.1.2
|
version: 1.1.2
|
||||||
|
|
@ -204,6 +213,9 @@ importers:
|
||||||
vitepress:
|
vitepress:
|
||||||
specifier: ^1.1.3
|
specifier: ^1.1.3
|
||||||
version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@0.18.1)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.30.4)(typescript@5.4.5)
|
version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@0.18.1)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.30.4)(typescript@5.4.5)
|
||||||
|
vue-component-meta:
|
||||||
|
specifier: ^2.0.13
|
||||||
|
version: 2.0.14(typescript@5.4.5)
|
||||||
vue-tsc:
|
vue-tsc:
|
||||||
specifier: ^2.0.14
|
specifier: ^2.0.14
|
||||||
version: 2.0.14(typescript@5.4.5)
|
version: 2.0.14(typescript@5.4.5)
|
||||||
|
|
@ -4846,6 +4858,9 @@ packages:
|
||||||
lines-and-columns@1.2.4:
|
lines-and-columns@1.2.4:
|
||||||
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||||
|
|
||||||
|
linkify-it@5.0.0:
|
||||||
|
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
|
||||||
|
|
||||||
lint-staged@15.2.2:
|
lint-staged@15.2.2:
|
||||||
resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==}
|
resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==}
|
||||||
engines: {node: '>=18.12.0'}
|
engines: {node: '>=18.12.0'}
|
||||||
|
|
@ -5001,6 +5016,10 @@ packages:
|
||||||
mark.js@8.11.1:
|
mark.js@8.11.1:
|
||||||
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
|
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
|
||||||
|
|
||||||
|
markdown-it@14.1.0:
|
||||||
|
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
mdast-util-from-markdown@0.8.5:
|
mdast-util-from-markdown@0.8.5:
|
||||||
resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
|
resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
|
||||||
|
|
||||||
|
|
@ -5013,6 +5032,9 @@ packages:
|
||||||
mdn-data@2.0.30:
|
mdn-data@2.0.30:
|
||||||
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
|
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
|
||||||
|
|
||||||
|
mdurl@2.0.0:
|
||||||
|
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
|
||||||
|
|
||||||
meow@12.1.1:
|
meow@12.1.1:
|
||||||
resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
|
resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
|
||||||
engines: {node: '>=16.10'}
|
engines: {node: '>=16.10'}
|
||||||
|
|
@ -5917,6 +5939,10 @@ packages:
|
||||||
pumpify@1.5.1:
|
pumpify@1.5.1:
|
||||||
resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==}
|
resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==}
|
||||||
|
|
||||||
|
punycode.js@2.3.1:
|
||||||
|
resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
punycode@2.3.1:
|
punycode@2.3.1:
|
||||||
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
@ -6761,6 +6787,9 @@ packages:
|
||||||
engines: {node: '>=14.17'}
|
engines: {node: '>=14.17'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
uc.micro@2.1.0:
|
||||||
|
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
|
||||||
|
|
||||||
ufo@1.5.3:
|
ufo@1.5.3:
|
||||||
resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
|
resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
|
||||||
|
|
||||||
|
|
@ -7229,6 +7258,17 @@ packages:
|
||||||
vue-bundle-renderer@2.0.0:
|
vue-bundle-renderer@2.0.0:
|
||||||
resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==}
|
resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==}
|
||||||
|
|
||||||
|
vue-component-meta@2.0.14:
|
||||||
|
resolution: {integrity: sha512-6ycN+5bkLLNsjno5pX+OFmFxrAXllJo95lk7jPD7g7cbtWsZY5F+pg+/YMXldHA36STrBHTfCu5QoklDV9Gynw==}
|
||||||
|
peerDependencies:
|
||||||
|
typescript: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
typescript:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
vue-component-type-helpers@2.0.14:
|
||||||
|
resolution: {integrity: sha512-DInfgOyXlMyliyqAAD9frK28tTfch0+tMi4qoWJcZlRxUf+NFAtraJBnAsKLep+FOyLMiajkhfyEb3xLK08i7w==}
|
||||||
|
|
||||||
vue-demi@0.14.7:
|
vue-demi@0.14.7:
|
||||||
resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
|
resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
@ -12721,6 +12761,10 @@ snapshots:
|
||||||
|
|
||||||
lines-and-columns@1.2.4: {}
|
lines-and-columns@1.2.4: {}
|
||||||
|
|
||||||
|
linkify-it@5.0.0:
|
||||||
|
dependencies:
|
||||||
|
uc.micro: 2.1.0
|
||||||
|
|
||||||
lint-staged@15.2.2:
|
lint-staged@15.2.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk: 5.3.0
|
chalk: 5.3.0
|
||||||
|
|
@ -12946,6 +12990,15 @@ snapshots:
|
||||||
|
|
||||||
mark.js@8.11.1: {}
|
mark.js@8.11.1: {}
|
||||||
|
|
||||||
|
markdown-it@14.1.0:
|
||||||
|
dependencies:
|
||||||
|
argparse: 2.0.1
|
||||||
|
entities: 4.5.0
|
||||||
|
linkify-it: 5.0.0
|
||||||
|
mdurl: 2.0.0
|
||||||
|
punycode.js: 2.3.1
|
||||||
|
uc.micro: 2.1.0
|
||||||
|
|
||||||
mdast-util-from-markdown@0.8.5:
|
mdast-util-from-markdown@0.8.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/mdast': 3.0.15
|
'@types/mdast': 3.0.15
|
||||||
|
|
@ -12962,6 +13015,8 @@ snapshots:
|
||||||
|
|
||||||
mdn-data@2.0.30: {}
|
mdn-data@2.0.30: {}
|
||||||
|
|
||||||
|
mdurl@2.0.0: {}
|
||||||
|
|
||||||
meow@12.1.1: {}
|
meow@12.1.1: {}
|
||||||
|
|
||||||
merge-stream@2.0.0: {}
|
merge-stream@2.0.0: {}
|
||||||
|
|
@ -14077,6 +14132,8 @@ snapshots:
|
||||||
inherits: 2.0.4
|
inherits: 2.0.4
|
||||||
pump: 2.0.1
|
pump: 2.0.1
|
||||||
|
|
||||||
|
punycode.js@2.3.1: {}
|
||||||
|
|
||||||
punycode@2.3.1: {}
|
punycode@2.3.1: {}
|
||||||
|
|
||||||
queue-microtask@1.2.3: {}
|
queue-microtask@1.2.3: {}
|
||||||
|
|
@ -14962,6 +15019,8 @@ snapshots:
|
||||||
|
|
||||||
typescript@5.4.5: {}
|
typescript@5.4.5: {}
|
||||||
|
|
||||||
|
uc.micro@2.1.0: {}
|
||||||
|
|
||||||
ufo@1.5.3: {}
|
ufo@1.5.3: {}
|
||||||
|
|
||||||
ultrahtml@1.5.3: {}
|
ultrahtml@1.5.3: {}
|
||||||
|
|
@ -15598,6 +15657,17 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
ufo: 1.5.3
|
ufo: 1.5.3
|
||||||
|
|
||||||
|
vue-component-meta@2.0.14(typescript@5.4.5):
|
||||||
|
dependencies:
|
||||||
|
'@volar/typescript': 2.2.0-alpha.10
|
||||||
|
'@vue/language-core': 2.0.14(typescript@5.4.5)
|
||||||
|
path-browserify: 1.0.1
|
||||||
|
vue-component-type-helpers: 2.0.14
|
||||||
|
optionalDependencies:
|
||||||
|
typescript: 5.4.5
|
||||||
|
|
||||||
|
vue-component-type-helpers@2.0.14: {}
|
||||||
|
|
||||||
vue-demi@0.14.7(vue@3.4.24(typescript@5.4.5)):
|
vue-demi@0.14.7(vue@3.4.24(typescript@5.4.5)):
|
||||||
dependencies:
|
dependencies:
|
||||||
vue: 3.4.24(typescript@5.4.5)
|
vue: 3.4.24(typescript@5.4.5)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user