index.d.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. * @param {import('react').ComponentType<any>} Component
  3. * @deprecated
  4. * This export is marked as a legacy feature.
  5. * That means it’s no longer recommended for use as it might be removed
  6. * in a future major release.
  7. *
  8. * Please use `useMDXComponents` to get context based components instead.
  9. */
  10. export function withMDXComponents(Component: import('react').ComponentType<any>): (props: Record<string, unknown> & {
  11. components?: Components | null | undefined;
  12. }) => JSX.Element;
  13. /**
  14. * Get current components from the MDX Context.
  15. *
  16. * @param {Components | MergeComponents | null | undefined} [components]
  17. * Additional components to use or a function that takes the current
  18. * components and filters/merges/changes them.
  19. * @returns {Components}
  20. * Current components.
  21. */
  22. export function useMDXComponents(components?: Components | MergeComponents | null | undefined): Components;
  23. /**
  24. * Provider for MDX context
  25. *
  26. * @param {Props} props
  27. * @returns {JSX.Element}
  28. */
  29. export function MDXProvider({ components, children, disableParentContext }: Props): JSX.Element;
  30. /**
  31. * @type {import('react').Context<Components>}
  32. * @deprecated
  33. * This export is marked as a legacy feature.
  34. * That means it’s no longer recommended for use as it might be removed
  35. * in a future major release.
  36. *
  37. * Please use `useMDXComponents` to get context based components and
  38. * `MDXProvider` to set context based components instead.
  39. */
  40. export const MDXContext: import('react').Context<Components>;
  41. export type ReactNode = import('react').ReactNode;
  42. export type Components = import('mdx/types.js').MDXComponents;
  43. /**
  44. * Configuration.
  45. */
  46. export type Props = {
  47. /**
  48. * Mapping of names for JSX components to React components.
  49. */
  50. components?: Components | MergeComponents | null | undefined;
  51. /**
  52. * Turn off outer component context.
  53. */
  54. disableParentContext?: boolean | null | undefined;
  55. /**
  56. * Children.
  57. */
  58. children?: ReactNode | null | undefined;
  59. };
  60. /**
  61. * Custom merge function.
  62. */
  63. export type MergeComponents = (currentComponents: Components) => Components;