@flowgram.ai/json-schema 0.4.13 → 0.4.15

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/dist/esm/index.js CHANGED
@@ -171,6 +171,8 @@ var dateTimeRegistryCreator = () => ({
171
171
  }
172
172
  )
173
173
  ),
174
+ // TODO date-time compat format
175
+ // https://json-schema.org/understanding-json-schema/reference/type#built-in-formats
174
176
  getDefaultSchema: () => ({
175
177
  type: "date-time"
176
178
  }),
@@ -790,7 +792,7 @@ var JsonSchemaTypeManager = class extends BaseTypeManager {
790
792
  };
791
793
  this.getDisplayIcon = (type) => {
792
794
  const registry = this.getTypeBySchema(type);
793
- return registry?.getDisplayIcon(type) || registry?.icon || /* @__PURE__ */ React11.createElement(React11.Fragment, null);
795
+ return registry?.getDisplayIcon?.(type) || registry?.icon || /* @__PURE__ */ React11.createElement(React11.Fragment, null);
794
796
  };
795
797
  this.getTypeSchemaProperties = (type) => {
796
798
  const registry = this.getTypeBySchema(type);
@@ -815,8 +817,8 @@ var JsonSchemaTypeManager = class extends BaseTypeManager {
815
817
  const registries = [
816
818
  defaultTypeDefinitionRegistry,
817
819
  stringRegistryCreator,
818
- numberRegistryCreator,
819
820
  integerRegistryCreator,
821
+ numberRegistryCreator,
820
822
  booleanRegistryCreator,
821
823
  objectRegistryCreator,
822
824
  arrayRegistryCreator,
@@ -980,6 +982,7 @@ var JsonSchemaUtils;
980
982
  type: typeAST.typeName
981
983
  };
982
984
  }
985
+ console.warn("JsonSchemaUtils.astToSchema: AST must extends BaseType", typeAST);
983
986
  return void 0;
984
987
  }
