diff --git a/packages/form/package.json b/packages/form/package.json index 38600ae..e21340a 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -1,7 +1,7 @@ { "name": "schemastery-vue", "description": "Type driven schema validator", - "version": "6.0.0", + "version": "6.1.0", "main": "src/index.ts", "repository": { "type": "git", diff --git a/packages/form/src/extensions/table.vue b/packages/form/src/extensions/table.vue index 7872fb4..d613272 100644 --- a/packages/form/src/extensions/table.vue +++ b/packages/form/src/extensions/table.vue @@ -17,7 +17,7 @@ {{ key === null ? t('entry.value') : tt(schema.meta.description) || key }} - + - + > item.type === 'const') +} + +function ensureColumns(entries: [string, Schema][]) { + if (entries.every(([, schema]) => isPrimitive(schema))) return entries +} + const columns = computed<[string, Schema][]>(() => { const { inner } = props.schema - if (['string', 'number', 'boolean'].includes(inner.type)) { + if (isPrimitive(inner)) { return [[null, inner]] } else if (inner.type === 'tuple') { - return Object.entries(inner.list) + return ensureColumns(Object.entries(inner.list)) } else if (inner.type === 'object') { - return Object.entries(inner.dict) + return ensureColumns(Object.entries(inner.dict)) } }) @@ -188,7 +197,7 @@ if (import.meta.hot) { } th { - padding: 0.5rem 0; + padding: 0.5rem 0.75rem; line-height: 1rem; } @@ -199,10 +208,13 @@ if (import.meta.hot) { background-color: var(--k-color-warning-fade); } - .el-input__wrapper { - z-index: 1; + * .el-input__wrapper { box-shadow: none; } + + .el-select .el-input .el-input__wrapper { + box-shadow: none !important; + } } td { @@ -217,10 +229,6 @@ if (import.meta.hot) { } } - td.key { - width: 30%; - } - td.button { width: 2rem; color: var(--k-text-light); @@ -242,6 +250,15 @@ if (import.meta.hot) { height: 1rem; } } + + .k-schema-column-number { + min-width: 8rem; + width: 10rem; + + .el-input-number { + width: 100%; + } + } } diff --git a/packages/form/src/primitive.vue b/packages/form/src/primitive.vue index 055ce01..71010be 100644 --- a/packages/form/src/primitive.vue +++ b/packages/form/src/primitive.vue @@ -1,5 +1,8 @@