index.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
  3. * SPDX-License-Identifier: MIT
  4. */
  5. import React from 'react';
  6. import {
  7. type IJsonSchema,
  8. JsonSchemaUtils,
  9. useTypeManager as useOriginTypeManager,
  10. TypePresetProvider as OriginTypePresetProvider,
  11. JsonSchemaTypeManager,
  12. type JsonSchemaBasicType,
  13. } from '@flowgram.ai/json-schema';
  14. import { jsonSchemaTypePreset } from './type-definition';
  15. import { type JsonSchemaTypeRegistry, type ConstantRendererProps } from './manager';
  16. import { createTypePresetPlugin } from './create-type-preset-plugin';
  17. const useTypeManager = () =>
  18. useOriginTypeManager() as JsonSchemaTypeManager<IJsonSchema, JsonSchemaTypeRegistry>;
  19. const JsonSchemaTypePresetProvider = ({
  20. types = [],
  21. children,
  22. }: React.PropsWithChildren<{ types: JsonSchemaTypeRegistry[] }>) => (
  23. <OriginTypePresetProvider types={[...jsonSchemaTypePreset, ...types]}>
  24. {children}
  25. </OriginTypePresetProvider>
  26. );
  27. export {
  28. createTypePresetPlugin,
  29. useTypeManager,
  30. JsonSchemaTypePresetProvider,
  31. JsonSchemaUtils,
  32. type IJsonSchema,
  33. type JsonSchemaTypeRegistry,
  34. type ConstantRendererProps,
  35. type JsonSchemaBasicType,
  36. };