985
988
  JsonSchemaUtils2.astToSchema = astToSchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/base/base-type-manager.ts","../../src/json-schema/json-schema-type-manager.tsx","../../src/json-schema/type-definition/default.tsx","../../src/json-schema/type-definition/date-time.tsx","../../src/json-schema/type-definition/string.tsx","../../src/json-schema/type-definition/object.tsx","../../src/json-schema/type-definition/number.tsx","../../src/json-schema/type-definition/boolean.tsx","../../src/json-schema/type-definition/array.tsx","../../src/json-schema/type-definition/integer.tsx","../../src/json-schema/type-definition/unknown.tsx","../../src/json-schema/type-definition/map.tsx","../../src/json-schema/utils.ts","../../src/json-schema/index.ts","../../src/context.tsx","../../src/container-module.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { injectable } from 'inversify';\nimport { Emitter } from '@flowgram.ai/utils';\n\nimport { BaseTypeRegistry, TypeRegistryCreator } from './types';\n\n@injectable()\nexport abstract class BaseTypeManager<\n Schema,\n Registry extends BaseTypeRegistry,\n Manager extends BaseTypeManager<Schema, Registry, Manager>\n> {\n protected typeRegistryMap: Map<string, Registry> = new Map();\n\n protected onTypeRegistryChangeEmitter = new Emitter<Registry[]>();\n\n public onTypeRegistryChange = this.onTypeRegistryChangeEmitter.event;\n\n /**\n * 获取 typeSchema 对应的 type\n * 不能直接访问 type 的原因的是\n * Schema 中 type 可能为空,需要获取 $ref 中的 type\n */\n protected abstract getTypeNameFromSchema(typeSchema: Schema): string;\n\n getTypeByName(typeName: string): Registry | undefined {\n return this.typeRegistryMap.get(typeName);\n }\n\n getTypeBySchema(type: Schema): Registry | undefined {\n const key = this.getTypeNameFromSchema(type);\n return this.typeRegistryMap.get(key);\n }\n\n getDefaultTypeRegistry(): Registry | undefined {\n return this.typeRegistryMap.get('default');\n }\n\n /**\n * 注册 TypeRegistry\n */\n register(\n originRegistry: Partial<Registry> | TypeRegistryCreator<Schema, Registry, Manager>\n ): void {\n const registry =\n typeof originRegistry === 'function'\n ? originRegistry({ typeManager: this as unknown as Manager })\n : originRegistry;\n\n const type = registry.type;\n if (!type) {\n return;\n }\n\n let originTypeRegistry = this.getTypeByName(type);\n\n let extendTypeRegistry = registry.extend\n ? this.getTypeByName(registry.extend)\n : this.getDefaultTypeRegistry();\n\n if (originTypeRegistry) {\n // 如果是重复注册的类型,进行 merge\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...originTypeRegistry,\n ...registry,\n });\n } else {\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...registry,\n } as Registry);\n }\n }\n\n triggerChanges() {\n this.onTypeRegistryChangeEmitter.fire(Array.from(this.typeRegistryMap.values()));\n }\n\n /**\n * 获取全量的 TypeRegistries\n */\n public getAllTypeRegistries(): Registry[] {\n return Array.from(this.typeRegistryMap.values());\n }\n\n unregister(type: string): void {\n this.typeRegistryMap.delete(type);\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport React from 'react';\n\nimport { injectable } from 'inversify';\n\nimport { IJsonSchema, JsonSchemaTypeRegistry, JsonSchemaTypeRegistryCreator } from './types';\nimport { defaultTypeDefinitionRegistry } from './type-definition/default';\nimport { dateTimeRegistryCreator } from './type-definition/date-time';\nimport { BaseTypeManager } from '../base';\nimport {\n arrayRegistryCreator,\n booleanRegistryCreator,\n integerRegistryCreator,\n mapRegistryCreator,\n numberRegistryCreator,\n objectRegistryCreator,\n stringRegistryCreator,\n unknownRegistryCreator,\n} from './type-definition';\n\n@injectable()\nexport class JsonSchemaTypeManager<\n Schema extends Partial<IJsonSchema> = IJsonSchema,\n Registry extends JsonSchemaTypeRegistry<Schema> = JsonSchemaTypeRegistry<Schema>\n> extends BaseTypeManager<Schema, Registry, JsonSchemaTypeManager<Schema, Registry>> {\n /**\n * get type name\n * @param typeSchema\n * @returns\n */\n protected getTypeNameFromSchema(typeSchema: Schema): string {\n if (!typeSchema) {\n return 'unknown';\n }\n if (typeSchema.enum) {\n return 'enum';\n }\n if (typeSchema.format && typeSchema.type === 'string') {\n return typeSchema.format;\n }\n\n return typeSchema.type || typeSchema.$ref || 'unknown';\n }\n\n constructor() {\n super();\n\n const registries = [\n defaultTypeDefinitionRegistry,\n stringRegistryCreator,\n numberRegistryCreator,\n integerRegistryCreator,\n booleanRegistryCreator,\n objectRegistryCreator,\n arrayRegistryCreator,\n unknownRegistryCreator,\n mapRegistryCreator,\n dateTimeRegistryCreator,\n ];\n\n registries.forEach((registry) => {\n this.register(\n registry as unknown as JsonSchemaTypeRegistryCreator<\n Schema,\n Registry,\n JsonSchemaTypeManager<Schema, Registry>\n >\n );\n });\n }\n\n /**\n * Get TypeRegistries based on the current parentType\n */\n public getTypeRegistriesWithParentType = (parentType = ''): Registry[] =>\n this.getAllTypeRegistries()\n .filter((v) => v.type !== 'default')\n .filter((v) => !v.parentType || v.parentType.includes(parentType));\n\n /**\n * Get the deepest child field of a field\n * Array<Array<String>> -> String\n */\n getTypeSchemaDeepChildField = (type: Schema) => {\n let registry = this.getTypeBySchema(type);\n\n let childType = type;\n\n while (registry?.getItemType && registry.getItemType(childType)) {\n childType = registry.getItemType(childType)!;\n registry = this.getTypeBySchema(childType);\n }\n\n return childType;\n };\n\n /**\n * Get the plain text display string of the type schema, for example:\n * Array<Array<String>>, Map<String, Number>\n */\n public getComplexText = (type: Schema): string => {\n const registry = this.getTypeBySchema(type);\n\n if (registry?.customComplexText) {\n return registry.customComplexText(type);\n }\n\n if (registry?.container && type.items) {\n return `${registry.label}<${this.getComplexText(type.items as Schema)}>`;\n } else if (registry?.container && type.additionalProperties) {\n return `${registry.label}<String, ${this.getComplexText(\n type.additionalProperties as Schema\n )}>`;\n } else {\n return registry?.label || type.type || 'unknown';\n }\n };\n\n public getDisplayIcon = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDisplayIcon(type) || registry?.icon || <></>;\n };\n\n public getTypeSchemaProperties = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getTypeSchemaProperties(type);\n };\n\n public getPropertiesParent = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getPropertiesParent(type);\n };\n\n public getJsonPaths = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getJsonPaths(type);\n };\n\n public canAddField = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.canAddField(type);\n };\n\n public getDefaultValue = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDefaultValue();\n };\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const defaultTypeDefinitionRegistry: JsonSchemaTypeRegistryCreator = ({ typeManager }) => ({\n type: 'default',\n\n label: '',\n\n icon: <></>,\n\n container: false,\n\n getJsonPaths: () => [],\n\n getDisplayIcon: (schema): JSX.Element => typeManager.getTypeBySchema(schema)?.icon || <></>,\n\n getPropertiesParent: () => undefined,\n\n canAddField: () => false,\n\n getDefaultValue: () => undefined,\n\n getValueText: () => '',\n\n getStringValueByTypeSchema: (type: IJsonSchema): string | undefined => type.type,\n\n getTypeSchemaProperties: () => undefined,\n\n getDisplayLabel: (schema) => (\n <div\n style={{\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n }}\n >\n {typeManager.getTypeBySchema(schema)?.label}\n <span\n style={{\n fontSize: 12,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {typeManager.getComplexText(schema)}\n </span>\n </div>\n ),\n\n getDisplayText: (type: IJsonSchema) => typeManager.getComplexText(type),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const dateTimeRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'date-time',\n\n label: 'DateTime',\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 5v14a3 3 0 0 0 3 3h7.1a7.02 7.02 0 0 1-1.43-2H6a2 2 0 0 1-2-2V8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2.67c.75.36 1.43.85 2 1.43V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 10h1c-.54 0-1.06.06-1.57.18A1 1 0 0 1 16 10Z\" fill=\"currentColor\"></path>\n <path\n d=\"M13.5 10.94a1 1 0 0 0-1-.94h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 .77.97 7.03 7.03 0 0 1 2.23-2.03Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 10a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H7Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M6 16a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22 17a5 5 0 1 1-10 0 5 5 0 0 1 10 0Zm-4-2a1 1 0 1 0-2 0v2c0 .27.1.52.3.7l1.5 1.5a1 1 0 0 0 1.4-1.4L18 16.58V15Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n getDefaultSchema: () => ({\n type: 'date-time',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const stringRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'string',\n\n label: 'String',\n\n icon: (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.3342 3.33321C8.96601 3.33321 8.66753 3.63169 8.66753 3.99988C8.66753 4.36807 8.96601 4.66655 9.3342 4.66655H14.6675C15.0357 4.66655 15.3342 4.36807 15.3342 3.99988C15.3342 3.63169 15.0357 3.33321 14.6675 3.33321H9.3342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.0009 7.99988C10.0009 7.63169 10.2993 7.33321 10.6675 7.33321H14.6675C15.0357 7.33321 15.3342 7.63169 15.3342 7.99988C15.3342 8.36807 15.0357 8.66655 14.6675 8.66655H10.6675C10.2993 8.66655 10.0009 8.36807 10.0009 7.99988Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0009 11.3332C11.6327 11.3332 11.3342 11.6317 11.3342 11.9999C11.3342 12.3681 11.6327 12.6665 12.0009 12.6665H14.6675C15.0357 12.6665 15.3342 12.3681 15.3342 11.9999C15.3342 11.6317 15.0357 11.3332 14.6675 11.3332H12.0009Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.86659 14.1482L8.23444 10.1844H3.18136C3.13868 10.1844 3.09685 10.1808 3.05616 10.1738L1.66589 14.1129C1.53049 14.4965 1.10971 14.6978 0.726058 14.5624C0.342408 14.427 0.141166 14.0062 0.276572 13.6225L4.37566 2.00848C4.71323 1.05202 6.05321 1.01763 6.4394 1.95552L11.2289 13.5872C11.3838 13.9634 11.2044 14.394 10.8282 14.5489C10.452 14.7038 10.0215 14.5244 9.86659 14.1482ZM5.44412 3.40791L3.57241 8.71109H7.62778L5.44412 3.40791Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({\n type: 'string',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const objectRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'object',\n label: 'Object',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.33893 1.5835C5.66613 1.5835 5.93137 1.88142 5.93137 2.20862C5.93137 2.53582 5.66613 2.76838 5.33893 2.76838H4.9099C4.34717 2.76838 4.08062 3.07557 4.08062 3.71921V6.58633C4.08062 7.30996 3.80723 7.84734 3.26798 8.19105C3.11426 8.28902 3.10884 8.55273 3.26068 8.65359C3.80476 9.01503 4.08062 9.53994 4.08062 10.2434V13.1251C4.08062 13.7395 4.34717 14.0613 4.9099 14.0613H5.33893C5.66613 14.0613 5.93137 14.3435 5.93137 14.6707C5.93137 14.9979 5.66613 15.2462 5.33893 15.2462H4.64335C3.99177 15.2462 3.48828 15.0268 3.13287 14.6172C2.80708 14.2369 2.64419 13.7103 2.64419 13.0666V10.3165C2.64419 9.8923 2.55534 9.58511 2.37764 9.39494C2.26816 9.27135 1.80618 9.17938 1.38154 9.11602C1.02726 9.06315 0.759057 8.76744 0.765747 8.4093C0.772379 8.0543 1.03439 7.7566 1.38545 7.70346C1.80778 7.63952 2.26906 7.54968 2.37764 7.43477C2.55534 7.22997 2.64419 6.92278 2.64419 6.51319V3.77772C2.64419 3.11945 2.80708 2.59284 3.13287 2.21251C3.48828 1.78829 3.99177 1.5835 4.64335 1.5835H5.33893Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.962 15.2463C10.6348 15.2463 10.3696 14.9483 10.3696 14.6211C10.3696 14.2939 10.6348 14.0614 10.962 14.0614H11.391C11.9538 14.0614 12.2203 13.7542 12.2203 13.1105V10.2434C12.2203 9.51979 12.4937 8.98241 13.033 8.6387C13.1867 8.54073 13.1921 8.27703 13.0403 8.17616C12.4962 7.81472 12.2203 7.28982 12.2203 6.58638V3.70463C12.2203 3.09024 11.9538 2.76842 11.391 2.76842L10.962 2.76842C10.6348 2.76842 10.3696 2.48627 10.3696 2.15907C10.3696 1.83188 10.6348 1.58354 10.962 1.58354L11.6576 1.58354C12.3092 1.58354 12.8127 1.80296 13.1681 2.21255C13.4939 2.59289 13.6568 3.1195 13.6568 3.76314V6.51324C13.6568 6.93745 13.7456 7.24464 13.9233 7.43481C14.03 7.5553 14.4328 7.64858 14.8186 7.71393C15.1718 7.77376 15.4401 8.06977 15.4334 8.42791C15.4268 8.78291 15.1646 9.08018 14.814 9.13633C14.4306 9.19774 14.0291 9.28303 13.9233 9.39499C13.7456 9.59978 13.6568 9.90697 13.6568 10.3166V13.052C13.6568 13.7103 13.4939 14.2369 13.1681 14.6172C12.8127 15.0415 12.3092 15.2463 11.6576 15.2463H10.962Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> =>\n type.properties || {},\n\n getPropertiesParent: (type) => type,\n\n canAddField: () => true,\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'object',\n required: [],\n properties: {},\n }),\n\n getIJsonSchemaPropertiesParent: (type: IJsonSchema) => type,\n\n getValueText: () => '',\n\n getJsonPaths: () => ['properties'],\n\n getDefaultValue: () => ({}),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const numberRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'number',\n\n label: 'Number',\n\n extend: 'integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.44151 5.3068C3.44151 3.83404 4.71542 2.64014 6.18818 2.64014C7.66094 2.64014 8.93484 3.83404 8.93484 5.3068V10.6135C8.93484 12.0862 7.66094 13.2801 6.18818 13.2801C4.71542 13.2801 3.44151 12.0862 3.44151 10.6135V5.3068ZM7.60151 5.3068C7.60151 4.57042 6.92456 3.97347 6.18818 3.97347C5.4518 3.97347 4.77484 4.57042 4.77484 5.3068V10.6135C4.77484 11.3498 5.4518 11.9468 6.18818 11.9468C6.92456 11.9468 7.60151 11.3498 7.60151 10.6135V5.3068Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.9882 2.64014C11.5154 2.64014 10.2415 3.83404 10.2415 5.3068V10.6135C10.2415 12.0862 11.5154 13.2801 12.9882 13.2801C14.4609 13.2801 15.7348 12.0862 15.7348 10.6135V5.3068C15.7348 3.83404 14.4609 2.64014 12.9882 2.64014ZM14.4015 10.6135C14.4015 11.3498 13.7246 11.9468 12.9882 11.9468C12.2518 11.9468 11.5748 11.3498 11.5748 10.6135V5.3068C11.5748 4.57042 12.2518 3.97347 12.9882 3.97347C13.7246 3.97347 14.4015 4.57042 14.4015 5.3068V10.6135Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.21484 13.2001C1.76713 13.2001 2.21484 12.7524 2.21484 12.2001C2.21484 11.6479 1.76713 11.2001 1.21484 11.2001C0.662559 11.2001 0.214844 11.6479 0.214844 12.2001C0.214844 12.7524 0.662559 13.2001 1.21484 13.2001Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'number' }),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const booleanRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'boolean',\n\n label: 'Boolean',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.668 4.66683H5.33463C3.49369 4.66683 2.0013 6.15921 2.0013 8.00016C2.0013 9.84111 3.49369 11.3335 5.33463 11.3335H10.668C12.5089 11.3335 14.0013 9.84111 14.0013 8.00016C14.0013 6.15921 12.5089 4.66683 10.668 4.66683ZM5.33463 3.3335C2.75731 3.3335 0.667969 5.42283 0.667969 8.00016C0.667969 10.5775 2.75731 12.6668 5.33463 12.6668H10.668C13.2453 12.6668 15.3346 10.5775 15.3346 8.00016C15.3346 5.42283 13.2453 3.3335 10.668 3.3335H5.33463Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.66797 8.00016C8.66797 6.89559 9.5634 6.00016 10.668 6.00016C11.7725 6.00016 12.668 6.89559 12.668 8.00016C12.668 9.10473 11.7725 10.0002 10.668 10.0002C9.5634 10.0002 8.66797 9.10473 8.66797 8.00016ZM10.668 7.3335C10.2998 7.3335 10.0013 7.63197 10.0013 8.00016C10.0013 8.36835 10.2998 8.66683 10.668 8.66683C11.0362 8.66683 11.3346 8.36835 11.3346 8.00016C11.3346 7.63197 11.0362 7.3335 10.668 7.3335Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({ type: 'boolean' }),\n\n getValueText: (value?: unknown) => (value === undefined ? '' : value ? 'True' : 'False'),\n\n getDefaultValue: () => false,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const arrayRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.23759 1.00342H2.00391V14.997H5.23759V13.6251H3.35127V2.37534H5.23759V1.00342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.7624 1.00342H13.9961V14.997H10.7624V13.6251H12.6487V2.37534H10.7624V1.00342Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n const getDisplayIcon = (type: IJsonSchema): JSX.Element => {\n const item = type.items;\n const config = typeManager.getTypeBySchema(item!);\n\n switch (config?.type) {\n case 'object':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM3.82031 5.9091C3.82031 5.18535 4.40703 4.59863 5.13078 4.59863C5.85453 4.59863 6.44124 5.18535 6.44124 5.9091C6.44124 6.56485 5.9596 7.1081 5.33078 7.2044V8.70018H5.32877C5.32982 8.75093 5.33078 8.80912 5.33078 8.87034V9.72111C5.33078 10.0195 5.57268 10.2614 5.87109 10.2614H6.24124C6.55613 10.2614 6.8114 10.5167 6.8114 10.8316C6.8114 11.1465 6.55613 11.4017 6.24124 11.4017H5.87109C4.94291 11.4017 4.19047 10.6493 4.19047 9.72111V6.82186C3.96158 6.58607 3.82031 6.26397 3.82031 5.9091ZM7.33679 5.9091C7.33679 5.59421 7.59205 5.33894 7.90694 5.33894H11.6085C11.9234 5.33894 12.1786 5.59421 12.1786 5.9091C12.1786 6.22399 11.9234 6.47925 11.6085 6.47925H7.90694C7.59205 6.47925 7.33679 6.22399 7.33679 5.9091ZM7.33679 9.86846C7.33679 9.55357 7.59205 9.2983 7.90694 9.2983H11.6085C11.9234 9.2983 12.1786 9.55357 12.1786 9.86846C12.1786 10.1833 11.9234 10.4386 11.6085 10.4386H7.90694C7.59205 10.4386 7.33679 10.1833 7.33679 9.86846Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case 'string': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM5.23701 4.07158C5.50364 3.3161 6.56205 3.28894 6.86709 4.02974L10 11.6383C10.1329 11.9609 9.979 12.3302 9.65631 12.4631C9.33363 12.596 8.96434 12.4421 8.83147 12.1194L7.8021 9.61951H4.61903L3.7474 12.0891C3.63126 12.4182 3.27034 12.5908 2.94127 12.4747C2.6122 12.3585 2.43958 11.9976 2.55573 11.6685L5.23701 4.07158ZM6.08814 5.45704L5.06505 8.35579H7.28174L6.08814 5.45704ZM8.81938 6.07534C8.81938 5.75166 9.08177 5.48926 9.40545 5.48926H12.8941C13.2178 5.48926 13.4802 5.75166 13.4802 6.07534C13.4802 6.39902 13.2178 6.66142 12.8941 6.66142H9.40545C9.08177 6.66142 8.81938 6.39902 8.81938 6.07534ZM10.2668 9.69181C10.2668 9.36812 10.5292 9.10573 10.8529 9.10573H12.8941C13.2178 9.10573 13.4802 9.36812 13.4802 9.69181C13.4802 10.0155 13.2178 10.2779 12.8941 10.2779H10.8529C10.5292 10.2779 10.2668 10.0155 10.2668 9.69181Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n case 'enum': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.01442 7.34421C5.89401 7.46462 5.89401 7.65985 6.01442 7.78026L7.78218 9.54802C7.9026 9.66844 8.09782 9.66844 8.21823 9.54802L9.986 7.78026C10.1064 7.65985 10.1064 7.46462 9.986 7.34421L9.69137 7.04958C9.57096 6.92917 9.37573 6.92917 9.25532 7.04958L8.00021 8.3047L6.74509 7.04958C6.62468 6.92917 6.42946 6.92917 6.30904 7.04958L6.01442 7.34421ZM3.31699 7.99984C3.31699 10.5864 5.41379 12.6832 8.00033 12.6832C10.5869 12.6832 12.6837 10.5864 12.6837 7.99984C12.6837 5.4133 10.5869 3.3165 8.00033 3.3165C5.41379 3.3165 3.31699 5.4133 3.31699 7.99984ZM11.6503 7.99984C11.6503 10.0157 10.0162 11.6498 8.00033 11.6498C5.98449 11.6498 4.35033 10.0157 4.35033 7.99984C4.35033 5.984 5.98449 4.34984 8.00033 4.34984C10.0162 4.34984 11.6503 5.984 11.6503 7.99984Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"0.2\"\n />\n </svg>\n );\n }\n\n case 'integer': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM10.3614 5.22374C10.7161 4.90585 11.1581 4.75 11.6762 4.75C12.2173 4.75 12.6723 4.91467 13.0281 5.25207L13.0291 5.253C13.3852 5.59688 13.561 6.03946 13.561 6.56767C13.561 6.89 13.4945 7.17448 13.3539 7.41445C13.2572 7.57972 13.1279 7.71948 12.9685 7.83428C13.1575 7.95643 13.3099 8.11182 13.4225 8.30109C13.5793 8.5644 13.6531 8.88311 13.6531 9.24936C13.6531 9.83787 13.4612 10.3151 13.0656 10.6612C12.6982 10.9795 12.2305 11.1341 11.6762 11.1341C11.1356 11.1341 10.6805 10.9925 10.324 10.6977C9.92124 10.3691 9.71723 9.90026 9.69942 9.31256L9.69473 9.15802H10.846L10.8539 9.2997C10.8689 9.5698 10.9591 9.75553 11.1096 9.87941L11.1106 9.88027C11.2519 9.99882 11.4365 10.0631 11.6762 10.0631C11.9765 10.0631 12.1743 9.98692 12.2984 9.86071C12.4229 9.73404 12.4984 9.53136 12.4984 9.22422C12.4984 8.92116 12.4215 8.72127 12.2939 8.59581C12.1658 8.46989 11.961 8.39373 11.6511 8.39373H11.3586V7.34788H11.6511C11.9297 7.34788 12.111 7.27834 12.2238 7.16555C12.3366 7.05276 12.4062 6.87138 12.4062 6.59281C12.4062 6.30696 12.3378 6.12041 12.2277 6.00501C12.1188 5.89092 11.9446 5.82098 11.6762 5.82098C11.4248 5.82098 11.2539 5.88537 11.1407 5.99325C11.0268 6.10185 10.9497 6.27522 10.9291 6.5375L10.9183 6.67577H9.76788L9.77492 6.51904C9.79886 5.98644 9.99237 5.54989 10.3614 5.22374ZM5.91032 5.26037C6.26612 4.92297 6.72112 4.7583 7.26219 4.7583C7.80751 4.7583 8.26297 4.91938 8.61401 5.25194L8.61501 5.25289C8.96719 5.59272 9.13852 6.04185 9.13852 6.58435C9.13852 6.84997 9.08709 7.09565 8.9817 7.31883L8.98114 7.31999C8.89563 7.49712 8.74775 7.71415 8.54418 7.96862L8.54322 7.96981L6.87446 10.0127H9.13852V11.0753H5.36909V10.1089L7.69946 7.27679C7.89456 7.04062 7.98374 6.80773 7.98374 6.57597C7.98374 6.29602 7.91626 6.11385 7.8078 6.00122C7.70036 5.88964 7.52811 5.8209 7.26219 5.8209C7.04017 5.8209 6.87439 5.88173 6.75075 5.99193C6.61227 6.11766 6.53226 6.30918 6.53226 6.59273V6.74273H5.37747V6.59273C5.37747 6.05443 5.55248 5.60586 5.90934 5.2613L5.91032 5.26037ZM3.50907 4.80865H4.56964V11.0754H3.41486V6.2201L2.25 7.24249V5.89561L3.50907 4.80865Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'number': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58154H0V14.4191H3.6139V13.1269H1.36702V2.87375H3.6139V1.58154ZM3.41656 13.3271V13.3269H1.17155V13.3271H3.41656ZM0.199219 14.2191H0.197344V1.78154H3.41656V1.78174H0.199219V14.2191ZM16 1.58154H12.3861V2.87375H14.633V13.1269H12.3861V14.4191H16V1.58154ZM12.5834 1.78154V2.67375H12.5853V1.78174H15.8027V1.78154H12.5834ZM12.5853 14.2191V13.3271H14.8322V2.67394H14.8303V13.3269H12.5834V14.2191H12.5853ZM6.86771 4.5C5.87019 4.5 5.00104 5.30767 5.00104 6.31667V9.63333C5.00104 10.6423 5.87019 11.45 6.86771 11.45C7.86523 11.45 8.73438 10.6423 8.73438 9.63333V6.31667C8.73438 5.30767 7.86523 4.5 6.86771 4.5ZM11.1177 4.5C10.1202 4.5 9.25104 5.30767 9.25104 6.31667V9.63333C9.25104 10.6423 10.1202 11.45 11.1177 11.45C12.1152 11.45 12.9844 10.6423 12.9844 9.63333V6.31667C12.9844 5.30767 12.1152 4.5 11.1177 4.5ZM6.13438 6.31667C6.13438 5.9503 6.47884 5.63333 6.86771 5.63333C7.25657 5.63333 7.60104 5.9503 7.60104 6.31667V9.63333C7.60104 9.9997 7.25657 10.3167 6.86771 10.3167C6.47884 10.3167 6.13438 9.9997 6.13438 9.63333V6.31667ZM10.3844 6.31667C10.3844 5.9503 10.7288 5.63333 11.1177 5.63333C11.5066 5.63333 11.851 5.9503 11.851 6.31667V9.63333C11.851 9.9997 11.5066 10.3167 11.1177 10.3167C10.7288 10.3167 10.3844 9.9997 10.3844 9.63333V6.31667ZM3.75938 9.85C3.33135 9.85 2.98438 10.197 2.98438 10.625C2.98438 11.053 3.33135 11.4 3.75938 11.4C4.1874 11.4 4.53438 11.053 4.53438 10.625C4.53438 10.197 4.1874 9.85 3.75938 9.85Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'boolean':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM2.75 7.99993C2.75 6.14518 4.25358 4.6416 6.10833 4.6416H9.775C11.6298 4.6416 13.1333 6.14518 13.1333 7.99993C13.1333 9.85469 11.6298 11.3583 9.775 11.3583H6.10833C4.25358 11.3583 2.75 9.85469 2.75 7.99993ZM6.10833 5.85827C4.92552 5.85827 3.96667 6.81713 3.96667 7.99993C3.96667 9.18274 4.92552 10.1416 6.10833 10.1416H9.775C10.9578 10.1416 11.9167 9.18274 11.9167 7.99993C11.9167 6.81713 10.9578 5.85827 9.775 5.85827H6.10833ZM8.25 7.99993C8.25 7.1577 8.93277 6.47493 9.775 6.47493C10.6172 6.47493 11.3 7.1577 11.3 7.99993C11.3 8.84217 10.6172 9.52493 9.775 9.52493C8.93277 9.52493 8.25 8.84217 8.25 7.99993ZM9.775 7.6916C9.60471 7.6916 9.46667 7.82965 9.46667 7.99993C9.46667 8.17022 9.60471 8.30827 9.775 8.30827C9.94529 8.30827 10.0833 8.17022 10.0833 7.99993C10.0833 7.82965 9.94529 7.6916 9.775 7.6916Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n case 'stream':\n case 'map': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.02962 3.6001H10.7696C11.0983 3.6001 11.4119 3.73574 11.6424 3.97635C11.8719 4.21592 11.9994 4.53988 11.9994 4.87541V10.0898C12.0056 10.2146 11.9675 10.3376 11.8918 10.4372L11.8662 10.4709L11.8287 10.4905C11.6508 10.5836 11.5323 10.6684 11.4581 10.7562C11.3893 10.8377 11.3538 10.9274 11.3538 11.0488C11.3538 11.2093 11.3914 11.285 11.4495 11.3472C11.5199 11.4227 11.6265 11.4867 11.8093 11.5964C11.8188 11.6022 11.8286 11.608 11.8385 11.614L11.8704 11.6331L11.8927 11.6629C11.9509 11.7407 11.9869 11.8329 11.997 11.9295C12.007 12.0258 11.9909 12.123 11.9503 12.2109C11.9101 12.2996 11.8454 12.375 11.7639 12.4282C11.682 12.4817 11.5865 12.5106 11.4887 12.5114L11.487 12.5114H5.02962C4.70105 12.5114 4.38727 12.3758 4.1573 12.1349C3.92697 11.8925 3.79871 11.5702 3.79981 11.2358V4.87541C3.79981 4.54075 3.92717 4.21692 4.15725 3.97736C4.26942 3.85898 4.40438 3.76453 4.55403 3.69969C4.7039 3.63476 4.86629 3.60087 5.02962 3.6001ZM5.03192 4.65263C5.00441 4.65342 4.97731 4.65952 4.95211 4.6706C4.92641 4.6819 4.90318 4.69816 4.88376 4.71845C4.86435 4.73874 4.84912 4.76266 4.83897 4.78884C4.82881 4.81502 4.82391 4.84295 4.82456 4.87103L4.82467 4.87541L4.82461 9.64304C4.94924 9.6064 5.07861 9.5878 5.2092 9.58824L10.9746 9.58755V4.87065C10.9752 4.8426 10.9703 4.81472 10.9602 4.78858C10.95 4.76244 10.9348 4.73857 10.9153 4.71832C10.8959 4.69807 10.8727 4.68184 10.847 4.67056C10.8219 4.65951 10.7948 4.65342 10.7673 4.65263H10.7696V4.46303L10.7657 4.65259L10.7673 4.65263H5.03192ZM5.2088 10.6401C5.00466 10.6401 4.82461 10.8155 4.82461 11.0498C4.82461 11.2833 5.00452 11.4589 5.2088 11.4589H10.4698C10.4687 11.456 10.4676 11.4531 10.4665 11.4502C10.4145 11.3112 10.4004 11.1647 10.4 11.0496C10.4 10.9312 10.4101 10.7838 10.4699 10.6401L5.2088 10.6401Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.71924 4.53617C5.71924 4.25475 5.94738 4.02661 6.2288 4.02661C6.51022 4.02661 6.73835 4.25475 6.73835 4.53617V9.65545C6.73835 9.93688 6.51022 10.165 6.2288 10.165C5.94737 10.165 5.71924 9.93688 5.71924 9.65545V4.53617Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'array': {\n return getDisplayIcon(item!);\n }\n default:\n return icon;\n }\n };\n return {\n type: 'array',\n\n label: 'Array',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.items!)\n : [];\n\n return ['items', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('array'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n return (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.items!)) || {};\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.items) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return childConfig?.canAddField?.(type.items) || false;\n },\n\n getItemType: (type) => type.items,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.items) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.items)].join('-');\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'array' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rootType = typeManager.getTypeByName(root);\n\n if (!rootType) {\n return { type: 'array' };\n }\n\n let itemType;\n if (rootType.getTypeSchemaByStringValue) {\n itemType = rootType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rootType?.getDefaultSchema();\n }\n\n return {\n type: 'array',\n items: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'array',\n items: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef = type.items && typeManager.getTypeBySchema(type.items);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.items!)\n : type;\n },\n getDisplayIcon,\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const integerRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'integer',\n label: 'Integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.132 11.4601C15.644 11.0121 15.9 10.3921 15.9 9.60007C15.9 8.60807 15.5 7.93607 14.7 7.58407C15.412 7.23207 15.768 6.62407 15.768 5.76007C15.768 5.05607 15.536 4.48007 15.072 4.03207C14.608 3.59207 14.012 3.37207 13.284 3.37207C12.588 3.37207 12.008 3.58007 11.544 3.99607C11.064 4.42007 10.808 4.98807 10.776 5.70007H12C12.064 4.88407 12.492 4.47607 13.284 4.47607C14.124 4.47607 14.544 4.91607 14.544 5.79607C14.544 6.66007 14.112 7.09207 13.248 7.09207H13.044V8.16007H13.248C14.2 8.16007 14.676 8.62807 14.676 9.56407C14.676 10.5081 14.212 10.9801 13.284 10.9801C12.9 10.9801 12.584 10.8761 12.336 10.6681C12.064 10.4441 11.916 10.1161 11.892 9.68407H10.668C10.692 10.4761 10.964 11.0841 11.484 11.5081C11.948 11.8921 12.548 12.0841 13.284 12.0841C14.036 12.0841 14.652 11.8761 15.132 11.4601Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M4.46875 12.0003V10.9083L7.75675 6.91228C8.06075 6.54428 8.21275 6.16428 8.21275 5.77228C8.21275 4.90828 7.79675 4.47628 6.96475 4.47628C6.60475 4.47628 6.31275 4.57628 6.08875 4.77628C5.83275 5.00828 5.70475 5.34828 5.70475 5.79628H4.48075C4.48075 5.07628 4.71275 4.49228 5.17675 4.04428C5.64075 3.60428 6.23675 3.38428 6.96475 3.38428C7.70075 3.38428 8.29675 3.60028 8.75275 4.03228C9.20875 4.47228 9.43675 5.05628 9.43675 5.78428C9.43675 6.13628 9.36875 6.45628 9.23275 6.74428C9.12075 6.97628 8.92075 7.27228 8.63275 7.63228L5.95675 10.9083H9.43675V12.0003H4.46875Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.668 12.0001V4.78805L0 6.25205V4.89605L1.668 3.45605H2.892V12.0001H1.668Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'integer' }),\n\n getValueText: (value: unknown) => (value !== undefined ? `${value}` : ''),\n\n getDefaultValue: () => 0,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const unknownRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'unknown',\n label: 'Unknown',\n parentType: [],\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.22183 4.22182C6.21136 2.23232 8.96273 1 12 1C15.0373 1 17.7886 2.23231 19.7782 4.22182L19.0711 4.92893L19.7782 4.22183C21.7677 6.21136 23 8.96273 23 12C23 15.0373 21.7677 17.7886 19.7782 19.7782C17.7886 21.7677 15.0373 23 12 23C8.96273 23 6.21136 21.7677 4.22183 19.7782L4.92893 19.0711L4.22182 19.7782C2.23231 17.7886 1 15.0373 1 12C1 8.96273 2.23232 6.21136 4.22182 4.22183L4.22183 4.22182ZM12 3C9.51447 3 7.26584 4.00626 5.63603 5.63604C4.00625 7.26585 3 9.51447 3 12C3 14.4855 4.00627 16.7342 5.63604 18.3639C7.26584 19.9937 9.51447 21 12 21C14.4855 21 16.7342 19.9937 18.3639 18.3639C19.9937 16.7342 21 14.4855 21 12C21 9.51447 19.9937 7.26584 18.3639 5.63604C16.7342 4.00627 14.4855 3 12 3Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 9.31245C8 7.10331 9.79086 5.31245 12 5.31245C14.2091 5.31245 16 7.10331 16 9.31245C16 11.1763 14.7252 12.7424 13 13.1864V14.3124C13 14.8647 12.5523 15.3124 12 15.3124C11.4477 15.3124 11 14.8647 11 14.3124V12.3124C11 11.7602 11.4477 11.3124 12 11.3124C13.1046 11.3124 14 10.417 14 9.31245C14 8.20788 13.1046 7.31245 12 7.31245C10.8954 7.31245 10 8.20788 10 9.31245C10 9.86473 9.55228 10.3124 9 10.3124C8.44772 10.3124 8 9.86473 8 9.31245Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 18.8125C12.6904 18.8125 13.25 18.2528 13.25 17.5625C13.25 16.8721 12.6904 16.3125 12 16.3125C11.3097 16.3125 10.75 16.8721 10.75 17.5625C10.75 18.2528 11.3097 18.8125 12 18.8125Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'unknown' } as unknown as IJsonSchema),\n\n getDefaultValue: () => undefined,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const mapRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n >\n <path\n d=\"M877.860571 938.642286h-645.851428c-27.574857 0-54.052571-11.337143-73.508572-31.744a110.957714 110.957714 0 0 1-30.500571-76.8V193.828571c0-28.745143 10.971429-56.32 30.500571-76.726857a101.888 101.888 0 0 1 73.508572-31.817143h574.171428c27.501714 0 53.979429 11.337143 73.508572 31.744 19.529143 20.333714 30.500571 48.054857 30.500571 76.8v522.020572a34.157714 34.157714 0 0 1-6.948571 22.820571c-37.156571 19.382857-57.636571 39.350857-57.636572 72.630857 0 39.716571 19.894857 50.029714 57.636572 72.777143a34.816 34.816 0 0 1-8.045714 49.298286 32.256 32.256 0 0 1-17.334858 5.193143z m-32.256-254.537143V193.828571a40.228571 40.228571 0 0 0-39.497142-41.179428H232.009143a40.301714 40.301714 0 0 0-39.497143 41.252571V699.245714c17.773714-9.874286 37.449143-14.994286 57.417143-14.921143h595.675428v-0.073142z m-595.675428 187.245714h566.198857c-22.893714-11.190857-27.940571-39.497143-28.013714-59.977143 0-20.260571 3.218286-43.885714 28.013714-59.904h-566.125714c-31.670857 0-57.417143 26.843429-57.417143 59.977143 0 33.060571 25.746286 59.904 57.344 59.904z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M320 128m32.036571 0l-0.073142 0q32.036571 0 32.036571 32.036571l0 511.926858q0 32.036571-32.036571 32.036571l0.073142 0q-32.036571 0-32.036571-32.036571l0-511.926858q0-32.036571 32.036571-32.036571Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n );\n\n return {\n type: 'map',\n\n label: 'Map',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.additionalProperties!)\n : [];\n\n return ['additionalProperties', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('map'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n return (\n (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.additionalProperties!)) ||\n {}\n );\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.additionalProperties) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return childConfig?.canAddField?.(type.additionalProperties) || false;\n },\n\n getItemType: (type) => type.additionalProperties,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.additionalProperties) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.additionalProperties)].join(\n '-'\n );\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'map' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rooType = typeManager.getTypeByName(root);\n\n if (!rooType) {\n return { type: 'map' };\n }\n\n let itemType;\n if (rooType.getTypeSchemaByStringValue) {\n itemType = rooType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rooType?.getDefaultSchema();\n }\n\n return {\n type: 'map',\n additionalProperties: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'map',\n additionalProperties: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.additionalProperties!)\n : type;\n },\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { get } from 'lodash-es';\nimport {\n ASTFactory,\n ASTKind,\n ASTMatch,\n ASTNode,\n ASTNodeJSON,\n BaseType,\n} from '@flowgram.ai/variable-core';\n\nimport { IJsonSchema } from './types';\n\nexport namespace JsonSchemaUtils {\n /**\n * Converts a JSON schema to an Abstract Syntax Tree (AST) representation.\n * This function recursively processes the JSON schema and creates corresponding AST nodes.\n *\n * For more information on JSON Schema, refer to the official documentation:\n * https://json-schema.org/\n *\n * @param jsonSchema - The JSON schema to convert.\n * @returns An AST node representing the JSON schema, or undefined if the schema type is not recognized.\n */\n export function schemaToAST(jsonSchema: IJsonSchema): ASTNodeJSON | undefined {\n const { type, extra, required } = jsonSchema || {};\n const { weak = false } = extra || {};\n\n if (!type) {\n return undefined;\n }\n\n switch (type) {\n case 'object':\n if (weak) {\n return { kind: ASTKind.Object, weak: true };\n }\n return ASTFactory.createObject({\n properties: Object.entries(jsonSchema.properties || {})\n /**\n * Sorts the properties of a JSON schema based on the 'extra.index' field.\n * If the 'extra.index' field is not present, the property will be treated as having an index of 0.\n */\n .sort((a, b) => (get(a?.[1], 'extra.index') || 0) - (get(b?.[1], 'extra.index') || 0))\n .map(([key, _property]) => ({\n key,\n type: schemaToAST(_property),\n meta: {\n title: _property.title,\n description: _property.description,\n required: !!required?.includes(key),\n default: _property.default,\n },\n })),\n });\n case 'array':\n if (weak) {\n return { kind: ASTKind.Array, weak: true };\n }\n return ASTFactory.createArray({\n items: schemaToAST(jsonSchema.items!),\n });\n case 'map':\n if (weak) {\n return { kind: ASTKind.Map, weak: true };\n }\n return ASTFactory.createMap({\n valueType: schemaToAST(jsonSchema.additionalProperties!),\n });\n case 'string':\n return ASTFactory.createString({ format: jsonSchema.format });\n case 'number':\n return ASTFactory.createNumber();\n case 'boolean':\n return ASTFactory.createBoolean();\n case 'integer':\n return ASTFactory.createInteger();\n\n default:\n // If the type is not recognized, return CustomType\n return ASTFactory.createCustomType({ typeName: type });\n }\n }\n\n /**\n * Convert AST To JSON Schema\n * @param typeAST\n * @returns\n */\n export function astToSchema(\n typeAST?: ASTNode,\n options?: {\n drilldown?: boolean;\n drilldownObject?: boolean;\n drilldownMap?: boolean;\n drilldownArray?: boolean;\n }\n ): IJsonSchema | undefined {\n const {\n drilldown = true,\n drilldownMap = drilldown,\n drilldownObject = drilldown,\n drilldownArray = drilldown,\n } = options || {};\n\n if (!typeAST) {\n return undefined;\n }\n\n if (ASTMatch.isString(typeAST)) {\n return {\n type: 'string',\n format: typeAST.format,\n };\n }\n\n if (ASTMatch.isBoolean(typeAST)) {\n return {\n type: 'boolean',\n };\n }\n\n if (ASTMatch.isNumber(typeAST)) {\n return {\n type: 'number',\n };\n }\n\n if (ASTMatch.isInteger(typeAST)) {\n return {\n type: 'integer',\n };\n }\n\n if (ASTMatch.isObject(typeAST)) {\n return {\n type: 'object',\n required: typeAST.properties\n .filter((property) => property.meta?.required)\n .map((property) => property.key),\n properties: drilldownObject\n ? Object.fromEntries(\n typeAST.properties.map((property) => {\n const schema = astToSchema(property.type);\n\n if (property.meta?.title && schema) {\n schema.title = property.meta.title;\n }\n if (property.meta?.description && schema) {\n schema.description = property.meta.description;\n }\n if (property.meta?.default && schema) {\n schema.default = property.meta.default;\n }\n\n return [property.key, schema!];\n })\n )\n : {},\n };\n }\n\n if (ASTMatch.isArray(typeAST)) {\n return {\n type: 'array',\n items: drilldownArray ? astToSchema(typeAST.items) : undefined,\n };\n }\n\n if (ASTMatch.isMap(typeAST)) {\n return {\n type: 'map',\n items: drilldownMap ? astToSchema(typeAST.valueType) : undefined,\n };\n }\n\n if (ASTMatch.isCustomType(typeAST)) {\n return {\n type: typeAST.typeName,\n };\n }\n\n return undefined;\n }\n\n /**\n * Check if the AST type is match the JSON Schema\n * @param typeAST\n * @param schema\n * @returns\n */\n export function isASTMatchSchema(\n typeAST: BaseType,\n schema: IJsonSchema | IJsonSchema[]\n ): boolean {\n if (Array.isArray(schema)) {\n return typeAST.isTypeEqual(\n ASTFactory.createUnion({\n types: schema.map((_schema) => schemaToAST(_schema)!).filter(Boolean),\n })\n );\n }\n\n return typeAST.isTypeEqual(schemaToAST(schema));\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\nexport {\n JsonSchemaBasicType,\n IJsonSchema,\n IBasicJsonSchema,\n JsonSchemaTypeRegistry,\n JsonSchemaTypeRegistryCreator,\n} from './types';\nexport { JsonSchemaUtils } from './utils';\nexport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\n// Global JsonSchemaTypeManager\nexport const jsonSchemaTypeManager = new JsonSchemaTypeManager();\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React, { createContext, useContext, useMemo } from 'react';\n\nimport { usePlaygroundContainer } from '@flowgram.ai/core';\n\nimport {\n IJsonSchema,\n jsonSchemaTypeManager,\n JsonSchemaTypeManager,\n JsonSchemaTypeRegistry,\n} from './json-schema';\nimport { BaseTypeManager, TypeRegistryCreator } from './base';\n\n// use global default\nconst TypePresetContext = createContext<JsonSchemaTypeManager | null>(null);\n\nexport const useTypeManager = () => {\n const typeManagerFromContext = useContext(TypePresetContext);\n const container = usePlaygroundContainer();\n\n if (typeManagerFromContext) {\n return typeManagerFromContext;\n }\n\n if (container?.isBound?.(BaseTypeManager)) {\n return container.get(BaseTypeManager);\n }\n\n // Global Singleton\n return jsonSchemaTypeManager;\n};\n\nexport const TypePresetProvider = <\n Registry extends JsonSchemaTypeRegistry = JsonSchemaTypeRegistry\n>({\n children,\n types,\n}: React.PropsWithChildren<{\n types: (\n | Partial<Registry>\n | TypeRegistryCreator<IJsonSchema, Registry, JsonSchemaTypeManager<IJsonSchema, Registry>>\n )[];\n}>) => {\n const schemaManager = useMemo(() => {\n const typeManager = new JsonSchemaTypeManager<IJsonSchema, Registry>();\n\n types.forEach((_type) => typeManager.register(_type));\n\n return typeManager;\n }, [...types]);\n\n return (\n <TypePresetContext.Provider value={schemaManager as unknown as JsonSchemaTypeManager}>\n {children}\n </TypePresetContext.Provider>\n );\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ContainerModule } from 'inversify';\n\nimport { JsonSchemaTypeManager } from './json-schema';\nimport { BaseTypeManager } from './base';\n\nexport const TypeManager = Symbol('TypeManager');\n\nexport const jsonSchemaContainerModule = new ContainerModule((bind) => {\n bind(BaseTypeManager).to(JsonSchemaTypeManager).inSingletonScope();\n});\n"],"mappings":"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","names":["React","injectable","React","React","React","React","React","React","React","React","React","React","injectable","JsonSchemaUtils","React","React"]}
1
+ {"version":3,"sources":["../../src/base/base-type-manager.ts","../../src/json-schema/json-schema-type-manager.tsx","../../src/json-schema/type-definition/default.tsx","../../src/json-schema/type-definition/date-time.tsx","../../src/json-schema/type-definition/string.tsx","../../src/json-schema/type-definition/object.tsx","../../src/json-schema/type-definition/number.tsx","../../src/json-schema/type-definition/boolean.tsx","../../src/json-schema/type-definition/array.tsx","../../src/json-schema/type-definition/integer.tsx","../../src/json-schema/type-definition/unknown.tsx","../../src/json-schema/type-definition/map.tsx","../../src/json-schema/utils.ts","../../src/json-schema/index.ts","../../src/context.tsx","../../src/container-module.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { injectable } from 'inversify';\nimport { Emitter } from '@flowgram.ai/utils';\n\nimport { BaseTypeRegistry, TypeRegistryCreator } from './types';\n\n@injectable()\nexport abstract class BaseTypeManager<\n Schema,\n Registry extends BaseTypeRegistry,\n Manager extends BaseTypeManager<Schema, Registry, Manager>\n> {\n protected typeRegistryMap: Map<string, Registry> = new Map();\n\n protected onTypeRegistryChangeEmitter = new Emitter<Registry[]>();\n\n public onTypeRegistryChange = this.onTypeRegistryChangeEmitter.event;\n\n /**\n * 获取 typeSchema 对应的 type\n * 不能直接访问 type 的原因的是\n * Schema 中 type 可能为空,需要获取 $ref 中的 type\n */\n protected abstract getTypeNameFromSchema(typeSchema: Schema): string;\n\n getTypeByName(typeName: string): Registry | undefined {\n return this.typeRegistryMap.get(typeName);\n }\n\n getTypeBySchema(type: Schema): Registry | undefined {\n const key = this.getTypeNameFromSchema(type);\n return this.typeRegistryMap.get(key);\n }\n\n getDefaultTypeRegistry(): Registry | undefined {\n return this.typeRegistryMap.get('default');\n }\n\n /**\n * 注册 TypeRegistry\n */\n register(\n originRegistry: Partial<Registry> | TypeRegistryCreator<Schema, Registry, Manager>\n ): void {\n const registry =\n typeof originRegistry === 'function'\n ? originRegistry({ typeManager: this as unknown as Manager })\n : originRegistry;\n\n const type = registry.type;\n if (!type) {\n return;\n }\n\n let originTypeRegistry = this.getTypeByName(type);\n\n let extendTypeRegistry = registry.extend\n ? this.getTypeByName(registry.extend)\n : this.getDefaultTypeRegistry();\n\n if (originTypeRegistry) {\n // 如果是重复注册的类型,进行 merge\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...originTypeRegistry,\n ...registry,\n });\n } else {\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...registry,\n } as Registry);\n }\n }\n\n triggerChanges() {\n this.onTypeRegistryChangeEmitter.fire(Array.from(this.typeRegistryMap.values()));\n }\n\n /**\n * 获取全量的 TypeRegistries\n */\n public getAllTypeRegistries(): Registry[] {\n return Array.from(this.typeRegistryMap.values());\n }\n\n unregister(type: string): void {\n this.typeRegistryMap.delete(type);\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport React from 'react';\n\nimport { injectable } from 'inversify';\n\nimport { IJsonSchema, JsonSchemaTypeRegistry, JsonSchemaTypeRegistryCreator } from './types';\nimport { defaultTypeDefinitionRegistry } from './type-definition/default';\nimport { dateTimeRegistryCreator } from './type-definition/date-time';\nimport { BaseTypeManager } from '../base';\nimport {\n arrayRegistryCreator,\n booleanRegistryCreator,\n integerRegistryCreator,\n mapRegistryCreator,\n numberRegistryCreator,\n objectRegistryCreator,\n stringRegistryCreator,\n unknownRegistryCreator,\n} from './type-definition';\n\n@injectable()\nexport class JsonSchemaTypeManager<\n Schema extends Partial<IJsonSchema> = IJsonSchema,\n Registry extends JsonSchemaTypeRegistry<Schema> = JsonSchemaTypeRegistry<Schema>\n> extends BaseTypeManager<Schema, Registry, JsonSchemaTypeManager<Schema, Registry>> {\n /**\n * get type name\n * @param typeSchema\n * @returns\n */\n protected getTypeNameFromSchema(typeSchema: Schema): string {\n if (!typeSchema) {\n return 'unknown';\n }\n if (typeSchema.enum) {\n return 'enum';\n }\n if (typeSchema.format && typeSchema.type === 'string') {\n return typeSchema.format;\n }\n\n return typeSchema.type || typeSchema.$ref || 'unknown';\n }\n\n constructor() {\n super();\n\n const registries = [\n defaultTypeDefinitionRegistry,\n stringRegistryCreator,\n integerRegistryCreator,\n numberRegistryCreator,\n booleanRegistryCreator,\n objectRegistryCreator,\n arrayRegistryCreator,\n unknownRegistryCreator,\n mapRegistryCreator,\n dateTimeRegistryCreator,\n ];\n\n registries.forEach((registry) => {\n this.register(\n registry as unknown as JsonSchemaTypeRegistryCreator<\n Schema,\n Registry,\n JsonSchemaTypeManager<Schema, Registry>\n >\n );\n });\n }\n\n /**\n * Get TypeRegistries based on the current parentType\n */\n public getTypeRegistriesWithParentType = (parentType = ''): Registry[] =>\n this.getAllTypeRegistries()\n .filter((v) => v.type !== 'default')\n .filter((v) => !v.parentType || v.parentType.includes(parentType));\n\n /**\n * Get the deepest child field of a field\n * Array<Array<String>> -> String\n */\n getTypeSchemaDeepChildField = (type: Schema) => {\n let registry = this.getTypeBySchema(type);\n\n let childType = type;\n\n while (registry?.getItemType && registry.getItemType(childType)) {\n childType = registry.getItemType(childType)!;\n registry = this.getTypeBySchema(childType);\n }\n\n return childType;\n };\n\n /**\n * Get the plain text display string of the type schema, for example:\n * Array<Array<String>>, Map<String, Number>\n */\n public getComplexText = (type: Schema): string => {\n const registry = this.getTypeBySchema(type);\n\n if (registry?.customComplexText) {\n return registry.customComplexText(type);\n }\n\n if (registry?.container && type.items) {\n return `${registry.label}<${this.getComplexText(type.items as Schema)}>`;\n } else if (registry?.container && type.additionalProperties) {\n return `${registry.label}<String, ${this.getComplexText(\n type.additionalProperties as Schema\n )}>`;\n } else {\n return registry?.label || type.type || 'unknown';\n }\n };\n\n public getDisplayIcon = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDisplayIcon?.(type) || registry?.icon || <></>;\n };\n\n public getTypeSchemaProperties = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getTypeSchemaProperties(type);\n };\n\n public getPropertiesParent = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getPropertiesParent(type);\n };\n\n public getJsonPaths = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getJsonPaths(type);\n };\n\n public canAddField = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.canAddField(type);\n };\n\n public getDefaultValue = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDefaultValue();\n };\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const defaultTypeDefinitionRegistry: JsonSchemaTypeRegistryCreator = ({ typeManager }) => ({\n type: 'default',\n\n label: '',\n\n icon: <></>,\n\n container: false,\n\n getJsonPaths: () => [],\n\n getDisplayIcon: (schema): JSX.Element => typeManager.getTypeBySchema(schema)?.icon || <></>,\n\n getPropertiesParent: () => undefined,\n\n canAddField: () => false,\n\n getDefaultValue: () => undefined,\n\n getValueText: () => '',\n\n getStringValueByTypeSchema: (type: IJsonSchema): string | undefined => type.type,\n\n getTypeSchemaProperties: () => undefined,\n\n getDisplayLabel: (schema) => (\n <div\n style={{\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n }}\n >\n {typeManager.getTypeBySchema(schema)?.label}\n <span\n style={{\n fontSize: 12,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {typeManager.getComplexText(schema)}\n </span>\n </div>\n ),\n\n getDisplayText: (type: IJsonSchema) => typeManager.getComplexText(type),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const dateTimeRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'date-time',\n\n label: 'DateTime',\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 5v14a3 3 0 0 0 3 3h7.1a7.02 7.02 0 0 1-1.43-2H6a2 2 0 0 1-2-2V8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2.67c.75.36 1.43.85 2 1.43V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 10h1c-.54 0-1.06.06-1.57.18A1 1 0 0 1 16 10Z\" fill=\"currentColor\"></path>\n <path\n d=\"M13.5 10.94a1 1 0 0 0-1-.94h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 .77.97 7.03 7.03 0 0 1 2.23-2.03Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 10a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H7Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M6 16a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22 17a5 5 0 1 1-10 0 5 5 0 0 1 10 0Zm-4-2a1 1 0 1 0-2 0v2c0 .27.1.52.3.7l1.5 1.5a1 1 0 0 0 1.4-1.4L18 16.58V15Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n // TODO date-time compat format\n // https://json-schema.org/understanding-json-schema/reference/type#built-in-formats\n getDefaultSchema: () => ({\n type: 'date-time',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const stringRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'string',\n\n label: 'String',\n\n icon: (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.3342 3.33321C8.96601 3.33321 8.66753 3.63169 8.66753 3.99988C8.66753 4.36807 8.96601 4.66655 9.3342 4.66655H14.6675C15.0357 4.66655 15.3342 4.36807 15.3342 3.99988C15.3342 3.63169 15.0357 3.33321 14.6675 3.33321H9.3342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.0009 7.99988C10.0009 7.63169 10.2993 7.33321 10.6675 7.33321H14.6675C15.0357 7.33321 15.3342 7.63169 15.3342 7.99988C15.3342 8.36807 15.0357 8.66655 14.6675 8.66655H10.6675C10.2993 8.66655 10.0009 8.36807 10.0009 7.99988Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0009 11.3332C11.6327 11.3332 11.3342 11.6317 11.3342 11.9999C11.3342 12.3681 11.6327 12.6665 12.0009 12.6665H14.6675C15.0357 12.6665 15.3342 12.3681 15.3342 11.9999C15.3342 11.6317 15.0357 11.3332 14.6675 11.3332H12.0009Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.86659 14.1482L8.23444 10.1844H3.18136C3.13868 10.1844 3.09685 10.1808 3.05616 10.1738L1.66589 14.1129C1.53049 14.4965 1.10971 14.6978 0.726058 14.5624C0.342408 14.427 0.141166 14.0062 0.276572 13.6225L4.37566 2.00848C4.71323 1.05202 6.05321 1.01763 6.4394 1.95552L11.2289 13.5872C11.3838 13.9634 11.2044 14.394 10.8282 14.5489C10.452 14.7038 10.0215 14.5244 9.86659 14.1482ZM5.44412 3.40791L3.57241 8.71109H7.62778L5.44412 3.40791Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({\n type: 'string',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const objectRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'object',\n label: 'Object',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.33893 1.5835C5.66613 1.5835 5.93137 1.88142 5.93137 2.20862C5.93137 2.53582 5.66613 2.76838 5.33893 2.76838H4.9099C4.34717 2.76838 4.08062 3.07557 4.08062 3.71921V6.58633C4.08062 7.30996 3.80723 7.84734 3.26798 8.19105C3.11426 8.28902 3.10884 8.55273 3.26068 8.65359C3.80476 9.01503 4.08062 9.53994 4.08062 10.2434V13.1251C4.08062 13.7395 4.34717 14.0613 4.9099 14.0613H5.33893C5.66613 14.0613 5.93137 14.3435 5.93137 14.6707C5.93137 14.9979 5.66613 15.2462 5.33893 15.2462H4.64335C3.99177 15.2462 3.48828 15.0268 3.13287 14.6172C2.80708 14.2369 2.64419 13.7103 2.64419 13.0666V10.3165C2.64419 9.8923 2.55534 9.58511 2.37764 9.39494C2.26816 9.27135 1.80618 9.17938 1.38154 9.11602C1.02726 9.06315 0.759057 8.76744 0.765747 8.4093C0.772379 8.0543 1.03439 7.7566 1.38545 7.70346C1.80778 7.63952 2.26906 7.54968 2.37764 7.43477C2.55534 7.22997 2.64419 6.92278 2.64419 6.51319V3.77772C2.64419 3.11945 2.80708 2.59284 3.13287 2.21251C3.48828 1.78829 3.99177 1.5835 4.64335 1.5835H5.33893Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.962 15.2463C10.6348 15.2463 10.3696 14.9483 10.3696 14.6211C10.3696 14.2939 10.6348 14.0614 10.962 14.0614H11.391C11.9538 14.0614 12.2203 13.7542 12.2203 13.1105V10.2434C12.2203 9.51979 12.4937 8.98241 13.033 8.6387C13.1867 8.54073 13.1921 8.27703 13.0403 8.17616C12.4962 7.81472 12.2203 7.28982 12.2203 6.58638V3.70463C12.2203 3.09024 11.9538 2.76842 11.391 2.76842L10.962 2.76842C10.6348 2.76842 10.3696 2.48627 10.3696 2.15907C10.3696 1.83188 10.6348 1.58354 10.962 1.58354L11.6576 1.58354C12.3092 1.58354 12.8127 1.80296 13.1681 2.21255C13.4939 2.59289 13.6568 3.1195 13.6568 3.76314V6.51324C13.6568 6.93745 13.7456 7.24464 13.9233 7.43481C14.03 7.5553 14.4328 7.64858 14.8186 7.71393C15.1718 7.77376 15.4401 8.06977 15.4334 8.42791C15.4268 8.78291 15.1646 9.08018 14.814 9.13633C14.4306 9.19774 14.0291 9.28303 13.9233 9.39499C13.7456 9.59978 13.6568 9.90697 13.6568 10.3166V13.052C13.6568 13.7103 13.4939 14.2369 13.1681 14.6172C12.8127 15.0415 12.3092 15.2463 11.6576 15.2463H10.962Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> =>\n type.properties || {},\n\n getPropertiesParent: (type) => type,\n\n canAddField: () => true,\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'object',\n required: [],\n properties: {},\n }),\n\n getIJsonSchemaPropertiesParent: (type: IJsonSchema) => type,\n\n getValueText: () => '',\n\n getJsonPaths: () => ['properties'],\n\n getDefaultValue: () => ({}),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const numberRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'number',\n\n label: 'Number',\n\n extend: 'integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.44151 5.3068C3.44151 3.83404 4.71542 2.64014 6.18818 2.64014C7.66094 2.64014 8.93484 3.83404 8.93484 5.3068V10.6135C8.93484 12.0862 7.66094 13.2801 6.18818 13.2801C4.71542 13.2801 3.44151 12.0862 3.44151 10.6135V5.3068ZM7.60151 5.3068C7.60151 4.57042 6.92456 3.97347 6.18818 3.97347C5.4518 3.97347 4.77484 4.57042 4.77484 5.3068V10.6135C4.77484 11.3498 5.4518 11.9468 6.18818 11.9468C6.92456 11.9468 7.60151 11.3498 7.60151 10.6135V5.3068Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.9882 2.64014C11.5154 2.64014 10.2415 3.83404 10.2415 5.3068V10.6135C10.2415 12.0862 11.5154 13.2801 12.9882 13.2801C14.4609 13.2801 15.7348 12.0862 15.7348 10.6135V5.3068C15.7348 3.83404 14.4609 2.64014 12.9882 2.64014ZM14.4015 10.6135C14.4015 11.3498 13.7246 11.9468 12.9882 11.9468C12.2518 11.9468 11.5748 11.3498 11.5748 10.6135V5.3068C11.5748 4.57042 12.2518 3.97347 12.9882 3.97347C13.7246 3.97347 14.4015 4.57042 14.4015 5.3068V10.6135Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.21484 13.2001C1.76713 13.2001 2.21484 12.7524 2.21484 12.2001C2.21484 11.6479 1.76713 11.2001 1.21484 11.2001C0.662559 11.2001 0.214844 11.6479 0.214844 12.2001C0.214844 12.7524 0.662559 13.2001 1.21484 13.2001Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'number' }),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const booleanRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'boolean',\n\n label: 'Boolean',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.668 4.66683H5.33463C3.49369 4.66683 2.0013 6.15921 2.0013 8.00016C2.0013 9.84111 3.49369 11.3335 5.33463 11.3335H10.668C12.5089 11.3335 14.0013 9.84111 14.0013 8.00016C14.0013 6.15921 12.5089 4.66683 10.668 4.66683ZM5.33463 3.3335C2.75731 3.3335 0.667969 5.42283 0.667969 8.00016C0.667969 10.5775 2.75731 12.6668 5.33463 12.6668H10.668C13.2453 12.6668 15.3346 10.5775 15.3346 8.00016C15.3346 5.42283 13.2453 3.3335 10.668 3.3335H5.33463Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.66797 8.00016C8.66797 6.89559 9.5634 6.00016 10.668 6.00016C11.7725 6.00016 12.668 6.89559 12.668 8.00016C12.668 9.10473 11.7725 10.0002 10.668 10.0002C9.5634 10.0002 8.66797 9.10473 8.66797 8.00016ZM10.668 7.3335C10.2998 7.3335 10.0013 7.63197 10.0013 8.00016C10.0013 8.36835 10.2998 8.66683 10.668 8.66683C11.0362 8.66683 11.3346 8.36835 11.3346 8.00016C11.3346 7.63197 11.0362 7.3335 10.668 7.3335Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({ type: 'boolean' }),\n\n getValueText: (value?: unknown) => (value === undefined ? '' : value ? 'True' : 'False'),\n\n getDefaultValue: () => false,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const arrayRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.23759 1.00342H2.00391V14.997H5.23759V13.6251H3.35127V2.37534H5.23759V1.00342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.7624 1.00342H13.9961V14.997H10.7624V13.6251H12.6487V2.37534H10.7624V1.00342Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n const getDisplayIcon = (type: IJsonSchema): JSX.Element => {\n const item = type.items;\n const config = typeManager.getTypeBySchema(item!);\n\n switch (config?.type) {\n case 'object':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM3.82031 5.9091C3.82031 5.18535 4.40703 4.59863 5.13078 4.59863C5.85453 4.59863 6.44124 5.18535 6.44124 5.9091C6.44124 6.56485 5.9596 7.1081 5.33078 7.2044V8.70018H5.32877C5.32982 8.75093 5.33078 8.80912 5.33078 8.87034V9.72111C5.33078 10.0195 5.57268 10.2614 5.87109 10.2614H6.24124C6.55613 10.2614 6.8114 10.5167 6.8114 10.8316C6.8114 11.1465 6.55613 11.4017 6.24124 11.4017H5.87109C4.94291 11.4017 4.19047 10.6493 4.19047 9.72111V6.82186C3.96158 6.58607 3.82031 6.26397 3.82031 5.9091ZM7.33679 5.9091C7.33679 5.59421 7.59205 5.33894 7.90694 5.33894H11.6085C11.9234 5.33894 12.1786 5.59421 12.1786 5.9091C12.1786 6.22399 11.9234 6.47925 11.6085 6.47925H7.90694C7.59205 6.47925 7.33679 6.22399 7.33679 5.9091ZM7.33679 9.86846C7.33679 9.55357 7.59205 9.2983 7.90694 9.2983H11.6085C11.9234 9.2983 12.1786 9.55357 12.1786 9.86846C12.1786 10.1833 11.9234 10.4386 11.6085 10.4386H7.90694C7.59205 10.4386 7.33679 10.1833 7.33679 9.86846Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case 'string': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM5.23701 4.07158C5.50364 3.3161 6.56205 3.28894 6.86709 4.02974L10 11.6383C10.1329 11.9609 9.979 12.3302 9.65631 12.4631C9.33363 12.596 8.96434 12.4421 8.83147 12.1194L7.8021 9.61951H4.61903L3.7474 12.0891C3.63126 12.4182 3.27034 12.5908 2.94127 12.4747C2.6122 12.3585 2.43958 11.9976 2.55573 11.6685L5.23701 4.07158ZM6.08814 5.45704L5.06505 8.35579H7.28174L6.08814 5.45704ZM8.81938 6.07534C8.81938 5.75166 9.08177 5.48926 9.40545 5.48926H12.8941C13.2178 5.48926 13.4802 5.75166 13.4802 6.07534C13.4802 6.39902 13.2178 6.66142 12.8941 6.66142H9.40545C9.08177 6.66142 8.81938 6.39902 8.81938 6.07534ZM10.2668 9.69181C10.2668 9.36812 10.5292 9.10573 10.8529 9.10573H12.8941C13.2178 9.10573 13.4802 9.36812 13.4802 9.69181C13.4802 10.0155 13.2178 10.2779 12.8941 10.2779H10.8529C10.5292 10.2779 10.2668 10.0155 10.2668 9.69181Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n case 'enum': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.01442 7.34421C5.89401 7.46462 5.89401 7.65985 6.01442 7.78026L7.78218 9.54802C7.9026 9.66844 8.09782 9.66844 8.21823 9.54802L9.986 7.78026C10.1064 7.65985 10.1064 7.46462 9.986 7.34421L9.69137 7.04958C9.57096 6.92917 9.37573 6.92917 9.25532 7.04958L8.00021 8.3047L6.74509 7.04958C6.62468 6.92917 6.42946 6.92917 6.30904 7.04958L6.01442 7.34421ZM3.31699 7.99984C3.31699 10.5864 5.41379 12.6832 8.00033 12.6832C10.5869 12.6832 12.6837 10.5864 12.6837 7.99984C12.6837 5.4133 10.5869 3.3165 8.00033 3.3165C5.41379 3.3165 3.31699 5.4133 3.31699 7.99984ZM11.6503 7.99984C11.6503 10.0157 10.0162 11.6498 8.00033 11.6498C5.98449 11.6498 4.35033 10.0157 4.35033 7.99984C4.35033 5.984 5.98449 4.34984 8.00033 4.34984C10.0162 4.34984 11.6503 5.984 11.6503 7.99984Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"0.2\"\n />\n </svg>\n );\n }\n\n case 'integer': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM10.3614 5.22374C10.7161 4.90585 11.1581 4.75 11.6762 4.75C12.2173 4.75 12.6723 4.91467 13.0281 5.25207L13.0291 5.253C13.3852 5.59688 13.561 6.03946 13.561 6.56767C13.561 6.89 13.4945 7.17448 13.3539 7.41445C13.2572 7.57972 13.1279 7.71948 12.9685 7.83428C13.1575 7.95643 13.3099 8.11182 13.4225 8.30109C13.5793 8.5644 13.6531 8.88311 13.6531 9.24936C13.6531 9.83787 13.4612 10.3151 13.0656 10.6612C12.6982 10.9795 12.2305 11.1341 11.6762 11.1341C11.1356 11.1341 10.6805 10.9925 10.324 10.6977C9.92124 10.3691 9.71723 9.90026 9.69942 9.31256L9.69473 9.15802H10.846L10.8539 9.2997C10.8689 9.5698 10.9591 9.75553 11.1096 9.87941L11.1106 9.88027C11.2519 9.99882 11.4365 10.0631 11.6762 10.0631C11.9765 10.0631 12.1743 9.98692 12.2984 9.86071C12.4229 9.73404 12.4984 9.53136 12.4984 9.22422C12.4984 8.92116 12.4215 8.72127 12.2939 8.59581C12.1658 8.46989 11.961 8.39373 11.6511 8.39373H11.3586V7.34788H11.6511C11.9297 7.34788 12.111 7.27834 12.2238 7.16555C12.3366 7.05276 12.4062 6.87138 12.4062 6.59281C12.4062 6.30696 12.3378 6.12041 12.2277 6.00501C12.1188 5.89092 11.9446 5.82098 11.6762 5.82098C11.4248 5.82098 11.2539 5.88537 11.1407 5.99325C11.0268 6.10185 10.9497 6.27522 10.9291 6.5375L10.9183 6.67577H9.76788L9.77492 6.51904C9.79886 5.98644 9.99237 5.54989 10.3614 5.22374ZM5.91032 5.26037C6.26612 4.92297 6.72112 4.7583 7.26219 4.7583C7.80751 4.7583 8.26297 4.91938 8.61401 5.25194L8.61501 5.25289C8.96719 5.59272 9.13852 6.04185 9.13852 6.58435C9.13852 6.84997 9.08709 7.09565 8.9817 7.31883L8.98114 7.31999C8.89563 7.49712 8.74775 7.71415 8.54418 7.96862L8.54322 7.96981L6.87446 10.0127H9.13852V11.0753H5.36909V10.1089L7.69946 7.27679C7.89456 7.04062 7.98374 6.80773 7.98374 6.57597C7.98374 6.29602 7.91626 6.11385 7.8078 6.00122C7.70036 5.88964 7.52811 5.8209 7.26219 5.8209C7.04017 5.8209 6.87439 5.88173 6.75075 5.99193C6.61227 6.11766 6.53226 6.30918 6.53226 6.59273V6.74273H5.37747V6.59273C5.37747 6.05443 5.55248 5.60586 5.90934 5.2613L5.91032 5.26037ZM3.50907 4.80865H4.56964V11.0754H3.41486V6.2201L2.25 7.24249V5.89561L3.50907 4.80865Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'number': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58154H0V14.4191H3.6139V13.1269H1.36702V2.87375H3.6139V1.58154ZM3.41656 13.3271V13.3269H1.17155V13.3271H3.41656ZM0.199219 14.2191H0.197344V1.78154H3.41656V1.78174H0.199219V14.2191ZM16 1.58154H12.3861V2.87375H14.633V13.1269H12.3861V14.4191H16V1.58154ZM12.5834 1.78154V2.67375H12.5853V1.78174H15.8027V1.78154H12.5834ZM12.5853 14.2191V13.3271H14.8322V2.67394H14.8303V13.3269H12.5834V14.2191H12.5853ZM6.86771 4.5C5.87019 4.5 5.00104 5.30767 5.00104 6.31667V9.63333C5.00104 10.6423 5.87019 11.45 6.86771 11.45C7.86523 11.45 8.73438 10.6423 8.73438 9.63333V6.31667C8.73438 5.30767 7.86523 4.5 6.86771 4.5ZM11.1177 4.5C10.1202 4.5 9.25104 5.30767 9.25104 6.31667V9.63333C9.25104 10.6423 10.1202 11.45 11.1177 11.45C12.1152 11.45 12.9844 10.6423 12.9844 9.63333V6.31667C12.9844 5.30767 12.1152 4.5 11.1177 4.5ZM6.13438 6.31667C6.13438 5.9503 6.47884 5.63333 6.86771 5.63333C7.25657 5.63333 7.60104 5.9503 7.60104 6.31667V9.63333C7.60104 9.9997 7.25657 10.3167 6.86771 10.3167C6.47884 10.3167 6.13438 9.9997 6.13438 9.63333V6.31667ZM10.3844 6.31667C10.3844 5.9503 10.7288 5.63333 11.1177 5.63333C11.5066 5.63333 11.851 5.9503 11.851 6.31667V9.63333C11.851 9.9997 11.5066 10.3167 11.1177 10.3167C10.7288 10.3167 10.3844 9.9997 10.3844 9.63333V6.31667ZM3.75938 9.85C3.33135 9.85 2.98438 10.197 2.98438 10.625C2.98438 11.053 3.33135 11.4 3.75938 11.4C4.1874 11.4 4.53438 11.053 4.53438 10.625C4.53438 10.197 4.1874 9.85 3.75938 9.85Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'boolean':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM2.75 7.99993C2.75 6.14518 4.25358 4.6416 6.10833 4.6416H9.775C11.6298 4.6416 13.1333 6.14518 13.1333 7.99993C13.1333 9.85469 11.6298 11.3583 9.775 11.3583H6.10833C4.25358 11.3583 2.75 9.85469 2.75 7.99993ZM6.10833 5.85827C4.92552 5.85827 3.96667 6.81713 3.96667 7.99993C3.96667 9.18274 4.92552 10.1416 6.10833 10.1416H9.775C10.9578 10.1416 11.9167 9.18274 11.9167 7.99993C11.9167 6.81713 10.9578 5.85827 9.775 5.85827H6.10833ZM8.25 7.99993C8.25 7.1577 8.93277 6.47493 9.775 6.47493C10.6172 6.47493 11.3 7.1577 11.3 7.99993C11.3 8.84217 10.6172 9.52493 9.775 9.52493C8.93277 9.52493 8.25 8.84217 8.25 7.99993ZM9.775 7.6916C9.60471 7.6916 9.46667 7.82965 9.46667 7.99993C9.46667 8.17022 9.60471 8.30827 9.775 8.30827C9.94529 8.30827 10.0833 8.17022 10.0833 7.99993C10.0833 7.82965 9.94529 7.6916 9.775 7.6916Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n case 'stream':\n case 'map': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.02962 3.6001H10.7696C11.0983 3.6001 11.4119 3.73574 11.6424 3.97635C11.8719 4.21592 11.9994 4.53988 11.9994 4.87541V10.0898C12.0056 10.2146 11.9675 10.3376 11.8918 10.4372L11.8662 10.4709L11.8287 10.4905C11.6508 10.5836 11.5323 10.6684 11.4581 10.7562C11.3893 10.8377 11.3538 10.9274 11.3538 11.0488C11.3538 11.2093 11.3914 11.285 11.4495 11.3472C11.5199 11.4227 11.6265 11.4867 11.8093 11.5964C11.8188 11.6022 11.8286 11.608 11.8385 11.614L11.8704 11.6331L11.8927 11.6629C11.9509 11.7407 11.9869 11.8329 11.997 11.9295C12.007 12.0258 11.9909 12.123 11.9503 12.2109C11.9101 12.2996 11.8454 12.375 11.7639 12.4282C11.682 12.4817 11.5865 12.5106 11.4887 12.5114L11.487 12.5114H5.02962C4.70105 12.5114 4.38727 12.3758 4.1573 12.1349C3.92697 11.8925 3.79871 11.5702 3.79981 11.2358V4.87541C3.79981 4.54075 3.92717 4.21692 4.15725 3.97736C4.26942 3.85898 4.40438 3.76453 4.55403 3.69969C4.7039 3.63476 4.86629 3.60087 5.02962 3.6001ZM5.03192 4.65263C5.00441 4.65342 4.97731 4.65952 4.95211 4.6706C4.92641 4.6819 4.90318 4.69816 4.88376 4.71845C4.86435 4.73874 4.84912 4.76266 4.83897 4.78884C4.82881 4.81502 4.82391 4.84295 4.82456 4.87103L4.82467 4.87541L4.82461 9.64304C4.94924 9.6064 5.07861 9.5878 5.2092 9.58824L10.9746 9.58755V4.87065C10.9752 4.8426 10.9703 4.81472 10.9602 4.78858C10.95 4.76244 10.9348 4.73857 10.9153 4.71832C10.8959 4.69807 10.8727 4.68184 10.847 4.67056C10.8219 4.65951 10.7948 4.65342 10.7673 4.65263H10.7696V4.46303L10.7657 4.65259L10.7673 4.65263H5.03192ZM5.2088 10.6401C5.00466 10.6401 4.82461 10.8155 4.82461 11.0498C4.82461 11.2833 5.00452 11.4589 5.2088 11.4589H10.4698C10.4687 11.456 10.4676 11.4531 10.4665 11.4502C10.4145 11.3112 10.4004 11.1647 10.4 11.0496C10.4 10.9312 10.4101 10.7838 10.4699 10.6401L5.2088 10.6401Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.71924 4.53617C5.71924 4.25475 5.94738 4.02661 6.2288 4.02661C6.51022 4.02661 6.73835 4.25475 6.73835 4.53617V9.65545C6.73835 9.93688 6.51022 10.165 6.2288 10.165C5.94737 10.165 5.71924 9.93688 5.71924 9.65545V4.53617Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'array': {\n return getDisplayIcon(item!);\n }\n default:\n return icon;\n }\n };\n return {\n type: 'array',\n\n label: 'Array',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.items!)\n : [];\n\n return ['items', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('array'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n return (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.items!)) || {};\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.items) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return childConfig?.canAddField?.(type.items) || false;\n },\n\n getItemType: (type) => type.items,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.items) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.items)].join('-');\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'array' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rootType = typeManager.getTypeByName(root);\n\n if (!rootType) {\n return { type: 'array' };\n }\n\n let itemType;\n if (rootType.getTypeSchemaByStringValue) {\n itemType = rootType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rootType?.getDefaultSchema();\n }\n\n return {\n type: 'array',\n items: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'array',\n items: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef = type.items && typeManager.getTypeBySchema(type.items);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.items!)\n : type;\n },\n getDisplayIcon,\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const integerRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'integer',\n label: 'Integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.132 11.4601C15.644 11.0121 15.9 10.3921 15.9 9.60007C15.9 8.60807 15.5 7.93607 14.7 7.58407C15.412 7.23207 15.768 6.62407 15.768 5.76007C15.768 5.05607 15.536 4.48007 15.072 4.03207C14.608 3.59207 14.012 3.37207 13.284 3.37207C12.588 3.37207 12.008 3.58007 11.544 3.99607C11.064 4.42007 10.808 4.98807 10.776 5.70007H12C12.064 4.88407 12.492 4.47607 13.284 4.47607C14.124 4.47607 14.544 4.91607 14.544 5.79607C14.544 6.66007 14.112 7.09207 13.248 7.09207H13.044V8.16007H13.248C14.2 8.16007 14.676 8.62807 14.676 9.56407C14.676 10.5081 14.212 10.9801 13.284 10.9801C12.9 10.9801 12.584 10.8761 12.336 10.6681C12.064 10.4441 11.916 10.1161 11.892 9.68407H10.668C10.692 10.4761 10.964 11.0841 11.484 11.5081C11.948 11.8921 12.548 12.0841 13.284 12.0841C14.036 12.0841 14.652 11.8761 15.132 11.4601Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M4.46875 12.0003V10.9083L7.75675 6.91228C8.06075 6.54428 8.21275 6.16428 8.21275 5.77228C8.21275 4.90828 7.79675 4.47628 6.96475 4.47628C6.60475 4.47628 6.31275 4.57628 6.08875 4.77628C5.83275 5.00828 5.70475 5.34828 5.70475 5.79628H4.48075C4.48075 5.07628 4.71275 4.49228 5.17675 4.04428C5.64075 3.60428 6.23675 3.38428 6.96475 3.38428C7.70075 3.38428 8.29675 3.60028 8.75275 4.03228C9.20875 4.47228 9.43675 5.05628 9.43675 5.78428C9.43675 6.13628 9.36875 6.45628 9.23275 6.74428C9.12075 6.97628 8.92075 7.27228 8.63275 7.63228L5.95675 10.9083H9.43675V12.0003H4.46875Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.668 12.0001V4.78805L0 6.25205V4.89605L1.668 3.45605H2.892V12.0001H1.668Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'integer' }),\n\n getValueText: (value: unknown) => (value !== undefined ? `${value}` : ''),\n\n getDefaultValue: () => 0,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const unknownRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'unknown',\n label: 'Unknown',\n parentType: [],\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.22183 4.22182C6.21136 2.23232 8.96273 1 12 1C15.0373 1 17.7886 2.23231 19.7782 4.22182L19.0711 4.92893L19.7782 4.22183C21.7677 6.21136 23 8.96273 23 12C23 15.0373 21.7677 17.7886 19.7782 19.7782C17.7886 21.7677 15.0373 23 12 23C8.96273 23 6.21136 21.7677 4.22183 19.7782L4.92893 19.0711L4.22182 19.7782C2.23231 17.7886 1 15.0373 1 12C1 8.96273 2.23232 6.21136 4.22182 4.22183L4.22183 4.22182ZM12 3C9.51447 3 7.26584 4.00626 5.63603 5.63604C4.00625 7.26585 3 9.51447 3 12C3 14.4855 4.00627 16.7342 5.63604 18.3639C7.26584 19.9937 9.51447 21 12 21C14.4855 21 16.7342 19.9937 18.3639 18.3639C19.9937 16.7342 21 14.4855 21 12C21 9.51447 19.9937 7.26584 18.3639 5.63604C16.7342 4.00627 14.4855 3 12 3Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 9.31245C8 7.10331 9.79086 5.31245 12 5.31245C14.2091 5.31245 16 7.10331 16 9.31245C16 11.1763 14.7252 12.7424 13 13.1864V14.3124C13 14.8647 12.5523 15.3124 12 15.3124C11.4477 15.3124 11 14.8647 11 14.3124V12.3124C11 11.7602 11.4477 11.3124 12 11.3124C13.1046 11.3124 14 10.417 14 9.31245C14 8.20788 13.1046 7.31245 12 7.31245C10.8954 7.31245 10 8.20788 10 9.31245C10 9.86473 9.55228 10.3124 9 10.3124C8.44772 10.3124 8 9.86473 8 9.31245Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 18.8125C12.6904 18.8125 13.25 18.2528 13.25 17.5625C13.25 16.8721 12.6904 16.3125 12 16.3125C11.3097 16.3125 10.75 16.8721 10.75 17.5625C10.75 18.2528 11.3097 18.8125 12 18.8125Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'unknown' } as unknown as IJsonSchema),\n\n getDefaultValue: () => undefined,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const mapRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n >\n <path\n d=\"M877.860571 938.642286h-645.851428c-27.574857 0-54.052571-11.337143-73.508572-31.744a110.957714 110.957714 0 0 1-30.500571-76.8V193.828571c0-28.745143 10.971429-56.32 30.500571-76.726857a101.888 101.888 0 0 1 73.508572-31.817143h574.171428c27.501714 0 53.979429 11.337143 73.508572 31.744 19.529143 20.333714 30.500571 48.054857 30.500571 76.8v522.020572a34.157714 34.157714 0 0 1-6.948571 22.820571c-37.156571 19.382857-57.636571 39.350857-57.636572 72.630857 0 39.716571 19.894857 50.029714 57.636572 72.777143a34.816 34.816 0 0 1-8.045714 49.298286 32.256 32.256 0 0 1-17.334858 5.193143z m-32.256-254.537143V193.828571a40.228571 40.228571 0 0 0-39.497142-41.179428H232.009143a40.301714 40.301714 0 0 0-39.497143 41.252571V699.245714c17.773714-9.874286 37.449143-14.994286 57.417143-14.921143h595.675428v-0.073142z m-595.675428 187.245714h566.198857c-22.893714-11.190857-27.940571-39.497143-28.013714-59.977143 0-20.260571 3.218286-43.885714 28.013714-59.904h-566.125714c-31.670857 0-57.417143 26.843429-57.417143 59.977143 0 33.060571 25.746286 59.904 57.344 59.904z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M320 128m32.036571 0l-0.073142 0q32.036571 0 32.036571 32.036571l0 511.926858q0 32.036571-32.036571 32.036571l0.073142 0q-32.036571 0-32.036571-32.036571l0-511.926858q0-32.036571 32.036571-32.036571Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n );\n\n return {\n type: 'map',\n\n label: 'Map',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.additionalProperties!)\n : [];\n\n return ['additionalProperties', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('map'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n return (\n (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.additionalProperties!)) ||\n {}\n );\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.additionalProperties) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return childConfig?.canAddField?.(type.additionalProperties) || false;\n },\n\n getItemType: (type) => type.additionalProperties,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.additionalProperties) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.additionalProperties)].join(\n '-'\n );\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'map' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rooType = typeManager.getTypeByName(root);\n\n if (!rooType) {\n return { type: 'map' };\n }\n\n let itemType;\n if (rooType.getTypeSchemaByStringValue) {\n itemType = rooType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rooType?.getDefaultSchema();\n }\n\n return {\n type: 'map',\n additionalProperties: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'map',\n additionalProperties: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.additionalProperties!)\n : type;\n },\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { get } from 'lodash-es';\nimport {\n ASTFactory,\n ASTKind,\n ASTMatch,\n ASTNode,\n ASTNodeJSON,\n BaseType,\n} from '@flowgram.ai/variable-core';\n\nimport { IJsonSchema } from './types';\n\nexport namespace JsonSchemaUtils {\n /**\n * Converts a JSON schema to an Abstract Syntax Tree (AST) representation.\n * This function recursively processes the JSON schema and creates corresponding AST nodes.\n *\n * For more information on JSON Schema, refer to the official documentation:\n * https://json-schema.org/\n *\n * @param jsonSchema - The JSON schema to convert.\n * @returns An AST node representing the JSON schema, or undefined if the schema type is not recognized.\n */\n export function schemaToAST(jsonSchema: IJsonSchema): ASTNodeJSON | undefined {\n const { type, extra, required } = jsonSchema || {};\n const { weak = false } = extra || {};\n\n if (!type) {\n return undefined;\n }\n\n switch (type) {\n case 'object':\n if (weak) {\n return { kind: ASTKind.Object, weak: true };\n }\n return ASTFactory.createObject({\n properties: Object.entries(jsonSchema.properties || {})\n /**\n * Sorts the properties of a JSON schema based on the 'extra.index' field.\n * If the 'extra.index' field is not present, the property will be treated as having an index of 0.\n */\n .sort((a, b) => (get(a?.[1], 'extra.index') || 0) - (get(b?.[1], 'extra.index') || 0))\n .map(([key, _property]) => ({\n key,\n type: schemaToAST(_property),\n meta: {\n title: _property.title,\n description: _property.description,\n required: !!required?.includes(key),\n default: _property.default,\n },\n })),\n });\n case 'array':\n if (weak) {\n return { kind: ASTKind.Array, weak: true };\n }\n return ASTFactory.createArray({\n items: schemaToAST(jsonSchema.items!),\n });\n case 'map':\n if (weak) {\n return { kind: ASTKind.Map, weak: true };\n }\n return ASTFactory.createMap({\n valueType: schemaToAST(jsonSchema.additionalProperties!),\n });\n case 'string':\n return ASTFactory.createString({ format: jsonSchema.format });\n case 'number':\n return ASTFactory.createNumber();\n case 'boolean':\n return ASTFactory.createBoolean();\n case 'integer':\n return ASTFactory.createInteger();\n\n default:\n // If the type is not recognized, return CustomType\n return ASTFactory.createCustomType({ typeName: type });\n }\n }\n\n /**\n * Convert AST To JSON Schema\n * @param typeAST\n * @returns\n */\n export function astToSchema(\n typeAST?: ASTNode,\n options?: {\n drilldown?: boolean;\n drilldownObject?: boolean;\n drilldownMap?: boolean;\n drilldownArray?: boolean;\n }\n ): IJsonSchema | undefined {\n const {\n drilldown = true,\n drilldownMap = drilldown,\n drilldownObject = drilldown,\n drilldownArray = drilldown,\n } = options || {};\n\n if (!typeAST) {\n return undefined;\n }\n\n if (ASTMatch.isString(typeAST)) {\n return {\n type: 'string',\n format: typeAST.format,\n };\n }\n\n if (ASTMatch.isBoolean(typeAST)) {\n return {\n type: 'boolean',\n };\n }\n\n if (ASTMatch.isNumber(typeAST)) {\n return {\n type: 'number',\n };\n }\n\n if (ASTMatch.isInteger(typeAST)) {\n return {\n type: 'integer',\n };\n }\n\n if (ASTMatch.isObject(typeAST)) {\n return {\n type: 'object',\n required: typeAST.properties\n .filter((property) => property.meta?.required)\n .map((property) => property.key),\n properties: drilldownObject\n ? Object.fromEntries(\n typeAST.properties.map((property) => {\n const schema = astToSchema(property.type);\n\n if (property.meta?.title && schema) {\n schema.title = property.meta.title;\n }\n if (property.meta?.description && schema) {\n schema.description = property.meta.description;\n }\n if (property.meta?.default && schema) {\n schema.default = property.meta.default;\n }\n\n return [property.key, schema!];\n })\n )\n : {},\n };\n }\n\n if (ASTMatch.isArray(typeAST)) {\n return {\n type: 'array',\n items: drilldownArray ? astToSchema(typeAST.items) : undefined,\n };\n }\n\n if (ASTMatch.isMap(typeAST)) {\n return {\n type: 'map',\n items: drilldownMap ? astToSchema(typeAST.valueType) : undefined,\n };\n }\n\n if (ASTMatch.isCustomType(typeAST)) {\n return {\n type: typeAST.typeName,\n };\n }\n\n console.warn('JsonSchemaUtils.astToSchema: AST must extends BaseType', typeAST);\n\n return undefined;\n }\n\n /**\n * Check if the AST type is match the JSON Schema\n * @param typeAST\n * @param schema\n * @returns\n */\n export function isASTMatchSchema(\n typeAST: BaseType,\n schema: IJsonSchema | IJsonSchema[]\n ): boolean {\n if (Array.isArray(schema)) {\n return typeAST.isTypeEqual(\n ASTFactory.createUnion({\n types: schema.map((_schema) => schemaToAST(_schema)!).filter(Boolean),\n })\n );\n }\n\n return typeAST.isTypeEqual(schemaToAST(schema));\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\nexport {\n JsonSchemaBasicType,\n IJsonSchema,\n IBasicJsonSchema,\n JsonSchemaTypeRegistry,\n JsonSchemaTypeRegistryCreator,\n} from './types';\nexport { JsonSchemaUtils } from './utils';\nexport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\n// Global JsonSchemaTypeManager\nexport const jsonSchemaTypeManager = new JsonSchemaTypeManager();\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React, { createContext, useContext, useMemo } from 'react';\n\nimport { usePlaygroundContainer } from '@flowgram.ai/core';\n\nimport {\n IJsonSchema,\n jsonSchemaTypeManager,\n JsonSchemaTypeManager,\n JsonSchemaTypeRegistry,\n} from './json-schema';\nimport { BaseTypeManager, TypeRegistryCreator } from './base';\n\n// use global default\nconst TypePresetContext = createContext<JsonSchemaTypeManager | null>(null);\n\nexport const useTypeManager = () => {\n const typeManagerFromContext = useContext(TypePresetContext);\n const container = usePlaygroundContainer();\n\n if (typeManagerFromContext) {\n return typeManagerFromContext;\n }\n\n if (container?.isBound?.(BaseTypeManager)) {\n return container.get(BaseTypeManager);\n }\n\n // Global Singleton\n return jsonSchemaTypeManager;\n};\n\nexport const TypePresetProvider = <\n Registry extends JsonSchemaTypeRegistry = JsonSchemaTypeRegistry\n>({\n children,\n types,\n}: React.PropsWithChildren<{\n types: (\n | Partial<Registry>\n | TypeRegistryCreator<IJsonSchema, Registry, JsonSchemaTypeManager<IJsonSchema, Registry>>\n )[];\n}>) => {\n const schemaManager = useMemo(() => {\n const typeManager = new JsonSchemaTypeManager<IJsonSchema, Registry>();\n\n types.forEach((_type) => typeManager.register(_type));\n\n return typeManager;\n }, [...types]);\n\n return (\n <TypePresetContext.Provider value={schemaManager as unknown as JsonSchemaTypeManager}>\n {children}\n </TypePresetContext.Provider>\n );\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ContainerModule } from 'inversify';\n\nimport { JsonSchemaTypeManager } from './json-schema';\nimport { BaseTypeManager } from './base';\n\nexport const TypeManager = Symbol('TypeManager');\n\nexport const jsonSchemaContainerModule = new ContainerModule((bind) => {\n bind(BaseTypeManager).to(JsonSchemaTypeManager).inSingletonScope();\n});\n"],"mappings":"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","names":["React","injectable","React","React","React","React","React","React","React","React","React","React","injectable","JsonSchemaUtils","React","React"]}
package/dist/index.js CHANGED
@@ -36,8 +36,8 @@ var __decorateClass = (decorators, target, key, kind) => {
36
36
  };
37
37
 
38
38
  // src/index.ts
39
- var src_exports = {};
40
- __export(src_exports, {
39
+ var index_exports = {};
40
+ __export(index_exports, {
41
41
  BaseTypeManager: () => BaseTypeManager,
42
42
  JsonSchemaTypeManager: () => JsonSchemaTypeManager,
43
43
  JsonSchemaUtils: () => JsonSchemaUtils,
@@ -46,7 +46,7 @@ __export(src_exports, {
46
46
  jsonSchemaTypeManager: () => jsonSchemaTypeManager,
47
47
  useTypeManager: () => useTypeManager
48
48
  });
49
- module.exports = __toCommonJS(src_exports);
49
+ module.exports = __toCommonJS(index_exports);
50
50
 
51
51
  // src/base/base-type-manager.ts
52
52
  var import_inversify = require("inversify");
@@ -210,6 +210,8 @@ var dateTimeRegistryCreator = () => ({
210
210
  }
211
211
  )
212
212
  ),
213
+ // TODO date-time compat format
214
+ // https://json-schema.org/understanding-json-schema/reference/type#built-in-formats
213
215
  getDefaultSchema: () => ({
214
216
  type: "date-time"
215
217
  }),
@@ -829,7 +831,7 @@ var JsonSchemaTypeManager = class extends BaseTypeManager {
829
831
  };
830
832
  this.getDisplayIcon = (type) => {
831
833
  const registry = this.getTypeBySchema(type);
832
- return registry?.getDisplayIcon(type) || registry?.icon || /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null);
834
+ return registry?.getDisplayIcon?.(type) || registry?.icon || /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null);
833
835
  };
834
836
  this.getTypeSchemaProperties = (type) => {
835
837
  const registry = this.getTypeBySchema(type);
@@ -854,8 +856,8 @@ var JsonSchemaTypeManager = class extends BaseTypeManager {
854
856
  const registries = [
855
857
  defaultTypeDefinitionRegistry,
856
858
  stringRegistryCreator,
857
- numberRegistryCreator,
858
859
  integerRegistryCreator,
860
+ numberRegistryCreator,
859
861
  booleanRegistryCreator,
860
862
  objectRegistryCreator,
861
863
  arrayRegistryCreator,
@@ -1015,6 +1017,7 @@ var JsonSchemaUtils;
1015
1017
  type: typeAST.typeName
1016
1018
  };
1017
1019
  }
1020
+ console.warn("JsonSchemaUtils.astToSchema: AST must extends BaseType", typeAST);
1018
1021
  return void 0;
1019
1022
  }
1020
1023
  JsonSchemaUtils2.astToSchema = astToSchema;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/base/base-type-manager.ts","../src/json-schema/json-schema-type-manager.tsx","../src/json-schema/type-definition/default.tsx","../src/json-schema/type-definition/date-time.tsx","../src/json-schema/type-definition/string.tsx","../src/json-schema/type-definition/object.tsx","../src/json-schema/type-definition/number.tsx","../src/json-schema/type-definition/boolean.tsx","../src/json-schema/type-definition/array.tsx","../src/json-schema/type-definition/integer.tsx","../src/json-schema/type-definition/unknown.tsx","../src/json-schema/type-definition/map.tsx","../src/json-schema/utils.ts","../src/json-schema/index.ts","../src/context.tsx","../src/container-module.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './base';\nexport * from './json-schema';\n\nexport { useTypeManager, TypePresetProvider } from './context';\nexport { jsonSchemaContainerModule } from './container-module';\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { injectable } from 'inversify';\nimport { Emitter } from '@flowgram.ai/utils';\n\nimport { BaseTypeRegistry, TypeRegistryCreator } from './types';\n\n@injectable()\nexport abstract class BaseTypeManager<\n Schema,\n Registry extends BaseTypeRegistry,\n Manager extends BaseTypeManager<Schema, Registry, Manager>\n> {\n protected typeRegistryMap: Map<string, Registry> = new Map();\n\n protected onTypeRegistryChangeEmitter = new Emitter<Registry[]>();\n\n public onTypeRegistryChange = this.onTypeRegistryChangeEmitter.event;\n\n /**\n * 获取 typeSchema 对应的 type\n * 不能直接访问 type 的原因的是\n * Schema 中 type 可能为空,需要获取 $ref 中的 type\n */\n protected abstract getTypeNameFromSchema(typeSchema: Schema): string;\n\n getTypeByName(typeName: string): Registry | undefined {\n return this.typeRegistryMap.get(typeName);\n }\n\n getTypeBySchema(type: Schema): Registry | undefined {\n const key = this.getTypeNameFromSchema(type);\n return this.typeRegistryMap.get(key);\n }\n\n getDefaultTypeRegistry(): Registry | undefined {\n return this.typeRegistryMap.get('default');\n }\n\n /**\n * 注册 TypeRegistry\n */\n register(\n originRegistry: Partial<Registry> | TypeRegistryCreator<Schema, Registry, Manager>\n ): void {\n const registry =\n typeof originRegistry === 'function'\n ? originRegistry({ typeManager: this as unknown as Manager })\n : originRegistry;\n\n const type = registry.type;\n if (!type) {\n return;\n }\n\n let originTypeRegistry = this.getTypeByName(type);\n\n let extendTypeRegistry = registry.extend\n ? this.getTypeByName(registry.extend)\n : this.getDefaultTypeRegistry();\n\n if (originTypeRegistry) {\n // 如果是重复注册的类型,进行 merge\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...originTypeRegistry,\n ...registry,\n });\n } else {\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...registry,\n } as Registry);\n }\n }\n\n triggerChanges() {\n this.onTypeRegistryChangeEmitter.fire(Array.from(this.typeRegistryMap.values()));\n }\n\n /**\n * 获取全量的 TypeRegistries\n */\n public getAllTypeRegistries(): Registry[] {\n return Array.from(this.typeRegistryMap.values());\n }\n\n unregister(type: string): void {\n this.typeRegistryMap.delete(type);\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport React from 'react';\n\nimport { injectable } from 'inversify';\n\nimport { IJsonSchema, JsonSchemaTypeRegistry, JsonSchemaTypeRegistryCreator } from './types';\nimport { defaultTypeDefinitionRegistry } from './type-definition/default';\nimport { dateTimeRegistryCreator } from './type-definition/date-time';\nimport { BaseTypeManager } from '../base';\nimport {\n arrayRegistryCreator,\n booleanRegistryCreator,\n integerRegistryCreator,\n mapRegistryCreator,\n numberRegistryCreator,\n objectRegistryCreator,\n stringRegistryCreator,\n unknownRegistryCreator,\n} from './type-definition';\n\n@injectable()\nexport class JsonSchemaTypeManager<\n Schema extends Partial<IJsonSchema> = IJsonSchema,\n Registry extends JsonSchemaTypeRegistry<Schema> = JsonSchemaTypeRegistry<Schema>\n> extends BaseTypeManager<Schema, Registry, JsonSchemaTypeManager<Schema, Registry>> {\n /**\n * get type name\n * @param typeSchema\n * @returns\n */\n protected getTypeNameFromSchema(typeSchema: Schema): string {\n if (!typeSchema) {\n return 'unknown';\n }\n if (typeSchema.enum) {\n return 'enum';\n }\n if (typeSchema.format && typeSchema.type === 'string') {\n return typeSchema.format;\n }\n\n return typeSchema.type || typeSchema.$ref || 'unknown';\n }\n\n constructor() {\n super();\n\n const registries = [\n defaultTypeDefinitionRegistry,\n stringRegistryCreator,\n numberRegistryCreator,\n integerRegistryCreator,\n booleanRegistryCreator,\n objectRegistryCreator,\n arrayRegistryCreator,\n unknownRegistryCreator,\n mapRegistryCreator,\n dateTimeRegistryCreator,\n ];\n\n registries.forEach((registry) => {\n this.register(\n registry as unknown as JsonSchemaTypeRegistryCreator<\n Schema,\n Registry,\n JsonSchemaTypeManager<Schema, Registry>\n >\n );\n });\n }\n\n /**\n * Get TypeRegistries based on the current parentType\n */\n public getTypeRegistriesWithParentType = (parentType = ''): Registry[] =>\n this.getAllTypeRegistries()\n .filter((v) => v.type !== 'default')\n .filter((v) => !v.parentType || v.parentType.includes(parentType));\n\n /**\n * Get the deepest child field of a field\n * Array<Array<String>> -> String\n */\n getTypeSchemaDeepChildField = (type: Schema) => {\n let registry = this.getTypeBySchema(type);\n\n let childType = type;\n\n while (registry?.getItemType && registry.getItemType(childType)) {\n childType = registry.getItemType(childType)!;\n registry = this.getTypeBySchema(childType);\n }\n\n return childType;\n };\n\n /**\n * Get the plain text display string of the type schema, for example:\n * Array<Array<String>>, Map<String, Number>\n */\n public getComplexText = (type: Schema): string => {\n const registry = this.getTypeBySchema(type);\n\n if (registry?.customComplexText) {\n return registry.customComplexText(type);\n }\n\n if (registry?.container && type.items) {\n return `${registry.label}<${this.getComplexText(type.items as Schema)}>`;\n } else if (registry?.container && type.additionalProperties) {\n return `${registry.label}<String, ${this.getComplexText(\n type.additionalProperties as Schema\n )}>`;\n } else {\n return registry?.label || type.type || 'unknown';\n }\n };\n\n public getDisplayIcon = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDisplayIcon(type) || registry?.icon || <></>;\n };\n\n public getTypeSchemaProperties = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getTypeSchemaProperties(type);\n };\n\n public getPropertiesParent = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getPropertiesParent(type);\n };\n\n public getJsonPaths = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getJsonPaths(type);\n };\n\n public canAddField = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.canAddField(type);\n };\n\n public getDefaultValue = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDefaultValue();\n };\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const defaultTypeDefinitionRegistry: JsonSchemaTypeRegistryCreator = ({ typeManager }) => ({\n type: 'default',\n\n label: '',\n\n icon: <></>,\n\n container: false,\n\n getJsonPaths: () => [],\n\n getDisplayIcon: (schema): JSX.Element => typeManager.getTypeBySchema(schema)?.icon || <></>,\n\n getPropertiesParent: () => undefined,\n\n canAddField: () => false,\n\n getDefaultValue: () => undefined,\n\n getValueText: () => '',\n\n getStringValueByTypeSchema: (type: IJsonSchema): string | undefined => type.type,\n\n getTypeSchemaProperties: () => undefined,\n\n getDisplayLabel: (schema) => (\n <div\n style={{\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n }}\n >\n {typeManager.getTypeBySchema(schema)?.label}\n <span\n style={{\n fontSize: 12,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {typeManager.getComplexText(schema)}\n </span>\n </div>\n ),\n\n getDisplayText: (type: IJsonSchema) => typeManager.getComplexText(type),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const dateTimeRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'date-time',\n\n label: 'DateTime',\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 5v14a3 3 0 0 0 3 3h7.1a7.02 7.02 0 0 1-1.43-2H6a2 2 0 0 1-2-2V8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2.67c.75.36 1.43.85 2 1.43V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 10h1c-.54 0-1.06.06-1.57.18A1 1 0 0 1 16 10Z\" fill=\"currentColor\"></path>\n <path\n d=\"M13.5 10.94a1 1 0 0 0-1-.94h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 .77.97 7.03 7.03 0 0 1 2.23-2.03Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 10a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H7Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M6 16a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22 17a5 5 0 1 1-10 0 5 5 0 0 1 10 0Zm-4-2a1 1 0 1 0-2 0v2c0 .27.1.52.3.7l1.5 1.5a1 1 0 0 0 1.4-1.4L18 16.58V15Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n getDefaultSchema: () => ({\n type: 'date-time',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const stringRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'string',\n\n label: 'String',\n\n icon: (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.3342 3.33321C8.96601 3.33321 8.66753 3.63169 8.66753 3.99988C8.66753 4.36807 8.96601 4.66655 9.3342 4.66655H14.6675C15.0357 4.66655 15.3342 4.36807 15.3342 3.99988C15.3342 3.63169 15.0357 3.33321 14.6675 3.33321H9.3342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.0009 7.99988C10.0009 7.63169 10.2993 7.33321 10.6675 7.33321H14.6675C15.0357 7.33321 15.3342 7.63169 15.3342 7.99988C15.3342 8.36807 15.0357 8.66655 14.6675 8.66655H10.6675C10.2993 8.66655 10.0009 8.36807 10.0009 7.99988Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0009 11.3332C11.6327 11.3332 11.3342 11.6317 11.3342 11.9999C11.3342 12.3681 11.6327 12.6665 12.0009 12.6665H14.6675C15.0357 12.6665 15.3342 12.3681 15.3342 11.9999C15.3342 11.6317 15.0357 11.3332 14.6675 11.3332H12.0009Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.86659 14.1482L8.23444 10.1844H3.18136C3.13868 10.1844 3.09685 10.1808 3.05616 10.1738L1.66589 14.1129C1.53049 14.4965 1.10971 14.6978 0.726058 14.5624C0.342408 14.427 0.141166 14.0062 0.276572 13.6225L4.37566 2.00848C4.71323 1.05202 6.05321 1.01763 6.4394 1.95552L11.2289 13.5872C11.3838 13.9634 11.2044 14.394 10.8282 14.5489C10.452 14.7038 10.0215 14.5244 9.86659 14.1482ZM5.44412 3.40791L3.57241 8.71109H7.62778L5.44412 3.40791Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({\n type: 'string',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const objectRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'object',\n label: 'Object',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.33893 1.5835C5.66613 1.5835 5.93137 1.88142 5.93137 2.20862C5.93137 2.53582 5.66613 2.76838 5.33893 2.76838H4.9099C4.34717 2.76838 4.08062 3.07557 4.08062 3.71921V6.58633C4.08062 7.30996 3.80723 7.84734 3.26798 8.19105C3.11426 8.28902 3.10884 8.55273 3.26068 8.65359C3.80476 9.01503 4.08062 9.53994 4.08062 10.2434V13.1251C4.08062 13.7395 4.34717 14.0613 4.9099 14.0613H5.33893C5.66613 14.0613 5.93137 14.3435 5.93137 14.6707C5.93137 14.9979 5.66613 15.2462 5.33893 15.2462H4.64335C3.99177 15.2462 3.48828 15.0268 3.13287 14.6172C2.80708 14.2369 2.64419 13.7103 2.64419 13.0666V10.3165C2.64419 9.8923 2.55534 9.58511 2.37764 9.39494C2.26816 9.27135 1.80618 9.17938 1.38154 9.11602C1.02726 9.06315 0.759057 8.76744 0.765747 8.4093C0.772379 8.0543 1.03439 7.7566 1.38545 7.70346C1.80778 7.63952 2.26906 7.54968 2.37764 7.43477C2.55534 7.22997 2.64419 6.92278 2.64419 6.51319V3.77772C2.64419 3.11945 2.80708 2.59284 3.13287 2.21251C3.48828 1.78829 3.99177 1.5835 4.64335 1.5835H5.33893Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.962 15.2463C10.6348 15.2463 10.3696 14.9483 10.3696 14.6211C10.3696 14.2939 10.6348 14.0614 10.962 14.0614H11.391C11.9538 14.0614 12.2203 13.7542 12.2203 13.1105V10.2434C12.2203 9.51979 12.4937 8.98241 13.033 8.6387C13.1867 8.54073 13.1921 8.27703 13.0403 8.17616C12.4962 7.81472 12.2203 7.28982 12.2203 6.58638V3.70463C12.2203 3.09024 11.9538 2.76842 11.391 2.76842L10.962 2.76842C10.6348 2.76842 10.3696 2.48627 10.3696 2.15907C10.3696 1.83188 10.6348 1.58354 10.962 1.58354L11.6576 1.58354C12.3092 1.58354 12.8127 1.80296 13.1681 2.21255C13.4939 2.59289 13.6568 3.1195 13.6568 3.76314V6.51324C13.6568 6.93745 13.7456 7.24464 13.9233 7.43481C14.03 7.5553 14.4328 7.64858 14.8186 7.71393C15.1718 7.77376 15.4401 8.06977 15.4334 8.42791C15.4268 8.78291 15.1646 9.08018 14.814 9.13633C14.4306 9.19774 14.0291 9.28303 13.9233 9.39499C13.7456 9.59978 13.6568 9.90697 13.6568 10.3166V13.052C13.6568 13.7103 13.4939 14.2369 13.1681 14.6172C12.8127 15.0415 12.3092 15.2463 11.6576 15.2463H10.962Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> =>\n type.properties || {},\n\n getPropertiesParent: (type) => type,\n\n canAddField: () => true,\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'object',\n required: [],\n properties: {},\n }),\n\n getIJsonSchemaPropertiesParent: (type: IJsonSchema) => type,\n\n getValueText: () => '',\n\n getJsonPaths: () => ['properties'],\n\n getDefaultValue: () => ({}),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const numberRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'number',\n\n label: 'Number',\n\n extend: 'integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.44151 5.3068C3.44151 3.83404 4.71542 2.64014 6.18818 2.64014C7.66094 2.64014 8.93484 3.83404 8.93484 5.3068V10.6135C8.93484 12.0862 7.66094 13.2801 6.18818 13.2801C4.71542 13.2801 3.44151 12.0862 3.44151 10.6135V5.3068ZM7.60151 5.3068C7.60151 4.57042 6.92456 3.97347 6.18818 3.97347C5.4518 3.97347 4.77484 4.57042 4.77484 5.3068V10.6135C4.77484 11.3498 5.4518 11.9468 6.18818 11.9468C6.92456 11.9468 7.60151 11.3498 7.60151 10.6135V5.3068Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.9882 2.64014C11.5154 2.64014 10.2415 3.83404 10.2415 5.3068V10.6135C10.2415 12.0862 11.5154 13.2801 12.9882 13.2801C14.4609 13.2801 15.7348 12.0862 15.7348 10.6135V5.3068C15.7348 3.83404 14.4609 2.64014 12.9882 2.64014ZM14.4015 10.6135C14.4015 11.3498 13.7246 11.9468 12.9882 11.9468C12.2518 11.9468 11.5748 11.3498 11.5748 10.6135V5.3068C11.5748 4.57042 12.2518 3.97347 12.9882 3.97347C13.7246 3.97347 14.4015 4.57042 14.4015 5.3068V10.6135Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.21484 13.2001C1.76713 13.2001 2.21484 12.7524 2.21484 12.2001C2.21484 11.6479 1.76713 11.2001 1.21484 11.2001C0.662559 11.2001 0.214844 11.6479 0.214844 12.2001C0.214844 12.7524 0.662559 13.2001 1.21484 13.2001Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'number' }),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const booleanRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'boolean',\n\n label: 'Boolean',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.668 4.66683H5.33463C3.49369 4.66683 2.0013 6.15921 2.0013 8.00016C2.0013 9.84111 3.49369 11.3335 5.33463 11.3335H10.668C12.5089 11.3335 14.0013 9.84111 14.0013 8.00016C14.0013 6.15921 12.5089 4.66683 10.668 4.66683ZM5.33463 3.3335C2.75731 3.3335 0.667969 5.42283 0.667969 8.00016C0.667969 10.5775 2.75731 12.6668 5.33463 12.6668H10.668C13.2453 12.6668 15.3346 10.5775 15.3346 8.00016C15.3346 5.42283 13.2453 3.3335 10.668 3.3335H5.33463Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.66797 8.00016C8.66797 6.89559 9.5634 6.00016 10.668 6.00016C11.7725 6.00016 12.668 6.89559 12.668 8.00016C12.668 9.10473 11.7725 10.0002 10.668 10.0002C9.5634 10.0002 8.66797 9.10473 8.66797 8.00016ZM10.668 7.3335C10.2998 7.3335 10.0013 7.63197 10.0013 8.00016C10.0013 8.36835 10.2998 8.66683 10.668 8.66683C11.0362 8.66683 11.3346 8.36835 11.3346 8.00016C11.3346 7.63197 11.0362 7.3335 10.668 7.3335Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({ type: 'boolean' }),\n\n getValueText: (value?: unknown) => (value === undefined ? '' : value ? 'True' : 'False'),\n\n getDefaultValue: () => false,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const arrayRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.23759 1.00342H2.00391V14.997H5.23759V13.6251H3.35127V2.37534H5.23759V1.00342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.7624 1.00342H13.9961V14.997H10.7624V13.6251H12.6487V2.37534H10.7624V1.00342Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n const getDisplayIcon = (type: IJsonSchema): JSX.Element => {\n const item = type.items;\n const config = typeManager.getTypeBySchema(item!);\n\n switch (config?.type) {\n case 'object':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM3.82031 5.9091C3.82031 5.18535 4.40703 4.59863 5.13078 4.59863C5.85453 4.59863 6.44124 5.18535 6.44124 5.9091C6.44124 6.56485 5.9596 7.1081 5.33078 7.2044V8.70018H5.32877C5.32982 8.75093 5.33078 8.80912 5.33078 8.87034V9.72111C5.33078 10.0195 5.57268 10.2614 5.87109 10.2614H6.24124C6.55613 10.2614 6.8114 10.5167 6.8114 10.8316C6.8114 11.1465 6.55613 11.4017 6.24124 11.4017H5.87109C4.94291 11.4017 4.19047 10.6493 4.19047 9.72111V6.82186C3.96158 6.58607 3.82031 6.26397 3.82031 5.9091ZM7.33679 5.9091C7.33679 5.59421 7.59205 5.33894 7.90694 5.33894H11.6085C11.9234 5.33894 12.1786 5.59421 12.1786 5.9091C12.1786 6.22399 11.9234 6.47925 11.6085 6.47925H7.90694C7.59205 6.47925 7.33679 6.22399 7.33679 5.9091ZM7.33679 9.86846C7.33679 9.55357 7.59205 9.2983 7.90694 9.2983H11.6085C11.9234 9.2983 12.1786 9.55357 12.1786 9.86846C12.1786 10.1833 11.9234 10.4386 11.6085 10.4386H7.90694C7.59205 10.4386 7.33679 10.1833 7.33679 9.86846Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case 'string': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM5.23701 4.07158C5.50364 3.3161 6.56205 3.28894 6.86709 4.02974L10 11.6383C10.1329 11.9609 9.979 12.3302 9.65631 12.4631C9.33363 12.596 8.96434 12.4421 8.83147 12.1194L7.8021 9.61951H4.61903L3.7474 12.0891C3.63126 12.4182 3.27034 12.5908 2.94127 12.4747C2.6122 12.3585 2.43958 11.9976 2.55573 11.6685L5.23701 4.07158ZM6.08814 5.45704L5.06505 8.35579H7.28174L6.08814 5.45704ZM8.81938 6.07534C8.81938 5.75166 9.08177 5.48926 9.40545 5.48926H12.8941C13.2178 5.48926 13.4802 5.75166 13.4802 6.07534C13.4802 6.39902 13.2178 6.66142 12.8941 6.66142H9.40545C9.08177 6.66142 8.81938 6.39902 8.81938 6.07534ZM10.2668 9.69181C10.2668 9.36812 10.5292 9.10573 10.8529 9.10573H12.8941C13.2178 9.10573 13.4802 9.36812 13.4802 9.69181C13.4802 10.0155 13.2178 10.2779 12.8941 10.2779H10.8529C10.5292 10.2779 10.2668 10.0155 10.2668 9.69181Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n case 'enum': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.01442 7.34421C5.89401 7.46462 5.89401 7.65985 6.01442 7.78026L7.78218 9.54802C7.9026 9.66844 8.09782 9.66844 8.21823 9.54802L9.986 7.78026C10.1064 7.65985 10.1064 7.46462 9.986 7.34421L9.69137 7.04958C9.57096 6.92917 9.37573 6.92917 9.25532 7.04958L8.00021 8.3047L6.74509 7.04958C6.62468 6.92917 6.42946 6.92917 6.30904 7.04958L6.01442 7.34421ZM3.31699 7.99984C3.31699 10.5864 5.41379 12.6832 8.00033 12.6832C10.5869 12.6832 12.6837 10.5864 12.6837 7.99984C12.6837 5.4133 10.5869 3.3165 8.00033 3.3165C5.41379 3.3165 3.31699 5.4133 3.31699 7.99984ZM11.6503 7.99984C11.6503 10.0157 10.0162 11.6498 8.00033 11.6498C5.98449 11.6498 4.35033 10.0157 4.35033 7.99984C4.35033 5.984 5.98449 4.34984 8.00033 4.34984C10.0162 4.34984 11.6503 5.984 11.6503 7.99984Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"0.2\"\n />\n </svg>\n );\n }\n\n case 'integer': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM10.3614 5.22374C10.7161 4.90585 11.1581 4.75 11.6762 4.75C12.2173 4.75 12.6723 4.91467 13.0281 5.25207L13.0291 5.253C13.3852 5.59688 13.561 6.03946 13.561 6.56767C13.561 6.89 13.4945 7.17448 13.3539 7.41445C13.2572 7.57972 13.1279 7.71948 12.9685 7.83428C13.1575 7.95643 13.3099 8.11182 13.4225 8.30109C13.5793 8.5644 13.6531 8.88311 13.6531 9.24936C13.6531 9.83787 13.4612 10.3151 13.0656 10.6612C12.6982 10.9795 12.2305 11.1341 11.6762 11.1341C11.1356 11.1341 10.6805 10.9925 10.324 10.6977C9.92124 10.3691 9.71723 9.90026 9.69942 9.31256L9.69473 9.15802H10.846L10.8539 9.2997C10.8689 9.5698 10.9591 9.75553 11.1096 9.87941L11.1106 9.88027C11.2519 9.99882 11.4365 10.0631 11.6762 10.0631C11.9765 10.0631 12.1743 9.98692 12.2984 9.86071C12.4229 9.73404 12.4984 9.53136 12.4984 9.22422C12.4984 8.92116 12.4215 8.72127 12.2939 8.59581C12.1658 8.46989 11.961 8.39373 11.6511 8.39373H11.3586V7.34788H11.6511C11.9297 7.34788 12.111 7.27834 12.2238 7.16555C12.3366 7.05276 12.4062 6.87138 12.4062 6.59281C12.4062 6.30696 12.3378 6.12041 12.2277 6.00501C12.1188 5.89092 11.9446 5.82098 11.6762 5.82098C11.4248 5.82098 11.2539 5.88537 11.1407 5.99325C11.0268 6.10185 10.9497 6.27522 10.9291 6.5375L10.9183 6.67577H9.76788L9.77492 6.51904C9.79886 5.98644 9.99237 5.54989 10.3614 5.22374ZM5.91032 5.26037C6.26612 4.92297 6.72112 4.7583 7.26219 4.7583C7.80751 4.7583 8.26297 4.91938 8.61401 5.25194L8.61501 5.25289C8.96719 5.59272 9.13852 6.04185 9.13852 6.58435C9.13852 6.84997 9.08709 7.09565 8.9817 7.31883L8.98114 7.31999C8.89563 7.49712 8.74775 7.71415 8.54418 7.96862L8.54322 7.96981L6.87446 10.0127H9.13852V11.0753H5.36909V10.1089L7.69946 7.27679C7.89456 7.04062 7.98374 6.80773 7.98374 6.57597C7.98374 6.29602 7.91626 6.11385 7.8078 6.00122C7.70036 5.88964 7.52811 5.8209 7.26219 5.8209C7.04017 5.8209 6.87439 5.88173 6.75075 5.99193C6.61227 6.11766 6.53226 6.30918 6.53226 6.59273V6.74273H5.37747V6.59273C5.37747 6.05443 5.55248 5.60586 5.90934 5.2613L5.91032 5.26037ZM3.50907 4.80865H4.56964V11.0754H3.41486V6.2201L2.25 7.24249V5.89561L3.50907 4.80865Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'number': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58154H0V14.4191H3.6139V13.1269H1.36702V2.87375H3.6139V1.58154ZM3.41656 13.3271V13.3269H1.17155V13.3271H3.41656ZM0.199219 14.2191H0.197344V1.78154H3.41656V1.78174H0.199219V14.2191ZM16 1.58154H12.3861V2.87375H14.633V13.1269H12.3861V14.4191H16V1.58154ZM12.5834 1.78154V2.67375H12.5853V1.78174H15.8027V1.78154H12.5834ZM12.5853 14.2191V13.3271H14.8322V2.67394H14.8303V13.3269H12.5834V14.2191H12.5853ZM6.86771 4.5C5.87019 4.5 5.00104 5.30767 5.00104 6.31667V9.63333C5.00104 10.6423 5.87019 11.45 6.86771 11.45C7.86523 11.45 8.73438 10.6423 8.73438 9.63333V6.31667C8.73438 5.30767 7.86523 4.5 6.86771 4.5ZM11.1177 4.5C10.1202 4.5 9.25104 5.30767 9.25104 6.31667V9.63333C9.25104 10.6423 10.1202 11.45 11.1177 11.45C12.1152 11.45 12.9844 10.6423 12.9844 9.63333V6.31667C12.9844 5.30767 12.1152 4.5 11.1177 4.5ZM6.13438 6.31667C6.13438 5.9503 6.47884 5.63333 6.86771 5.63333C7.25657 5.63333 7.60104 5.9503 7.60104 6.31667V9.63333C7.60104 9.9997 7.25657 10.3167 6.86771 10.3167C6.47884 10.3167 6.13438 9.9997 6.13438 9.63333V6.31667ZM10.3844 6.31667C10.3844 5.9503 10.7288 5.63333 11.1177 5.63333C11.5066 5.63333 11.851 5.9503 11.851 6.31667V9.63333C11.851 9.9997 11.5066 10.3167 11.1177 10.3167C10.7288 10.3167 10.3844 9.9997 10.3844 9.63333V6.31667ZM3.75938 9.85C3.33135 9.85 2.98438 10.197 2.98438 10.625C2.98438 11.053 3.33135 11.4 3.75938 11.4C4.1874 11.4 4.53438 11.053 4.53438 10.625C4.53438 10.197 4.1874 9.85 3.75938 9.85Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'boolean':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM2.75 7.99993C2.75 6.14518 4.25358 4.6416 6.10833 4.6416H9.775C11.6298 4.6416 13.1333 6.14518 13.1333 7.99993C13.1333 9.85469 11.6298 11.3583 9.775 11.3583H6.10833C4.25358 11.3583 2.75 9.85469 2.75 7.99993ZM6.10833 5.85827C4.92552 5.85827 3.96667 6.81713 3.96667 7.99993C3.96667 9.18274 4.92552 10.1416 6.10833 10.1416H9.775C10.9578 10.1416 11.9167 9.18274 11.9167 7.99993C11.9167 6.81713 10.9578 5.85827 9.775 5.85827H6.10833ZM8.25 7.99993C8.25 7.1577 8.93277 6.47493 9.775 6.47493C10.6172 6.47493 11.3 7.1577 11.3 7.99993C11.3 8.84217 10.6172 9.52493 9.775 9.52493C8.93277 9.52493 8.25 8.84217 8.25 7.99993ZM9.775 7.6916C9.60471 7.6916 9.46667 7.82965 9.46667 7.99993C9.46667 8.17022 9.60471 8.30827 9.775 8.30827C9.94529 8.30827 10.0833 8.17022 10.0833 7.99993C10.0833 7.82965 9.94529 7.6916 9.775 7.6916Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n case 'stream':\n case 'map': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.02962 3.6001H10.7696C11.0983 3.6001 11.4119 3.73574 11.6424 3.97635C11.8719 4.21592 11.9994 4.53988 11.9994 4.87541V10.0898C12.0056 10.2146 11.9675 10.3376 11.8918 10.4372L11.8662 10.4709L11.8287 10.4905C11.6508 10.5836 11.5323 10.6684 11.4581 10.7562C11.3893 10.8377 11.3538 10.9274 11.3538 11.0488C11.3538 11.2093 11.3914 11.285 11.4495 11.3472C11.5199 11.4227 11.6265 11.4867 11.8093 11.5964C11.8188 11.6022 11.8286 11.608 11.8385 11.614L11.8704 11.6331L11.8927 11.6629C11.9509 11.7407 11.9869 11.8329 11.997 11.9295C12.007 12.0258 11.9909 12.123 11.9503 12.2109C11.9101 12.2996 11.8454 12.375 11.7639 12.4282C11.682 12.4817 11.5865 12.5106 11.4887 12.5114L11.487 12.5114H5.02962C4.70105 12.5114 4.38727 12.3758 4.1573 12.1349C3.92697 11.8925 3.79871 11.5702 3.79981 11.2358V4.87541C3.79981 4.54075 3.92717 4.21692 4.15725 3.97736C4.26942 3.85898 4.40438 3.76453 4.55403 3.69969C4.7039 3.63476 4.86629 3.60087 5.02962 3.6001ZM5.03192 4.65263C5.00441 4.65342 4.97731 4.65952 4.95211 4.6706C4.92641 4.6819 4.90318 4.69816 4.88376 4.71845C4.86435 4.73874 4.84912 4.76266 4.83897 4.78884C4.82881 4.81502 4.82391 4.84295 4.82456 4.87103L4.82467 4.87541L4.82461 9.64304C4.94924 9.6064 5.07861 9.5878 5.2092 9.58824L10.9746 9.58755V4.87065C10.9752 4.8426 10.9703 4.81472 10.9602 4.78858C10.95 4.76244 10.9348 4.73857 10.9153 4.71832C10.8959 4.69807 10.8727 4.68184 10.847 4.67056C10.8219 4.65951 10.7948 4.65342 10.7673 4.65263H10.7696V4.46303L10.7657 4.65259L10.7673 4.65263H5.03192ZM5.2088 10.6401C5.00466 10.6401 4.82461 10.8155 4.82461 11.0498C4.82461 11.2833 5.00452 11.4589 5.2088 11.4589H10.4698C10.4687 11.456 10.4676 11.4531 10.4665 11.4502C10.4145 11.3112 10.4004 11.1647 10.4 11.0496C10.4 10.9312 10.4101 10.7838 10.4699 10.6401L5.2088 10.6401Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.71924 4.53617C5.71924 4.25475 5.94738 4.02661 6.2288 4.02661C6.51022 4.02661 6.73835 4.25475 6.73835 4.53617V9.65545C6.73835 9.93688 6.51022 10.165 6.2288 10.165C5.94737 10.165 5.71924 9.93688 5.71924 9.65545V4.53617Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'array': {\n return getDisplayIcon(item!);\n }\n default:\n return icon;\n }\n };\n return {\n type: 'array',\n\n label: 'Array',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.items!)\n : [];\n\n return ['items', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('array'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n return (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.items!)) || {};\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.items) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return childConfig?.canAddField?.(type.items) || false;\n },\n\n getItemType: (type) => type.items,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.items) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.items)].join('-');\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'array' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rootType = typeManager.getTypeByName(root);\n\n if (!rootType) {\n return { type: 'array' };\n }\n\n let itemType;\n if (rootType.getTypeSchemaByStringValue) {\n itemType = rootType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rootType?.getDefaultSchema();\n }\n\n return {\n type: 'array',\n items: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'array',\n items: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef = type.items && typeManager.getTypeBySchema(type.items);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.items!)\n : type;\n },\n getDisplayIcon,\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const integerRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'integer',\n label: 'Integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.132 11.4601C15.644 11.0121 15.9 10.3921 15.9 9.60007C15.9 8.60807 15.5 7.93607 14.7 7.58407C15.412 7.23207 15.768 6.62407 15.768 5.76007C15.768 5.05607 15.536 4.48007 15.072 4.03207C14.608 3.59207 14.012 3.37207 13.284 3.37207C12.588 3.37207 12.008 3.58007 11.544 3.99607C11.064 4.42007 10.808 4.98807 10.776 5.70007H12C12.064 4.88407 12.492 4.47607 13.284 4.47607C14.124 4.47607 14.544 4.91607 14.544 5.79607C14.544 6.66007 14.112 7.09207 13.248 7.09207H13.044V8.16007H13.248C14.2 8.16007 14.676 8.62807 14.676 9.56407C14.676 10.5081 14.212 10.9801 13.284 10.9801C12.9 10.9801 12.584 10.8761 12.336 10.6681C12.064 10.4441 11.916 10.1161 11.892 9.68407H10.668C10.692 10.4761 10.964 11.0841 11.484 11.5081C11.948 11.8921 12.548 12.0841 13.284 12.0841C14.036 12.0841 14.652 11.8761 15.132 11.4601Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M4.46875 12.0003V10.9083L7.75675 6.91228C8.06075 6.54428 8.21275 6.16428 8.21275 5.77228C8.21275 4.90828 7.79675 4.47628 6.96475 4.47628C6.60475 4.47628 6.31275 4.57628 6.08875 4.77628C5.83275 5.00828 5.70475 5.34828 5.70475 5.79628H4.48075C4.48075 5.07628 4.71275 4.49228 5.17675 4.04428C5.64075 3.60428 6.23675 3.38428 6.96475 3.38428C7.70075 3.38428 8.29675 3.60028 8.75275 4.03228C9.20875 4.47228 9.43675 5.05628 9.43675 5.78428C9.43675 6.13628 9.36875 6.45628 9.23275 6.74428C9.12075 6.97628 8.92075 7.27228 8.63275 7.63228L5.95675 10.9083H9.43675V12.0003H4.46875Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.668 12.0001V4.78805L0 6.25205V4.89605L1.668 3.45605H2.892V12.0001H1.668Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'integer' }),\n\n getValueText: (value: unknown) => (value !== undefined ? `${value}` : ''),\n\n getDefaultValue: () => 0,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const unknownRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'unknown',\n label: 'Unknown',\n parentType: [],\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.22183 4.22182C6.21136 2.23232 8.96273 1 12 1C15.0373 1 17.7886 2.23231 19.7782 4.22182L19.0711 4.92893L19.7782 4.22183C21.7677 6.21136 23 8.96273 23 12C23 15.0373 21.7677 17.7886 19.7782 19.7782C17.7886 21.7677 15.0373 23 12 23C8.96273 23 6.21136 21.7677 4.22183 19.7782L4.92893 19.0711L4.22182 19.7782C2.23231 17.7886 1 15.0373 1 12C1 8.96273 2.23232 6.21136 4.22182 4.22183L4.22183 4.22182ZM12 3C9.51447 3 7.26584 4.00626 5.63603 5.63604C4.00625 7.26585 3 9.51447 3 12C3 14.4855 4.00627 16.7342 5.63604 18.3639C7.26584 19.9937 9.51447 21 12 21C14.4855 21 16.7342 19.9937 18.3639 18.3639C19.9937 16.7342 21 14.4855 21 12C21 9.51447 19.9937 7.26584 18.3639 5.63604C16.7342 4.00627 14.4855 3 12 3Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 9.31245C8 7.10331 9.79086 5.31245 12 5.31245C14.2091 5.31245 16 7.10331 16 9.31245C16 11.1763 14.7252 12.7424 13 13.1864V14.3124C13 14.8647 12.5523 15.3124 12 15.3124C11.4477 15.3124 11 14.8647 11 14.3124V12.3124C11 11.7602 11.4477 11.3124 12 11.3124C13.1046 11.3124 14 10.417 14 9.31245C14 8.20788 13.1046 7.31245 12 7.31245C10.8954 7.31245 10 8.20788 10 9.31245C10 9.86473 9.55228 10.3124 9 10.3124C8.44772 10.3124 8 9.86473 8 9.31245Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 18.8125C12.6904 18.8125 13.25 18.2528 13.25 17.5625C13.25 16.8721 12.6904 16.3125 12 16.3125C11.3097 16.3125 10.75 16.8721 10.75 17.5625C10.75 18.2528 11.3097 18.8125 12 18.8125Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'unknown' } as unknown as IJsonSchema),\n\n getDefaultValue: () => undefined,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const mapRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n >\n <path\n d=\"M877.860571 938.642286h-645.851428c-27.574857 0-54.052571-11.337143-73.508572-31.744a110.957714 110.957714 0 0 1-30.500571-76.8V193.828571c0-28.745143 10.971429-56.32 30.500571-76.726857a101.888 101.888 0 0 1 73.508572-31.817143h574.171428c27.501714 0 53.979429 11.337143 73.508572 31.744 19.529143 20.333714 30.500571 48.054857 30.500571 76.8v522.020572a34.157714 34.157714 0 0 1-6.948571 22.820571c-37.156571 19.382857-57.636571 39.350857-57.636572 72.630857 0 39.716571 19.894857 50.029714 57.636572 72.777143a34.816 34.816 0 0 1-8.045714 49.298286 32.256 32.256 0 0 1-17.334858 5.193143z m-32.256-254.537143V193.828571a40.228571 40.228571 0 0 0-39.497142-41.179428H232.009143a40.301714 40.301714 0 0 0-39.497143 41.252571V699.245714c17.773714-9.874286 37.449143-14.994286 57.417143-14.921143h595.675428v-0.073142z m-595.675428 187.245714h566.198857c-22.893714-11.190857-27.940571-39.497143-28.013714-59.977143 0-20.260571 3.218286-43.885714 28.013714-59.904h-566.125714c-31.670857 0-57.417143 26.843429-57.417143 59.977143 0 33.060571 25.746286 59.904 57.344 59.904z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M320 128m32.036571 0l-0.073142 0q32.036571 0 32.036571 32.036571l0 511.926858q0 32.036571-32.036571 32.036571l0.073142 0q-32.036571 0-32.036571-32.036571l0-511.926858q0-32.036571 32.036571-32.036571Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n );\n\n return {\n type: 'map',\n\n label: 'Map',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.additionalProperties!)\n : [];\n\n return ['additionalProperties', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('map'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n return (\n (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.additionalProperties!)) ||\n {}\n );\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.additionalProperties) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return childConfig?.canAddField?.(type.additionalProperties) || false;\n },\n\n getItemType: (type) => type.additionalProperties,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.additionalProperties) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.additionalProperties)].join(\n '-'\n );\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'map' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rooType = typeManager.getTypeByName(root);\n\n if (!rooType) {\n return { type: 'map' };\n }\n\n let itemType;\n if (rooType.getTypeSchemaByStringValue) {\n itemType = rooType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rooType?.getDefaultSchema();\n }\n\n return {\n type: 'map',\n additionalProperties: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'map',\n additionalProperties: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.additionalProperties!)\n : type;\n },\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { get } from 'lodash-es';\nimport {\n ASTFactory,\n ASTKind,\n ASTMatch,\n ASTNode,\n ASTNodeJSON,\n BaseType,\n} from '@flowgram.ai/variable-core';\n\nimport { IJsonSchema } from './types';\n\nexport namespace JsonSchemaUtils {\n /**\n * Converts a JSON schema to an Abstract Syntax Tree (AST) representation.\n * This function recursively processes the JSON schema and creates corresponding AST nodes.\n *\n * For more information on JSON Schema, refer to the official documentation:\n * https://json-schema.org/\n *\n * @param jsonSchema - The JSON schema to convert.\n * @returns An AST node representing the JSON schema, or undefined if the schema type is not recognized.\n */\n export function schemaToAST(jsonSchema: IJsonSchema): ASTNodeJSON | undefined {\n const { type, extra, required } = jsonSchema || {};\n const { weak = false } = extra || {};\n\n if (!type) {\n return undefined;\n }\n\n switch (type) {\n case 'object':\n if (weak) {\n return { kind: ASTKind.Object, weak: true };\n }\n return ASTFactory.createObject({\n properties: Object.entries(jsonSchema.properties || {})\n /**\n * Sorts the properties of a JSON schema based on the 'extra.index' field.\n * If the 'extra.index' field is not present, the property will be treated as having an index of 0.\n */\n .sort((a, b) => (get(a?.[1], 'extra.index') || 0) - (get(b?.[1], 'extra.index') || 0))\n .map(([key, _property]) => ({\n key,\n type: schemaToAST(_property),\n meta: {\n title: _property.title,\n description: _property.description,\n required: !!required?.includes(key),\n default: _property.default,\n },\n })),\n });\n case 'array':\n if (weak) {\n return { kind: ASTKind.Array, weak: true };\n }\n return ASTFactory.createArray({\n items: schemaToAST(jsonSchema.items!),\n });\n case 'map':\n if (weak) {\n return { kind: ASTKind.Map, weak: true };\n }\n return ASTFactory.createMap({\n valueType: schemaToAST(jsonSchema.additionalProperties!),\n });\n case 'string':\n return ASTFactory.createString({ format: jsonSchema.format });\n case 'number':\n return ASTFactory.createNumber();\n case 'boolean':\n return ASTFactory.createBoolean();\n case 'integer':\n return ASTFactory.createInteger();\n\n default:\n // If the type is not recognized, return CustomType\n return ASTFactory.createCustomType({ typeName: type });\n }\n }\n\n /**\n * Convert AST To JSON Schema\n * @param typeAST\n * @returns\n */\n export function astToSchema(\n typeAST?: ASTNode,\n options?: {\n drilldown?: boolean;\n drilldownObject?: boolean;\n drilldownMap?: boolean;\n drilldownArray?: boolean;\n }\n ): IJsonSchema | undefined {\n const {\n drilldown = true,\n drilldownMap = drilldown,\n drilldownObject = drilldown,\n drilldownArray = drilldown,\n } = options || {};\n\n if (!typeAST) {\n return undefined;\n }\n\n if (ASTMatch.isString(typeAST)) {\n return {\n type: 'string',\n format: typeAST.format,\n };\n }\n\n if (ASTMatch.isBoolean(typeAST)) {\n return {\n type: 'boolean',\n };\n }\n\n if (ASTMatch.isNumber(typeAST)) {\n return {\n type: 'number',\n };\n }\n\n if (ASTMatch.isInteger(typeAST)) {\n return {\n type: 'integer',\n };\n }\n\n if (ASTMatch.isObject(typeAST)) {\n return {\n type: 'object',\n required: typeAST.properties\n .filter((property) => property.meta?.required)\n .map((property) => property.key),\n properties: drilldownObject\n ? Object.fromEntries(\n typeAST.properties.map((property) => {\n const schema = astToSchema(property.type);\n\n if (property.meta?.title && schema) {\n schema.title = property.meta.title;\n }\n if (property.meta?.description && schema) {\n schema.description = property.meta.description;\n }\n if (property.meta?.default && schema) {\n schema.default = property.meta.default;\n }\n\n return [property.key, schema!];\n })\n )\n : {},\n };\n }\n\n if (ASTMatch.isArray(typeAST)) {\n return {\n type: 'array',\n items: drilldownArray ? astToSchema(typeAST.items) : undefined,\n };\n }\n\n if (ASTMatch.isMap(typeAST)) {\n return {\n type: 'map',\n items: drilldownMap ? astToSchema(typeAST.valueType) : undefined,\n };\n }\n\n if (ASTMatch.isCustomType(typeAST)) {\n return {\n type: typeAST.typeName,\n };\n }\n\n return undefined;\n }\n\n /**\n * Check if the AST type is match the JSON Schema\n * @param typeAST\n * @param schema\n * @returns\n */\n export function isASTMatchSchema(\n typeAST: BaseType,\n schema: IJsonSchema | IJsonSchema[]\n ): boolean {\n if (Array.isArray(schema)) {\n return typeAST.isTypeEqual(\n ASTFactory.createUnion({\n types: schema.map((_schema) => schemaToAST(_schema)!).filter(Boolean),\n })\n );\n }\n\n return typeAST.isTypeEqual(schemaToAST(schema));\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\nexport {\n JsonSchemaBasicType,\n IJsonSchema,\n IBasicJsonSchema,\n JsonSchemaTypeRegistry,\n JsonSchemaTypeRegistryCreator,\n} from './types';\nexport { JsonSchemaUtils } from './utils';\nexport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\n// Global JsonSchemaTypeManager\nexport const jsonSchemaTypeManager = new JsonSchemaTypeManager();\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React, { createContext, useContext, useMemo } from 'react';\n\nimport { usePlaygroundContainer } from '@flowgram.ai/core';\n\nimport {\n IJsonSchema,\n jsonSchemaTypeManager,\n JsonSchemaTypeManager,\n JsonSchemaTypeRegistry,\n} from './json-schema';\nimport { BaseTypeManager, TypeRegistryCreator } from './base';\n\n// use global default\nconst TypePresetContext = createContext<JsonSchemaTypeManager | null>(null);\n\nexport const useTypeManager = () => {\n const typeManagerFromContext = useContext(TypePresetContext);\n const container = usePlaygroundContainer();\n\n if (typeManagerFromContext) {\n return typeManagerFromContext;\n }\n\n if (container?.isBound?.(BaseTypeManager)) {\n return container.get(BaseTypeManager);\n }\n\n // Global Singleton\n return jsonSchemaTypeManager;\n};\n\nexport const TypePresetProvider = <\n Registry extends JsonSchemaTypeRegistry = JsonSchemaTypeRegistry\n>({\n children,\n types,\n}: React.PropsWithChildren<{\n types: (\n | Partial<Registry>\n | TypeRegistryCreator<IJsonSchema, Registry, JsonSchemaTypeManager<IJsonSchema, Registry>>\n )[];\n}>) => {\n const schemaManager = useMemo(() => {\n const typeManager = new JsonSchemaTypeManager<IJsonSchema, Registry>();\n\n types.forEach((_type) => typeManager.register(_type));\n\n return typeManager;\n }, [...types]);\n\n return (\n <TypePresetContext.Provider value={schemaManager as unknown as JsonSchemaTypeManager}>\n {children}\n </TypePresetContext.Provider>\n );\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ContainerModule } from 'inversify';\n\nimport { JsonSchemaTypeManager } from './json-schema';\nimport { BaseTypeManager } from './base';\n\nexport const TypeManager = Symbol('TypeManager');\n\nexport const jsonSchemaContainerModule = new ContainerModule((bind) => {\n bind(BaseTypeManager).to(JsonSchemaTypeManager).inSingletonScope();\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKA,uBAA2B;AAC3B,mBAAwB;AAKjB,IAAe,kBAAf,MAIL;AAAA,EAJK;AAKL,SAAU,kBAAyC,oBAAI,IAAI;AAE3D,SAAU,8BAA8B,IAAI,qBAAoB;AAEhE,SAAO,uBAAuB,KAAK,4BAA4B;AAAA;AAAA,EAS/D,cAAc,UAAwC;AACpD,WAAO,KAAK,gBAAgB,IAAI,QAAQ;AAAA,EAC1C;AAAA,EAEA,gBAAgB,MAAoC;AAClD,UAAM,MAAM,KAAK,sBAAsB,IAAI;AAC3C,WAAO,KAAK,gBAAgB,IAAI,GAAG;AAAA,EACrC;AAAA,EAEA,yBAA+C;AAC7C,WAAO,KAAK,gBAAgB,IAAI,SAAS;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAKA,SACE,gBACM;AACN,UAAM,WACJ,OAAO,mBAAmB,aACtB,eAAe,EAAE,aAAa,KAA2B,CAAC,IAC1D;AAEN,UAAM,OAAO,SAAS;AACtB,QAAI,CAAC,MAAM;AACT;AAAA,IACF;AAEA,QAAI,qBAAqB,KAAK,cAAc,IAAI;AAEhD,QAAI,qBAAqB,SAAS,SAC9B,KAAK,cAAc,SAAS,MAAM,IAClC,KAAK,uBAAuB;AAEhC,QAAI,oBAAoB;AAEtB,WAAK,gBAAgB,IAAI,MAAM;AAAA,QAC7B,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,MACL,CAAC;AAAA,IACH,OAAO;AACL,WAAK,gBAAgB,IAAI,MAAM;AAAA,QAC7B,GAAG;AAAA,QACH,GAAG;AAAA,MACL,CAAa;AAAA,IACf;AAAA,EACF;AAAA,EAEA,iBAAiB;AACf,SAAK,4BAA4B,KAAK,MAAM,KAAK,KAAK,gBAAgB,OAAO,CAAC,CAAC;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA,EAKO,uBAAmC;AACxC,WAAO,MAAM,KAAK,KAAK,gBAAgB,OAAO,CAAC;AAAA,EACjD;AAAA,EAEA,WAAW,MAAoB;AAC7B,SAAK,gBAAgB,OAAO,IAAI;AAAA,EAClC;AACF;AAlFsB,kBAAf;AAAA,MADN,6BAAW;AAAA,GACU;;;ACPtB,IAAAA,iBAAkB;AAElB,IAAAC,oBAA2B;;;ACD3B,mBAAkB;AAIX,IAAM,gCAA+D,CAAC,EAAE,YAAY,OAAO;AAAA,EAChG,MAAM;AAAA,EAEN,OAAO;AAAA,EAEP,MAAM,6BAAAC,QAAA,2BAAAA,QAAA,cAAE;AAAA,EAER,WAAW;AAAA,EAEX,cAAc,MAAM,CAAC;AAAA,EAErB,gBAAgB,CAAC,WAAwB,YAAY,gBAAgB,MAAM,GAAG,QAAQ,6BAAAA,QAAA,2BAAAA,QAAA,cAAE;AAAA,EAExF,qBAAqB,MAAM;AAAA,EAE3B,aAAa,MAAM;AAAA,EAEnB,iBAAiB,MAAM;AAAA,EAEvB,cAAc,MAAM;AAAA,EAEpB,4BAA4B,CAAC,SAA0C,KAAK;AAAA,EAE5E,yBAAyB,MAAM;AAAA,EAE/B,iBAAiB,CAAC,WAChB,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,MACP;AAAA;AAAA,IAEC,YAAY,gBAAgB,MAAM,GAAG;AAAA,IACtC,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,cAAc;AAAA,QAChB;AAAA;AAAA,MAEC,YAAY,eAAe,MAAM;AAAA,IACpC;AAAA,EACF;AAAA,EAGF,gBAAgB,CAAC,SAAsB,YAAY,eAAe,IAAI;AACxE;;;ACtDA,IAAAC,gBAAkB;AAIX,IAAM,0BAAyD,OAAO;AAAA,EAC3E,MAAM;AAAA,EAEN,OAAO;AAAA,EAEP,MACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,WAAU;AAAA,MACV,eAAY;AAAA;AAAA,IAEZ,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,IACD,8BAAAA,QAAA,cAAC,UAAK,GAAE,oDAAmD,MAAK,gBAAe;AAAA,IAC/E,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,IACD,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,IACD,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,IACD,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,EACH;AAAA,EAGF,kBAAkB,OAAO;AAAA,IACvB,MAAM;AAAA,EACR;AAAA,EAEA,cAAc,CAAC,UAAqB,QAAQ,GAAG,KAAK,KAAK;AAAA,EAEzD,iBAAiB,MAAM;AACzB;;;ACpDA,IAAAC,gBAAkB;AAIX,IAAM,wBAAuD,OAAO;AAAA,EACzE,MAAM;AAAA,EAEN,OAAO;AAAA,EAEP,MACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA;AAAA,IAEN,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAAA,EAGF,kBAAkB,OAAO;AAAA,IACvB,MAAM;AAAA,EACR;AAAA,EAEA,cAAc,CAAC,UAAqB,QAAQ,GAAG,KAAK,KAAK;AAAA,EAEzD,iBAAiB,MAAM;AACzB;;;AC3CA,IAAAC,gBAAkB;AAIX,IAAM,wBAAuD,OAAO;AAAA,EACzE,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MACE,8BAAAC,QAAA,cAAC,SAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,gCAChE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,GACA,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,CACF;AAAA,EAGF,yBAAyB,CAAC,SACxB,KAAK,cAAc,CAAC;AAAA,EAEtB,qBAAqB,CAAC,SAAS;AAAA,EAE/B,aAAa,MAAM;AAAA,EAEnB,kBAAkB,OAAoB;AAAA,IACpC,MAAM;AAAA,IACN,UAAU,CAAC;AAAA,IACX,YAAY,CAAC;AAAA,EACf;AAAA,EAEA,gCAAgC,CAAC,SAAsB;AAAA,EAEvD,cAAc,MAAM;AAAA,EAEpB,cAAc,MAAM,CAAC,YAAY;AAAA,EAEjC,iBAAiB,OAAO,CAAC;AAC3B;;;ACzCA,IAAAC,gBAAkB;AAIX,IAAM,wBAAuD,OAAO;AAAA,EACzE,MAAM;AAAA,EAEN,OAAO;AAAA,EAEP,QAAQ;AAAA,EAER,MACE,8BAAAC,QAAA,cAAC,SAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,gCAChE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,GACA,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,GACA,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,CACF;AAAA,EAEF,cAAc,CAAC,UAAqB,QAAQ,GAAG,KAAK,KAAK;AAAA,EAEzD,kBAAkB,OAAoB,EAAE,MAAM,SAAS;AACzD;;;AC9BA,IAAAC,gBAAkB;AAIX,IAAM,yBAAwD,OAAO;AAAA,EAC1E,MAAM;AAAA,EAEN,OAAO;AAAA,EAEP,MACE,8BAAAC,QAAA,cAAC,SAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,gCAChE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,GACA,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,CACF;AAAA,EAGF,kBAAkB,OAAO,EAAE,MAAM,UAAU;AAAA,EAE3C,cAAc,CAAC,UAAqB,UAAU,SAAY,KAAK,QAAQ,SAAS;AAAA,EAEhF,iBAAiB,MAAM;AACzB;;;AC/BA,IAAAC,gBAAkB;AAIX,IAAM,uBAAsD,CAAC,EAAE,YAAY,MAAM;AACtF,QAAM,OACJ,8BAAAC,QAAA,cAAC,SAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,gCAChE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,GACA,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,CACF;AAGF,QAAM,iBAAiB,CAAC,SAAmC;AACzD,UAAM,OAAO,KAAK;AAClB,UAAM,SAAS,YAAY,gBAAgB,IAAK;AAEhD,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK;AACH,eACE,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA;AAAA,UAEN,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,QACF;AAAA,MAEJ,KAAK,UAAU;AACb,eACE,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA;AAAA,UAEN,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,QACF;AAAA,MAEJ;AAAA,MACA,KAAK,QAAQ;AACX,eACE,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA;AAAA,UAEN,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,UACA,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,MAAK;AAAA,cACL,QAAO;AAAA,cACP,aAAY;AAAA;AAAA,UACd;AAAA,QACF;AAAA,MAEJ;AAAA,MAEA,KAAK,WAAW;AACd,eACE,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA;AAAA,UAEN,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,QACF;AAAA,MAEJ;AAAA,MAEA,KAAK,UAAU;AACb,eACE,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA;AAAA,UAEN,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,QACF;AAAA,MAEJ;AAAA,MAEA,KAAK;AACH,eACE,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA;AAAA,UAEN,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,QACF;AAAA,MAGJ,KAAK;AAAA,MACL,KAAK,OAAO;AACV,eACE,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA;AAAA,UAEN,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,UACA,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,UACA,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA,QACF;AAAA,MAEJ;AAAA,MAEA,KAAK,SAAS;AACZ,eAAO,eAAe,IAAK;AAAA,MAC7B;AAAA,MACA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,OAAO;AAAA,IAEP;AAAA,IAEA,WAAW;AAAA,IAEX,cAAc,CAAC,SAAsB;AACnC,YAAM,iBAAiB,KAAK,SAAS,YAAY,gBAAgB,KAAK,KAAK;AAC3E,YAAM,eAAe,gBAAgB,eACjC,eAAe,aAAa,KAAK,KAAM,IACvC,CAAC;AAEL,aAAO,CAAC,SAAS,GAAG,YAAY;AAAA,IAClC;AAAA,IAEA,iBAAiB,MAAM,CAAC;AAAA,IAExB,uBAAuB,MACrB,YAAY,gCAAgC,OAAO;AAAA,IAErD,yBAAyB,CAAC,SAAmD;AAC3E,YAAM,iBAAiB,KAAK,SAAS,YAAY,gBAAgB,KAAK,KAAK;AAC3E,aAAQ,kBAAkB,eAAe,0BAA0B,KAAK,KAAM,KAAM,CAAC;AAAA,IACvF;AAAA,IAEA,aAAa,CAAC,SAAsB;AAClC,UAAI,CAAC,KAAK,OAAO;AACf,eAAO;AAAA,MACT;AAEA,YAAM,cAAc,YAAY,gBAAgB,KAAK,KAAK;AAE1D,aAAO,aAAa,cAAc,KAAK,KAAK,KAAK;AAAA,IACnD;AAAA,IAEA,aAAa,CAAC,SAAS,KAAK;AAAA,IAE5B,4BAA4B,CAAC,SAA8B;AACzD,UAAI,CAAC,KAAK,OAAO;AACf,eAAO,KAAK,QAAQ;AAAA,MACtB;AAEA,YAAM,cAAc,YAAY,gBAAgB,KAAK,KAAK;AAE1D,aAAO,CAAC,KAAK,MAAM,aAAa,6BAA6B,KAAK,KAAK,CAAC,EAAE,KAAK,GAAG;AAAA,IACpF;AAAA,IAEA,4BAA4B,CAAC,gBAAqC;AAChE,UAAI,CAAC,aAAa;AAChB,eAAO,EAAE,MAAM,QAAQ;AAAA,MACzB;AAEA,YAAM,CAAC,MAAM,GAAG,IAAI,IAAI,YAAY,MAAM,GAAG;AAE7C,YAAM,WAAW,YAAY,cAAc,IAAI;AAE/C,UAAI,CAAC,UAAU;AACb,eAAO,EAAE,MAAM,QAAQ;AAAA,MACzB;AAEA,UAAI;AACJ,UAAI,SAAS,4BAA4B;AACvC,mBAAW,SAAS,2BAA2B,KAAK,KAAK,GAAG,CAAC;AAAA,MAC/D,OAAO;AACL,mBAAW,UAAU,iBAAiB;AAAA,MACxC;AAEA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IAEA,kBAAkB,OAAoB;AAAA,MACpC,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,SAAS;AAAA,IAC1B;AAAA,IAEA,qBAAqB,CAAC,SAAsB;AAC1C,YAAM,UAAU,KAAK,SAAS,YAAY,gBAAgB,KAAK,KAAK;AAEpE,aAAO,WAAW,QAAQ,sBACtB,QAAQ,oBAAoB,KAAK,KAAM,IACvC;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;AC5QA,IAAAC,gBAAkB;AAIX,IAAM,yBAAwD,OAAO;AAAA,EAC1E,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MACE,8BAAAC,QAAA,cAAC,SAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,gCAChE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,GACA,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,GACA,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA;AAAA,EACP,CACF;AAAA,EAGF,kBAAkB,OAAoB,EAAE,MAAM,UAAU;AAAA,EAExD,cAAc,CAAC,UAAoB,UAAU,SAAY,GAAG,KAAK,KAAK;AAAA,EAEtE,iBAAiB,MAAM;AACzB;;;AC9BA,IAAAC,gBAAkB;AAIX,IAAM,yBAAwD,OAAO;AAAA,EAC1E,MAAM;AAAA,EACN,OAAO;AAAA,EACP,YAAY,CAAC;AAAA,EAEb,MACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,WAAU;AAAA,MACV,eAAY;AAAA;AAAA,IAEZ,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,IACD,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,IACD,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,EACH;AAAA,EAGF,kBAAkB,OAAoB,EAAE,MAAM,UAAU;AAAA,EAExD,iBAAiB,MAAM;AACzB;;;AC3CA,IAAAC,iBAAkB;AAIX,IAAM,qBAAoD,CAAC,EAAE,YAAY,MAAM;AACpF,QAAM,OACJ,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA;AAAA,IAEP,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,IACD,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACN;AAAA,EACH;AAGF,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,OAAO;AAAA,IAEP;AAAA,IAEA,WAAW;AAAA,IAEX,cAAc,CAAC,SAAsB;AACnC,YAAM,iBACJ,KAAK,wBAAwB,YAAY,gBAAgB,KAAK,oBAAoB;AACpF,YAAM,eAAe,gBAAgB,eACjC,eAAe,aAAa,KAAK,oBAAqB,IACtD,CAAC;AAEL,aAAO,CAAC,wBAAwB,GAAG,YAAY;AAAA,IACjD;AAAA,IAEA,iBAAiB,MAAM,CAAC;AAAA,IAExB,uBAAuB,MACrB,YAAY,gCAAgC,KAAK;AAAA,IAEnD,yBAAyB,CAAC,SAAmD;AAC3E,YAAM,iBACJ,KAAK,wBAAwB,YAAY,gBAAgB,KAAK,oBAAoB;AACpF,aACG,kBAAkB,eAAe,0BAA0B,KAAK,oBAAqB,KACtF,CAAC;AAAA,IAEL;AAAA,IAEA,aAAa,CAAC,SAAsB;AAClC,UAAI,CAAC,KAAK,sBAAsB;AAC9B,eAAO;AAAA,MACT;AAEA,YAAM,cAAc,YAAY,gBAAgB,KAAK,oBAAoB;AAEzE,aAAO,aAAa,cAAc,KAAK,oBAAoB,KAAK;AAAA,IAClE;AAAA,IAEA,aAAa,CAAC,SAAS,KAAK;AAAA,IAE5B,4BAA4B,CAAC,SAA8B;AACzD,UAAI,CAAC,KAAK,sBAAsB;AAC9B,eAAO,KAAK,QAAQ;AAAA,MACtB;AAEA,YAAM,cAAc,YAAY,gBAAgB,KAAK,oBAAoB;AAEzE,aAAO,CAAC,KAAK,MAAM,aAAa,6BAA6B,KAAK,oBAAoB,CAAC,EAAE;AAAA,QACvF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,4BAA4B,CAAC,gBAAqC;AAChE,UAAI,CAAC,aAAa;AAChB,eAAO,EAAE,MAAM,MAAM;AAAA,MACvB;AAEA,YAAM,CAAC,MAAM,GAAG,IAAI,IAAI,YAAY,MAAM,GAAG;AAE7C,YAAM,UAAU,YAAY,cAAc,IAAI;AAE9C,UAAI,CAAC,SAAS;AACZ,eAAO,EAAE,MAAM,MAAM;AAAA,MACvB;AAEA,UAAI;AACJ,UAAI,QAAQ,4BAA4B;AACtC,mBAAW,QAAQ,2BAA2B,KAAK,KAAK,GAAG,CAAC;AAAA,MAC9D,OAAO;AACL,mBAAW,SAAS,iBAAiB;AAAA,MACvC;AAEA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,sBAAsB;AAAA,MACxB;AAAA,IACF;AAAA,IAEA,kBAAkB,OAAoB;AAAA,MACpC,MAAM;AAAA,MACN,sBAAsB,EAAE,MAAM,SAAS;AAAA,IACzC;AAAA,IAEA,qBAAqB,CAAC,SAAsB;AAC1C,YAAM,UACJ,KAAK,wBAAwB,YAAY,gBAAgB,KAAK,oBAAoB;AAEpF,aAAO,WAAW,QAAQ,sBACtB,QAAQ,oBAAoB,KAAK,oBAAqB,IACtD;AAAA,IACN;AAAA,EACF;AACF;;;AVtGO,IAAM,wBAAN,cAGG,gBAA2E;AAAA,EAoBnF,cAAc;AACZ,UAAM;AA6BR;AAAA;AAAA;AAAA,SAAO,kCAAkC,CAAC,aAAa,OACrD,KAAK,qBAAqB,EACvB,OAAO,CAAC,MAAM,EAAE,SAAS,SAAS,EAClC,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,WAAW,SAAS,UAAU,CAAC;AAMrE;AAAA;AAAA;AAAA;AAAA,uCAA8B,CAAC,SAAiB;AAC9C,UAAI,WAAW,KAAK,gBAAgB,IAAI;AAExC,UAAI,YAAY;AAEhB,aAAO,UAAU,eAAe,SAAS,YAAY,SAAS,GAAG;AAC/D,oBAAY,SAAS,YAAY,SAAS;AAC1C,mBAAW,KAAK,gBAAgB,SAAS;AAAA,MAC3C;AAEA,aAAO;AAAA,IACT;AAMA;AAAA;AAAA;AAAA;AAAA,SAAO,iBAAiB,CAAC,SAAyB;AAChD,YAAM,WAAW,KAAK,gBAAgB,IAAI;AAE1C,UAAI,UAAU,mBAAmB;AAC/B,eAAO,SAAS,kBAAkB,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,aAAa,KAAK,OAAO;AACrC,eAAO,GAAG,SAAS,KAAK,IAAI,KAAK,eAAe,KAAK,KAAe,CAAC;AAAA,MACvE,WAAW,UAAU,aAAa,KAAK,sBAAsB;AAC3D,eAAO,GAAG,SAAS,KAAK,YAAY,KAAK;AAAA,UACvC,KAAK;AAAA,QACP,CAAC;AAAA,MACH,OAAO;AACL,eAAO,UAAU,SAAS,KAAK,QAAQ;AAAA,MACzC;AAAA,IACF;AAEA,SAAO,iBAAiB,CAAC,SAAiB;AACxC,YAAM,WAAW,KAAK,gBAAgB,IAAI;AAC1C,aAAO,UAAU,eAAe,IAAI,KAAK,UAAU,QAAQ,+BAAAC,QAAA,6BAAAA,QAAA,cAAE;AAAA,IAC/D;AAEA,SAAO,0BAA0B,CAAC,SAAiB;AACjD,YAAM,WAAW,KAAK,gBAAgB,IAAI;AAC1C,aAAO,UAAU,wBAAwB,IAAI;AAAA,IAC/C;AAEA,SAAO,sBAAsB,CAAC,SAAiB;AAC7C,YAAM,WAAW,KAAK,gBAAgB,IAAI;AAC1C,aAAO,UAAU,oBAAoB,IAAI;AAAA,IAC3C;AAEA,SAAO,eAAe,CAAC,SAAiB;AACtC,YAAM,WAAW,KAAK,gBAAgB,IAAI;AAC1C,aAAO,UAAU,aAAa,IAAI;AAAA,IACpC;AAEA,SAAO,cAAc,CAAC,SAAiB;AACrC,YAAM,WAAW,KAAK,gBAAgB,IAAI;AAC1C,aAAO,UAAU,YAAY,IAAI;AAAA,IACnC;AAEA,SAAO,kBAAkB,CAAC,SAAiB;AACzC,YAAM,WAAW,KAAK,gBAAgB,IAAI;AAC1C,aAAO,UAAU,gBAAgB;AAAA,IACnC;AAnGE,UAAM,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,eAAW,QAAQ,CAAC,aAAa;AAC/B,WAAK;AAAA,QACH;AAAA,MAKF;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAvCU,sBAAsB,YAA4B;AAC1D,QAAI,CAAC,YAAY;AACf,aAAO;AAAA,IACT;AACA,QAAI,WAAW,MAAM;AACnB,aAAO;AAAA,IACT;AACA,QAAI,WAAW,UAAU,WAAW,SAAS,UAAU;AACrD,aAAO,WAAW;AAAA,IACpB;AAEA,WAAO,WAAW,QAAQ,WAAW,QAAQ;AAAA,EAC/C;AAyGF;AA9Ha,wBAAN;AAAA,MADN,8BAAW;AAAA,GACC;;;AWnBb,uBAAoB;AACpB,2BAOO;AAIA,IAAU;AAAA,CAAV,CAAUC,qBAAV;AAWE,WAAS,YAAY,YAAkD;AAC5E,UAAM,EAAE,MAAM,OAAO,SAAS,IAAI,cAAc,CAAC;AACjD,UAAM,EAAE,OAAO,MAAM,IAAI,SAAS,CAAC;AAEnC,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,YAAQ,MAAM;AAAA,MACZ,KAAK;AACH,YAAI,MAAM;AACR,iBAAO,EAAE,MAAM,6BAAQ,QAAQ,MAAM,KAAK;AAAA,QAC5C;AACA,eAAO,gCAAW,aAAa;AAAA,UAC7B,YAAY,OAAO,QAAQ,WAAW,cAAc,CAAC,CAAC,EAKnD,KAAK,CAAC,GAAG,WAAO,sBAAI,IAAI,CAAC,GAAG,aAAa,KAAK,UAAM,sBAAI,IAAI,CAAC,GAAG,aAAa,KAAK,EAAE,EACpF,IAAI,CAAC,CAAC,KAAK,SAAS,OAAO;AAAA,YAC1B;AAAA,YACA,MAAM,YAAY,SAAS;AAAA,YAC3B,MAAM;AAAA,cACJ,OAAO,UAAU;AAAA,cACjB,aAAa,UAAU;AAAA,cACvB,UAAU,CAAC,CAAC,UAAU,SAAS,GAAG;AAAA,cAClC,SAAS,UAAU;AAAA,YACrB;AAAA,UACF,EAAE;AAAA,QACN,CAAC;AAAA,MACH,KAAK;AACH,YAAI,MAAM;AACR,iBAAO,EAAE,MAAM,6BAAQ,OAAO,MAAM,KAAK;AAAA,QAC3C;AACA,eAAO,gCAAW,YAAY;AAAA,UAC5B,OAAO,YAAY,WAAW,KAAM;AAAA,QACtC,CAAC;AAAA,MACH,KAAK;AACH,YAAI,MAAM;AACR,iBAAO,EAAE,MAAM,6BAAQ,KAAK,MAAM,KAAK;AAAA,QACzC;AACA,eAAO,gCAAW,UAAU;AAAA,UAC1B,WAAW,YAAY,WAAW,oBAAqB;AAAA,QACzD,CAAC;AAAA,MACH,KAAK;AACH,eAAO,gCAAW,aAAa,EAAE,QAAQ,WAAW,OAAO,CAAC;AAAA,MAC9D,KAAK;AACH,eAAO,gCAAW,aAAa;AAAA,MACjC,KAAK;AACH,eAAO,gCAAW,cAAc;AAAA,MAClC,KAAK;AACH,eAAO,gCAAW,cAAc;AAAA,MAElC;AAEE,eAAO,gCAAW,iBAAiB,EAAE,UAAU,KAAK,CAAC;AAAA,IACzD;AAAA,EACF;AA1DO,EAAAA,iBAAS;AAiET,WAAS,YACd,SACA,SAMyB;AACzB,UAAM;AAAA,MACJ,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,IACnB,IAAI,WAAW,CAAC;AAEhB,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,IACT;AAEA,QAAI,8BAAS,SAAS,OAAO,GAAG;AAC9B,aAAO;AAAA,QACL,MAAM;AAAA,QACN,QAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,QAAI,8BAAS,UAAU,OAAO,GAAG;AAC/B,aAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAEA,QAAI,8BAAS,SAAS,OAAO,GAAG;AAC9B,aAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAEA,QAAI,8BAAS,UAAU,OAAO,GAAG;AAC/B,aAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAEA,QAAI,8BAAS,SAAS,OAAO,GAAG;AAC9B,aAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU,QAAQ,WACf,OAAO,CAAC,aAAa,SAAS,MAAM,QAAQ,EAC5C,IAAI,CAAC,aAAa,SAAS,GAAG;AAAA,QACjC,YAAY,kBACR,OAAO;AAAA,UACL,QAAQ,WAAW,IAAI,CAAC,aAAa;AACnC,kBAAM,SAAS,YAAY,SAAS,IAAI;AAExC,gBAAI,SAAS,MAAM,SAAS,QAAQ;AAClC,qBAAO,QAAQ,SAAS,KAAK;AAAA,YAC/B;AACA,gBAAI,SAAS,MAAM,eAAe,QAAQ;AACxC,qBAAO,cAAc,SAAS,KAAK;AAAA,YACrC;AACA,gBAAI,SAAS,MAAM,WAAW,QAAQ;AACpC,qBAAO,UAAU,SAAS,KAAK;AAAA,YACjC;AAEA,mBAAO,CAAC,SAAS,KAAK,MAAO;AAAA,UAC/B,CAAC;AAAA,QACH,IACA,CAAC;AAAA,MACP;AAAA,IACF;AAEA,QAAI,8BAAS,QAAQ,OAAO,GAAG;AAC7B,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,iBAAiB,YAAY,QAAQ,KAAK,IAAI;AAAA,MACvD;AAAA,IACF;AAEA,QAAI,8BAAS,MAAM,OAAO,GAAG;AAC3B,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,eAAe,YAAY,QAAQ,SAAS,IAAI;AAAA,MACzD;AAAA,IACF;AAEA,QAAI,8BAAS,aAAa,OAAO,GAAG;AAClC,aAAO;AAAA,QACL,MAAM,QAAQ;AAAA,MAChB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AA9FO,EAAAA,iBAAS;AAsGT,WAAS,iBACd,SACA,QACS;AACT,QAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,aAAO,QAAQ;AAAA,QACb,gCAAW,YAAY;AAAA,UACrB,OAAO,OAAO,IAAI,CAAC,YAAY,YAAY,OAAO,CAAE,EAAE,OAAO,OAAO;AAAA,QACtE,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO,QAAQ,YAAY,YAAY,MAAM,CAAC;AAAA,EAChD;AAbO,EAAAA,iBAAS;AAAA,GAlLD;;;ACCV,IAAM,wBAAwB,IAAI,sBAAsB;;;ACb/D,IAAAC,iBAA0D;AAE1D,kBAAuC;AAWvC,IAAM,wBAAoB,8BAA4C,IAAI;AAEnE,IAAM,iBAAiB,MAAM;AAClC,QAAM,6BAAyB,2BAAW,iBAAiB;AAC3D,QAAM,gBAAY,oCAAuB;AAEzC,MAAI,wBAAwB;AAC1B,WAAO;AAAA,EACT;AAEA,MAAI,WAAW,UAAU,eAAe,GAAG;AACzC,WAAO,UAAU,IAAI,eAAe;AAAA,EACtC;AAGA,SAAO;AACT;AAEO,IAAM,qBAAqB,CAEhC;AAAA,EACA;AAAA,EACA;AACF,MAKO;AACL,QAAM,oBAAgB,wBAAQ,MAAM;AAClC,UAAM,cAAc,IAAI,sBAA6C;AAErE,UAAM,QAAQ,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAEpD,WAAO;AAAA,EACT,GAAG,CAAC,GAAG,KAAK,CAAC;AAEb,SACE,+BAAAC,QAAA,cAAC,kBAAkB,UAAlB,EAA2B,OAAO,iBAChC,QACH;AAEJ;;;ACvDA,IAAAC,oBAAgC;AAKzB,IAAM,cAAc,OAAO,aAAa;AAExC,IAAM,4BAA4B,IAAI,kCAAgB,CAAC,SAAS;AACrE,OAAK,eAAe,EAAE,GAAG,qBAAqB,EAAE,iBAAiB;AACnE,CAAC;","names":["import_react","import_inversify","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","React","JsonSchemaUtils","import_react","React","import_inversify"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/base/base-type-manager.ts","../src/json-schema/json-schema-type-manager.tsx","../src/json-schema/type-definition/default.tsx","../src/json-schema/type-definition/date-time.tsx","../src/json-schema/type-definition/string.tsx","../src/json-schema/type-definition/object.tsx","../src/json-schema/type-definition/number.tsx","../src/json-schema/type-definition/boolean.tsx","../src/json-schema/type-definition/array.tsx","../src/json-schema/type-definition/integer.tsx","../src/json-schema/type-definition/unknown.tsx","../src/json-schema/type-definition/map.tsx","../src/json-schema/utils.ts","../src/json-schema/index.ts","../src/context.tsx","../src/container-module.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './base';\nexport * from './json-schema';\n\nexport { useTypeManager, TypePresetProvider } from './context';\nexport { jsonSchemaContainerModule } from './container-module';\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { injectable } from 'inversify';\nimport { Emitter } from '@flowgram.ai/utils';\n\nimport { BaseTypeRegistry, TypeRegistryCreator } from './types';\n\n@injectable()\nexport abstract class BaseTypeManager<\n Schema,\n Registry extends BaseTypeRegistry,\n Manager extends BaseTypeManager<Schema, Registry, Manager>\n> {\n protected typeRegistryMap: Map<string, Registry> = new Map();\n\n protected onTypeRegistryChangeEmitter = new Emitter<Registry[]>();\n\n public onTypeRegistryChange = this.onTypeRegistryChangeEmitter.event;\n\n /**\n * 获取 typeSchema 对应的 type\n * 不能直接访问 type 的原因的是\n * Schema 中 type 可能为空,需要获取 $ref 中的 type\n */\n protected abstract getTypeNameFromSchema(typeSchema: Schema): string;\n\n getTypeByName(typeName: string): Registry | undefined {\n return this.typeRegistryMap.get(typeName);\n }\n\n getTypeBySchema(type: Schema): Registry | undefined {\n const key = this.getTypeNameFromSchema(type);\n return this.typeRegistryMap.get(key);\n }\n\n getDefaultTypeRegistry(): Registry | undefined {\n return this.typeRegistryMap.get('default');\n }\n\n /**\n * 注册 TypeRegistry\n */\n register(\n originRegistry: Partial<Registry> | TypeRegistryCreator<Schema, Registry, Manager>\n ): void {\n const registry =\n typeof originRegistry === 'function'\n ? originRegistry({ typeManager: this as unknown as Manager })\n : originRegistry;\n\n const type = registry.type;\n if (!type) {\n return;\n }\n\n let originTypeRegistry = this.getTypeByName(type);\n\n let extendTypeRegistry = registry.extend\n ? this.getTypeByName(registry.extend)\n : this.getDefaultTypeRegistry();\n\n if (originTypeRegistry) {\n // 如果是重复注册的类型,进行 merge\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...originTypeRegistry,\n ...registry,\n });\n } else {\n this.typeRegistryMap.set(type, {\n ...extendTypeRegistry,\n ...registry,\n } as Registry);\n }\n }\n\n triggerChanges() {\n this.onTypeRegistryChangeEmitter.fire(Array.from(this.typeRegistryMap.values()));\n }\n\n /**\n * 获取全量的 TypeRegistries\n */\n public getAllTypeRegistries(): Registry[] {\n return Array.from(this.typeRegistryMap.values());\n }\n\n unregister(type: string): void {\n this.typeRegistryMap.delete(type);\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport React from 'react';\n\nimport { injectable } from 'inversify';\n\nimport { IJsonSchema, JsonSchemaTypeRegistry, JsonSchemaTypeRegistryCreator } from './types';\nimport { defaultTypeDefinitionRegistry } from './type-definition/default';\nimport { dateTimeRegistryCreator } from './type-definition/date-time';\nimport { BaseTypeManager } from '../base';\nimport {\n arrayRegistryCreator,\n booleanRegistryCreator,\n integerRegistryCreator,\n mapRegistryCreator,\n numberRegistryCreator,\n objectRegistryCreator,\n stringRegistryCreator,\n unknownRegistryCreator,\n} from './type-definition';\n\n@injectable()\nexport class JsonSchemaTypeManager<\n Schema extends Partial<IJsonSchema> = IJsonSchema,\n Registry extends JsonSchemaTypeRegistry<Schema> = JsonSchemaTypeRegistry<Schema>\n> extends BaseTypeManager<Schema, Registry, JsonSchemaTypeManager<Schema, Registry>> {\n /**\n * get type name\n * @param typeSchema\n * @returns\n */\n protected getTypeNameFromSchema(typeSchema: Schema): string {\n if (!typeSchema) {\n return 'unknown';\n }\n if (typeSchema.enum) {\n return 'enum';\n }\n if (typeSchema.format && typeSchema.type === 'string') {\n return typeSchema.format;\n }\n\n return typeSchema.type || typeSchema.$ref || 'unknown';\n }\n\n constructor() {\n super();\n\n const registries = [\n defaultTypeDefinitionRegistry,\n stringRegistryCreator,\n integerRegistryCreator,\n numberRegistryCreator,\n booleanRegistryCreator,\n objectRegistryCreator,\n arrayRegistryCreator,\n unknownRegistryCreator,\n mapRegistryCreator,\n dateTimeRegistryCreator,\n ];\n\n registries.forEach((registry) => {\n this.register(\n registry as unknown as JsonSchemaTypeRegistryCreator<\n Schema,\n Registry,\n JsonSchemaTypeManager<Schema, Registry>\n >\n );\n });\n }\n\n /**\n * Get TypeRegistries based on the current parentType\n */\n public getTypeRegistriesWithParentType = (parentType = ''): Registry[] =>\n this.getAllTypeRegistries()\n .filter((v) => v.type !== 'default')\n .filter((v) => !v.parentType || v.parentType.includes(parentType));\n\n /**\n * Get the deepest child field of a field\n * Array<Array<String>> -> String\n */\n getTypeSchemaDeepChildField = (type: Schema) => {\n let registry = this.getTypeBySchema(type);\n\n let childType = type;\n\n while (registry?.getItemType && registry.getItemType(childType)) {\n childType = registry.getItemType(childType)!;\n registry = this.getTypeBySchema(childType);\n }\n\n return childType;\n };\n\n /**\n * Get the plain text display string of the type schema, for example:\n * Array<Array<String>>, Map<String, Number>\n */\n public getComplexText = (type: Schema): string => {\n const registry = this.getTypeBySchema(type);\n\n if (registry?.customComplexText) {\n return registry.customComplexText(type);\n }\n\n if (registry?.container && type.items) {\n return `${registry.label}<${this.getComplexText(type.items as Schema)}>`;\n } else if (registry?.container && type.additionalProperties) {\n return `${registry.label}<String, ${this.getComplexText(\n type.additionalProperties as Schema\n )}>`;\n } else {\n return registry?.label || type.type || 'unknown';\n }\n };\n\n public getDisplayIcon = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDisplayIcon?.(type) || registry?.icon || <></>;\n };\n\n public getTypeSchemaProperties = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getTypeSchemaProperties(type);\n };\n\n public getPropertiesParent = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getPropertiesParent(type);\n };\n\n public getJsonPaths = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getJsonPaths(type);\n };\n\n public canAddField = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.canAddField(type);\n };\n\n public getDefaultValue = (type: Schema) => {\n const registry = this.getTypeBySchema(type);\n return registry?.getDefaultValue();\n };\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const defaultTypeDefinitionRegistry: JsonSchemaTypeRegistryCreator = ({ typeManager }) => ({\n type: 'default',\n\n label: '',\n\n icon: <></>,\n\n container: false,\n\n getJsonPaths: () => [],\n\n getDisplayIcon: (schema): JSX.Element => typeManager.getTypeBySchema(schema)?.icon || <></>,\n\n getPropertiesParent: () => undefined,\n\n canAddField: () => false,\n\n getDefaultValue: () => undefined,\n\n getValueText: () => '',\n\n getStringValueByTypeSchema: (type: IJsonSchema): string | undefined => type.type,\n\n getTypeSchemaProperties: () => undefined,\n\n getDisplayLabel: (schema) => (\n <div\n style={{\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n }}\n >\n {typeManager.getTypeBySchema(schema)?.label}\n <span\n style={{\n fontSize: 12,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {typeManager.getComplexText(schema)}\n </span>\n </div>\n ),\n\n getDisplayText: (type: IJsonSchema) => typeManager.getComplexText(type),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const dateTimeRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'date-time',\n\n label: 'DateTime',\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 5v14a3 3 0 0 0 3 3h7.1a7.02 7.02 0 0 1-1.43-2H6a2 2 0 0 1-2-2V8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2.67c.75.36 1.43.85 2 1.43V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 10h1c-.54 0-1.06.06-1.57.18A1 1 0 0 1 16 10Z\" fill=\"currentColor\"></path>\n <path\n d=\"M13.5 10.94a1 1 0 0 0-1-.94h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 .77.97 7.03 7.03 0 0 1 2.23-2.03Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 10a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H7Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M6 16a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22 17a5 5 0 1 1-10 0 5 5 0 0 1 10 0Zm-4-2a1 1 0 1 0-2 0v2c0 .27.1.52.3.7l1.5 1.5a1 1 0 0 0 1.4-1.4L18 16.58V15Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n // TODO date-time compat format\n // https://json-schema.org/understanding-json-schema/reference/type#built-in-formats\n getDefaultSchema: () => ({\n type: 'date-time',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const stringRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'string',\n\n label: 'String',\n\n icon: (\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.3342 3.33321C8.96601 3.33321 8.66753 3.63169 8.66753 3.99988C8.66753 4.36807 8.96601 4.66655 9.3342 4.66655H14.6675C15.0357 4.66655 15.3342 4.36807 15.3342 3.99988C15.3342 3.63169 15.0357 3.33321 14.6675 3.33321H9.3342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.0009 7.99988C10.0009 7.63169 10.2993 7.33321 10.6675 7.33321H14.6675C15.0357 7.33321 15.3342 7.63169 15.3342 7.99988C15.3342 8.36807 15.0357 8.66655 14.6675 8.66655H10.6675C10.2993 8.66655 10.0009 8.36807 10.0009 7.99988Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0009 11.3332C11.6327 11.3332 11.3342 11.6317 11.3342 11.9999C11.3342 12.3681 11.6327 12.6665 12.0009 12.6665H14.6675C15.0357 12.6665 15.3342 12.3681 15.3342 11.9999C15.3342 11.6317 15.0357 11.3332 14.6675 11.3332H12.0009Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.86659 14.1482L8.23444 10.1844H3.18136C3.13868 10.1844 3.09685 10.1808 3.05616 10.1738L1.66589 14.1129C1.53049 14.4965 1.10971 14.6978 0.726058 14.5624C0.342408 14.427 0.141166 14.0062 0.276572 13.6225L4.37566 2.00848C4.71323 1.05202 6.05321 1.01763 6.4394 1.95552L11.2289 13.5872C11.3838 13.9634 11.2044 14.394 10.8282 14.5489C10.452 14.7038 10.0215 14.5244 9.86659 14.1482ZM5.44412 3.40791L3.57241 8.71109H7.62778L5.44412 3.40791Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({\n type: 'string',\n }),\n\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultValue: () => '',\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const objectRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'object',\n label: 'Object',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.33893 1.5835C5.66613 1.5835 5.93137 1.88142 5.93137 2.20862C5.93137 2.53582 5.66613 2.76838 5.33893 2.76838H4.9099C4.34717 2.76838 4.08062 3.07557 4.08062 3.71921V6.58633C4.08062 7.30996 3.80723 7.84734 3.26798 8.19105C3.11426 8.28902 3.10884 8.55273 3.26068 8.65359C3.80476 9.01503 4.08062 9.53994 4.08062 10.2434V13.1251C4.08062 13.7395 4.34717 14.0613 4.9099 14.0613H5.33893C5.66613 14.0613 5.93137 14.3435 5.93137 14.6707C5.93137 14.9979 5.66613 15.2462 5.33893 15.2462H4.64335C3.99177 15.2462 3.48828 15.0268 3.13287 14.6172C2.80708 14.2369 2.64419 13.7103 2.64419 13.0666V10.3165C2.64419 9.8923 2.55534 9.58511 2.37764 9.39494C2.26816 9.27135 1.80618 9.17938 1.38154 9.11602C1.02726 9.06315 0.759057 8.76744 0.765747 8.4093C0.772379 8.0543 1.03439 7.7566 1.38545 7.70346C1.80778 7.63952 2.26906 7.54968 2.37764 7.43477C2.55534 7.22997 2.64419 6.92278 2.64419 6.51319V3.77772C2.64419 3.11945 2.80708 2.59284 3.13287 2.21251C3.48828 1.78829 3.99177 1.5835 4.64335 1.5835H5.33893Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.962 15.2463C10.6348 15.2463 10.3696 14.9483 10.3696 14.6211C10.3696 14.2939 10.6348 14.0614 10.962 14.0614H11.391C11.9538 14.0614 12.2203 13.7542 12.2203 13.1105V10.2434C12.2203 9.51979 12.4937 8.98241 13.033 8.6387C13.1867 8.54073 13.1921 8.27703 13.0403 8.17616C12.4962 7.81472 12.2203 7.28982 12.2203 6.58638V3.70463C12.2203 3.09024 11.9538 2.76842 11.391 2.76842L10.962 2.76842C10.6348 2.76842 10.3696 2.48627 10.3696 2.15907C10.3696 1.83188 10.6348 1.58354 10.962 1.58354L11.6576 1.58354C12.3092 1.58354 12.8127 1.80296 13.1681 2.21255C13.4939 2.59289 13.6568 3.1195 13.6568 3.76314V6.51324C13.6568 6.93745 13.7456 7.24464 13.9233 7.43481C14.03 7.5553 14.4328 7.64858 14.8186 7.71393C15.1718 7.77376 15.4401 8.06977 15.4334 8.42791C15.4268 8.78291 15.1646 9.08018 14.814 9.13633C14.4306 9.19774 14.0291 9.28303 13.9233 9.39499C13.7456 9.59978 13.6568 9.90697 13.6568 10.3166V13.052C13.6568 13.7103 13.4939 14.2369 13.1681 14.6172C12.8127 15.0415 12.3092 15.2463 11.6576 15.2463H10.962Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> =>\n type.properties || {},\n\n getPropertiesParent: (type) => type,\n\n canAddField: () => true,\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'object',\n required: [],\n properties: {},\n }),\n\n getIJsonSchemaPropertiesParent: (type: IJsonSchema) => type,\n\n getValueText: () => '',\n\n getJsonPaths: () => ['properties'],\n\n getDefaultValue: () => ({}),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const numberRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'number',\n\n label: 'Number',\n\n extend: 'integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.44151 5.3068C3.44151 3.83404 4.71542 2.64014 6.18818 2.64014C7.66094 2.64014 8.93484 3.83404 8.93484 5.3068V10.6135C8.93484 12.0862 7.66094 13.2801 6.18818 13.2801C4.71542 13.2801 3.44151 12.0862 3.44151 10.6135V5.3068ZM7.60151 5.3068C7.60151 4.57042 6.92456 3.97347 6.18818 3.97347C5.4518 3.97347 4.77484 4.57042 4.77484 5.3068V10.6135C4.77484 11.3498 5.4518 11.9468 6.18818 11.9468C6.92456 11.9468 7.60151 11.3498 7.60151 10.6135V5.3068Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.9882 2.64014C11.5154 2.64014 10.2415 3.83404 10.2415 5.3068V10.6135C10.2415 12.0862 11.5154 13.2801 12.9882 13.2801C14.4609 13.2801 15.7348 12.0862 15.7348 10.6135V5.3068C15.7348 3.83404 14.4609 2.64014 12.9882 2.64014ZM14.4015 10.6135C14.4015 11.3498 13.7246 11.9468 12.9882 11.9468C12.2518 11.9468 11.5748 11.3498 11.5748 10.6135V5.3068C11.5748 4.57042 12.2518 3.97347 12.9882 3.97347C13.7246 3.97347 14.4015 4.57042 14.4015 5.3068V10.6135Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.21484 13.2001C1.76713 13.2001 2.21484 12.7524 2.21484 12.2001C2.21484 11.6479 1.76713 11.2001 1.21484 11.2001C0.662559 11.2001 0.214844 11.6479 0.214844 12.2001C0.214844 12.7524 0.662559 13.2001 1.21484 13.2001Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n getValueText: (value?: unknown) => (value ? `${value}` : ''),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'number' }),\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const booleanRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'boolean',\n\n label: 'Boolean',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.668 4.66683H5.33463C3.49369 4.66683 2.0013 6.15921 2.0013 8.00016C2.0013 9.84111 3.49369 11.3335 5.33463 11.3335H10.668C12.5089 11.3335 14.0013 9.84111 14.0013 8.00016C14.0013 6.15921 12.5089 4.66683 10.668 4.66683ZM5.33463 3.3335C2.75731 3.3335 0.667969 5.42283 0.667969 8.00016C0.667969 10.5775 2.75731 12.6668 5.33463 12.6668H10.668C13.2453 12.6668 15.3346 10.5775 15.3346 8.00016C15.3346 5.42283 13.2453 3.3335 10.668 3.3335H5.33463Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.66797 8.00016C8.66797 6.89559 9.5634 6.00016 10.668 6.00016C11.7725 6.00016 12.668 6.89559 12.668 8.00016C12.668 9.10473 11.7725 10.0002 10.668 10.0002C9.5634 10.0002 8.66797 9.10473 8.66797 8.00016ZM10.668 7.3335C10.2998 7.3335 10.0013 7.63197 10.0013 8.00016C10.0013 8.36835 10.2998 8.66683 10.668 8.66683C11.0362 8.66683 11.3346 8.36835 11.3346 8.00016C11.3346 7.63197 11.0362 7.3335 10.668 7.3335Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: () => ({ type: 'boolean' }),\n\n getValueText: (value?: unknown) => (value === undefined ? '' : value ? 'True' : 'False'),\n\n getDefaultValue: () => false,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const arrayRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M5.23759 1.00342H2.00391V14.997H5.23759V13.6251H3.35127V2.37534H5.23759V1.00342Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.7624 1.00342H13.9961V14.997H10.7624V13.6251H12.6487V2.37534H10.7624V1.00342Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n const getDisplayIcon = (type: IJsonSchema): JSX.Element => {\n const item = type.items;\n const config = typeManager.getTypeBySchema(item!);\n\n switch (config?.type) {\n case 'object':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM3.82031 5.9091C3.82031 5.18535 4.40703 4.59863 5.13078 4.59863C5.85453 4.59863 6.44124 5.18535 6.44124 5.9091C6.44124 6.56485 5.9596 7.1081 5.33078 7.2044V8.70018H5.32877C5.32982 8.75093 5.33078 8.80912 5.33078 8.87034V9.72111C5.33078 10.0195 5.57268 10.2614 5.87109 10.2614H6.24124C6.55613 10.2614 6.8114 10.5167 6.8114 10.8316C6.8114 11.1465 6.55613 11.4017 6.24124 11.4017H5.87109C4.94291 11.4017 4.19047 10.6493 4.19047 9.72111V6.82186C3.96158 6.58607 3.82031 6.26397 3.82031 5.9091ZM7.33679 5.9091C7.33679 5.59421 7.59205 5.33894 7.90694 5.33894H11.6085C11.9234 5.33894 12.1786 5.59421 12.1786 5.9091C12.1786 6.22399 11.9234 6.47925 11.6085 6.47925H7.90694C7.59205 6.47925 7.33679 6.22399 7.33679 5.9091ZM7.33679 9.86846C7.33679 9.55357 7.59205 9.2983 7.90694 9.2983H11.6085C11.9234 9.2983 12.1786 9.55357 12.1786 9.86846C12.1786 10.1833 11.9234 10.4386 11.6085 10.4386H7.90694C7.59205 10.4386 7.33679 10.1833 7.33679 9.86846Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case 'string': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM5.23701 4.07158C5.50364 3.3161 6.56205 3.28894 6.86709 4.02974L10 11.6383C10.1329 11.9609 9.979 12.3302 9.65631 12.4631C9.33363 12.596 8.96434 12.4421 8.83147 12.1194L7.8021 9.61951H4.61903L3.7474 12.0891C3.63126 12.4182 3.27034 12.5908 2.94127 12.4747C2.6122 12.3585 2.43958 11.9976 2.55573 11.6685L5.23701 4.07158ZM6.08814 5.45704L5.06505 8.35579H7.28174L6.08814 5.45704ZM8.81938 6.07534C8.81938 5.75166 9.08177 5.48926 9.40545 5.48926H12.8941C13.2178 5.48926 13.4802 5.75166 13.4802 6.07534C13.4802 6.39902 13.2178 6.66142 12.8941 6.66142H9.40545C9.08177 6.66142 8.81938 6.39902 8.81938 6.07534ZM10.2668 9.69181C10.2668 9.36812 10.5292 9.10573 10.8529 9.10573H12.8941C13.2178 9.10573 13.4802 9.36812 13.4802 9.69181C13.4802 10.0155 13.2178 10.2779 12.8941 10.2779H10.8529C10.5292 10.2779 10.2668 10.0155 10.2668 9.69181Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n case 'enum': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M6.01442 7.34421C5.89401 7.46462 5.89401 7.65985 6.01442 7.78026L7.78218 9.54802C7.9026 9.66844 8.09782 9.66844 8.21823 9.54802L9.986 7.78026C10.1064 7.65985 10.1064 7.46462 9.986 7.34421L9.69137 7.04958C9.57096 6.92917 9.37573 6.92917 9.25532 7.04958L8.00021 8.3047L6.74509 7.04958C6.62468 6.92917 6.42946 6.92917 6.30904 7.04958L6.01442 7.34421ZM3.31699 7.99984C3.31699 10.5864 5.41379 12.6832 8.00033 12.6832C10.5869 12.6832 12.6837 10.5864 12.6837 7.99984C12.6837 5.4133 10.5869 3.3165 8.00033 3.3165C5.41379 3.3165 3.31699 5.4133 3.31699 7.99984ZM11.6503 7.99984C11.6503 10.0157 10.0162 11.6498 8.00033 11.6498C5.98449 11.6498 4.35033 10.0157 4.35033 7.99984C4.35033 5.984 5.98449 4.34984 8.00033 4.34984C10.0162 4.34984 11.6503 5.984 11.6503 7.99984Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"0.2\"\n />\n </svg>\n );\n }\n\n case 'integer': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM10.3614 5.22374C10.7161 4.90585 11.1581 4.75 11.6762 4.75C12.2173 4.75 12.6723 4.91467 13.0281 5.25207L13.0291 5.253C13.3852 5.59688 13.561 6.03946 13.561 6.56767C13.561 6.89 13.4945 7.17448 13.3539 7.41445C13.2572 7.57972 13.1279 7.71948 12.9685 7.83428C13.1575 7.95643 13.3099 8.11182 13.4225 8.30109C13.5793 8.5644 13.6531 8.88311 13.6531 9.24936C13.6531 9.83787 13.4612 10.3151 13.0656 10.6612C12.6982 10.9795 12.2305 11.1341 11.6762 11.1341C11.1356 11.1341 10.6805 10.9925 10.324 10.6977C9.92124 10.3691 9.71723 9.90026 9.69942 9.31256L9.69473 9.15802H10.846L10.8539 9.2997C10.8689 9.5698 10.9591 9.75553 11.1096 9.87941L11.1106 9.88027C11.2519 9.99882 11.4365 10.0631 11.6762 10.0631C11.9765 10.0631 12.1743 9.98692 12.2984 9.86071C12.4229 9.73404 12.4984 9.53136 12.4984 9.22422C12.4984 8.92116 12.4215 8.72127 12.2939 8.59581C12.1658 8.46989 11.961 8.39373 11.6511 8.39373H11.3586V7.34788H11.6511C11.9297 7.34788 12.111 7.27834 12.2238 7.16555C12.3366 7.05276 12.4062 6.87138 12.4062 6.59281C12.4062 6.30696 12.3378 6.12041 12.2277 6.00501C12.1188 5.89092 11.9446 5.82098 11.6762 5.82098C11.4248 5.82098 11.2539 5.88537 11.1407 5.99325C11.0268 6.10185 10.9497 6.27522 10.9291 6.5375L10.9183 6.67577H9.76788L9.77492 6.51904C9.79886 5.98644 9.99237 5.54989 10.3614 5.22374ZM5.91032 5.26037C6.26612 4.92297 6.72112 4.7583 7.26219 4.7583C7.80751 4.7583 8.26297 4.91938 8.61401 5.25194L8.61501 5.25289C8.96719 5.59272 9.13852 6.04185 9.13852 6.58435C9.13852 6.84997 9.08709 7.09565 8.9817 7.31883L8.98114 7.31999C8.89563 7.49712 8.74775 7.71415 8.54418 7.96862L8.54322 7.96981L6.87446 10.0127H9.13852V11.0753H5.36909V10.1089L7.69946 7.27679C7.89456 7.04062 7.98374 6.80773 7.98374 6.57597C7.98374 6.29602 7.91626 6.11385 7.8078 6.00122C7.70036 5.88964 7.52811 5.8209 7.26219 5.8209C7.04017 5.8209 6.87439 5.88173 6.75075 5.99193C6.61227 6.11766 6.53226 6.30918 6.53226 6.59273V6.74273H5.37747V6.59273C5.37747 6.05443 5.55248 5.60586 5.90934 5.2613L5.91032 5.26037ZM3.50907 4.80865H4.56964V11.0754H3.41486V6.2201L2.25 7.24249V5.89561L3.50907 4.80865Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'number': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58154H0V14.4191H3.6139V13.1269H1.36702V2.87375H3.6139V1.58154ZM3.41656 13.3271V13.3269H1.17155V13.3271H3.41656ZM0.199219 14.2191H0.197344V1.78154H3.41656V1.78174H0.199219V14.2191ZM16 1.58154H12.3861V2.87375H14.633V13.1269H12.3861V14.4191H16V1.58154ZM12.5834 1.78154V2.67375H12.5853V1.78174H15.8027V1.78154H12.5834ZM12.5853 14.2191V13.3271H14.8322V2.67394H14.8303V13.3269H12.5834V14.2191H12.5853ZM6.86771 4.5C5.87019 4.5 5.00104 5.30767 5.00104 6.31667V9.63333C5.00104 10.6423 5.87019 11.45 6.86771 11.45C7.86523 11.45 8.73438 10.6423 8.73438 9.63333V6.31667C8.73438 5.30767 7.86523 4.5 6.86771 4.5ZM11.1177 4.5C10.1202 4.5 9.25104 5.30767 9.25104 6.31667V9.63333C9.25104 10.6423 10.1202 11.45 11.1177 11.45C12.1152 11.45 12.9844 10.6423 12.9844 9.63333V6.31667C12.9844 5.30767 12.1152 4.5 11.1177 4.5ZM6.13438 6.31667C6.13438 5.9503 6.47884 5.63333 6.86771 5.63333C7.25657 5.63333 7.60104 5.9503 7.60104 6.31667V9.63333C7.60104 9.9997 7.25657 10.3167 6.86771 10.3167C6.47884 10.3167 6.13438 9.9997 6.13438 9.63333V6.31667ZM10.3844 6.31667C10.3844 5.9503 10.7288 5.63333 11.1177 5.63333C11.5066 5.63333 11.851 5.9503 11.851 6.31667V9.63333C11.851 9.9997 11.5066 10.3167 11.1177 10.3167C10.7288 10.3167 10.3844 9.9997 10.3844 9.63333V6.31667ZM3.75938 9.85C3.33135 9.85 2.98438 10.197 2.98438 10.625C2.98438 11.053 3.33135 11.4 3.75938 11.4C4.1874 11.4 4.53438 11.053 4.53438 10.625C4.53438 10.197 4.1874 9.85 3.75938 9.85Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'boolean':\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1.58105H3.6139V2.87326H1.36702V13.1264H3.6139V14.4186H0V1.58105ZM3.41656 13.3264V13.3266H1.17155V13.3264H3.41656ZM0.197344 14.2186H0.199219V1.78125H3.41656V1.78105H0.197344V14.2186ZM12.3861 1.58105H16V14.4186H12.3861V13.1264H14.633V2.87326H12.3861V1.58105ZM12.5834 2.67326V1.78105H15.8027V1.78125H12.5853V2.67326H12.5834ZM12.5853 13.3266V14.2186H12.5834V13.3264H14.8303V2.67345H14.8322V13.3266H12.5853ZM2.75 7.99993C2.75 6.14518 4.25358 4.6416 6.10833 4.6416H9.775C11.6298 4.6416 13.1333 6.14518 13.1333 7.99993C13.1333 9.85469 11.6298 11.3583 9.775 11.3583H6.10833C4.25358 11.3583 2.75 9.85469 2.75 7.99993ZM6.10833 5.85827C4.92552 5.85827 3.96667 6.81713 3.96667 7.99993C3.96667 9.18274 4.92552 10.1416 6.10833 10.1416H9.775C10.9578 10.1416 11.9167 9.18274 11.9167 7.99993C11.9167 6.81713 10.9578 5.85827 9.775 5.85827H6.10833ZM8.25 7.99993C8.25 7.1577 8.93277 6.47493 9.775 6.47493C10.6172 6.47493 11.3 7.1577 11.3 7.99993C11.3 8.84217 10.6172 9.52493 9.775 9.52493C8.93277 9.52493 8.25 8.84217 8.25 7.99993ZM9.775 7.6916C9.60471 7.6916 9.46667 7.82965 9.46667 7.99993C9.46667 8.17022 9.60471 8.30827 9.775 8.30827C9.94529 8.30827 10.0833 8.17022 10.0833 7.99993C10.0833 7.82965 9.94529 7.6916 9.775 7.6916Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n case 'stream':\n case 'map': {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.6139 1.58105H0V14.4186H3.6139V13.1264H1.36702V2.87326H3.6139V1.58105ZM3.41656 13.3266V13.3264H1.16987V13.3266H3.41656ZM0.197537 14.2186H0.197344V1.78105H3.41656V1.78125H0.197537V14.2186ZM16 1.58105H12.3861V2.87326H14.633V13.1264H12.3861V14.4186H16V1.58105ZM12.5834 1.78105V2.67326H12.5836V1.78125H15.8027V1.78105H12.5834ZM12.5836 14.2186V13.3266H14.8305V2.67345H14.8303V13.3264H12.5834V14.2186H12.5836Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.02962 3.6001H10.7696C11.0983 3.6001 11.4119 3.73574 11.6424 3.97635C11.8719 4.21592 11.9994 4.53988 11.9994 4.87541V10.0898C12.0056 10.2146 11.9675 10.3376 11.8918 10.4372L11.8662 10.4709L11.8287 10.4905C11.6508 10.5836 11.5323 10.6684 11.4581 10.7562C11.3893 10.8377 11.3538 10.9274 11.3538 11.0488C11.3538 11.2093 11.3914 11.285 11.4495 11.3472C11.5199 11.4227 11.6265 11.4867 11.8093 11.5964C11.8188 11.6022 11.8286 11.608 11.8385 11.614L11.8704 11.6331L11.8927 11.6629C11.9509 11.7407 11.9869 11.8329 11.997 11.9295C12.007 12.0258 11.9909 12.123 11.9503 12.2109C11.9101 12.2996 11.8454 12.375 11.7639 12.4282C11.682 12.4817 11.5865 12.5106 11.4887 12.5114L11.487 12.5114H5.02962C4.70105 12.5114 4.38727 12.3758 4.1573 12.1349C3.92697 11.8925 3.79871 11.5702 3.79981 11.2358V4.87541C3.79981 4.54075 3.92717 4.21692 4.15725 3.97736C4.26942 3.85898 4.40438 3.76453 4.55403 3.69969C4.7039 3.63476 4.86629 3.60087 5.02962 3.6001ZM5.03192 4.65263C5.00441 4.65342 4.97731 4.65952 4.95211 4.6706C4.92641 4.6819 4.90318 4.69816 4.88376 4.71845C4.86435 4.73874 4.84912 4.76266 4.83897 4.78884C4.82881 4.81502 4.82391 4.84295 4.82456 4.87103L4.82467 4.87541L4.82461 9.64304C4.94924 9.6064 5.07861 9.5878 5.2092 9.58824L10.9746 9.58755V4.87065C10.9752 4.8426 10.9703 4.81472 10.9602 4.78858C10.95 4.76244 10.9348 4.73857 10.9153 4.71832C10.8959 4.69807 10.8727 4.68184 10.847 4.67056C10.8219 4.65951 10.7948 4.65342 10.7673 4.65263H10.7696V4.46303L10.7657 4.65259L10.7673 4.65263H5.03192ZM5.2088 10.6401C5.00466 10.6401 4.82461 10.8155 4.82461 11.0498C4.82461 11.2833 5.00452 11.4589 5.2088 11.4589H10.4698C10.4687 11.456 10.4676 11.4531 10.4665 11.4502C10.4145 11.3112 10.4004 11.1647 10.4 11.0496C10.4 10.9312 10.4101 10.7838 10.4699 10.6401L5.2088 10.6401Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.71924 4.53617C5.71924 4.25475 5.94738 4.02661 6.2288 4.02661C6.51022 4.02661 6.73835 4.25475 6.73835 4.53617V9.65545C6.73835 9.93688 6.51022 10.165 6.2288 10.165C5.94737 10.165 5.71924 9.93688 5.71924 9.65545V4.53617Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n\n case 'array': {\n return getDisplayIcon(item!);\n }\n default:\n return icon;\n }\n };\n return {\n type: 'array',\n\n label: 'Array',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.items!)\n : [];\n\n return ['items', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('array'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition = type.items && typeManager.getTypeBySchema(type.items);\n return (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.items!)) || {};\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.items) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return childConfig?.canAddField?.(type.items) || false;\n },\n\n getItemType: (type) => type.items,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.items) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.items);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.items)].join('-');\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'array' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rootType = typeManager.getTypeByName(root);\n\n if (!rootType) {\n return { type: 'array' };\n }\n\n let itemType;\n if (rootType.getTypeSchemaByStringValue) {\n itemType = rootType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rootType?.getDefaultSchema();\n }\n\n return {\n type: 'array',\n items: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'array',\n items: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef = type.items && typeManager.getTypeBySchema(type.items);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.items!)\n : type;\n },\n getDisplayIcon,\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const integerRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'integer',\n label: 'Integer',\n\n icon: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.132 11.4601C15.644 11.0121 15.9 10.3921 15.9 9.60007C15.9 8.60807 15.5 7.93607 14.7 7.58407C15.412 7.23207 15.768 6.62407 15.768 5.76007C15.768 5.05607 15.536 4.48007 15.072 4.03207C14.608 3.59207 14.012 3.37207 13.284 3.37207C12.588 3.37207 12.008 3.58007 11.544 3.99607C11.064 4.42007 10.808 4.98807 10.776 5.70007H12C12.064 4.88407 12.492 4.47607 13.284 4.47607C14.124 4.47607 14.544 4.91607 14.544 5.79607C14.544 6.66007 14.112 7.09207 13.248 7.09207H13.044V8.16007H13.248C14.2 8.16007 14.676 8.62807 14.676 9.56407C14.676 10.5081 14.212 10.9801 13.284 10.9801C12.9 10.9801 12.584 10.8761 12.336 10.6681C12.064 10.4441 11.916 10.1161 11.892 9.68407H10.668C10.692 10.4761 10.964 11.0841 11.484 11.5081C11.948 11.8921 12.548 12.0841 13.284 12.0841C14.036 12.0841 14.652 11.8761 15.132 11.4601Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M4.46875 12.0003V10.9083L7.75675 6.91228C8.06075 6.54428 8.21275 6.16428 8.21275 5.77228C8.21275 4.90828 7.79675 4.47628 6.96475 4.47628C6.60475 4.47628 6.31275 4.57628 6.08875 4.77628C5.83275 5.00828 5.70475 5.34828 5.70475 5.79628H4.48075C4.48075 5.07628 4.71275 4.49228 5.17675 4.04428C5.64075 3.60428 6.23675 3.38428 6.96475 3.38428C7.70075 3.38428 8.29675 3.60028 8.75275 4.03228C9.20875 4.47228 9.43675 5.05628 9.43675 5.78428C9.43675 6.13628 9.36875 6.45628 9.23275 6.74428C9.12075 6.97628 8.92075 7.27228 8.63275 7.63228L5.95675 10.9083H9.43675V12.0003H4.46875Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M1.668 12.0001V4.78805L0 6.25205V4.89605L1.668 3.45605H2.892V12.0001H1.668Z\"\n fill=\"currentColor\"\n />\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'integer' }),\n\n getValueText: (value: unknown) => (value !== undefined ? `${value}` : ''),\n\n getDefaultValue: () => 0,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const unknownRegistryCreator: JsonSchemaTypeRegistryCreator = () => ({\n type: 'unknown',\n label: 'Unknown',\n parentType: [],\n\n icon: (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n aria-hidden=\"true\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.22183 4.22182C6.21136 2.23232 8.96273 1 12 1C15.0373 1 17.7886 2.23231 19.7782 4.22182L19.0711 4.92893L19.7782 4.22183C21.7677 6.21136 23 8.96273 23 12C23 15.0373 21.7677 17.7886 19.7782 19.7782C17.7886 21.7677 15.0373 23 12 23C8.96273 23 6.21136 21.7677 4.22183 19.7782L4.92893 19.0711L4.22182 19.7782C2.23231 17.7886 1 15.0373 1 12C1 8.96273 2.23232 6.21136 4.22182 4.22183L4.22183 4.22182ZM12 3C9.51447 3 7.26584 4.00626 5.63603 5.63604C4.00625 7.26585 3 9.51447 3 12C3 14.4855 4.00627 16.7342 5.63604 18.3639C7.26584 19.9937 9.51447 21 12 21C14.4855 21 16.7342 19.9937 18.3639 18.3639C19.9937 16.7342 21 14.4855 21 12C21 9.51447 19.9937 7.26584 18.3639 5.63604C16.7342 4.00627 14.4855 3 12 3Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 9.31245C8 7.10331 9.79086 5.31245 12 5.31245C14.2091 5.31245 16 7.10331 16 9.31245C16 11.1763 14.7252 12.7424 13 13.1864V14.3124C13 14.8647 12.5523 15.3124 12 15.3124C11.4477 15.3124 11 14.8647 11 14.3124V12.3124C11 11.7602 11.4477 11.3124 12 11.3124C13.1046 11.3124 14 10.417 14 9.31245C14 8.20788 13.1046 7.31245 12 7.31245C10.8954 7.31245 10 8.20788 10 9.31245C10 9.86473 9.55228 10.3124 9 10.3124C8.44772 10.3124 8 9.86473 8 9.31245Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 18.8125C12.6904 18.8125 13.25 18.2528 13.25 17.5625C13.25 16.8721 12.6904 16.3125 12 16.3125C11.3097 16.3125 10.75 16.8721 10.75 17.5625C10.75 18.2528 11.3097 18.8125 12 18.8125Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n ),\n\n getDefaultSchema: (): IJsonSchema => ({ type: 'unknown' } as unknown as IJsonSchema),\n\n getDefaultValue: () => undefined,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React from 'react';\n\nimport { IJsonSchema, JsonSchemaTypeRegistryCreator } from '../types';\n\nexport const mapRegistryCreator: JsonSchemaTypeRegistryCreator = ({ typeManager }) => {\n const icon = (\n <svg\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n >\n <path\n d=\"M877.860571 938.642286h-645.851428c-27.574857 0-54.052571-11.337143-73.508572-31.744a110.957714 110.957714 0 0 1-30.500571-76.8V193.828571c0-28.745143 10.971429-56.32 30.500571-76.726857a101.888 101.888 0 0 1 73.508572-31.817143h574.171428c27.501714 0 53.979429 11.337143 73.508572 31.744 19.529143 20.333714 30.500571 48.054857 30.500571 76.8v522.020572a34.157714 34.157714 0 0 1-6.948571 22.820571c-37.156571 19.382857-57.636571 39.350857-57.636572 72.630857 0 39.716571 19.894857 50.029714 57.636572 72.777143a34.816 34.816 0 0 1-8.045714 49.298286 32.256 32.256 0 0 1-17.334858 5.193143z m-32.256-254.537143V193.828571a40.228571 40.228571 0 0 0-39.497142-41.179428H232.009143a40.301714 40.301714 0 0 0-39.497143 41.252571V699.245714c17.773714-9.874286 37.449143-14.994286 57.417143-14.921143h595.675428v-0.073142z m-595.675428 187.245714h566.198857c-22.893714-11.190857-27.940571-39.497143-28.013714-59.977143 0-20.260571 3.218286-43.885714 28.013714-59.904h-566.125714c-31.670857 0-57.417143 26.843429-57.417143 59.977143 0 33.060571 25.746286 59.904 57.344 59.904z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M320 128m32.036571 0l-0.073142 0q32.036571 0 32.036571 32.036571l0 511.926858q0 32.036571-32.036571 32.036571l0.073142 0q-32.036571 0-32.036571-32.036571l0-511.926858q0-32.036571 32.036571-32.036571Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n );\n\n return {\n type: 'map',\n\n label: 'Map',\n\n icon,\n\n container: true,\n\n getJsonPaths: (type: IJsonSchema) => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n const childrenPath = itemDefinition?.getJsonPaths\n ? itemDefinition.getJsonPaths(type.additionalProperties!)\n : [];\n\n return ['additionalProperties', ...childrenPath];\n },\n\n getDefaultValue: () => [],\n\n getSupportedItemTypes: (): Array<{ type: string; disabled?: string }> =>\n typeManager.getTypeRegistriesWithParentType('map'),\n\n getTypeSchemaProperties: (type: IJsonSchema): Record<string, IJsonSchema> => {\n const itemDefinition =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n return (\n (itemDefinition && itemDefinition.getTypeSchemaProperties?.(type.additionalProperties!)) ||\n {}\n );\n },\n\n canAddField: (type: IJsonSchema) => {\n if (!type.additionalProperties) {\n return false;\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return childConfig?.canAddField?.(type.additionalProperties) || false;\n },\n\n getItemType: (type) => type.additionalProperties,\n\n getStringValueByTypeSchema: (type: IJsonSchema): string => {\n if (!type.additionalProperties) {\n return type.type || '';\n }\n\n const childConfig = typeManager.getTypeBySchema(type.additionalProperties);\n\n return [type.type, childConfig?.getStringValueByTypeSchema?.(type.additionalProperties)].join(\n '-'\n );\n },\n\n getTypeSchemaByStringValue: (optionValue: string): IJsonSchema => {\n if (!optionValue) {\n return { type: 'map' };\n }\n\n const [root, ...rest] = optionValue.split('-');\n\n const rooType = typeManager.getTypeByName(root);\n\n if (!rooType) {\n return { type: 'map' };\n }\n\n let itemType;\n if (rooType.getTypeSchemaByStringValue) {\n itemType = rooType.getTypeSchemaByStringValue(rest.join('-'))!;\n } else {\n itemType = rooType?.getDefaultSchema();\n }\n\n return {\n type: 'map',\n additionalProperties: itemType,\n };\n },\n\n getDefaultSchema: (): IJsonSchema => ({\n type: 'map',\n additionalProperties: { type: 'string' },\n }),\n\n getPropertiesParent: (type: IJsonSchema) => {\n const itemDef =\n type.additionalProperties && typeManager.getTypeBySchema(type.additionalProperties);\n\n return itemDef && itemDef.getPropertiesParent\n ? itemDef.getPropertiesParent(type.additionalProperties!)\n : type;\n },\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { get } from 'lodash-es';\nimport {\n ASTFactory,\n ASTKind,\n ASTMatch,\n ASTNode,\n ASTNodeJSON,\n BaseType,\n} from '@flowgram.ai/variable-core';\n\nimport { IJsonSchema } from './types';\n\nexport namespace JsonSchemaUtils {\n /**\n * Converts a JSON schema to an Abstract Syntax Tree (AST) representation.\n * This function recursively processes the JSON schema and creates corresponding AST nodes.\n *\n * For more information on JSON Schema, refer to the official documentation:\n * https://json-schema.org/\n *\n * @param jsonSchema - The JSON schema to convert.\n * @returns An AST node representing the JSON schema, or undefined if the schema type is not recognized.\n */\n export function schemaToAST(jsonSchema: IJsonSchema): ASTNodeJSON | undefined {\n const { type, extra, required } = jsonSchema || {};\n const { weak = false } = extra || {};\n\n if (!type) {\n return undefined;\n }\n\n switch (type) {\n case 'object':\n if (weak) {\n return { kind: ASTKind.Object, weak: true };\n }\n return ASTFactory.createObject({\n properties: Object.entries(jsonSchema.properties || {})\n /**\n * Sorts the properties of a JSON schema based on the 'extra.index' field.\n * If the 'extra.index' field is not present, the property will be treated as having an index of 0.\n */\n .sort((a, b) => (get(a?.[1], 'extra.index') || 0) - (get(b?.[1], 'extra.index') || 0))\n .map(([key, _property]) => ({\n key,\n type: schemaToAST(_property),\n meta: {\n title: _property.title,\n description: _property.description,\n required: !!required?.includes(key),\n default: _property.default,\n },\n })),\n });\n case 'array':\n if (weak) {\n return { kind: ASTKind.Array, weak: true };\n }\n return ASTFactory.createArray({\n items: schemaToAST(jsonSchema.items!),\n });\n case 'map':\n if (weak) {\n return { kind: ASTKind.Map, weak: true };\n }\n return ASTFactory.createMap({\n valueType: schemaToAST(jsonSchema.additionalProperties!),\n });\n case 'string':\n return ASTFactory.createString({ format: jsonSchema.format });\n case 'number':\n return ASTFactory.createNumber();\n case 'boolean':\n return ASTFactory.createBoolean();\n case 'integer':\n return ASTFactory.createInteger();\n\n default:\n // If the type is not recognized, return CustomType\n return ASTFactory.createCustomType({ typeName: type });\n }\n }\n\n /**\n * Convert AST To JSON Schema\n * @param typeAST\n * @returns\n */\n export function astToSchema(\n typeAST?: ASTNode,\n options?: {\n drilldown?: boolean;\n drilldownObject?: boolean;\n drilldownMap?: boolean;\n drilldownArray?: boolean;\n }\n ): IJsonSchema | undefined {\n const {\n drilldown = true,\n drilldownMap = drilldown,\n drilldownObject = drilldown,\n drilldownArray = drilldown,\n } = options || {};\n\n if (!typeAST) {\n return undefined;\n }\n\n if (ASTMatch.isString(typeAST)) {\n return {\n type: 'string',\n format: typeAST.format,\n };\n }\n\n if (ASTMatch.isBoolean(typeAST)) {\n return {\n type: 'boolean',\n };\n }\n\n if (ASTMatch.isNumber(typeAST)) {\n return {\n type: 'number',\n };\n }\n\n if (ASTMatch.isInteger(typeAST)) {\n return {\n type: 'integer',\n };\n }\n\n if (ASTMatch.isObject(typeAST)) {\n return {\n type: 'object',\n required: typeAST.properties\n .filter((property) => property.meta?.required)\n .map((property) => property.key),\n properties: drilldownObject\n ? Object.fromEntries(\n typeAST.properties.map((property) => {\n const schema = astToSchema(property.type);\n\n if (property.meta?.title && schema) {\n schema.title = property.meta.title;\n }\n if (property.meta?.description && schema) {\n schema.description = property.meta.description;\n }\n if (property.meta?.default && schema) {\n schema.default = property.meta.default;\n }\n\n return [property.key, schema!];\n })\n )\n : {},\n };\n }\n\n if (ASTMatch.isArray(typeAST)) {\n return {\n type: 'array',\n items: drilldownArray ? astToSchema(typeAST.items) : undefined,\n };\n }\n\n if (ASTMatch.isMap(typeAST)) {\n return {\n type: 'map',\n items: drilldownMap ? astToSchema(typeAST.valueType) : undefined,\n };\n }\n\n if (ASTMatch.isCustomType(typeAST)) {\n return {\n type: typeAST.typeName,\n };\n }\n\n console.warn('JsonSchemaUtils.astToSchema: AST must extends BaseType', typeAST);\n\n return undefined;\n }\n\n /**\n * Check if the AST type is match the JSON Schema\n * @param typeAST\n * @param schema\n * @returns\n */\n export function isASTMatchSchema(\n typeAST: BaseType,\n schema: IJsonSchema | IJsonSchema[]\n ): boolean {\n if (Array.isArray(schema)) {\n return typeAST.isTypeEqual(\n ASTFactory.createUnion({\n types: schema.map((_schema) => schemaToAST(_schema)!).filter(Boolean),\n })\n );\n }\n\n return typeAST.isTypeEqual(schemaToAST(schema));\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\nexport {\n JsonSchemaBasicType,\n IJsonSchema,\n IBasicJsonSchema,\n JsonSchemaTypeRegistry,\n JsonSchemaTypeRegistryCreator,\n} from './types';\nexport { JsonSchemaUtils } from './utils';\nexport { JsonSchemaTypeManager } from './json-schema-type-manager';\n\n// Global JsonSchemaTypeManager\nexport const jsonSchemaTypeManager = new JsonSchemaTypeManager();\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport React, { createContext, useContext, useMemo } from 'react';\n\nimport { usePlaygroundContainer } from '@flowgram.ai/core';\n\nimport {\n IJsonSchema,\n jsonSchemaTypeManager,\n JsonSchemaTypeManager,\n JsonSchemaTypeRegistry,\n} from './json-schema';\nimport { BaseTypeManager, TypeRegistryCreator } from './base';\n\n// use global default\nconst TypePresetContext = createContext<JsonSchemaTypeManager | null>(null);\n\nexport const useTypeManager = () => {\n const typeManagerFromContext = useContext(TypePresetContext);\n const container = usePlaygroundContainer();\n\n if (typeManagerFromContext) {\n return typeManagerFromContext;\n }\n\n if (container?.isBound?.(BaseTypeManager)) {\n return container.get(BaseTypeManager);\n }\n\n // Global Singleton\n return jsonSchemaTypeManager;\n};\n\nexport const TypePresetProvider = <\n Registry extends JsonSchemaTypeRegistry = JsonSchemaTypeRegistry\n>({\n children,\n types,\n}: React.PropsWithChildren<{\n types: (\n | Partial<Registry>\n | TypeRegistryCreator<IJsonSchema, Registry, JsonSchemaTypeManager<IJsonSchema, Registry>>\n )[];\n}>) => {\n const schemaManager = useMemo(() => {\n const typeManager = new JsonSchemaTypeManager<IJsonSchema, Registry>();\n\n types.forEach((_type) => typeManager.register(_type));\n\n return typeManager;\n }, [...types]);\n\n return (\n <TypePresetContext.Provider value={schemaManager as unknown as JsonSchemaTypeManager}>\n {children}\n </TypePresetContext.Provider>\n );\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ContainerModule } from 'inversify';\n\nimport { JsonSchemaTypeManager } from './json-schema';\nimport { BaseTypeManager } from './base';\n\nexport const TypeManager = Symbol('TypeManager');\n\nexport const jsonSchemaContainerModule = new ContainerModule((bind) => {\n bind(BaseTypeManager).to(JsonSchemaTypeManager).inSingletonScope();\n});\n"],"mappings":"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","names":["import_react","import_inversify","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","React","JsonSchemaUtils","import_react","React","import_inversify"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowgram.ai/json-schema",
3
- "version": "0.4.13",
3
+ "version": "0.4.15",
4
4
  "description": "json schema type manager",
5
5
  "keywords": [
6
6
  "flow",
@@ -28,21 +28,21 @@
28
28
  "lodash-es": "^4.17.21",
29
29
  "nanoid": "^5.0.9",
30
30
  "reflect-metadata": "~0.2.2",
31
- "@flowgram.ai/variable-core": "0.4.13",
32
- "@flowgram.ai/utils": "0.4.13",
33
- "@flowgram.ai/core": "0.4.13"
31
+ "@flowgram.ai/core": "0.4.15",
32
+ "@flowgram.ai/variable-core": "0.4.15",
33
+ "@flowgram.ai/utils": "0.4.15"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/lodash-es": "^4.17.12",
37
37
  "@types/react": "^18",
38
38
  "@types/react-dom": "^18",
39
- "@vitest/coverage-v8": "^0.32.0",
39
+ "@vitest/coverage-v8": "^3.2.4",
40
40
  "eslint": "^8.54.0",
41
41
  "tsup": "^8.0.1",
42
42
  "typescript": "^5.8.3",
43
- "vitest": "^0.34.6",
44
- "@flowgram.ai/eslint-config": "0.4.13",
45
- "@flowgram.ai/ts-config": "0.4.13"
43
+ "vitest": "^3.2.4",
44
+ "@flowgram.ai/eslint-config": "0.4.15",
45
+ "@flowgram.ai/ts-config": "0.4.15"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "react": ">=16.8",