mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-28 19:00:35 +01:00
docs(ComponentCode): improve defaults for booleans
This commit is contained in:
@@ -210,23 +210,23 @@ const code = computed(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const prop = meta?.meta?.props?.find((prop: any) => prop.name === key)
|
const prop = meta?.meta?.props?.find((prop: any) => prop.name === key)
|
||||||
|
const propDefault = prop && (prop.default ?? prop.tags?.find(tag => tag.name === 'defaultValue')?.text ?? componentTheme?.defaultVariants?.[prop.name])
|
||||||
const name = kebabCase(key)
|
const name = kebabCase(key)
|
||||||
|
|
||||||
if (typeof value === 'boolean') {
|
if (typeof value === 'boolean') {
|
||||||
if (value && prop?.default === 'true') {
|
if (value && (propDefault === 'true' || propDefault === '`true`' || propDefault === true)) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if (!value && (!prop?.default || prop.default === 'false')) {
|
if (!value && (!propDefault || propDefault === 'false' || propDefault === '`false`' || propDefault === false)) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
code += value ? ` ${name}` : ` :${key}="false"`
|
code += value ? ` ${name}` : ` :${name}="false"`
|
||||||
} else if (typeof value === 'object') {
|
} else if (typeof value === 'object') {
|
||||||
const parsedValue = !props.external?.includes(key) ? json5.stringify(value, null, 2).replace(/,([ |\t\n]+[}|\])])/g, '$1') : key
|
const parsedValue = !props.external?.includes(key) ? json5.stringify(value, null, 2).replace(/,([ |\t\n]+[}|\])])/g, '$1') : key
|
||||||
|
|
||||||
code += ` :${name}="${parsedValue}"`
|
code += ` :${name}="${parsedValue}"`
|
||||||
} else {
|
} else {
|
||||||
const propDefault = prop && (prop.default ?? prop.tags?.find(tag => tag.name === 'defaultValue')?.text ?? componentTheme?.defaultVariants?.[prop.name])
|
|
||||||
if (propDefault === value) {
|
if (propDefault === value) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user