@json-layout/vocabulary 0.11.0 → 0.13.0
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/package.json +1 -1
- package/src/layout-keyword/schema.js +3 -0
- package/src/layout-keyword/schema.json +2 -1
- package/src/layout-keyword/types.ts +1 -0
- package/src/layout-keyword/validate.js +1 -1
- package/src/normalize.js +4 -4
- package/src/normalized-layout/index.js +4 -0
- package/src/normalized-layout/schema.js +14 -0
- package/src/normalized-layout/schema.json +11 -3
- package/src/normalized-layout/types.ts +4 -0
- package/src/normalized-layout/validate.js +1 -1
- package/types/layout-keyword/schema.d.ts +3 -0
- package/types/layout-keyword/types.d.ts +1 -0
- package/types/layout-keyword/types.d.ts.map +1 -1
- package/types/layout-keyword/validate.d.ts.map +1 -1
- package/types/normalize.d.ts.map +1 -1
- package/types/normalized-layout/index.d.ts +1 -0
- package/types/normalized-layout/index.d.ts.map +1 -1
- package/types/normalized-layout/schema.d.ts +14 -0
- package/types/normalized-layout/types.d.ts +4 -0
- package/types/normalized-layout/types.d.ts.map +1 -1
- package/types/normalized-layout/validate.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@json-layout/vocabulary",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Main JSON Layout vocabulary as JSON schemas and Typescript types. Also contains some small utility functions to validate and normalize annotations.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
"constData": {},
|
|
56
56
|
"getConstData": {"$ref": "#/$defs/partial-expression"},
|
|
57
57
|
"transformData": {"$ref": "#/$defs/partial-expression"},
|
|
58
|
-
"autofocus": {"type": "boolean"}
|
|
58
|
+
"autofocus": {"type": "boolean"},
|
|
59
|
+
"separator": {"type": "string"}
|
|
59
60
|
}
|
|
60
61
|
},
|
|
61
62
|
"comp-name": {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
|
-
export const validate = validate22;export default validate22;const schema26 = {"$id":"https://json-layout.github.io/layout-keyword","title":"layout keyword","errorMessage":{"anyOf":"layout keyword must be a string with a valid component name, or a more complete object definition, or an array of children, or a switch structure"},"anyOf":[{"$ref":"#/$defs/comp-name"},{"$ref":"#/$defs/partial-children"},{"$ref":"#/$defs/partial-comp-object"},{"$ref":"#/$defs/partial-switch"}],"$defs":{"partial-switch":{"type":"object","required":["switch"],"additionalProperties":false,"properties":{"switch":{"type":"array","items":{"$ref":"#/$defs/partial-comp-object"}}}},"partial-comp-object":{"title":"partial comp object","type":"object","properties":{"comp":{"$ref":"#/$defs/comp-name"},"help":{"type":"string"},"children":{"$ref":"#/$defs/partial-children"},"label":{"type":"string"},"title":{"type":["string","null"]},"subtitle":{"type":["string","null"]},"step":{"type":"number"},"if":{"$ref":"#/$defs/partial-expression"},"items":{"type":"array","items":{"$ref":"#/$defs/partial-select-item"}},"getItems":{"$ref":"#/$defs/partial-get-items"},"listEditMode":{"type":"string","enum":["inline","inline-single","menu","dialog"]},"listActions":{"type":"array","items":{"type":"string","enum":["add","edit","delete","sort","duplicate"]}},"cols":{"$ref":"#/$defs/partial-cols"},"props":{"type":"object"},"getProps":{"$ref":"#/$defs/partial-expression"},"slots":{"type":"object","patternProperties":{".*":{"$ref":"#/$defs/partial-slot"}}},"options":{"type":"object"},"getOptions":{"$ref":"#/$defs/partial-expression"},"messages":{"type":"object"},"defaultData":{},"getDefaultData":{"$ref":"#/$defs/partial-expression"},"constData":{},"getConstData":{"$ref":"#/$defs/partial-expression"},"transformData":{"$ref":"#/$defs/partial-expression"},"autofocus":{"type":"boolean"}}},"comp-name":{"title":"component name","type":"string","errorMessage":{"enum":"component name is unknown"},"enum":["none","text-field","number-field","textarea","markdown","checkbox","switch","slider","date-picker","date-time-picker","time-picker","color-picker","combobox","number-combobox","section","list","select","autocomplete","tabs","vertical-tabs","expansion-panels","stepper","one-of-select","file-input"]},"partial-child":{"type":"object","unevaluatedProperties":false,"properties":{"key":{"type":["string","integer"]},"cols":{"$ref":"#/$defs/partial-cols"}},"allOf":[{"$ref":"#/$defs/partial-comp-object"},{}]},"partial-children":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-child"}]}},"partial-expression":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-expression-obj"}]},"partial-expression-obj":{"type":"object","required":["expr"],"properties":{"type":{"type":"string","enum":["js-fn","js-eval","js-tpl"]},"expr":{"type":"string"}}},"partial-select-item":{"oneOf":[{"type":"string"},{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"value":{}}}]},"partial-get-items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-get-items-obj"}]},"partial-get-items-obj":{"type":"object","allOf":[{"properties":{"itemTitle":{"$ref":"#/$defs/partial-expression"},"itemKey":{"$ref":"#/$defs/partial-expression"},"itemValue":{"$ref":"#/$defs/partial-expression"},"itemIcon":{"$ref":"#/$defs/partial-expression"},"itemsResults":{"$ref":"#/$defs/partial-expression"}}},{"anyOf":[{"type":"object"},{"$ref":"#/$defs/partial-expression-obj"},{"$ref":"#/$defs/partial-get-items-fetch"}]}]},"partial-get-items-fetch":{"type":"object","required":["url"],"properties":{"url":{"$ref":"#/$defs/partial-expression"}}},"partial-cols":{"oneOf":[{"$ref":"#/$defs/partial-cols-number"},{"$ref":"#/$defs/partial-cols-obj"}]},"partial-cols-obj":{"type":"object","additionalProperties":false,"properties":{"xs":{"$ref":"#/$defs/partial-cols-number"},"sm":{"$ref":"#/$defs/partial-cols-number"},"md":{"$ref":"#/$defs/partial-cols-number"},"lg":{"$ref":"#/$defs/partial-cols-number"},"xl":{"$ref":"#/$defs/partial-cols-number"},"xxl":{"$ref":"#/$defs/partial-cols-number"}}},"partial-cols-number":{"type":"integer","minimum":0,"maximum":12},"partial-slot":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-slot-text"},{"$ref":"#/$defs/partial-slot-markdown"},{"$ref":"#/$defs/partial-slot-name"}]},"partial-slot-text":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string"}}},"partial-slot-markdown":{"type":"object","additionalProperties":false,"required":["markdown"],"properties":{"markdown":{"type":"string"}}},"partial-slot-name":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}}}};const schema27 = {"title":"component name","type":"string","errorMessage":{"enum":"component name is unknown"},"enum":["none","text-field","number-field","textarea","markdown","checkbox","switch","slider","date-picker","date-time-picker","time-picker","color-picker","combobox","number-combobox","section","list","select","autocomplete","tabs","vertical-tabs","expansion-panels","stepper","one-of-select","file-input"]};const schema28 = {"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-child"}]}};const schema29 = {"type":"object","unevaluatedProperties":false,"properties":{"key":{"type":["string","integer"]},"cols":{"$ref":"#/$defs/partial-cols"}},"allOf":[{"$ref":"#/$defs/partial-comp-object"},{}]};const schema30 = {"title":"partial comp object","type":"object","properties":{"comp":{"$ref":"#/$defs/comp-name"},"help":{"type":"string"},"children":{"$ref":"#/$defs/partial-children"},"label":{"type":"string"},"title":{"type":["string","null"]},"subtitle":{"type":["string","null"]},"step":{"type":"number"},"if":{"$ref":"#/$defs/partial-expression"},"items":{"type":"array","items":{"$ref":"#/$defs/partial-select-item"}},"getItems":{"$ref":"#/$defs/partial-get-items"},"listEditMode":{"type":"string","enum":["inline","inline-single","menu","dialog"]},"listActions":{"type":"array","items":{"type":"string","enum":["add","edit","delete","sort","duplicate"]}},"cols":{"$ref":"#/$defs/partial-cols"},"props":{"type":"object"},"getProps":{"$ref":"#/$defs/partial-expression"},"slots":{"type":"object","patternProperties":{".*":{"$ref":"#/$defs/partial-slot"}}},"options":{"type":"object"},"getOptions":{"$ref":"#/$defs/partial-expression"},"messages":{"type":"object"},"defaultData":{},"getDefaultData":{"$ref":"#/$defs/partial-expression"},"constData":{},"getConstData":{"$ref":"#/$defs/partial-expression"},"transformData":{"$ref":"#/$defs/partial-expression"},"autofocus":{"type":"boolean"}}};const schema34 = {"oneOf":[{"type":"string"},{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"value":{}}}]};const wrapper0 = {validate: validate23};const schema32 = {"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-expression-obj"}]};const schema33 = {"type":"object","required":["expr"],"properties":{"type":{"type":"string","enum":["js-fn","js-eval","js-tpl"]},"expr":{"type":"string"}}};function validate26(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate26.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.expr === undefined){const err1 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/required",keyword:"required",params:{missingProperty: "expr"},message:"must have required property '"+"expr"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.type !== undefined){let data0 = data.type;if(typeof data0 !== "string"){const err2 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(!(((data0 === "js-fn") || (data0 === "js-eval")) || (data0 === "js-tpl"))){const err3 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/enum",keyword:"enum",params:{allowedValues: schema33.properties.type.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.expr !== undefined){if(typeof data.expr !== "string"){const err4 = {instancePath:instancePath+"/expr",schemaPath:"#/$defs/partial-expression-obj/properties/expr/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}var _valid0 = _errs3 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;var props0 = {};props0.type = true;props0.expr = true;}}if(!valid0){const err6 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate26.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate26.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema35 = {"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-get-items-obj"}]};const schema36 = {"type":"object","allOf":[{"properties":{"itemTitle":{"$ref":"#/$defs/partial-expression"},"itemKey":{"$ref":"#/$defs/partial-expression"},"itemValue":{"$ref":"#/$defs/partial-expression"},"itemIcon":{"$ref":"#/$defs/partial-expression"},"itemsResults":{"$ref":"#/$defs/partial-expression"}}},{"anyOf":[{"type":"object"},{"$ref":"#/$defs/partial-expression-obj"},{"$ref":"#/$defs/partial-get-items-fetch"}]}]};const schema38 = {"type":"object","required":["url"],"properties":{"url":{"$ref":"#/$defs/partial-expression"}}};function validate35(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate35.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.url === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.url !== undefined){if(!(validate26(data.url, {instancePath:instancePath+"/url",parentData:data,parentDataProperty:"url",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}}else {const err1 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}validate35.errors = vErrors;return errors === 0;}validate35.evaluated = {"props":{"url":true},"dynamicProps":false,"dynamicItems":false};function validate29(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate29.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(!(data && typeof data == "object" && !Array.isArray(data))){const err0 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.itemTitle !== undefined){if(!(validate26(data.itemTitle, {instancePath:instancePath+"/itemTitle",parentData:data,parentDataProperty:"itemTitle",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemKey !== undefined){if(!(validate26(data.itemKey, {instancePath:instancePath+"/itemKey",parentData:data,parentDataProperty:"itemKey",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemValue !== undefined){if(!(validate26(data.itemValue, {instancePath:instancePath+"/itemValue",parentData:data,parentDataProperty:"itemValue",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemIcon !== undefined){if(!(validate26(data.itemIcon, {instancePath:instancePath+"/itemIcon",parentData:data,parentDataProperty:"itemIcon",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemsResults !== undefined){if(!(validate26(data.itemsResults, {instancePath:instancePath+"/itemsResults",parentData:data,parentDataProperty:"itemsResults",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}}const _errs8 = errors;let valid2 = false;const _errs9 = errors;if(!(data && typeof data == "object" && !Array.isArray(data))){const err1 = {instancePath,schemaPath:"#/allOf/1/anyOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var _valid0 = _errs9 === errors;valid2 = valid2 || _valid0;const _errs11 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.expr === undefined){const err2 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/required",keyword:"required",params:{missingProperty: "expr"},message:"must have required property '"+"expr"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.type !== undefined){let data5 = data.type;if(typeof data5 !== "string"){const err3 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!(((data5 === "js-fn") || (data5 === "js-eval")) || (data5 === "js-tpl"))){const err4 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/enum",keyword:"enum",params:{allowedValues: schema33.properties.type.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.expr !== undefined){if(typeof data.expr !== "string"){const err5 = {instancePath:instancePath+"/expr",schemaPath:"#/$defs/partial-expression-obj/properties/expr/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}else {const err6 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs11 === errors;valid2 = valid2 || _valid0;if(_valid0){var props5 = {};props5.type = true;props5.expr = true;}const _errs18 = errors;if(!(validate35(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate35.errors : vErrors.concat(validate35.errors);errors = vErrors.length;}var _valid0 = _errs18 === errors;valid2 = valid2 || _valid0;if(_valid0){if(props5 !== true){props5 = props5 || {};props5.url = true;}}if(!valid2){const err7 = {instancePath,schemaPath:"#/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}if(props5 !== true){props5 = props5 || {};props5.itemTitle = true;props5.itemKey = true;props5.itemValue = true;props5.itemIcon = true;props5.itemsResults = true;}validate29.errors = vErrors;evaluated0.props = props5;return errors === 0;}validate29.evaluated = {"dynamicProps":true,"dynamicItems":false};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs3 = errors;if(!(validate29(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate29.errors : vErrors.concat(validate29.errors);errors = vErrors.length;}else {var props0 = validate29.evaluated.props;}var _valid0 = _errs3 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err1 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate28.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate28.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema39 = {"oneOf":[{"$ref":"#/$defs/partial-cols-number"},{"$ref":"#/$defs/partial-cols-obj"}]};const schema40 = {"type":"integer","minimum":0,"maximum":12};const schema41 = {"type":"object","additionalProperties":false,"properties":{"xs":{"$ref":"#/$defs/partial-cols-number"},"sm":{"$ref":"#/$defs/partial-cols-number"},"md":{"$ref":"#/$defs/partial-cols-number"},"lg":{"$ref":"#/$defs/partial-cols-number"},"xl":{"$ref":"#/$defs/partial-cols-number"},"xxl":{"$ref":"#/$defs/partial-cols-number"}}};function validate41(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate41.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){for(const key0 in data){if(!((((((key0 === "xs") || (key0 === "sm")) || (key0 === "md")) || (key0 === "lg")) || (key0 === "xl")) || (key0 === "xxl"))){const err0 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}if(data.xs !== undefined){let data0 = data.xs;if(!(((typeof data0 == "number") && (!(data0 % 1) && !isNaN(data0))) && (isFinite(data0)))){const err1 = {instancePath:instancePath+"/xs",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if((typeof data0 == "number") && (isFinite(data0))){if(data0 > 12 || isNaN(data0)){const err2 = {instancePath:instancePath+"/xs",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data0 < 0 || isNaN(data0)){const err3 = {instancePath:instancePath+"/xs",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}}if(data.sm !== undefined){let data1 = data.sm;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){const err4 = {instancePath:instancePath+"/sm",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if((typeof data1 == "number") && (isFinite(data1))){if(data1 > 12 || isNaN(data1)){const err5 = {instancePath:instancePath+"/sm",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data1 < 0 || isNaN(data1)){const err6 = {instancePath:instancePath+"/sm",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}}if(data.md !== undefined){let data2 = data.md;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err7 = {instancePath:instancePath+"/md",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}if((typeof data2 == "number") && (isFinite(data2))){if(data2 > 12 || isNaN(data2)){const err8 = {instancePath:instancePath+"/md",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if(data2 < 0 || isNaN(data2)){const err9 = {instancePath:instancePath+"/md",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data.lg !== undefined){let data3 = data.lg;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err10 = {instancePath:instancePath+"/lg",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 > 12 || isNaN(data3)){const err11 = {instancePath:instancePath+"/lg",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data3 < 0 || isNaN(data3)){const err12 = {instancePath:instancePath+"/lg",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}}if(data.xl !== undefined){let data4 = data.xl;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err13 = {instancePath:instancePath+"/xl",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 > 12 || isNaN(data4)){const err14 = {instancePath:instancePath+"/xl",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data4 < 0 || isNaN(data4)){const err15 = {instancePath:instancePath+"/xl",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}if(data.xxl !== undefined){let data5 = data.xxl;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err16 = {instancePath:instancePath+"/xxl",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if((typeof data5 == "number") && (isFinite(data5))){if(data5 > 12 || isNaN(data5)){const err17 = {instancePath:instancePath+"/xxl",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(data5 < 0 || isNaN(data5)){const err18 = {instancePath:instancePath+"/xxl",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}}else {const err19 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}validate41.errors = vErrors;return errors === 0;}validate41.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate40(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate40.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(!(((typeof data == "number") && (!(data % 1) && !isNaN(data))) && (isFinite(data)))){const err0 = {instancePath,schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if((typeof data == "number") && (isFinite(data))){if(data > 12 || isNaN(data)){const err1 = {instancePath,schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data < 0 || isNaN(data)){const err2 = {instancePath,schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs4 = errors;if(!(validate41(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate41.errors : vErrors.concat(validate41.errors);errors = vErrors.length;}var _valid0 = _errs4 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;var props0 = true;}}if(!valid0){const err3 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate40.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate40.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema48 = {"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-slot-text"},{"$ref":"#/$defs/partial-slot-markdown"},{"$ref":"#/$defs/partial-slot-name"}]};const schema49 = {"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string"}}};const schema50 = {"type":"object","additionalProperties":false,"required":["markdown"],"properties":{"markdown":{"type":"string"}}};const schema51 = {"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}};function validate45(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate45.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.text === undefined){const err1 = {instancePath,schemaPath:"#/$defs/partial-slot-text/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!(key0 === "text")){const err2 = {instancePath,schemaPath:"#/$defs/partial-slot-text/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.text !== undefined){if(typeof data.text !== "string"){const err3 = {instancePath:instancePath+"/text",schemaPath:"#/$defs/partial-slot-text/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}}else {const err4 = {instancePath,schemaPath:"#/$defs/partial-slot-text/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var _valid0 = _errs3 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;var props0 = true;}const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.markdown === undefined){const err5 = {instancePath,schemaPath:"#/$defs/partial-slot-markdown/required",keyword:"required",params:{missingProperty: "markdown"},message:"must have required property '"+"markdown"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key1 in data){if(!(key1 === "markdown")){const err6 = {instancePath,schemaPath:"#/$defs/partial-slot-markdown/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.markdown !== undefined){if(typeof data.markdown !== "string"){const err7 = {instancePath:instancePath+"/markdown",schemaPath:"#/$defs/partial-slot-markdown/properties/markdown/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}else {const err8 = {instancePath,schemaPath:"#/$defs/partial-slot-markdown/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}var _valid0 = _errs9 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs15 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.name === undefined){const err9 = {instancePath,schemaPath:"#/$defs/partial-slot-name/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}for(const key2 in data){if(!(key2 === "name")){const err10 = {instancePath,schemaPath:"#/$defs/partial-slot-name/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.name !== undefined){if(typeof data.name !== "string"){const err11 = {instancePath:instancePath+"/name",schemaPath:"#/$defs/partial-slot-name/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath,schemaPath:"#/$defs/partial-slot-name/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs15 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}}}}if(!valid0){const err13 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate45.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate45.evaluated = {"dynamicProps":true,"dynamicItems":false};const pattern2 = new RegExp(".*", "u");function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate25.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.comp !== undefined){let data0 = data.comp;if(typeof data0 !== "string"){const err0 = {instancePath:instancePath+"/comp",schemaPath:"#/$defs/comp-name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(!((((((((((((((((((((((((data0 === "none") || (data0 === "text-field")) || (data0 === "number-field")) || (data0 === "textarea")) || (data0 === "markdown")) || (data0 === "checkbox")) || (data0 === "switch")) || (data0 === "slider")) || (data0 === "date-picker")) || (data0 === "date-time-picker")) || (data0 === "time-picker")) || (data0 === "color-picker")) || (data0 === "combobox")) || (data0 === "number-combobox")) || (data0 === "section")) || (data0 === "list")) || (data0 === "select")) || (data0 === "autocomplete")) || (data0 === "tabs")) || (data0 === "vertical-tabs")) || (data0 === "expansion-panels")) || (data0 === "stepper")) || (data0 === "one-of-select")) || (data0 === "file-input"))){const err1 = {instancePath:instancePath+"/comp",schemaPath:"#/$defs/comp-name/enum",keyword:"enum",params:{allowedValues: schema27.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(errors > 0){const emErrors0 = {"enum":[]};const templates0 = {};for(const err2 of vErrors){if((((((err2.keyword !== "errorMessage") && (!err2.emUsed)) && (err2.instancePath === instancePath+"/comp")) && (err2.keyword in emErrors0)) && (err2.schemaPath.indexOf("#/$defs/comp-name") === 0)) && (/^\/[^\/]*$/.test(err2.schemaPath.slice(17)))){emErrors0[err2.keyword].push(err2);err2.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err3 = {instancePath:instancePath+"/comp",schemaPath:"#/$defs/comp-name/errorMessage",keyword:"errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema27.errorMessage[key0]};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}const emErrs0 = [];for(const err4 of vErrors){if(!err4.emUsed){emErrs0.push(err4);}}vErrors = emErrs0;errors = emErrs0.length;}}if(data.help !== undefined){if(typeof data.help !== "string"){const err5 = {instancePath:instancePath+"/help",schemaPath:"#/properties/help/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.children !== undefined){if(!(wrapper0.validate(data.children, {instancePath:instancePath+"/children",parentData:data,parentDataProperty:"children",rootData,dynamicAnchors}))){vErrors = vErrors === null ? wrapper0.validate.errors : vErrors.concat(wrapper0.validate.errors);errors = vErrors.length;}}if(data.label !== undefined){if(typeof data.label !== "string"){const err6 = {instancePath:instancePath+"/label",schemaPath:"#/properties/label/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.title !== undefined){let data4 = data.title;if((typeof data4 !== "string") && (data4 !== null)){const err7 = {instancePath:instancePath+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type: schema30.properties.title.type},message:"must be string,null"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.subtitle !== undefined){let data5 = data.subtitle;if((typeof data5 !== "string") && (data5 !== null)){const err8 = {instancePath:instancePath+"/subtitle",schemaPath:"#/properties/subtitle/type",keyword:"type",params:{type: schema30.properties.subtitle.type},message:"must be string,null"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.step !== undefined){let data6 = data.step;if(!((typeof data6 == "number") && (isFinite(data6)))){const err9 = {instancePath:instancePath+"/step",schemaPath:"#/properties/step/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.if !== undefined){if(!(validate26(data.if, {instancePath:instancePath+"/if",parentData:data,parentDataProperty:"if",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.items !== undefined){let data8 = data.items;if(Array.isArray(data8)){const len0 = data8.length;for(let i0=0; i0<len0; i0++){let data9 = data8[i0];const _errs20 = errors;let valid5 = false;let passing0 = null;const _errs21 = errors;if(typeof data9 !== "string"){const err10 = {instancePath:instancePath+"/items/" + i0,schemaPath:"#/$defs/partial-select-item/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid0 = _errs21 === errors;if(_valid0){valid5 = true;passing0 = 0;}const _errs23 = errors;if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9.key !== undefined){if(typeof data9.key !== "string"){const err11 = {instancePath:instancePath+"/items/" + i0+"/key",schemaPath:"#/$defs/partial-select-item/oneOf/1/properties/key/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data9.title !== undefined){if(typeof data9.title !== "string"){const err12 = {instancePath:instancePath+"/items/" + i0+"/title",schemaPath:"#/$defs/partial-select-item/oneOf/1/properties/title/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}}else {const err13 = {instancePath:instancePath+"/items/" + i0,schemaPath:"#/$defs/partial-select-item/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs23 === errors;if(_valid0 && valid5){valid5 = false;passing0 = [passing0, 1];}else {if(_valid0){valid5 = true;passing0 = 1;var props2 = {};props2.key = true;props2.title = true;props2.value = true;}}if(!valid5){const err14 = {instancePath:instancePath+"/items/" + i0,schemaPath:"#/$defs/partial-select-item/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {errors = _errs20;if(vErrors !== null){if(_errs20){vErrors.length = _errs20;}else {vErrors = null;}}}}}else {const err15 = {instancePath:instancePath+"/items",schemaPath:"#/properties/items/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.getItems !== undefined){if(!(validate28(data.getItems, {instancePath:instancePath+"/getItems",parentData:data,parentDataProperty:"getItems",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}}if(data.listEditMode !== undefined){let data13 = data.listEditMode;if(typeof data13 !== "string"){const err16 = {instancePath:instancePath+"/listEditMode",schemaPath:"#/properties/listEditMode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(!((((data13 === "inline") || (data13 === "inline-single")) || (data13 === "menu")) || (data13 === "dialog"))){const err17 = {instancePath:instancePath+"/listEditMode",schemaPath:"#/properties/listEditMode/enum",keyword:"enum",params:{allowedValues: schema30.properties.listEditMode.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.listActions !== undefined){let data14 = data.listActions;if(Array.isArray(data14)){const len1 = data14.length;for(let i1=0; i1<len1; i1++){let data15 = data14[i1];if(typeof data15 !== "string"){const err18 = {instancePath:instancePath+"/listActions/" + i1,schemaPath:"#/properties/listActions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if(!(((((data15 === "add") || (data15 === "edit")) || (data15 === "delete")) || (data15 === "sort")) || (data15 === "duplicate"))){const err19 = {instancePath:instancePath+"/listActions/" + i1,schemaPath:"#/properties/listActions/items/enum",keyword:"enum",params:{allowedValues: schema30.properties.listActions.items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/listActions",schemaPath:"#/properties/listActions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.cols !== undefined){if(!(validate40(data.cols, {instancePath:instancePath+"/cols",parentData:data,parentDataProperty:"cols",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate40.errors : vErrors.concat(validate40.errors);errors = vErrors.length;}}if(data.props !== undefined){let data17 = data.props;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){const err21 = {instancePath:instancePath+"/props",schemaPath:"#/properties/props/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data.getProps !== undefined){if(!(validate26(data.getProps, {instancePath:instancePath+"/getProps",parentData:data,parentDataProperty:"getProps",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.slots !== undefined){let data19 = data.slots;if(data19 && typeof data19 == "object" && !Array.isArray(data19)){var props6 = {};for(const key1 in data19){if(pattern2.test(key1)){if(!(validate45(data19[key1], {instancePath:instancePath+"/slots/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data19,parentDataProperty:key1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors);errors = vErrors.length;}props6[key1] = true;}}}else {const err22 = {instancePath:instancePath+"/slots",schemaPath:"#/properties/slots/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.options !== undefined){let data21 = data.options;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err23 = {instancePath:instancePath+"/options",schemaPath:"#/properties/options/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.getOptions !== undefined){if(!(validate26(data.getOptions, {instancePath:instancePath+"/getOptions",parentData:data,parentDataProperty:"getOptions",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.messages !== undefined){let data23 = data.messages;if(!(data23 && typeof data23 == "object" && !Array.isArray(data23))){const err24 = {instancePath:instancePath+"/messages",schemaPath:"#/properties/messages/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.getDefaultData !== undefined){if(!(validate26(data.getDefaultData, {instancePath:instancePath+"/getDefaultData",parentData:data,parentDataProperty:"getDefaultData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.getConstData !== undefined){if(!(validate26(data.getConstData, {instancePath:instancePath+"/getConstData",parentData:data,parentDataProperty:"getConstData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.transformData !== undefined){if(!(validate26(data.transformData, {instancePath:instancePath+"/transformData",parentData:data,parentDataProperty:"transformData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.autofocus !== undefined){if(typeof data.autofocus !== "boolean"){const err25 = {instancePath:instancePath+"/autofocus",schemaPath:"#/properties/autofocus/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}}else {const err26 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}validate25.errors = vErrors;return errors === 0;}validate25.evaluated = {"props":{"comp":true,"help":true,"children":true,"label":true,"title":true,"subtitle":true,"step":true,"if":true,"items":true,"getItems":true,"listEditMode":true,"listActions":true,"cols":true,"props":true,"getProps":true,"slots":true,"options":true,"getOptions":true,"messages":true,"defaultData":true,"getDefaultData":true,"constData":true,"getConstData":true,"transformData":true,"autofocus":true},"dynamicProps":false,"dynamicItems":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(!(validate25(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.key !== undefined){let data0 = data.key;if((typeof data0 !== "string") && (!(((typeof data0 == "number") && (!(data0 % 1) && !isNaN(data0))) && (isFinite(data0))))){const err0 = {instancePath:instancePath+"/key",schemaPath:"#/properties/key/type",keyword:"type",params:{type: schema29.properties.key.type},message:"must be string,integer"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}if(data.cols !== undefined){if(!(validate40(data.cols, {instancePath:instancePath+"/cols",parentData:data,parentDataProperty:"cols",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate40.errors : vErrors.concat(validate40.errors);errors = vErrors.length;}}for(const key0 in data){if((((((((((((((((((((((((((key0 !== "key") && (key0 !== "cols")) && (key0 !== "comp")) && (key0 !== "help")) && (key0 !== "children")) && (key0 !== "label")) && (key0 !== "title")) && (key0 !== "subtitle")) && (key0 !== "step")) && (key0 !== "if")) && (key0 !== "items")) && (key0 !== "getItems")) && (key0 !== "listEditMode")) && (key0 !== "listActions")) && (key0 !== "props")) && (key0 !== "getProps")) && (key0 !== "slots")) && (key0 !== "options")) && (key0 !== "getOptions")) && (key0 !== "messages")) && (key0 !== "defaultData")) && (key0 !== "getDefaultData")) && (key0 !== "constData")) && (key0 !== "getConstData")) && (key0 !== "transformData")) && (key0 !== "autofocus")){const err1 = {instancePath,schemaPath:"#/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}else {const err2 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate23.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs2 = errors;let valid2 = false;let passing0 = null;const _errs3 = errors;if(typeof data0 !== "string"){const err0 = {instancePath:instancePath+"/" + i0,schemaPath:"#/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs3 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs5 = errors;if(!(validate24(data0, {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}var _valid0 = _errs5 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err1 = {instancePath:instancePath+"/" + i0,schemaPath:"#/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs2;if(vErrors !== null){if(_errs2){vErrors.length = _errs2;}else {vErrors = null;}}}}}else {const err2 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}validate23.errors = vErrors;return errors === 0;}validate23.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};const schema52 = {"type":"object","required":["switch"],"additionalProperties":false,"properties":{"switch":{"type":"array","items":{"$ref":"#/$defs/partial-comp-object"}}}};function validate56(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate56.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.switch === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "switch"},message:"must have required property '"+"switch"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(key0 === "switch")){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.switch !== undefined){let data0 = data.switch;if(Array.isArray(data0)){const len0 = data0.length;for(let i0=0; i0<len0; i0++){if(!(validate25(data0[i0], {instancePath:instancePath+"/switch/" + i0,parentData:data0,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}}}else {const err2 = {instancePath:instancePath+"/switch",schemaPath:"#/properties/switch/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}}else {const err3 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}validate56.errors = vErrors;return errors === 0;}validate56.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://json-layout.github.io/layout-keyword" */;let vErrors = null;let errors = 0;const evaluated0 = validate22.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/$defs/comp-name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(!((((((((((((((((((((((((data === "none") || (data === "text-field")) || (data === "number-field")) || (data === "textarea")) || (data === "markdown")) || (data === "checkbox")) || (data === "switch")) || (data === "slider")) || (data === "date-picker")) || (data === "date-time-picker")) || (data === "time-picker")) || (data === "color-picker")) || (data === "combobox")) || (data === "number-combobox")) || (data === "section")) || (data === "list")) || (data === "select")) || (data === "autocomplete")) || (data === "tabs")) || (data === "vertical-tabs")) || (data === "expansion-panels")) || (data === "stepper")) || (data === "one-of-select")) || (data === "file-input"))){const err1 = {instancePath,schemaPath:"#/$defs/comp-name/enum",keyword:"enum",params:{allowedValues: schema27.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(errors > 0){const emErrors0 = {"enum":[]};const templates0 = {};for(const err2 of vErrors){if((((((err2.keyword !== "errorMessage") && (!err2.emUsed)) && (err2.instancePath === instancePath)) && (err2.keyword in emErrors0)) && (err2.schemaPath.indexOf("#/$defs/comp-name") === 0)) && (/^\/[^\/]*$/.test(err2.schemaPath.slice(17)))){emErrors0[err2.keyword].push(err2);err2.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err3 = {instancePath,schemaPath:"#/$defs/comp-name/errorMessage",keyword:"errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema27.errorMessage[key0]};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}const emErrs0 = [];for(const err4 of vErrors){if(!err4.emUsed){emErrs0.push(err4);}}vErrors = emErrs0;errors = emErrs0.length;}var _valid0 = _errs1 === errors;valid0 = valid0 || _valid0;const _errs4 = errors;if(!(validate23(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(_valid0){var items0 = true;}const _errs5 = errors;if(!(validate25(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}var _valid0 = _errs5 === errors;valid0 = valid0 || _valid0;if(_valid0){var props0 = {};props0.comp = true;props0.help = true;props0.children = true;props0.label = true;props0.title = true;props0.subtitle = true;props0.step = true;props0.if = true;props0.items = true;props0.getItems = true;props0.listEditMode = true;props0.listActions = true;props0.cols = true;props0.props = true;props0.getProps = true;props0.slots = true;props0.options = true;props0.getOptions = true;props0.messages = true;props0.defaultData = true;props0.getDefaultData = true;props0.constData = true;props0.getConstData = true;props0.transformData = true;props0.autofocus = true;}const _errs6 = errors;if(!(validate56(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate56.errors : vErrors.concat(validate56.errors);errors = vErrors.length;}var _valid0 = _errs6 === errors;valid0 = valid0 || _valid0;if(_valid0){if(props0 !== true){props0 = true;}}if(!valid0){const err5 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}if(errors > 0){const emErrors1 = {"anyOf":[]};const templates1 = {};for(const err6 of vErrors){if((((((err6.keyword !== "errorMessage") && (!err6.emUsed)) && (err6.instancePath === instancePath)) && (err6.keyword in emErrors1)) && (err6.schemaPath.indexOf("#") === 0)) && (/^\/[^\/]*$/.test(err6.schemaPath.slice(1)))){emErrors1[err6.keyword].push(err6);err6.emUsed = true;}}for(const key1 in emErrors1){if(emErrors1[key1].length){const err7 = {instancePath,schemaPath:"#/errorMessage",keyword:"errorMessage",params:{errors: emErrors1[key1]},message:key1 in templates1 ? templates1[key1]() : schema26.errorMessage[key1]};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}const emErrs1 = [];for(const err8 of vErrors){if(!err8.emUsed){emErrs1.push(err8);}}vErrors = emErrs1;errors = emErrs1.length;}validate22.errors = vErrors;evaluated0.props = props0;evaluated0.items = items0;return errors === 0;}validate22.evaluated = {"dynamicProps":true,"dynamicItems":true};
|
|
2
|
+
export const validate = validate22;export default validate22;const schema26 = {"$id":"https://json-layout.github.io/layout-keyword","title":"layout keyword","errorMessage":{"anyOf":"layout keyword must be a string with a valid component name, or a more complete object definition, or an array of children, or a switch structure"},"anyOf":[{"$ref":"#/$defs/comp-name"},{"$ref":"#/$defs/partial-children"},{"$ref":"#/$defs/partial-comp-object"},{"$ref":"#/$defs/partial-switch"}],"$defs":{"partial-switch":{"type":"object","required":["switch"],"additionalProperties":false,"properties":{"switch":{"type":"array","items":{"$ref":"#/$defs/partial-comp-object"}}}},"partial-comp-object":{"title":"partial comp object","type":"object","properties":{"comp":{"$ref":"#/$defs/comp-name"},"help":{"type":"string"},"children":{"$ref":"#/$defs/partial-children"},"label":{"type":"string"},"title":{"type":["string","null"]},"subtitle":{"type":["string","null"]},"step":{"type":"number"},"if":{"$ref":"#/$defs/partial-expression"},"items":{"type":"array","items":{"$ref":"#/$defs/partial-select-item"}},"getItems":{"$ref":"#/$defs/partial-get-items"},"listEditMode":{"type":"string","enum":["inline","inline-single","menu","dialog"]},"listActions":{"type":"array","items":{"type":"string","enum":["add","edit","delete","sort","duplicate"]}},"cols":{"$ref":"#/$defs/partial-cols"},"props":{"type":"object"},"getProps":{"$ref":"#/$defs/partial-expression"},"slots":{"type":"object","patternProperties":{".*":{"$ref":"#/$defs/partial-slot"}}},"options":{"type":"object"},"getOptions":{"$ref":"#/$defs/partial-expression"},"messages":{"type":"object"},"defaultData":{},"getDefaultData":{"$ref":"#/$defs/partial-expression"},"constData":{},"getConstData":{"$ref":"#/$defs/partial-expression"},"transformData":{"$ref":"#/$defs/partial-expression"},"autofocus":{"type":"boolean"},"separator":{"type":"string"}}},"comp-name":{"title":"component name","type":"string","errorMessage":{"enum":"component name is unknown"},"enum":["none","text-field","number-field","textarea","markdown","checkbox","switch","slider","date-picker","date-time-picker","time-picker","color-picker","combobox","number-combobox","section","list","select","autocomplete","tabs","vertical-tabs","expansion-panels","stepper","one-of-select","file-input"]},"partial-child":{"type":"object","unevaluatedProperties":false,"properties":{"key":{"type":["string","integer"]},"cols":{"$ref":"#/$defs/partial-cols"}},"allOf":[{"$ref":"#/$defs/partial-comp-object"},{}]},"partial-children":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-child"}]}},"partial-expression":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-expression-obj"}]},"partial-expression-obj":{"type":"object","required":["expr"],"properties":{"type":{"type":"string","enum":["js-fn","js-eval","js-tpl"]},"expr":{"type":"string"}}},"partial-select-item":{"oneOf":[{"type":"string"},{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"value":{}}}]},"partial-get-items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-get-items-obj"}]},"partial-get-items-obj":{"type":"object","allOf":[{"properties":{"itemTitle":{"$ref":"#/$defs/partial-expression"},"itemKey":{"$ref":"#/$defs/partial-expression"},"itemValue":{"$ref":"#/$defs/partial-expression"},"itemIcon":{"$ref":"#/$defs/partial-expression"},"itemsResults":{"$ref":"#/$defs/partial-expression"}}},{"anyOf":[{"type":"object"},{"$ref":"#/$defs/partial-expression-obj"},{"$ref":"#/$defs/partial-get-items-fetch"}]}]},"partial-get-items-fetch":{"type":"object","required":["url"],"properties":{"url":{"$ref":"#/$defs/partial-expression"}}},"partial-cols":{"oneOf":[{"$ref":"#/$defs/partial-cols-number"},{"$ref":"#/$defs/partial-cols-obj"}]},"partial-cols-obj":{"type":"object","additionalProperties":false,"properties":{"xs":{"$ref":"#/$defs/partial-cols-number"},"sm":{"$ref":"#/$defs/partial-cols-number"},"md":{"$ref":"#/$defs/partial-cols-number"},"lg":{"$ref":"#/$defs/partial-cols-number"},"xl":{"$ref":"#/$defs/partial-cols-number"},"xxl":{"$ref":"#/$defs/partial-cols-number"}}},"partial-cols-number":{"type":"integer","minimum":0,"maximum":12},"partial-slot":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-slot-text"},{"$ref":"#/$defs/partial-slot-markdown"},{"$ref":"#/$defs/partial-slot-name"}]},"partial-slot-text":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string"}}},"partial-slot-markdown":{"type":"object","additionalProperties":false,"required":["markdown"],"properties":{"markdown":{"type":"string"}}},"partial-slot-name":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}}}};const schema27 = {"title":"component name","type":"string","errorMessage":{"enum":"component name is unknown"},"enum":["none","text-field","number-field","textarea","markdown","checkbox","switch","slider","date-picker","date-time-picker","time-picker","color-picker","combobox","number-combobox","section","list","select","autocomplete","tabs","vertical-tabs","expansion-panels","stepper","one-of-select","file-input"]};const schema28 = {"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-child"}]}};const schema29 = {"type":"object","unevaluatedProperties":false,"properties":{"key":{"type":["string","integer"]},"cols":{"$ref":"#/$defs/partial-cols"}},"allOf":[{"$ref":"#/$defs/partial-comp-object"},{}]};const schema30 = {"title":"partial comp object","type":"object","properties":{"comp":{"$ref":"#/$defs/comp-name"},"help":{"type":"string"},"children":{"$ref":"#/$defs/partial-children"},"label":{"type":"string"},"title":{"type":["string","null"]},"subtitle":{"type":["string","null"]},"step":{"type":"number"},"if":{"$ref":"#/$defs/partial-expression"},"items":{"type":"array","items":{"$ref":"#/$defs/partial-select-item"}},"getItems":{"$ref":"#/$defs/partial-get-items"},"listEditMode":{"type":"string","enum":["inline","inline-single","menu","dialog"]},"listActions":{"type":"array","items":{"type":"string","enum":["add","edit","delete","sort","duplicate"]}},"cols":{"$ref":"#/$defs/partial-cols"},"props":{"type":"object"},"getProps":{"$ref":"#/$defs/partial-expression"},"slots":{"type":"object","patternProperties":{".*":{"$ref":"#/$defs/partial-slot"}}},"options":{"type":"object"},"getOptions":{"$ref":"#/$defs/partial-expression"},"messages":{"type":"object"},"defaultData":{},"getDefaultData":{"$ref":"#/$defs/partial-expression"},"constData":{},"getConstData":{"$ref":"#/$defs/partial-expression"},"transformData":{"$ref":"#/$defs/partial-expression"},"autofocus":{"type":"boolean"},"separator":{"type":"string"}}};const schema34 = {"oneOf":[{"type":"string"},{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"value":{}}}]};const wrapper0 = {validate: validate23};const schema32 = {"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-expression-obj"}]};const schema33 = {"type":"object","required":["expr"],"properties":{"type":{"type":"string","enum":["js-fn","js-eval","js-tpl"]},"expr":{"type":"string"}}};function validate26(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate26.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.expr === undefined){const err1 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/required",keyword:"required",params:{missingProperty: "expr"},message:"must have required property '"+"expr"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.type !== undefined){let data0 = data.type;if(typeof data0 !== "string"){const err2 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(!(((data0 === "js-fn") || (data0 === "js-eval")) || (data0 === "js-tpl"))){const err3 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/enum",keyword:"enum",params:{allowedValues: schema33.properties.type.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.expr !== undefined){if(typeof data.expr !== "string"){const err4 = {instancePath:instancePath+"/expr",schemaPath:"#/$defs/partial-expression-obj/properties/expr/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}var _valid0 = _errs3 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;var props0 = {};props0.type = true;props0.expr = true;}}if(!valid0){const err6 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate26.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate26.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema35 = {"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-get-items-obj"}]};const schema36 = {"type":"object","allOf":[{"properties":{"itemTitle":{"$ref":"#/$defs/partial-expression"},"itemKey":{"$ref":"#/$defs/partial-expression"},"itemValue":{"$ref":"#/$defs/partial-expression"},"itemIcon":{"$ref":"#/$defs/partial-expression"},"itemsResults":{"$ref":"#/$defs/partial-expression"}}},{"anyOf":[{"type":"object"},{"$ref":"#/$defs/partial-expression-obj"},{"$ref":"#/$defs/partial-get-items-fetch"}]}]};const schema38 = {"type":"object","required":["url"],"properties":{"url":{"$ref":"#/$defs/partial-expression"}}};function validate35(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate35.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.url === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.url !== undefined){if(!(validate26(data.url, {instancePath:instancePath+"/url",parentData:data,parentDataProperty:"url",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}}else {const err1 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}validate35.errors = vErrors;return errors === 0;}validate35.evaluated = {"props":{"url":true},"dynamicProps":false,"dynamicItems":false};function validate29(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate29.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(!(data && typeof data == "object" && !Array.isArray(data))){const err0 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.itemTitle !== undefined){if(!(validate26(data.itemTitle, {instancePath:instancePath+"/itemTitle",parentData:data,parentDataProperty:"itemTitle",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemKey !== undefined){if(!(validate26(data.itemKey, {instancePath:instancePath+"/itemKey",parentData:data,parentDataProperty:"itemKey",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemValue !== undefined){if(!(validate26(data.itemValue, {instancePath:instancePath+"/itemValue",parentData:data,parentDataProperty:"itemValue",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemIcon !== undefined){if(!(validate26(data.itemIcon, {instancePath:instancePath+"/itemIcon",parentData:data,parentDataProperty:"itemIcon",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.itemsResults !== undefined){if(!(validate26(data.itemsResults, {instancePath:instancePath+"/itemsResults",parentData:data,parentDataProperty:"itemsResults",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}}const _errs8 = errors;let valid2 = false;const _errs9 = errors;if(!(data && typeof data == "object" && !Array.isArray(data))){const err1 = {instancePath,schemaPath:"#/allOf/1/anyOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var _valid0 = _errs9 === errors;valid2 = valid2 || _valid0;const _errs11 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.expr === undefined){const err2 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/required",keyword:"required",params:{missingProperty: "expr"},message:"must have required property '"+"expr"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.type !== undefined){let data5 = data.type;if(typeof data5 !== "string"){const err3 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!(((data5 === "js-fn") || (data5 === "js-eval")) || (data5 === "js-tpl"))){const err4 = {instancePath:instancePath+"/type",schemaPath:"#/$defs/partial-expression-obj/properties/type/enum",keyword:"enum",params:{allowedValues: schema33.properties.type.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.expr !== undefined){if(typeof data.expr !== "string"){const err5 = {instancePath:instancePath+"/expr",schemaPath:"#/$defs/partial-expression-obj/properties/expr/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}else {const err6 = {instancePath,schemaPath:"#/$defs/partial-expression-obj/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs11 === errors;valid2 = valid2 || _valid0;if(_valid0){var props5 = {};props5.type = true;props5.expr = true;}const _errs18 = errors;if(!(validate35(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate35.errors : vErrors.concat(validate35.errors);errors = vErrors.length;}var _valid0 = _errs18 === errors;valid2 = valid2 || _valid0;if(_valid0){if(props5 !== true){props5 = props5 || {};props5.url = true;}}if(!valid2){const err7 = {instancePath,schemaPath:"#/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}if(props5 !== true){props5 = props5 || {};props5.itemTitle = true;props5.itemKey = true;props5.itemValue = true;props5.itemIcon = true;props5.itemsResults = true;}validate29.errors = vErrors;evaluated0.props = props5;return errors === 0;}validate29.evaluated = {"dynamicProps":true,"dynamicItems":false};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs3 = errors;if(!(validate29(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate29.errors : vErrors.concat(validate29.errors);errors = vErrors.length;}else {var props0 = validate29.evaluated.props;}var _valid0 = _errs3 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err1 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate28.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate28.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema39 = {"oneOf":[{"$ref":"#/$defs/partial-cols-number"},{"$ref":"#/$defs/partial-cols-obj"}]};const schema40 = {"type":"integer","minimum":0,"maximum":12};const schema41 = {"type":"object","additionalProperties":false,"properties":{"xs":{"$ref":"#/$defs/partial-cols-number"},"sm":{"$ref":"#/$defs/partial-cols-number"},"md":{"$ref":"#/$defs/partial-cols-number"},"lg":{"$ref":"#/$defs/partial-cols-number"},"xl":{"$ref":"#/$defs/partial-cols-number"},"xxl":{"$ref":"#/$defs/partial-cols-number"}}};function validate41(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate41.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){for(const key0 in data){if(!((((((key0 === "xs") || (key0 === "sm")) || (key0 === "md")) || (key0 === "lg")) || (key0 === "xl")) || (key0 === "xxl"))){const err0 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}if(data.xs !== undefined){let data0 = data.xs;if(!(((typeof data0 == "number") && (!(data0 % 1) && !isNaN(data0))) && (isFinite(data0)))){const err1 = {instancePath:instancePath+"/xs",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if((typeof data0 == "number") && (isFinite(data0))){if(data0 > 12 || isNaN(data0)){const err2 = {instancePath:instancePath+"/xs",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data0 < 0 || isNaN(data0)){const err3 = {instancePath:instancePath+"/xs",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}}if(data.sm !== undefined){let data1 = data.sm;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){const err4 = {instancePath:instancePath+"/sm",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if((typeof data1 == "number") && (isFinite(data1))){if(data1 > 12 || isNaN(data1)){const err5 = {instancePath:instancePath+"/sm",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data1 < 0 || isNaN(data1)){const err6 = {instancePath:instancePath+"/sm",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}}if(data.md !== undefined){let data2 = data.md;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err7 = {instancePath:instancePath+"/md",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}if((typeof data2 == "number") && (isFinite(data2))){if(data2 > 12 || isNaN(data2)){const err8 = {instancePath:instancePath+"/md",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if(data2 < 0 || isNaN(data2)){const err9 = {instancePath:instancePath+"/md",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data.lg !== undefined){let data3 = data.lg;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err10 = {instancePath:instancePath+"/lg",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 > 12 || isNaN(data3)){const err11 = {instancePath:instancePath+"/lg",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data3 < 0 || isNaN(data3)){const err12 = {instancePath:instancePath+"/lg",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}}if(data.xl !== undefined){let data4 = data.xl;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err13 = {instancePath:instancePath+"/xl",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 > 12 || isNaN(data4)){const err14 = {instancePath:instancePath+"/xl",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data4 < 0 || isNaN(data4)){const err15 = {instancePath:instancePath+"/xl",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}if(data.xxl !== undefined){let data5 = data.xxl;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err16 = {instancePath:instancePath+"/xxl",schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if((typeof data5 == "number") && (isFinite(data5))){if(data5 > 12 || isNaN(data5)){const err17 = {instancePath:instancePath+"/xxl",schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(data5 < 0 || isNaN(data5)){const err18 = {instancePath:instancePath+"/xxl",schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}}else {const err19 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}validate41.errors = vErrors;return errors === 0;}validate41.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate40(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate40.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(!(((typeof data == "number") && (!(data % 1) && !isNaN(data))) && (isFinite(data)))){const err0 = {instancePath,schemaPath:"#/$defs/partial-cols-number/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if((typeof data == "number") && (isFinite(data))){if(data > 12 || isNaN(data)){const err1 = {instancePath,schemaPath:"#/$defs/partial-cols-number/maximum",keyword:"maximum",params:{comparison: "<=", limit: 12},message:"must be <= 12"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data < 0 || isNaN(data)){const err2 = {instancePath,schemaPath:"#/$defs/partial-cols-number/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs4 = errors;if(!(validate41(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate41.errors : vErrors.concat(validate41.errors);errors = vErrors.length;}var _valid0 = _errs4 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;var props0 = true;}}if(!valid0){const err3 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate40.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate40.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema48 = {"oneOf":[{"type":"string"},{"$ref":"#/$defs/partial-slot-text"},{"$ref":"#/$defs/partial-slot-markdown"},{"$ref":"#/$defs/partial-slot-name"}]};const schema49 = {"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string"}}};const schema50 = {"type":"object","additionalProperties":false,"required":["markdown"],"properties":{"markdown":{"type":"string"}}};const schema51 = {"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"}}};function validate45(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate45.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.text === undefined){const err1 = {instancePath,schemaPath:"#/$defs/partial-slot-text/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!(key0 === "text")){const err2 = {instancePath,schemaPath:"#/$defs/partial-slot-text/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.text !== undefined){if(typeof data.text !== "string"){const err3 = {instancePath:instancePath+"/text",schemaPath:"#/$defs/partial-slot-text/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}}else {const err4 = {instancePath,schemaPath:"#/$defs/partial-slot-text/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var _valid0 = _errs3 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;var props0 = true;}const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.markdown === undefined){const err5 = {instancePath,schemaPath:"#/$defs/partial-slot-markdown/required",keyword:"required",params:{missingProperty: "markdown"},message:"must have required property '"+"markdown"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key1 in data){if(!(key1 === "markdown")){const err6 = {instancePath,schemaPath:"#/$defs/partial-slot-markdown/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.markdown !== undefined){if(typeof data.markdown !== "string"){const err7 = {instancePath:instancePath+"/markdown",schemaPath:"#/$defs/partial-slot-markdown/properties/markdown/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}else {const err8 = {instancePath,schemaPath:"#/$defs/partial-slot-markdown/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}var _valid0 = _errs9 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}const _errs15 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.name === undefined){const err9 = {instancePath,schemaPath:"#/$defs/partial-slot-name/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}for(const key2 in data){if(!(key2 === "name")){const err10 = {instancePath,schemaPath:"#/$defs/partial-slot-name/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.name !== undefined){if(typeof data.name !== "string"){const err11 = {instancePath:instancePath+"/name",schemaPath:"#/$defs/partial-slot-name/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath,schemaPath:"#/$defs/partial-slot-name/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs15 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = true;}}}}}if(!valid0){const err13 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate45.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate45.evaluated = {"dynamicProps":true,"dynamicItems":false};const pattern2 = new RegExp(".*", "u");function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate25.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.comp !== undefined){let data0 = data.comp;if(typeof data0 !== "string"){const err0 = {instancePath:instancePath+"/comp",schemaPath:"#/$defs/comp-name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(!((((((((((((((((((((((((data0 === "none") || (data0 === "text-field")) || (data0 === "number-field")) || (data0 === "textarea")) || (data0 === "markdown")) || (data0 === "checkbox")) || (data0 === "switch")) || (data0 === "slider")) || (data0 === "date-picker")) || (data0 === "date-time-picker")) || (data0 === "time-picker")) || (data0 === "color-picker")) || (data0 === "combobox")) || (data0 === "number-combobox")) || (data0 === "section")) || (data0 === "list")) || (data0 === "select")) || (data0 === "autocomplete")) || (data0 === "tabs")) || (data0 === "vertical-tabs")) || (data0 === "expansion-panels")) || (data0 === "stepper")) || (data0 === "one-of-select")) || (data0 === "file-input"))){const err1 = {instancePath:instancePath+"/comp",schemaPath:"#/$defs/comp-name/enum",keyword:"enum",params:{allowedValues: schema27.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(errors > 0){const emErrors0 = {"enum":[]};const templates0 = {};for(const err2 of vErrors){if((((((err2.keyword !== "errorMessage") && (!err2.emUsed)) && (err2.instancePath === instancePath+"/comp")) && (err2.keyword in emErrors0)) && (err2.schemaPath.indexOf("#/$defs/comp-name") === 0)) && (/^\/[^\/]*$/.test(err2.schemaPath.slice(17)))){emErrors0[err2.keyword].push(err2);err2.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err3 = {instancePath:instancePath+"/comp",schemaPath:"#/$defs/comp-name/errorMessage",keyword:"errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema27.errorMessage[key0]};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}const emErrs0 = [];for(const err4 of vErrors){if(!err4.emUsed){emErrs0.push(err4);}}vErrors = emErrs0;errors = emErrs0.length;}}if(data.help !== undefined){if(typeof data.help !== "string"){const err5 = {instancePath:instancePath+"/help",schemaPath:"#/properties/help/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.children !== undefined){if(!(wrapper0.validate(data.children, {instancePath:instancePath+"/children",parentData:data,parentDataProperty:"children",rootData,dynamicAnchors}))){vErrors = vErrors === null ? wrapper0.validate.errors : vErrors.concat(wrapper0.validate.errors);errors = vErrors.length;}}if(data.label !== undefined){if(typeof data.label !== "string"){const err6 = {instancePath:instancePath+"/label",schemaPath:"#/properties/label/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.title !== undefined){let data4 = data.title;if((typeof data4 !== "string") && (data4 !== null)){const err7 = {instancePath:instancePath+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type: schema30.properties.title.type},message:"must be string,null"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.subtitle !== undefined){let data5 = data.subtitle;if((typeof data5 !== "string") && (data5 !== null)){const err8 = {instancePath:instancePath+"/subtitle",schemaPath:"#/properties/subtitle/type",keyword:"type",params:{type: schema30.properties.subtitle.type},message:"must be string,null"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.step !== undefined){let data6 = data.step;if(!((typeof data6 == "number") && (isFinite(data6)))){const err9 = {instancePath:instancePath+"/step",schemaPath:"#/properties/step/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.if !== undefined){if(!(validate26(data.if, {instancePath:instancePath+"/if",parentData:data,parentDataProperty:"if",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.items !== undefined){let data8 = data.items;if(Array.isArray(data8)){const len0 = data8.length;for(let i0=0; i0<len0; i0++){let data9 = data8[i0];const _errs20 = errors;let valid5 = false;let passing0 = null;const _errs21 = errors;if(typeof data9 !== "string"){const err10 = {instancePath:instancePath+"/items/" + i0,schemaPath:"#/$defs/partial-select-item/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid0 = _errs21 === errors;if(_valid0){valid5 = true;passing0 = 0;}const _errs23 = errors;if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9.key !== undefined){if(typeof data9.key !== "string"){const err11 = {instancePath:instancePath+"/items/" + i0+"/key",schemaPath:"#/$defs/partial-select-item/oneOf/1/properties/key/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data9.title !== undefined){if(typeof data9.title !== "string"){const err12 = {instancePath:instancePath+"/items/" + i0+"/title",schemaPath:"#/$defs/partial-select-item/oneOf/1/properties/title/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}}else {const err13 = {instancePath:instancePath+"/items/" + i0,schemaPath:"#/$defs/partial-select-item/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs23 === errors;if(_valid0 && valid5){valid5 = false;passing0 = [passing0, 1];}else {if(_valid0){valid5 = true;passing0 = 1;var props2 = {};props2.key = true;props2.title = true;props2.value = true;}}if(!valid5){const err14 = {instancePath:instancePath+"/items/" + i0,schemaPath:"#/$defs/partial-select-item/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {errors = _errs20;if(vErrors !== null){if(_errs20){vErrors.length = _errs20;}else {vErrors = null;}}}}}else {const err15 = {instancePath:instancePath+"/items",schemaPath:"#/properties/items/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.getItems !== undefined){if(!(validate28(data.getItems, {instancePath:instancePath+"/getItems",parentData:data,parentDataProperty:"getItems",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}}if(data.listEditMode !== undefined){let data13 = data.listEditMode;if(typeof data13 !== "string"){const err16 = {instancePath:instancePath+"/listEditMode",schemaPath:"#/properties/listEditMode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(!((((data13 === "inline") || (data13 === "inline-single")) || (data13 === "menu")) || (data13 === "dialog"))){const err17 = {instancePath:instancePath+"/listEditMode",schemaPath:"#/properties/listEditMode/enum",keyword:"enum",params:{allowedValues: schema30.properties.listEditMode.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.listActions !== undefined){let data14 = data.listActions;if(Array.isArray(data14)){const len1 = data14.length;for(let i1=0; i1<len1; i1++){let data15 = data14[i1];if(typeof data15 !== "string"){const err18 = {instancePath:instancePath+"/listActions/" + i1,schemaPath:"#/properties/listActions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if(!(((((data15 === "add") || (data15 === "edit")) || (data15 === "delete")) || (data15 === "sort")) || (data15 === "duplicate"))){const err19 = {instancePath:instancePath+"/listActions/" + i1,schemaPath:"#/properties/listActions/items/enum",keyword:"enum",params:{allowedValues: schema30.properties.listActions.items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/listActions",schemaPath:"#/properties/listActions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.cols !== undefined){if(!(validate40(data.cols, {instancePath:instancePath+"/cols",parentData:data,parentDataProperty:"cols",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate40.errors : vErrors.concat(validate40.errors);errors = vErrors.length;}}if(data.props !== undefined){let data17 = data.props;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){const err21 = {instancePath:instancePath+"/props",schemaPath:"#/properties/props/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data.getProps !== undefined){if(!(validate26(data.getProps, {instancePath:instancePath+"/getProps",parentData:data,parentDataProperty:"getProps",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.slots !== undefined){let data19 = data.slots;if(data19 && typeof data19 == "object" && !Array.isArray(data19)){var props6 = {};for(const key1 in data19){if(pattern2.test(key1)){if(!(validate45(data19[key1], {instancePath:instancePath+"/slots/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data19,parentDataProperty:key1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors);errors = vErrors.length;}props6[key1] = true;}}}else {const err22 = {instancePath:instancePath+"/slots",schemaPath:"#/properties/slots/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.options !== undefined){let data21 = data.options;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err23 = {instancePath:instancePath+"/options",schemaPath:"#/properties/options/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.getOptions !== undefined){if(!(validate26(data.getOptions, {instancePath:instancePath+"/getOptions",parentData:data,parentDataProperty:"getOptions",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.messages !== undefined){let data23 = data.messages;if(!(data23 && typeof data23 == "object" && !Array.isArray(data23))){const err24 = {instancePath:instancePath+"/messages",schemaPath:"#/properties/messages/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.getDefaultData !== undefined){if(!(validate26(data.getDefaultData, {instancePath:instancePath+"/getDefaultData",parentData:data,parentDataProperty:"getDefaultData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.getConstData !== undefined){if(!(validate26(data.getConstData, {instancePath:instancePath+"/getConstData",parentData:data,parentDataProperty:"getConstData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.transformData !== undefined){if(!(validate26(data.transformData, {instancePath:instancePath+"/transformData",parentData:data,parentDataProperty:"transformData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}if(data.autofocus !== undefined){if(typeof data.autofocus !== "boolean"){const err25 = {instancePath:instancePath+"/autofocus",schemaPath:"#/properties/autofocus/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.separator !== undefined){if(typeof data.separator !== "string"){const err26 = {instancePath:instancePath+"/separator",schemaPath:"#/properties/separator/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}else {const err27 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}validate25.errors = vErrors;return errors === 0;}validate25.evaluated = {"props":{"comp":true,"help":true,"children":true,"label":true,"title":true,"subtitle":true,"step":true,"if":true,"items":true,"getItems":true,"listEditMode":true,"listActions":true,"cols":true,"props":true,"getProps":true,"slots":true,"options":true,"getOptions":true,"messages":true,"defaultData":true,"getDefaultData":true,"constData":true,"getConstData":true,"transformData":true,"autofocus":true,"separator":true},"dynamicProps":false,"dynamicItems":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(!(validate25(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.key !== undefined){let data0 = data.key;if((typeof data0 !== "string") && (!(((typeof data0 == "number") && (!(data0 % 1) && !isNaN(data0))) && (isFinite(data0))))){const err0 = {instancePath:instancePath+"/key",schemaPath:"#/properties/key/type",keyword:"type",params:{type: schema29.properties.key.type},message:"must be string,integer"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}if(data.cols !== undefined){if(!(validate40(data.cols, {instancePath:instancePath+"/cols",parentData:data,parentDataProperty:"cols",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate40.errors : vErrors.concat(validate40.errors);errors = vErrors.length;}}for(const key0 in data){if(((((((((((((((((((((((((((key0 !== "key") && (key0 !== "cols")) && (key0 !== "comp")) && (key0 !== "help")) && (key0 !== "children")) && (key0 !== "label")) && (key0 !== "title")) && (key0 !== "subtitle")) && (key0 !== "step")) && (key0 !== "if")) && (key0 !== "items")) && (key0 !== "getItems")) && (key0 !== "listEditMode")) && (key0 !== "listActions")) && (key0 !== "props")) && (key0 !== "getProps")) && (key0 !== "slots")) && (key0 !== "options")) && (key0 !== "getOptions")) && (key0 !== "messages")) && (key0 !== "defaultData")) && (key0 !== "getDefaultData")) && (key0 !== "constData")) && (key0 !== "getConstData")) && (key0 !== "transformData")) && (key0 !== "autofocus")) && (key0 !== "separator")){const err1 = {instancePath,schemaPath:"#/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}else {const err2 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate23.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs2 = errors;let valid2 = false;let passing0 = null;const _errs3 = errors;if(typeof data0 !== "string"){const err0 = {instancePath:instancePath+"/" + i0,schemaPath:"#/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs3 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs5 = errors;if(!(validate24(data0, {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}var _valid0 = _errs5 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err1 = {instancePath:instancePath+"/" + i0,schemaPath:"#/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs2;if(vErrors !== null){if(_errs2){vErrors.length = _errs2;}else {vErrors = null;}}}}}else {const err2 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}validate23.errors = vErrors;return errors === 0;}validate23.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};const schema52 = {"type":"object","required":["switch"],"additionalProperties":false,"properties":{"switch":{"type":"array","items":{"$ref":"#/$defs/partial-comp-object"}}}};function validate56(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate56.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.switch === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "switch"},message:"must have required property '"+"switch"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(key0 === "switch")){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.switch !== undefined){let data0 = data.switch;if(Array.isArray(data0)){const len0 = data0.length;for(let i0=0; i0<len0; i0++){if(!(validate25(data0[i0], {instancePath:instancePath+"/switch/" + i0,parentData:data0,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}}}else {const err2 = {instancePath:instancePath+"/switch",schemaPath:"#/properties/switch/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}}else {const err3 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}validate56.errors = vErrors;return errors === 0;}validate56.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://json-layout.github.io/layout-keyword" */;let vErrors = null;let errors = 0;const evaluated0 = validate22.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;const _errs1 = errors;if(typeof data !== "string"){const err0 = {instancePath,schemaPath:"#/$defs/comp-name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(!((((((((((((((((((((((((data === "none") || (data === "text-field")) || (data === "number-field")) || (data === "textarea")) || (data === "markdown")) || (data === "checkbox")) || (data === "switch")) || (data === "slider")) || (data === "date-picker")) || (data === "date-time-picker")) || (data === "time-picker")) || (data === "color-picker")) || (data === "combobox")) || (data === "number-combobox")) || (data === "section")) || (data === "list")) || (data === "select")) || (data === "autocomplete")) || (data === "tabs")) || (data === "vertical-tabs")) || (data === "expansion-panels")) || (data === "stepper")) || (data === "one-of-select")) || (data === "file-input"))){const err1 = {instancePath,schemaPath:"#/$defs/comp-name/enum",keyword:"enum",params:{allowedValues: schema27.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(errors > 0){const emErrors0 = {"enum":[]};const templates0 = {};for(const err2 of vErrors){if((((((err2.keyword !== "errorMessage") && (!err2.emUsed)) && (err2.instancePath === instancePath)) && (err2.keyword in emErrors0)) && (err2.schemaPath.indexOf("#/$defs/comp-name") === 0)) && (/^\/[^\/]*$/.test(err2.schemaPath.slice(17)))){emErrors0[err2.keyword].push(err2);err2.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err3 = {instancePath,schemaPath:"#/$defs/comp-name/errorMessage",keyword:"errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema27.errorMessage[key0]};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}const emErrs0 = [];for(const err4 of vErrors){if(!err4.emUsed){emErrs0.push(err4);}}vErrors = emErrs0;errors = emErrs0.length;}var _valid0 = _errs1 === errors;valid0 = valid0 || _valid0;const _errs4 = errors;if(!(validate23(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(_valid0){var items0 = true;}const _errs5 = errors;if(!(validate25(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}var _valid0 = _errs5 === errors;valid0 = valid0 || _valid0;if(_valid0){var props0 = {};props0.comp = true;props0.help = true;props0.children = true;props0.label = true;props0.title = true;props0.subtitle = true;props0.step = true;props0.if = true;props0.items = true;props0.getItems = true;props0.listEditMode = true;props0.listActions = true;props0.cols = true;props0.props = true;props0.getProps = true;props0.slots = true;props0.options = true;props0.getOptions = true;props0.messages = true;props0.defaultData = true;props0.getDefaultData = true;props0.constData = true;props0.getConstData = true;props0.transformData = true;props0.autofocus = true;props0.separator = true;}const _errs6 = errors;if(!(validate56(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate56.errors : vErrors.concat(validate56.errors);errors = vErrors.length;}var _valid0 = _errs6 === errors;valid0 = valid0 || _valid0;if(_valid0){if(props0 !== true){props0 = true;}}if(!valid0){const err5 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}if(errors > 0){const emErrors1 = {"anyOf":[]};const templates1 = {};for(const err6 of vErrors){if((((((err6.keyword !== "errorMessage") && (!err6.emUsed)) && (err6.instancePath === instancePath)) && (err6.keyword in emErrors1)) && (err6.schemaPath.indexOf("#") === 0)) && (/^\/[^\/]*$/.test(err6.schemaPath.slice(1)))){emErrors1[err6.keyword].push(err6);err6.emUsed = true;}}for(const key1 in emErrors1){if(emErrors1[key1].length){const err7 = {instancePath,schemaPath:"#/errorMessage",keyword:"errorMessage",params:{errors: emErrors1[key1]},message:key1 in templates1 ? templates1[key1]() : schema26.errorMessage[key1]};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}const emErrs1 = [];for(const err8 of vErrors){if(!err8.emUsed){emErrs1.push(err8);}}vErrors = emErrs1;errors = emErrs1.length;}validate22.errors = vErrors;evaluated0.props = props0;evaluated0.items = items0;return errors === 0;}validate22.evaluated = {"dynamicProps":true,"dynamicItems":true};
|
package/src/normalize.js
CHANGED
|
@@ -96,6 +96,7 @@ function getDefaultComp (partial, schemaFragment, arrayChild) {
|
|
|
96
96
|
if (hasSimpleType && schemaFragment.anyOf && schemaFragment.anyOf.length && Object.keys(schemaFragment.anyOf[schemaFragment.anyOf.length - 1]).length === 0) {
|
|
97
97
|
return type === 'string' ? 'combobox' : 'number-combobox'
|
|
98
98
|
}
|
|
99
|
+
if (type === 'string' && partial.separator) return 'combobox'
|
|
99
100
|
if (partial.items) return partial.items.length > 20 ? 'autocomplete' : 'select'
|
|
100
101
|
if (partial.getItems) {
|
|
101
102
|
if (isPartialGetItemsFetch(partial.getItems)) {
|
|
@@ -281,7 +282,6 @@ function getCompObject (layoutKeyword, schemaFragment, schemaPath, markdown, opt
|
|
|
281
282
|
let items
|
|
282
283
|
if (type === 'array') {
|
|
283
284
|
items = getItemsFromSchema(schemaFragment.items)
|
|
284
|
-
partial.multiple = true
|
|
285
285
|
} else {
|
|
286
286
|
items = getItemsFromSchema(schemaFragment)
|
|
287
287
|
}
|
|
@@ -294,8 +294,8 @@ function getCompObject (layoutKeyword, schemaFragment, schemaPath, markdown, opt
|
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
if (['combobox', 'number-combobox', 'file-input'].includes(partial.comp)) {
|
|
298
|
-
if (type === 'array') {
|
|
297
|
+
if (['select', 'autocomplete', 'combobox', 'number-combobox', 'file-input'].includes(partial.comp)) {
|
|
298
|
+
if (type === 'array' || partial.separator) {
|
|
299
299
|
partial.multiple = true
|
|
300
300
|
}
|
|
301
301
|
}
|
|
@@ -462,7 +462,7 @@ function lighterValidationErrors (errors) {
|
|
|
462
462
|
return errors.map(e => e.message ?? e.keyword)
|
|
463
463
|
}
|
|
464
464
|
|
|
465
|
-
const defaultOptionsKeys = ['readOnly', 'summary', 'titleDepth', 'density', 'removeAdditional', 'validateOn', 'initialValidation', 'defaultOn', 'readOnlyPropertiesMode']
|
|
465
|
+
const defaultOptionsKeys = ['readOnly', 'summary', 'titleDepth', 'density', 'removeAdditional', 'validateOn', 'initialValidation', 'defaultOn', 'readOnlyPropertiesMode', 'debounceInputMs']
|
|
466
466
|
|
|
467
467
|
/**
|
|
468
468
|
* @param {SchemaFragment} schemaFragment
|
|
@@ -69,6 +69,10 @@ export function isSectionLayout (layout) {
|
|
|
69
69
|
|
|
70
70
|
export const compositeCompNames = ['section', 'tabs', 'vertical-tabs', 'expansion-panels', 'stepper']
|
|
71
71
|
|
|
72
|
+
// these components can received keybord inputs and emit blur events
|
|
73
|
+
// they will be debounced and validateOn=blur is applicable
|
|
74
|
+
export const editableCompNames = ['text-field', 'number-field', 'textarea', 'markdown']
|
|
75
|
+
|
|
72
76
|
/** @type {(layout: CompObject) => layout is CompositeCompObject} */
|
|
73
77
|
export function isCompositeLayout (layout) {
|
|
74
78
|
return compositeCompNames.includes(layout.comp)
|
|
@@ -689,6 +689,9 @@ export default {
|
|
|
689
689
|
},
|
|
690
690
|
"multiple": {
|
|
691
691
|
"type": "boolean"
|
|
692
|
+
},
|
|
693
|
+
"separator": {
|
|
694
|
+
"type": "string"
|
|
692
695
|
}
|
|
693
696
|
}
|
|
694
697
|
},
|
|
@@ -752,6 +755,9 @@ export default {
|
|
|
752
755
|
},
|
|
753
756
|
"multiple": {
|
|
754
757
|
"type": "boolean"
|
|
758
|
+
},
|
|
759
|
+
"separator": {
|
|
760
|
+
"type": "string"
|
|
755
761
|
}
|
|
756
762
|
}
|
|
757
763
|
},
|
|
@@ -779,6 +785,9 @@ export default {
|
|
|
779
785
|
},
|
|
780
786
|
"multiple": {
|
|
781
787
|
"type": "boolean"
|
|
788
|
+
},
|
|
789
|
+
"separator": {
|
|
790
|
+
"type": "string"
|
|
782
791
|
}
|
|
783
792
|
}
|
|
784
793
|
},
|
|
@@ -1092,6 +1101,11 @@ export default {
|
|
|
1092
1101
|
"show"
|
|
1093
1102
|
],
|
|
1094
1103
|
"default": "show"
|
|
1104
|
+
},
|
|
1105
|
+
"debounceInputMs": {
|
|
1106
|
+
"type": "integer",
|
|
1107
|
+
"minimum": 0,
|
|
1108
|
+
"default": 300
|
|
1095
1109
|
}
|
|
1096
1110
|
}
|
|
1097
1111
|
}
|
|
@@ -305,7 +305,8 @@
|
|
|
305
305
|
"autofocus": {"type": "boolean"},
|
|
306
306
|
"items": {"$ref": "#/$defs/select-items"},
|
|
307
307
|
"getItems": {"$ref": "#/$defs/get-items"},
|
|
308
|
-
"multiple": {"type": "boolean"}
|
|
308
|
+
"multiple": {"type": "boolean"},
|
|
309
|
+
"separator": {"type": "string"}
|
|
309
310
|
}
|
|
310
311
|
},
|
|
311
312
|
"number-combobox": {
|
|
@@ -332,7 +333,8 @@
|
|
|
332
333
|
"autofocus": {"type": "boolean"},
|
|
333
334
|
"items": {"$ref": "#/$defs/select-items"},
|
|
334
335
|
"getItems": {"$ref": "#/$defs/get-items"},
|
|
335
|
-
"multiple": {"type": "boolean"}
|
|
336
|
+
"multiple": {"type": "boolean"},
|
|
337
|
+
"separator": {"type": "string"}
|
|
336
338
|
}
|
|
337
339
|
},
|
|
338
340
|
"autocomplete": {
|
|
@@ -344,7 +346,8 @@
|
|
|
344
346
|
"autofocus": {"type": "boolean"},
|
|
345
347
|
"items": {"$ref": "#/$defs/select-items"},
|
|
346
348
|
"getItems": {"$ref": "#/$defs/get-items"},
|
|
347
|
-
"multiple": {"type": "boolean"}
|
|
349
|
+
"multiple": {"type": "boolean"},
|
|
350
|
+
"separator": {"type": "string"}
|
|
348
351
|
}
|
|
349
352
|
},
|
|
350
353
|
"file-input": {
|
|
@@ -519,6 +522,11 @@
|
|
|
519
522
|
"type": "string",
|
|
520
523
|
"enum": ["remove", "hide", "show"],
|
|
521
524
|
"default": "show"
|
|
525
|
+
},
|
|
526
|
+
"debounceInputMs": {
|
|
527
|
+
"type": "integer",
|
|
528
|
+
"minimum": 0,
|
|
529
|
+
"default": 300
|
|
522
530
|
}
|
|
523
531
|
}
|
|
524
532
|
}
|
|
@@ -60,6 +60,7 @@ export type StateNodeOptionsBase = StateNodeOptionsBaseLib & {
|
|
|
60
60
|
defaultOn?: "missing" | "empty" | "never";
|
|
61
61
|
autofocus?: boolean;
|
|
62
62
|
readOnlyPropertiesMode?: "remove" | "hide" | "show";
|
|
63
|
+
debounceInputMs?: number;
|
|
63
64
|
[k: string]: unknown;
|
|
64
65
|
};
|
|
65
66
|
export type Cols = number;
|
|
@@ -234,6 +235,7 @@ export interface Combobox {
|
|
|
234
235
|
items?: SelectItems;
|
|
235
236
|
getItems?: GetItems;
|
|
236
237
|
multiple?: boolean;
|
|
238
|
+
separator?: string;
|
|
237
239
|
[k: string]: unknown;
|
|
238
240
|
}
|
|
239
241
|
export interface SelectItem {
|
|
@@ -270,6 +272,7 @@ export interface Select {
|
|
|
270
272
|
items?: SelectItems;
|
|
271
273
|
getItems?: GetItems;
|
|
272
274
|
multiple?: boolean;
|
|
275
|
+
separator?: string;
|
|
273
276
|
[k: string]: unknown;
|
|
274
277
|
}
|
|
275
278
|
export interface Autocomplete {
|
|
@@ -279,6 +282,7 @@ export interface Autocomplete {
|
|
|
279
282
|
items?: SelectItems;
|
|
280
283
|
getItems?: GetItems;
|
|
281
284
|
multiple?: boolean;
|
|
285
|
+
separator?: string;
|
|
282
286
|
[k: string]: unknown;
|
|
283
287
|
}
|
|
284
288
|
export interface OneOfSelect {
|