mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
Add explicit children types (#181257)
## Summary Prep work for React@18 bump tl;dr In React@18 `React.FC` doesn't contain `children` anymore, so in order to make the bump easier I have decided to split the effort in multiple faces and hopefully this will make it easier for everyone This PR focuses only on adding explicit `children` declaration either by using `React.PropsWithChildren` type or by adding `children: React.ReactNode` to the existing props types https://github.com/DefinitelyTyped/DefinitelyTyped/issues/46691 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Sergi Massaneda <sergi.massaneda@gmail.com> Co-authored-by: Marco Vettorello <marco.vettorello@elastic.co> Co-authored-by: James Gowdy <jgowdy@elastic.co>
This commit is contained in:
parent
7fa867cdd7
commit
0780c19322
493 changed files with 1531 additions and 1174 deletions
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiPageTemplate, EuiPageSection, EuiPageHeader } from '@elastic/eui';
|
||||
|
||||
export interface PageProps {
|
||||
|
@ -14,7 +14,11 @@ export interface PageProps {
|
|||
sidebar?: React.ReactNode;
|
||||
}
|
||||
|
||||
export const Page: React.FC<PageProps> = ({ title = 'Untitled', sidebar, children }) => {
|
||||
export const Page: FC<PropsWithChildren<PageProps>> = ({
|
||||
title = 'Untitled',
|
||||
sidebar,
|
||||
children,
|
||||
}) => {
|
||||
return (
|
||||
<EuiPageTemplate offset={0} grow={true}>
|
||||
<EuiPageTemplate.Sidebar>{sidebar}</EuiPageTemplate.Sidebar>
|
||||
|
|
|
@ -13,10 +13,7 @@ import { Page } from '../../../../components/page';
|
|||
import { useDeps } from '../../../../hooks/use_deps';
|
||||
import { Sidebar } from '../../sidebar';
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
||||
export interface Props {}
|
||||
|
||||
export const PageCountUntil: React.FC<Props> = () => {
|
||||
export const PageCountUntil = () => {
|
||||
const { plugins } = useDeps();
|
||||
|
||||
return (
|
||||
|
|
|
@ -13,10 +13,7 @@ import { Page } from '../../../../components/page';
|
|||
import { useDeps } from '../../../../hooks/use_deps';
|
||||
import { Sidebar } from '../../sidebar';
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
||||
export interface Props {}
|
||||
|
||||
export const PageDoubleIntegers: React.FC<Props> = () => {
|
||||
export const PageDoubleIntegers = () => {
|
||||
const { explorer } = useDeps();
|
||||
|
||||
return (
|
||||
|
|
|
@ -6,15 +6,14 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiPageTemplate, EuiTitle } from '@elastic/eui';
|
||||
|
||||
export interface PageProps {
|
||||
title?: React.ReactNode;
|
||||
}
|
||||
|
||||
export const Page: React.FC<PageProps> = ({ title = 'Untitled', children }) => {
|
||||
export const Page: FC<PropsWithChildren<PageProps>> = ({ title = 'Untitled', children }) => {
|
||||
return (
|
||||
<>
|
||||
<EuiPageTemplate.Header>
|
||||
|
|
|
@ -49,11 +49,11 @@ interface Props {
|
|||
basePath: IBasePath;
|
||||
}
|
||||
|
||||
export const SearchExamplePage: React.FC<Props> = ({
|
||||
export const SearchExamplePage: React.FC<PropsWithChildren<Props>> = ({
|
||||
children,
|
||||
exampleLinks,
|
||||
basePath,
|
||||
}: PropsWithChildren<Props>) => {
|
||||
}) => {
|
||||
return (
|
||||
<EuiPageTemplate offset={0}>
|
||||
<EuiPageTemplate.Sidebar>
|
||||
|
|
|
@ -46,11 +46,11 @@ interface Props {
|
|||
exampleLinks: ExampleLink[];
|
||||
}
|
||||
|
||||
export const StateContainersExamplesPage: React.FC<Props> = ({
|
||||
export const StateContainersExamplesPage: React.FC<PropsWithChildren<Props>> = ({
|
||||
navigateToApp,
|
||||
children,
|
||||
exampleLinks,
|
||||
}: PropsWithChildren<Props>) => {
|
||||
}) => {
|
||||
return (
|
||||
<EuiPage>
|
||||
<EuiPageTemplate.Sidebar>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiTitle, EuiSpacer, EuiSplitPanel, EuiCodeBlock } from '@elastic/eui';
|
||||
|
||||
export interface PanelWithCodeBlockProps {
|
||||
|
@ -13,7 +13,7 @@ export interface PanelWithCodeBlockProps {
|
|||
code: string;
|
||||
}
|
||||
|
||||
export const PanelWithCodeBlock: React.FunctionComponent<PanelWithCodeBlockProps> = ({
|
||||
export const PanelWithCodeBlock: FC<PropsWithChildren<PanelWithCodeBlockProps>> = ({
|
||||
title,
|
||||
code,
|
||||
children,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
|
||||
export interface DeploymentDetailsContextValue {
|
||||
cloudId?: string;
|
||||
|
@ -22,7 +22,7 @@ const DeploymentDetailsContext = React.createContext<DeploymentDetailsContextVal
|
|||
/**
|
||||
* Abstract external service Provider.
|
||||
*/
|
||||
export const DeploymentDetailsProvider: FC<DeploymentDetailsContextValue> = ({
|
||||
export const DeploymentDetailsProvider: FC<PropsWithChildren<DeploymentDetailsContextValue>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -75,10 +75,9 @@ export interface DeploymentDetailsKibanaDependencies {
|
|||
/**
|
||||
* Kibana-specific Provider that maps to known dependency types.
|
||||
*/
|
||||
export const DeploymentDetailsKibanaProvider: FC<DeploymentDetailsKibanaDependencies> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
export const DeploymentDetailsKibanaProvider: FC<
|
||||
PropsWithChildren<DeploymentDetailsKibanaDependencies>
|
||||
> = ({ children, ...services }) => {
|
||||
const {
|
||||
core: {
|
||||
application: { navigateToUrl },
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { useContext, useCallback, useMemo } from 'react';
|
||||
import React, { useContext, useCallback, useMemo, PropsWithChildren } from 'react';
|
||||
import type { FC, ReactNode } from 'react';
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { EuiComboBoxProps } from '@elastic/eui';
|
||||
|
@ -45,7 +45,10 @@ const ContentEditorContext = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* Abstract external service Provider.
|
||||
*/
|
||||
export const ContentEditorProvider: FC<Services> = ({ children, ...services }) => {
|
||||
export const ContentEditorProvider: FC<PropsWithChildren<Services>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
return <ContentEditorContext.Provider value={services}>{children}</ContentEditorContext.Provider>;
|
||||
};
|
||||
|
||||
|
@ -109,10 +112,9 @@ export interface ContentEditorKibanaDependencies {
|
|||
/**
|
||||
* Kibana-specific Provider that maps to known dependency types.
|
||||
*/
|
||||
export const ContentEditorKibanaProvider: FC<ContentEditorKibanaDependencies> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
export const ContentEditorKibanaProvider: FC<
|
||||
PropsWithChildren<ContentEditorKibanaDependencies>
|
||||
> = ({ children, ...services }) => {
|
||||
const { core, toMountPoint, savedObjectsTagging } = services;
|
||||
const { openFlyout: coreOpenFlyout } = core.overlays;
|
||||
const { theme$ } = core.theme;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext, useMemo, useCallback } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext, useMemo, useCallback } from 'react';
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { FormattedRelative } from '@kbn/i18n-react';
|
||||
import type { MountPoint, OverlayRef } from '@kbn/core-mount-utils-browser';
|
||||
|
@ -65,7 +65,10 @@ const TableListViewContext = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* Abstract external service Provider.
|
||||
*/
|
||||
export const TableListViewProvider: FC<Services> = ({ children, ...services }) => {
|
||||
export const TableListViewProvider: FC<PropsWithChildren<Services>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
return <TableListViewContext.Provider value={services}>{children}</TableListViewContext.Provider>;
|
||||
};
|
||||
|
||||
|
@ -159,10 +162,9 @@ export interface TableListViewKibanaDependencies {
|
|||
/**
|
||||
* Kibana-specific Provider that maps to known dependency types.
|
||||
*/
|
||||
export const TableListViewKibanaProvider: FC<TableListViewKibanaDependencies> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
export const TableListViewKibanaProvider: FC<
|
||||
PropsWithChildren<TableListViewKibanaDependencies>
|
||||
> = ({ children, ...services }) => {
|
||||
const { core, toMountPoint, savedObjectsTagging, FormattedRelative } = services;
|
||||
|
||||
const searchQueryParser = useMemo(() => {
|
||||
|
|
|
@ -6,15 +6,15 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { useEffect, useRef } from 'react';
|
||||
import React, { useEffect, useRef, FC, PropsWithChildren } from 'react';
|
||||
import { EuiCollapsibleNavBeta } from '@elastic/eui';
|
||||
import useLocalStorage from 'react-use/lib/useLocalStorage';
|
||||
|
||||
const LOCAL_STORAGE_IS_COLLAPSED_KEY = 'PROJECT_NAVIGATION_COLLAPSED' as const;
|
||||
|
||||
export const ProjectNavigation: React.FC<{
|
||||
toggleSideNav: (isVisible: boolean) => void;
|
||||
}> = ({ children, toggleSideNav }) => {
|
||||
export const ProjectNavigation: FC<
|
||||
PropsWithChildren<{ toggleSideNav: (isVisible: boolean) => void }>
|
||||
> = ({ children, toggleSideNav }) => {
|
||||
const isMounted = useRef(false);
|
||||
const [isCollapsed, setIsCollapsed] = useLocalStorage(LOCAL_STORAGE_IS_COLLAPSED_KEY, false);
|
||||
const onCollapseToggle = (nextIsCollapsed: boolean) => {
|
||||
|
|
|
@ -6,14 +6,15 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
// eslint-disable-next-line @kbn/eslint/module_migration
|
||||
import { IntlProvider } from 'react-intl';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
const emptyMessages = {};
|
||||
|
||||
export const I18nProviderMock: React.FC = ({ children }) => {
|
||||
export const I18nProviderMock: FC<PropsWithChildren> = ({ children }) => {
|
||||
return (
|
||||
<IntlProvider
|
||||
locale={i18n.getLocale()}
|
||||
|
|
|
@ -6,15 +6,17 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { Observable } from 'rxjs';
|
||||
import useObservable from 'react-use/lib/useObservable';
|
||||
import classNames from 'classnames';
|
||||
import { APP_WRAPPER_CLASS } from '@kbn/core-application-common';
|
||||
|
||||
export const AppWrapper: React.FunctionComponent<{
|
||||
chromeVisible$: Observable<boolean>;
|
||||
}> = ({ chromeVisible$, children }) => {
|
||||
export const AppWrapper: FC<
|
||||
PropsWithChildren<{
|
||||
chromeVisible$: Observable<boolean>;
|
||||
}>
|
||||
> = ({ chromeVisible$, children }) => {
|
||||
const visible = useObservable(chromeVisible$);
|
||||
return (
|
||||
<div
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { type FC } from 'react';
|
||||
import React, { type FC, type PropsWithChildren } from 'react';
|
||||
import { CoreTheme } from '@kbn/core-theme-browser/src/types';
|
||||
import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme';
|
||||
import { Observable } from 'rxjs';
|
||||
|
@ -21,7 +21,7 @@ interface CoreThemeProviderProps {
|
|||
* @internal Only meant to be used within core for internal usages of EUI/React
|
||||
* @deprecated use `KibanaThemeProvider` from `@kbn/react-kibana-context-theme
|
||||
*/
|
||||
export const CoreThemeProvider: FC<CoreThemeProviderProps> = ({
|
||||
export const CoreThemeProvider: FC<PropsWithChildren<CoreThemeProviderProps>> = ({
|
||||
theme$,
|
||||
globalStyles,
|
||||
children,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, MouseEventHandler, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, MouseEventHandler, useContext } from 'react';
|
||||
import { EuiGlobalToastListToast as EuiToast } from '@elastic/eui';
|
||||
|
||||
import { SAMPLE_DATA_API } from './constants';
|
||||
|
@ -41,7 +41,10 @@ const Context = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const SampleDataCardProvider: FC<Services> = ({ children, ...services }) => {
|
||||
export const SampleDataCardProvider: FC<PropsWithChildren<Services>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
const {
|
||||
addBasePath,
|
||||
getAppNavigationHandler,
|
||||
|
@ -99,7 +102,7 @@ export interface KibanaDependencies {
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const SampleDataCardKibanaProvider: FC<KibanaDependencies> = ({
|
||||
export const SampleDataCardKibanaProvider: FC<PropsWithChildren<KibanaDependencies>> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import type { EuiGlobalToastListToast as EuiToast } from '@elastic/eui';
|
||||
import type { SampleDataSet } from '@kbn/home-sample-data-types';
|
||||
import {
|
||||
|
@ -46,7 +46,10 @@ const Context = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const SampleDataTabProvider: FC<SampleDataTabServices> = ({ children, ...services }) => {
|
||||
export const SampleDataTabProvider: FC<PropsWithChildren<SampleDataTabServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
const { fetchSampleDataSets, notifyError, logClick } = services;
|
||||
|
||||
return (
|
||||
|
@ -86,10 +89,9 @@ export type SampleDataTabKibanaDependencies = KibanaDependencies & SampleDataCar
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const SampleDataTabKibanaProvider: FC<SampleDataTabKibanaDependencies> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
export const SampleDataTabKibanaProvider: FC<
|
||||
PropsWithChildren<SampleDataTabKibanaDependencies>
|
||||
> = ({ children, ...dependencies }) => {
|
||||
const { coreStart, trackUiMetric } = dependencies;
|
||||
const { http, notifications } = coreStart;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { I18nProvider } from '@kbn/i18n-react';
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
||||
import { render, waitFor, cleanup, screen } from '@testing-library/react';
|
||||
|
@ -24,7 +24,7 @@ jest.mock('./api', () => ({
|
|||
fetchActiveMaintenanceWindows: jest.fn(() => Promise.resolve([])),
|
||||
}));
|
||||
|
||||
const TestProviders: React.FC<{}> = ({ children }) => {
|
||||
const TestProviders: FC<PropsWithChildren> = ({ children }) => {
|
||||
const queryClient = new QueryClient();
|
||||
return (
|
||||
<I18nProvider>
|
||||
|
@ -231,7 +231,7 @@ describe('MaintenanceWindowCallout', () => {
|
|||
warn: console.warn,
|
||||
},
|
||||
});
|
||||
const wrapper: React.FC = ({ children }) => (
|
||||
const wrapper: FC<PropsWithChildren> = ({ children }) => (
|
||||
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
|
||||
);
|
||||
return wrapper;
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
*/
|
||||
|
||||
import { renderHook } from '@testing-library/react-hooks';
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { makeAction, makeActionContext } from '../mocks/helpers';
|
||||
import { CellActionsProvider, useCellActionsContext } from './cell_actions_context';
|
||||
|
||||
const action = makeAction('action-1', 'icon', 1);
|
||||
const mockGetTriggerCompatibleActions = jest.fn(async () => [action]);
|
||||
const ContextWrapper: React.FC = ({ children }) => (
|
||||
const ContextWrapper: FC<PropsWithChildren> = ({ children }) => (
|
||||
<CellActionsProvider getTriggerCompatibleActions={mockGetTriggerCompatibleActions}>
|
||||
{children}
|
||||
</CellActionsProvider>
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { PropsWithChildren } from 'react';
|
||||
import type {
|
||||
Action,
|
||||
ActionExecutionContext,
|
||||
|
@ -14,13 +16,13 @@ import type { FieldSpec } from '@kbn/data-views-plugin/common';
|
|||
import { Serializable } from '@kbn/utility-types';
|
||||
import type { CellActionsMode } from './constants';
|
||||
|
||||
export interface CellActionsProviderProps {
|
||||
export type CellActionsProviderProps = PropsWithChildren<{
|
||||
/**
|
||||
* Please assign `uiActions.getTriggerCompatibleActions` function.
|
||||
* This function should return a list of actions for a triggerId that are compatible with the provided context.
|
||||
*/
|
||||
getTriggerCompatibleActions: UiActionsService['getTriggerCompatibleActions'];
|
||||
}
|
||||
}>;
|
||||
|
||||
type Metadata = Record<string, unknown>;
|
||||
|
||||
|
@ -46,7 +48,7 @@ export interface CellActionsData {
|
|||
value: CellActionFieldValue;
|
||||
}
|
||||
|
||||
export interface CellActionsProps {
|
||||
export type CellActionsProps = PropsWithChildren<{
|
||||
data: CellActionsData | CellActionsData[];
|
||||
|
||||
/**
|
||||
|
@ -82,7 +84,7 @@ export interface CellActionsProps {
|
|||
metadata?: Metadata;
|
||||
|
||||
className?: string;
|
||||
}
|
||||
}>;
|
||||
|
||||
export interface CellActionExecutionContext extends ActionExecutionContext {
|
||||
data: CellActionsData[];
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiForm } from '@elastic/eui';
|
||||
import { ComponentStory } from '@storybook/react';
|
||||
import { CustomizablePalette, CustomizablePaletteProps } from '../palette_configuration';
|
||||
|
@ -18,7 +18,7 @@ export default {
|
|||
decorators: [(story: Function) => <EuiForm>{story()}</EuiForm>],
|
||||
};
|
||||
|
||||
const Template: ComponentStory<FC<CustomizablePaletteProps>> = (args) => (
|
||||
const Template: ComponentStory<FC<PropsWithChildren<CustomizablePaletteProps>>> = (args) => (
|
||||
<CustomizablePalette {...args} />
|
||||
);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { PropsWithChildren } from 'react';
|
||||
import classnames from 'classnames';
|
||||
|
||||
/**
|
||||
|
@ -27,7 +27,7 @@ export interface DropOverlayWrapperProps {
|
|||
* @param otherProps
|
||||
* @constructor
|
||||
*/
|
||||
export const DropOverlayWrapper: React.FC<DropOverlayWrapperProps> = ({
|
||||
export const DropOverlayWrapper: React.FC<PropsWithChildren<DropOverlayWrapperProps>> = ({
|
||||
isVisible,
|
||||
children,
|
||||
overlayProps,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
// eslint-disable-next-line @kbn/eslint/module_migration
|
||||
import { IntlProvider } from 'react-intl';
|
||||
|
@ -20,7 +20,7 @@ import { PseudoLocaleWrapper } from './pseudo_locale_wrapper';
|
|||
* IntlProvider should wrap react app's root component (inside each react render method).
|
||||
*/
|
||||
|
||||
export const I18nProvider: React.FC = ({ children }) => (
|
||||
export const I18nProvider: FC<PropsWithChildren> = ({ children }) => (
|
||||
<IntlProvider
|
||||
locale={i18n.getLocale()}
|
||||
messages={i18n.getTranslation().messages}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
|
||||
import {
|
||||
FormProvider,
|
||||
|
@ -65,7 +65,7 @@ const SettingsApplicationContext = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const SettingsApplicationProvider: FC<SettingsApplicationServices> = ({
|
||||
export const SettingsApplicationProvider: FC<PropsWithChildren<SettingsApplicationServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -114,10 +114,9 @@ export const SettingsApplicationProvider: FC<SettingsApplicationServices> = ({
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const SettingsApplicationKibanaProvider: FC<SettingsApplicationKibanaDependencies> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
export const SettingsApplicationKibanaProvider: FC<
|
||||
PropsWithChildren<SettingsApplicationKibanaDependencies>
|
||||
> = ({ children, ...dependencies }) => {
|
||||
const {
|
||||
docLinks,
|
||||
notifications,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import type { FieldInputServices, FieldInputKibanaDependencies } from './types';
|
||||
|
||||
const FieldInputContext = React.createContext<FieldInputServices | null>(null);
|
||||
|
@ -14,7 +14,10 @@ const FieldInputContext = React.createContext<FieldInputServices | null>(null);
|
|||
/**
|
||||
* React Provider that provides services to a {@link FieldInput} component and its dependents.
|
||||
*/
|
||||
export const FieldInputProvider: FC<FieldInputServices> = ({ children, ...services }) => {
|
||||
export const FieldInputProvider: FC<PropsWithChildren<FieldInputServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
// Typescript types are widened to accept more than what is needed. Take only what is necessary
|
||||
// so the context remains clean.
|
||||
const { showDanger, validateChange } = services;
|
||||
|
@ -29,7 +32,7 @@ export const FieldInputProvider: FC<FieldInputServices> = ({ children, ...servic
|
|||
/**
|
||||
* Kibana-specific Provider that maps Kibana plugins and services to a {@link FieldInputProvider}.
|
||||
*/
|
||||
export const FieldInputKibanaProvider: FC<FieldInputKibanaDependencies> = ({
|
||||
export const FieldInputKibanaProvider: FC<PropsWithChildren<FieldInputKibanaDependencies>> = ({
|
||||
children,
|
||||
notifications: { toasts },
|
||||
settings: { client },
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
FieldInputKibanaProvider,
|
||||
FieldInputProvider,
|
||||
} from '@kbn/management-settings-components-field-input/services';
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
|
||||
import type { FieldRowServices, FieldRowKibanaDependencies, Services } from './types';
|
||||
|
||||
|
@ -41,7 +41,7 @@ export const FieldRowProvider = ({ children, ...services }: FieldRowProviderProp
|
|||
/**
|
||||
* Kibana-specific Provider that maps Kibana plugins and services to a {@link FieldRowProvider}.
|
||||
*/
|
||||
export const FieldRowKibanaProvider: FC<FieldRowKibanaDependencies> = ({
|
||||
export const FieldRowKibanaProvider: FC<PropsWithChildren<FieldRowKibanaDependencies>> = ({
|
||||
children,
|
||||
docLinks,
|
||||
notifications,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
|
||||
import {
|
||||
FieldCategoryKibanaProvider,
|
||||
|
@ -41,7 +41,10 @@ export const FormProvider = ({ children, ...services }: FormProviderProps) => {
|
|||
/**
|
||||
* Kibana-specific Provider that maps Kibana plugins and services to a {@link FormProvider}.
|
||||
*/
|
||||
export const FormKibanaProvider: FC<FormKibanaDependencies> = ({ children, ...deps }) => {
|
||||
export const FormKibanaProvider: FC<PropsWithChildren<FormKibanaDependencies>> = ({
|
||||
children,
|
||||
...deps
|
||||
}) => {
|
||||
const { settings, notifications, docLinks, theme, i18n } = deps;
|
||||
|
||||
const services: Services = {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
import type { HttpSetup } from '@kbn/core/public';
|
||||
import React, { createContext, useContext, type FunctionComponent } from 'react';
|
||||
import React, { createContext, useContext, type FC, type PropsWithChildren } from 'react';
|
||||
import { ReportingAPIClient } from './reporting_api_client';
|
||||
|
||||
interface ContextValue {
|
||||
|
@ -17,10 +17,12 @@ interface ContextValue {
|
|||
|
||||
const InternalApiClientContext = createContext<undefined | ContextValue>(undefined);
|
||||
|
||||
export const InternalApiClientProvider: FunctionComponent<{
|
||||
apiClient: ReportingAPIClient;
|
||||
http: HttpSetup;
|
||||
}> = ({ apiClient, http, children }) => {
|
||||
export const InternalApiClientProvider: FC<
|
||||
PropsWithChildren<{
|
||||
apiClient: ReportingAPIClient;
|
||||
http: HttpSetup;
|
||||
}>
|
||||
> = ({ apiClient, http, children }) => {
|
||||
return (
|
||||
<InternalApiClientContext.Provider value={{ http, apiClient }}>
|
||||
{children}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { Fragment } from 'react';
|
||||
import React, { Fragment, FC, PropsWithChildren } from 'react';
|
||||
|
||||
import {
|
||||
EuiFlexGroup,
|
||||
|
@ -29,7 +29,7 @@ interface OverviewPanelProps {
|
|||
overviewPanelProps?: Partial<EuiPanelProps>;
|
||||
}
|
||||
|
||||
export const OverviewPanel: React.FC<OverviewPanelProps> = ({
|
||||
export const OverviewPanel: FC<PropsWithChildren<OverviewPanelProps>> = ({
|
||||
children,
|
||||
description,
|
||||
leftPanelContent,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import {
|
||||
EuiCallOut,
|
||||
|
@ -34,9 +34,10 @@ export interface SelectClientPanelProps {
|
|||
application?: ApplicationStart;
|
||||
consolePlugin?: ConsolePluginStart;
|
||||
sharePlugin: SharePluginStart;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export const SelectClientPanel: React.FC<SelectClientPanelProps> = ({
|
||||
export const SelectClientPanel: FC<PropsWithChildren<SelectClientPanelProps>> = ({
|
||||
docLinks,
|
||||
children,
|
||||
isPanelLeft = true,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { createContext, useEffect, useRef, useState } from 'react';
|
||||
import React, { createContext, useEffect, useRef, useState, FC, PropsWithChildren } from 'react';
|
||||
|
||||
import {
|
||||
EuiButton,
|
||||
|
@ -46,6 +46,7 @@ interface ConnectorConfigurationProps {
|
|||
saveConfig: (configuration: Record<string, string | number | boolean | null>) => void;
|
||||
stackManagementLink?: string;
|
||||
subscriptionLink?: string;
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
|
||||
interface ConfigEntry extends ConnectorConfigProperties {
|
||||
|
@ -80,7 +81,9 @@ export const LicenseContext = createContext<{
|
|||
stackManagementLink: undefined,
|
||||
});
|
||||
|
||||
export const ConnectorConfigurationComponent: React.FC<ConnectorConfigurationProps> = ({
|
||||
export const ConnectorConfigurationComponent: FC<
|
||||
PropsWithChildren<ConnectorConfigurationProps>
|
||||
> = ({
|
||||
children,
|
||||
connector,
|
||||
hasPlatinumLicense,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
import React, { useEffect, useMemo, useState } from 'react';
|
||||
import React, { useEffect, useMemo, useState, FC, PropsWithChildren } from 'react';
|
||||
import {
|
||||
EuiCallOut,
|
||||
EuiFlexGroup,
|
||||
|
@ -31,7 +31,11 @@ interface SchedulePanelProps {
|
|||
description: string;
|
||||
title: string;
|
||||
}
|
||||
export const SchedulePanel: React.FC<SchedulePanelProps> = ({ title, description, children }) => {
|
||||
export const SchedulePanel: FC<PropsWithChildren<SchedulePanelProps>> = ({
|
||||
title,
|
||||
description,
|
||||
children,
|
||||
}) => {
|
||||
return (
|
||||
<>
|
||||
<EuiSplitPanel.Outer>
|
||||
|
|
|
@ -6,15 +6,14 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiPanel, EuiSpacer, EuiTitle } from '@elastic/eui';
|
||||
|
||||
interface FlyoutPanelProps {
|
||||
title: string;
|
||||
}
|
||||
|
||||
export const FlyoutPanel: React.FC<FlyoutPanelProps> = ({ children, title }) => {
|
||||
export const FlyoutPanel: FC<PropsWithChildren<FlyoutPanelProps>> = ({ children, title }) => {
|
||||
return (
|
||||
<EuiPanel paddingSize="l" color="subdued" hasShadow={false}>
|
||||
<EuiTitle size="xs">
|
||||
|
|
|
@ -6,20 +6,23 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
export interface TestComponentProps {
|
||||
customProp?: boolean;
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
|
||||
export const TestComponent: React.FunctionComponent<TestComponentProps> = ({ children }) => {
|
||||
export const TestComponent: FC<PropsWithChildren<TestComponentProps>> = ({ children }) => {
|
||||
return <span>{children} Test component</span>;
|
||||
};
|
||||
|
||||
export const ForwardeRefTestComponent: React.FunctionComponent<TestComponentProps> =
|
||||
React.forwardRef<HTMLSpanElement, TestComponentProps>(({ children }, ref) => {
|
||||
return <span ref={ref}>{children} Test component</span>;
|
||||
});
|
||||
export const ForwardeRefTestComponent: FC<PropsWithChildren<TestComponentProps>> = React.forwardRef<
|
||||
HTMLSpanElement,
|
||||
PropsWithChildren<TestComponentProps>
|
||||
>(({ children }, ref) => {
|
||||
return <span ref={ref}>{children} Test component</span>;
|
||||
});
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default TestComponent;
|
||||
|
|
|
@ -24,7 +24,7 @@ import {
|
|||
useEuiTheme,
|
||||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { FC, ReactNode, useState } from 'react';
|
||||
import React, { FC, PropsWithChildren, ReactNode, useState } from 'react';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
import type { DocumentDiffMode } from './types';
|
||||
|
||||
|
@ -368,10 +368,12 @@ const enableShowDiffTooltip = i18n.translate('unifiedDataTable.enableShowDiff',
|
|||
});
|
||||
|
||||
const DiffModeEntry: FC<
|
||||
Pick<ComparisonControlsProps, 'diffMode' | 'setDiffMode'> & {
|
||||
entryDiffMode: DocumentDiffMode;
|
||||
disabled?: boolean;
|
||||
}
|
||||
PropsWithChildren<
|
||||
Pick<ComparisonControlsProps, 'diffMode' | 'setDiffMode'> & {
|
||||
entryDiffMode: DocumentDiffMode;
|
||||
disabled?: boolean;
|
||||
}
|
||||
>
|
||||
> = ({ children, entryDiffMode, diffMode, disabled, setDiffMode }) => {
|
||||
const { euiTheme } = useEuiTheme();
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import React, { useEffect, useState, FC, PropsWithChildren } from 'react';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
import { EuiButtonEmpty, EuiToolTip, useEuiTheme } from '@elastic/eui';
|
||||
import { css } from '@emotion/react';
|
||||
|
@ -28,7 +28,9 @@ export interface UnifiedDataTableFooterProps {
|
|||
fieldFormats: FieldFormatsStart;
|
||||
}
|
||||
|
||||
export const UnifiedDataTableFooter: React.FC<UnifiedDataTableFooterProps> = (props) => {
|
||||
export const UnifiedDataTableFooter: FC<PropsWithChildren<UnifiedDataTableFooterProps>> = (
|
||||
props
|
||||
) => {
|
||||
const {
|
||||
isLoadingMore,
|
||||
rowCount,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiFlexGroup, EuiFlexItem, EuiProgress } from '@elastic/eui';
|
||||
import { css } from '@emotion/react';
|
||||
|
||||
|
@ -39,7 +39,7 @@ export interface FieldListProps {
|
|||
* @public
|
||||
* @constructor
|
||||
*/
|
||||
export const FieldList: React.FC<FieldListProps> = ({
|
||||
export const FieldList: FC<PropsWithChildren<FieldListProps>> = ({
|
||||
'data-test-subj': dataTestSubject = 'fieldList',
|
||||
isProcessing,
|
||||
prepend,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
|
||||
import type { I18nStart } from '@kbn/core-i18n-browser';
|
||||
import type { NotificationsStart, ToastOptions } from '@kbn/core-notifications-browser';
|
||||
|
@ -30,7 +30,10 @@ const UserProfilesContext = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* Abstract external service Provider.
|
||||
*/
|
||||
export const UserProfilesProvider: FC<Services> = ({ children, ...services }) => {
|
||||
export const UserProfilesProvider: FC<PropsWithChildren<Services>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
return <UserProfilesContext.Provider value={services}>{children}</UserProfilesContext.Provider>;
|
||||
};
|
||||
|
||||
|
@ -60,7 +63,7 @@ export interface UserProfilesKibanaDependencies {
|
|||
/**
|
||||
* Kibana-specific Provider that maps to known dependency types.
|
||||
*/
|
||||
export const UserProfilesKibanaProvider: FC<UserProfilesKibanaDependencies> = ({
|
||||
export const UserProfilesKibanaProvider: FC<PropsWithChildren<UserProfilesKibanaDependencies>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import {
|
||||
KibanaRootContextProvider,
|
||||
|
@ -21,10 +21,9 @@ export type KibanaRenderContextProviderProps = Omit<KibanaRootContextProviderPro
|
|||
* The `KibanaRenderContextProvider` provides the necessary context for an out-of-current
|
||||
* React render, such as using `ReactDOM.render()`.
|
||||
*/
|
||||
export const KibanaRenderContextProvider: FC<KibanaRenderContextProviderProps> = ({
|
||||
children,
|
||||
...props
|
||||
}) => {
|
||||
export const KibanaRenderContextProvider: FC<
|
||||
PropsWithChildren<KibanaRenderContextProviderProps>
|
||||
> = ({ children, ...props }) => {
|
||||
return (
|
||||
<KibanaRootContextProvider globalStyles={false} {...props}>
|
||||
<KibanaErrorBoundaryProvider analytics={props.analytics}>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useMemo } from 'react';
|
||||
import React, { FC, PropsWithChildren, useMemo } from 'react';
|
||||
import useObservable from 'react-use/lib/useObservable';
|
||||
import createCache from '@emotion/cache';
|
||||
|
||||
|
@ -56,7 +56,7 @@ const cache = { default: emotionCache, global: globalCache, utility: utilitiesCa
|
|||
* Prepares and returns a configured `EuiProvider` for use in Kibana roots. In most cases, this utility context
|
||||
* should not be used. Instead, refer to `KibanaRootContextProvider` to set up the root of Kibana.
|
||||
*/
|
||||
export const KibanaEuiProvider: FC<KibanaEuiProviderProps> = ({
|
||||
export const KibanaEuiProvider: FC<PropsWithChildren<KibanaEuiProviderProps>> = ({
|
||||
theme: { theme$ },
|
||||
globalStyles: globalStylesProp,
|
||||
colorMode: colorModeProp,
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
import type { I18nStart } from '@kbn/core-i18n-browser';
|
||||
import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser';
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import { KibanaEuiProvider, type KibanaEuiProviderProps } from './eui_provider';
|
||||
|
||||
|
@ -34,7 +34,7 @@ export interface KibanaRootContextProviderProps extends KibanaEuiProviderProps {
|
|||
* - Consider `KibanaThemeContextProvider` for altering the theme of a component or tree of components.
|
||||
*
|
||||
*/
|
||||
export const KibanaRootContextProvider: FC<KibanaRootContextProviderProps> = ({
|
||||
export const KibanaRootContextProvider: FC<PropsWithChildren<KibanaRootContextProviderProps>> = ({
|
||||
children,
|
||||
i18n,
|
||||
...props
|
||||
|
|
|
@ -7,19 +7,23 @@
|
|||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { useRef, useEffect, useState, Component } from 'react';
|
||||
import React, { useRef, useEffect, useState, Component, FC, PropsWithChildren } from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { MountPoint } from '@kbn/core/public';
|
||||
import { useIfMounted } from './utils';
|
||||
|
||||
export interface MountPointPortalProps {
|
||||
setMountPoint: (mountPoint: MountPoint<HTMLElement> | undefined) => void;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility component to portal a part of a react application into the provided `MountPoint`.
|
||||
*/
|
||||
export const MountPointPortal: React.FC<MountPointPortalProps> = ({ children, setMountPoint }) => {
|
||||
export const MountPointPortal: FC<PropsWithChildren<MountPointPortalProps>> = ({
|
||||
children,
|
||||
setMountPoint,
|
||||
}) => {
|
||||
// state used to force re-renders when the element changes
|
||||
const [shouldRender, setShouldRender] = useState(false);
|
||||
const el = useRef<HTMLElement>();
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { Loader } from './loader';
|
||||
|
||||
|
@ -17,14 +17,17 @@ const Context = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const ProjectSwitcherProvider: FC<Services> = ({ children, ...services }) => {
|
||||
export const ProjectSwitcherProvider: FC<PropsWithChildren<Services>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
return <Context.Provider value={services}>{children}</Context.Provider>;
|
||||
};
|
||||
|
||||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const ProjectSwitcherKibanaProvider: FC<KibanaDependencies> = ({
|
||||
export const ProjectSwitcherKibanaProvider: FC<PropsWithChildren<KibanaDependencies>> = ({
|
||||
children,
|
||||
coreStart,
|
||||
projectChangeAPIUrl,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, useContext, PropsWithChildren } from 'react';
|
||||
|
||||
import type {
|
||||
Services,
|
||||
|
@ -19,7 +19,7 @@ const ExitFullScreenButtonContext = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* Abstract external service Provider.
|
||||
*/
|
||||
export const ExitFullScreenButtonProvider: FC<ExitFullScreenButtonServices> = ({
|
||||
export const ExitFullScreenButtonProvider: FC<PropsWithChildren<ExitFullScreenButtonServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -33,10 +33,9 @@ export const ExitFullScreenButtonProvider: FC<ExitFullScreenButtonServices> = ({
|
|||
/**
|
||||
* Kibana-specific Provider that maps to known dependency types.
|
||||
*/
|
||||
export const ExitFullScreenButtonKibanaProvider: FC<ExitFullScreenButtonKibanaDependencies> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
export const ExitFullScreenButtonKibanaProvider: FC<
|
||||
PropsWithChildren<ExitFullScreenButtonKibanaDependencies>
|
||||
> = ({ children, ...services }) => {
|
||||
return (
|
||||
<ExitFullScreenButtonContext.Provider
|
||||
value={{
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import {
|
||||
RedirectAppLinksProvider,
|
||||
RedirectAppLinksKibanaProvider,
|
||||
|
@ -23,7 +23,10 @@ const Context = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const NoDataCardProvider: FC<NoDataCardServices> = ({ children, ...services }) => {
|
||||
export const NoDataCardProvider: FC<PropsWithChildren<NoDataCardServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
const { addBasePath, canAccessFleet } = services;
|
||||
|
||||
return (
|
||||
|
@ -36,7 +39,7 @@ export const NoDataCardProvider: FC<NoDataCardServices> = ({ children, ...servic
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const NoDataCardKibanaProvider: FC<NoDataCardKibanaDependencies> = ({
|
||||
export const NoDataCardKibanaProvider: FC<PropsWithChildren<NoDataCardKibanaDependencies>> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import useObservable from 'react-use/lib/useObservable';
|
||||
|
||||
import { NavigationKibanaDependencies, NavigationServices } from './types';
|
||||
|
@ -16,14 +16,17 @@ const Context = React.createContext<NavigationServices | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const NavigationProvider: FC<NavigationServices> = ({ children, ...services }) => {
|
||||
export const NavigationProvider: FC<PropsWithChildren<NavigationServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
return <Context.Provider value={services}>{children}</Context.Provider>;
|
||||
};
|
||||
|
||||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const NavigationKibanaProvider: FC<NavigationKibanaDependencies> = ({
|
||||
export const NavigationKibanaProvider: FC<PropsWithChildren<NavigationKibanaDependencies>> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
|
|
|
@ -6,7 +6,15 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { type FC, useCallback, useContext, useMemo, useState, ReactNode } from 'react';
|
||||
import React, {
|
||||
type FC,
|
||||
type PropsWithChildren,
|
||||
useCallback,
|
||||
useContext,
|
||||
useMemo,
|
||||
useState,
|
||||
ReactNode,
|
||||
} from 'react';
|
||||
import type { ChromeProjectNavigationNode } from '@kbn/core-chrome-browser';
|
||||
|
||||
import { DefaultContent } from './default_content';
|
||||
|
@ -30,7 +38,11 @@ interface Props {
|
|||
activeNodes: ChromeProjectNavigationNode[][];
|
||||
}
|
||||
|
||||
export const PanelProvider: FC<Props> = ({ children, contentProvider, activeNodes }) => {
|
||||
export const PanelProvider: FC<PropsWithChildren<Props>> = ({
|
||||
children,
|
||||
contentProvider,
|
||||
activeNodes,
|
||||
}) => {
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
const [selectedNode, setActiveNode] = useState<PanelNavNode | null>(null);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import {
|
||||
EuiCollapsibleNavBeta,
|
||||
|
@ -16,7 +16,7 @@ import {
|
|||
EuiPageTemplate,
|
||||
} from '@elastic/eui';
|
||||
|
||||
export const Template: FC = ({ children }) => {
|
||||
export const Template: FC<PropsWithChildren> = ({ children }) => {
|
||||
return (
|
||||
<>
|
||||
<EuiHeader position="fixed">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext, useMemo } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext, useMemo } from 'react';
|
||||
|
||||
import { KibanaErrorBoundaryProviderDeps, KibanaErrorBoundaryServices } from '../../types';
|
||||
import { KibanaErrorService } from './error_service';
|
||||
|
@ -17,21 +17,20 @@ const Context = React.createContext<KibanaErrorBoundaryServices | null>(null);
|
|||
* A Context Provider for Jest and Storybooks
|
||||
* @internal
|
||||
*/
|
||||
export const KibanaErrorBoundaryDepsProvider: FC<KibanaErrorBoundaryServices> = ({
|
||||
children,
|
||||
onClickRefresh,
|
||||
errorService,
|
||||
}) => <Context.Provider value={{ onClickRefresh, errorService }}>{children}</Context.Provider>;
|
||||
export const KibanaErrorBoundaryDepsProvider: FC<
|
||||
PropsWithChildren<KibanaErrorBoundaryServices>
|
||||
> = ({ children, onClickRefresh, errorService }) => (
|
||||
<Context.Provider value={{ onClickRefresh, errorService }}>{children}</Context.Provider>
|
||||
);
|
||||
|
||||
/**
|
||||
* Provider that uses dependencies to give context to the KibanaErrorBoundary component
|
||||
* This provider is aware if services were already created from a higher level of the component tree
|
||||
* @public
|
||||
*/
|
||||
export const KibanaErrorBoundaryProvider: FC<KibanaErrorBoundaryProviderDeps> = ({
|
||||
children,
|
||||
analytics,
|
||||
}) => {
|
||||
export const KibanaErrorBoundaryProvider: FC<
|
||||
PropsWithChildren<KibanaErrorBoundaryProviderDeps>
|
||||
> = ({ children, analytics }) => {
|
||||
const parentContext = useContext(Context);
|
||||
const value: KibanaErrorBoundaryServices = useMemo(() => {
|
||||
// FIXME: analytics dep is optional - know when not to overwrite
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
import { render } from '@testing-library/react';
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import { KibanaErrorBoundary } from '../..';
|
||||
import { BadComponent, ChunkLoadErrorComponent, getServicesMock } from '../../mocks';
|
||||
|
@ -22,7 +22,7 @@ describe('<KibanaErrorBoundary>', () => {
|
|||
services = getServicesMock();
|
||||
});
|
||||
|
||||
const Template: FC = ({ children }) => {
|
||||
const Template: FC<PropsWithChildren> = ({ children }) => {
|
||||
return (
|
||||
<KibanaErrorBoundaryDepsProvider {...services}>
|
||||
<KibanaErrorBoundary>{children}</KibanaErrorBoundary>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { createContext, useContext, type FunctionComponent } from 'react';
|
||||
import React, { createContext, useContext, type FC, type PropsWithChildren } from 'react';
|
||||
import type { BaseFilesClient as FilesClient } from '@kbn/shared-ux-file-types';
|
||||
|
||||
export interface FilesContextValue {
|
||||
|
@ -31,8 +31,9 @@ interface ContextProps {
|
|||
* A files client that will be used process uploads.
|
||||
*/
|
||||
client: FilesClient<any>;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
export const FilesContext: FunctionComponent<ContextProps> = ({ client, children }) => {
|
||||
export const FilesContext: FC<PropsWithChildren<ContextProps>> = ({ client, children }) => {
|
||||
return (
|
||||
<FilesContextObject.Provider
|
||||
value={{
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
import React, { createContext, useContext, useMemo, useEffect } from 'react';
|
||||
import type { FunctionComponent } from 'react';
|
||||
import type { FC, PropsWithChildren } from 'react';
|
||||
import { useFilesContext, FilesContextValue } from '@kbn/shared-ux-file-context';
|
||||
import { FileJSON } from '@kbn/shared-ux-file-types';
|
||||
import { FilePickerState, createFilePickerState } from './file_picker_state';
|
||||
|
@ -30,7 +30,7 @@ interface FilePickerContextProps
|
|||
uploadMeta?: unknown;
|
||||
}
|
||||
|
||||
export const FilePickerContext: FunctionComponent<FilePickerContextProps> = ({
|
||||
export const FilePickerContext: FC<PropsWithChildren<FilePickerContextProps>> = ({
|
||||
kind,
|
||||
shouldAllowDelete,
|
||||
pageSize,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import useObservable from 'react-use/lib/useObservable';
|
||||
|
||||
import {
|
||||
|
@ -19,7 +19,7 @@ const RedirectAppLinksContext = React.createContext<RedirectAppLinksServices | n
|
|||
/**
|
||||
* Contextual services Provider.
|
||||
*/
|
||||
export const RedirectAppLinksProvider: FC<RedirectAppLinksServices> = ({
|
||||
export const RedirectAppLinksProvider: FC<PropsWithChildren<RedirectAppLinksServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -34,10 +34,9 @@ export const RedirectAppLinksProvider: FC<RedirectAppLinksServices> = ({
|
|||
/**
|
||||
* Kibana-specific contextual services Provider.
|
||||
*/
|
||||
export const RedirectAppLinksKibanaProvider: FC<RedirectAppLinksKibanaDependencies> = ({
|
||||
children,
|
||||
coreStart,
|
||||
}) => {
|
||||
export const RedirectAppLinksKibanaProvider: FC<
|
||||
PropsWithChildren<RedirectAppLinksKibanaDependencies>
|
||||
> = ({ children, coreStart }) => {
|
||||
const { navigateToUrl, currentAppId$ } = coreStart.application;
|
||||
const currentAppId = useObservable(currentAppId$, undefined);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import {
|
||||
KibanaNoDataPageKibanaProvider,
|
||||
KibanaNoDataPageProvider,
|
||||
|
@ -23,7 +23,7 @@ const Context = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const AnalyticsNoDataPageProvider: FC<AnalyticsNoDataPageServices> = ({
|
||||
export const AnalyticsNoDataPageProvider: FC<PropsWithChildren<AnalyticsNoDataPageServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -41,10 +41,9 @@ export const AnalyticsNoDataPageProvider: FC<AnalyticsNoDataPageServices> = ({
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const AnalyticsNoDataPageKibanaProvider: FC<AnalyticsNoDataPageKibanaDependencies> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
export const AnalyticsNoDataPageKibanaProvider: FC<
|
||||
PropsWithChildren<AnalyticsNoDataPageKibanaDependencies>
|
||||
> = ({ children, ...dependencies }) => {
|
||||
const value: Services = {
|
||||
kibanaGuideDocLink: dependencies.coreStart.docLinks.links.kibana.guide,
|
||||
customBranding: {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
import {
|
||||
NoDataViewsPromptProvider,
|
||||
NoDataViewsPromptKibanaProvider,
|
||||
|
@ -25,7 +25,7 @@ const KibanaNoDataPageContext = React.createContext<Services | null>(null);
|
|||
/**
|
||||
* A Context Provider that provides services to the component.
|
||||
*/
|
||||
export const KibanaNoDataPageProvider: FC<KibanaNoDataPageServices> = ({
|
||||
export const KibanaNoDataPageProvider: FC<PropsWithChildren<KibanaNoDataPageServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -43,10 +43,9 @@ export const KibanaNoDataPageProvider: FC<KibanaNoDataPageServices> = ({
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const KibanaNoDataPageKibanaProvider: FC<KibanaNoDataPageKibanaDependencies> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
export const KibanaNoDataPageKibanaProvider: FC<
|
||||
PropsWithChildren<KibanaNoDataPageKibanaDependencies>
|
||||
> = ({ children, ...dependencies }) => {
|
||||
const { dataViews } = dependencies;
|
||||
const value: Services = {
|
||||
hasESData: dataViews.hasData.hasESData,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import {
|
||||
NoDataConfigPageProvider,
|
||||
|
@ -21,7 +21,7 @@ import {
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const KibanaPageTemplateProvider: FC<KibanaPageTemplateServices> = ({
|
||||
export const KibanaPageTemplateProvider: FC<PropsWithChildren<KibanaPageTemplateServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -31,10 +31,9 @@ export const KibanaPageTemplateProvider: FC<KibanaPageTemplateServices> = ({
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const KibanaPageTemplateKibanaProvider: FC<KibanaPageTemplateKibanaDependencies> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
export const KibanaPageTemplateKibanaProvider: FC<
|
||||
PropsWithChildren<KibanaPageTemplateKibanaDependencies>
|
||||
> = ({ children, ...dependencies }) => {
|
||||
return (
|
||||
<NoDataConfigPageKibanaProvider {...dependencies}>{children}</NoDataConfigPageKibanaProvider>
|
||||
);
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import { NoDataCardKibanaProvider, NoDataCardProvider } from '@kbn/shared-ux-card-no-data';
|
||||
|
||||
|
@ -18,14 +18,17 @@ import type {
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const NoDataPageProvider: FC<NoDataPageServices> = ({ children, ...services }) => {
|
||||
export const NoDataPageProvider: FC<PropsWithChildren<NoDataPageServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
return <NoDataCardProvider {...services}>{children}</NoDataCardProvider>;
|
||||
};
|
||||
|
||||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const NoDataPageKibanaProvider: FC<NoDataPageKibanaDependencies> = ({
|
||||
export const NoDataPageKibanaProvider: FC<PropsWithChildren<NoDataPageKibanaDependencies>> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
|
||||
import { NoDataPageProvider, NoDataPageKibanaProvider } from '@kbn/shared-ux-page-no-data';
|
||||
import type {
|
||||
|
@ -17,7 +17,7 @@ import type {
|
|||
/**
|
||||
* A Context Provider that provides services to the component and its dependencies.
|
||||
*/
|
||||
export const NoDataConfigPageProvider: FC<NoDataConfigPageServices> = ({
|
||||
export const NoDataConfigPageProvider: FC<PropsWithChildren<NoDataConfigPageServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -27,9 +27,8 @@ export const NoDataConfigPageProvider: FC<NoDataConfigPageServices> = ({
|
|||
/**
|
||||
* Kibana-specific Provider that maps dependencies to services.
|
||||
*/
|
||||
export const NoDataConfigPageKibanaProvider: FC<NoDataConfigPageKibanaDependencies> = ({
|
||||
children,
|
||||
...dependencies
|
||||
}) => {
|
||||
export const NoDataConfigPageKibanaProvider: FC<
|
||||
PropsWithChildren<NoDataConfigPageKibanaDependencies>
|
||||
> = ({ children, ...dependencies }) => {
|
||||
return <NoDataPageKibanaProvider {...dependencies}>{children}</NoDataPageKibanaProvider>;
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC, useContext } from 'react';
|
||||
import React, { FC, PropsWithChildren, useContext } from 'react';
|
||||
|
||||
import type {
|
||||
NoDataViewsPromptServices,
|
||||
|
@ -19,7 +19,7 @@ const NoDataViewsPromptContext = React.createContext<NoDataViewsPromptServices |
|
|||
/**
|
||||
* Abstract external service Provider.
|
||||
*/
|
||||
export const NoDataViewsPromptProvider: FC<NoDataViewsPromptServices> = ({
|
||||
export const NoDataViewsPromptProvider: FC<PropsWithChildren<NoDataViewsPromptServices>> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
|
@ -46,10 +46,9 @@ export const NoDataViewsPromptProvider: FC<NoDataViewsPromptServices> = ({
|
|||
/**
|
||||
* Kibana-specific Provider that maps to known dependency types.
|
||||
*/
|
||||
export const NoDataViewsPromptKibanaProvider: FC<NoDataViewsPromptKibanaDependencies> = ({
|
||||
children,
|
||||
...services
|
||||
}) => {
|
||||
export const NoDataViewsPromptKibanaProvider: FC<
|
||||
PropsWithChildren<NoDataViewsPromptKibanaDependencies>
|
||||
> = ({ children, ...services }) => {
|
||||
const {
|
||||
share,
|
||||
coreStart: {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { ComponentStory } from '@storybook/react';
|
||||
import { Render } from '@kbn/presentation-util-plugin/public/__stories__';
|
||||
import { getPartitionVisRenderer } from '../expression_renderers';
|
||||
|
@ -26,7 +26,7 @@ type Props = {
|
|||
syncColors: PartitionChartProps['syncColors'];
|
||||
} & PartitionChartProps['visConfig'];
|
||||
|
||||
const PartitionVis: ComponentStory<FC<Props>> = ({
|
||||
const PartitionVis: ComponentStory<FC<PropsWithChildren<Props>>> = ({
|
||||
visType,
|
||||
syncColors,
|
||||
children,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { ComponentStory } from '@storybook/react';
|
||||
import { Render } from '@kbn/presentation-util-plugin/public/__stories__';
|
||||
import { getPartitionVisRenderer } from '../expression_renderers';
|
||||
|
@ -26,7 +26,7 @@ type Props = {
|
|||
syncColors: PartitionChartProps['syncColors'];
|
||||
} & PartitionChartProps['visConfig'];
|
||||
|
||||
const PartitionVis: ComponentStory<FC<Props>> = ({
|
||||
const PartitionVis: ComponentStory<FC<PropsWithChildren<Props>>> = ({
|
||||
visType,
|
||||
syncColors,
|
||||
children,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { ComponentStory } from '@storybook/react';
|
||||
import { Render } from '@kbn/presentation-util-plugin/public/__stories__';
|
||||
import { getPartitionVisRenderer } from '../expression_renderers';
|
||||
|
@ -26,7 +26,7 @@ type Props = {
|
|||
syncColors: PartitionChartProps['syncColors'];
|
||||
} & PartitionChartProps['visConfig'];
|
||||
|
||||
const PartitionVis: ComponentStory<FC<Props>> = ({
|
||||
const PartitionVis: ComponentStory<FC<PropsWithChildren<Props>>> = ({
|
||||
visType,
|
||||
syncColors,
|
||||
children,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { ComponentStory } from '@storybook/react';
|
||||
import { Render } from '@kbn/presentation-util-plugin/public/__stories__';
|
||||
import { getPartitionVisRenderer } from '../expression_renderers';
|
||||
|
@ -26,7 +26,7 @@ type Props = {
|
|||
syncColors: PartitionChartProps['syncColors'];
|
||||
} & PartitionChartProps['visConfig'];
|
||||
|
||||
const PartitionVis: ComponentStory<FC<Props>> = ({
|
||||
const PartitionVis: ComponentStory<FC<PropsWithChildren<Props>>> = ({
|
||||
visType,
|
||||
syncColors,
|
||||
children,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { QueryClientProvider } from '@tanstack/react-query';
|
||||
import type { ContentClient } from './content_client';
|
||||
|
||||
|
@ -18,10 +18,11 @@ export const useContentClient = (): ContentClient => {
|
|||
return contentClient;
|
||||
};
|
||||
|
||||
export const ContentClientProvider: React.FC<{ contentClient: ContentClient }> = ({
|
||||
contentClient,
|
||||
children,
|
||||
}) => {
|
||||
export const ContentClientProvider: FC<
|
||||
PropsWithChildren<{
|
||||
contentClient: ContentClient;
|
||||
}>
|
||||
> = ({ contentClient, children }) => {
|
||||
return (
|
||||
<ContentClientContext.Provider value={contentClient}>
|
||||
<QueryClientProvider client={contentClient.queryClient}>{children}</QueryClientProvider>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { renderHook } from '@testing-library/react-hooks';
|
||||
import { ContentClientProvider } from './content_client_context';
|
||||
import { ContentClient } from './content_client';
|
||||
|
@ -28,7 +28,7 @@ const setup = () => {
|
|||
});
|
||||
const contentClient = new ContentClient(() => crudClient, contentTypeRegistry);
|
||||
|
||||
const Wrapper: React.FC = ({ children }) => (
|
||||
const Wrapper: FC<PropsWithChildren> = ({ children }) => (
|
||||
<ContentClientProvider contentClient={contentClient}>{children}</ContentClientProvider>
|
||||
);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { renderHook } from '@testing-library/react-hooks';
|
||||
import { ContentClientProvider } from './content_client_context';
|
||||
import { ContentClient } from './content_client';
|
||||
|
@ -24,7 +24,7 @@ const setup = () => {
|
|||
});
|
||||
const contentClient = new ContentClient(() => crudClient, contentTypeRegistry);
|
||||
|
||||
const Wrapper: React.FC = ({ children }) => (
|
||||
const Wrapper: FC<PropsWithChildren> = ({ children }) => (
|
||||
<ContentClientProvider contentClient={contentClient}>{children}</ContentClientProvider>
|
||||
);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { PropsWithChildren } from 'react';
|
||||
import { coreMock } from '@kbn/core/public/mocks';
|
||||
import { CustomIntegrationsSetup, CustomIntegrationsStart } from './types';
|
||||
import { CustomIntegrationsServicesProvider } from './services';
|
||||
|
@ -25,7 +25,7 @@ function createCustomIntegrationsStart(): jest.Mocked<CustomIntegrationsStart> {
|
|||
|
||||
return {
|
||||
languageClientsUiComponents: {},
|
||||
ContextProvider: jest.fn(({ children }) => (
|
||||
ContextProvider: jest.fn(({ children }: PropsWithChildren) => (
|
||||
<CustomIntegrationsServicesProvider {...services}>
|
||||
{children}
|
||||
</CustomIntegrationsServicesProvider>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { CoreSetup, CoreStart, Plugin } from '@kbn/core/public';
|
||||
|
||||
import {
|
||||
|
@ -71,7 +71,7 @@ export class CustomIntegrationsPlugin
|
|||
})),
|
||||
};
|
||||
|
||||
const ContextProvider: React.FC = ({ children }) => (
|
||||
const ContextProvider: FC<PropsWithChildren> = ({ children }) => (
|
||||
<CustomIntegrationsServicesProvider {...services}>
|
||||
{children}
|
||||
</CustomIntegrationsServicesProvider>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { createContext, FC, useContext } from 'react';
|
||||
import React, { createContext, FC, PropsWithChildren, useContext } from 'react';
|
||||
import { CustomIntegrationsFindService } from './find';
|
||||
import { CustomIntegrationsPlatformService } from './platform';
|
||||
|
||||
|
@ -29,10 +29,9 @@ const CustomIntegrationsServicesContext = createContext<CustomIntegrationsServic
|
|||
* Within a plugin, you can use the CustomIntegrations plugin and retrieve a fully-configured
|
||||
* context from the `start` contract.
|
||||
*/
|
||||
export const CustomIntegrationsServicesProvider: FC<CustomIntegrationsServices> = ({
|
||||
children,
|
||||
...services
|
||||
}) => (
|
||||
export const CustomIntegrationsServicesProvider: FC<
|
||||
PropsWithChildren<CustomIntegrationsServices>
|
||||
> = ({ children, ...services }) => (
|
||||
<CustomIntegrationsServicesContext.Provider value={services}>
|
||||
{children}
|
||||
</CustomIntegrationsServicesContext.Provider>
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { FC, PropsWithChildren } from 'react';
|
||||
import { CustomIntegration } from '../common';
|
||||
|
||||
export interface CustomIntegrationsSetup {
|
||||
|
@ -14,8 +15,8 @@ export interface CustomIntegrationsSetup {
|
|||
}
|
||||
|
||||
export interface CustomIntegrationsStart {
|
||||
ContextProvider: React.FC;
|
||||
languageClientsUiComponents: Record<string, React.FC>;
|
||||
ContextProvider: FC<PropsWithChildren>;
|
||||
languageClientsUiComponents: Record<string, FC>;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { PropsWithChildren } from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { mount, ReactWrapper } from 'enzyme';
|
||||
import { I18nProvider } from '@kbn/i18n-react';
|
||||
|
@ -27,7 +27,7 @@ jest.mock('@kbn/content-management-table-list-view-table', () => {
|
|||
return {
|
||||
__esModule: true,
|
||||
...originalModule,
|
||||
TableListViewKibanaProvider: jest.fn().mockImplementation(({ children }) => {
|
||||
TableListViewKibanaProvider: jest.fn().mockImplementation(({ children }: PropsWithChildren) => {
|
||||
return <>{children}</>;
|
||||
}),
|
||||
};
|
||||
|
|
|
@ -13,6 +13,8 @@ import React, {
|
|||
useCallback,
|
||||
useMemo,
|
||||
useLayoutEffect,
|
||||
FC,
|
||||
PropsWithChildren,
|
||||
} from 'react';
|
||||
import { EuiFlexGroup, EuiFlexGroupProps } from '@elastic/eui';
|
||||
|
||||
|
@ -48,7 +50,7 @@ export interface Props {
|
|||
gutterSize?: EuiFlexGroupProps['gutterSize'];
|
||||
}
|
||||
|
||||
export const Panels: React.FC<Props> = ({ maxWidth, flyoutClassName, ...props }) => {
|
||||
export const Panels: FC<PropsWithChildren<Props>> = ({ maxWidth, flyoutClassName, ...props }) => {
|
||||
const flyoutDOMelement = useMemo(() => {
|
||||
const el = document.getElementsByClassName(flyoutClassName);
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
import React, { useEffect } from 'react';
|
||||
import React, { useEffect, FC, PropsWithChildren } from 'react';
|
||||
|
||||
import { useFlyoutPanelContext } from './flyout_panel';
|
||||
|
||||
export const PanelContent: React.FC = (props) => {
|
||||
export const PanelContent: FC<PropsWithChildren> = (props) => {
|
||||
const { registerContent } = useFlyoutPanelContext();
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
@ -6,7 +6,13 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { createContext, useContext, FunctionComponent, useMemo } from 'react';
|
||||
import React, {
|
||||
createContext,
|
||||
useContext,
|
||||
FunctionComponent,
|
||||
useMemo,
|
||||
PropsWithChildren,
|
||||
} from 'react';
|
||||
import { NotificationsStart, CoreStart } from '@kbn/core/public';
|
||||
import type { BehaviorSubject } from 'rxjs';
|
||||
import type {
|
||||
|
@ -54,7 +60,7 @@ export interface Context {
|
|||
|
||||
const fieldEditorContext = createContext<Context | undefined>(undefined);
|
||||
|
||||
export const FieldEditorProvider: FunctionComponent<Context> = ({
|
||||
export const FieldEditorProvider: FunctionComponent<PropsWithChildren<Context>> = ({
|
||||
services,
|
||||
dataView,
|
||||
links,
|
||||
|
|
|
@ -54,6 +54,7 @@ export interface Props {
|
|||
gutterSize?: EuiFlexGroupProps['gutterSize'];
|
||||
/** Flag to indicate if the panels width are declared as fixed pixel width instead of percent */
|
||||
fixedPanelWidths?: boolean;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export const Panels: React.FC<Props> = ({
|
||||
|
|
|
@ -9,7 +9,7 @@ import React, { useEffect } from 'react';
|
|||
|
||||
import { useFlyoutPanelContext } from './flyout_panel';
|
||||
|
||||
export const PanelContent: React.FC = (props) => {
|
||||
export const PanelContent: React.FC<{ children: React.ReactNode }> = (props) => {
|
||||
const { registerContent } = useFlyoutPanelContext();
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
@ -14,7 +14,8 @@ import React, {
|
|||
useCallback,
|
||||
useEffect,
|
||||
useRef,
|
||||
FunctionComponent,
|
||||
FC,
|
||||
PropsWithChildren,
|
||||
} from 'react';
|
||||
import { renderToString } from 'react-dom/server';
|
||||
import useDebounce from 'react-use/lib/useDebounce';
|
||||
|
@ -64,10 +65,11 @@ const documentsSelector = (state: PreviewState) => {
|
|||
};
|
||||
};
|
||||
|
||||
export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewController }> = ({
|
||||
controller,
|
||||
children,
|
||||
}) => {
|
||||
export const FieldPreviewProvider: FC<
|
||||
PropsWithChildren<{
|
||||
controller: PreviewController;
|
||||
}>
|
||||
> = ({ controller, children }) => {
|
||||
const {
|
||||
dataView,
|
||||
services: {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { EuiButton, EuiButtonEmpty, EuiPageHeader } from '@elastic/eui';
|
||||
import { DataView } from '@kbn/data-views-plugin/public';
|
||||
|
@ -46,7 +46,7 @@ const removeTooltip = i18n.translate('indexPatternManagement.editDataView.remove
|
|||
defaultMessage: 'Delete',
|
||||
});
|
||||
|
||||
export const IndexHeader: React.FC<IndexHeaderProps> = ({
|
||||
export const IndexHeader: FC<PropsWithChildren<IndexHeaderProps>> = ({
|
||||
defaultIndex,
|
||||
indexPattern,
|
||||
setDefault,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { Fragment, useCallback, useMemo, useState } from 'react';
|
||||
import React, { Fragment, useCallback, useMemo, useState, FC, PropsWithChildren } from 'react';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
import { EuiSpacer, EuiText, useEuiPaddingSize } from '@elastic/eui';
|
||||
import { css } from '@emotion/react';
|
||||
|
@ -242,7 +242,7 @@ export function ContextAppContent({
|
|||
);
|
||||
}
|
||||
|
||||
const WrapperWithPadding: React.FC = ({ children }) => {
|
||||
const WrapperWithPadding: FC<PropsWithChildren> = ({ children }) => {
|
||||
const padding = useEuiPaddingSize('s');
|
||||
|
||||
return (
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { css } from '@emotion/react';
|
||||
import { EuiFlexGroup, EuiFlexItem, EuiProgress } from '@elastic/eui';
|
||||
import {
|
||||
|
@ -29,7 +29,7 @@ export interface SavedSearchEmbeddableBaseProps {
|
|||
interceptedWarnings?: SearchResponseWarning[];
|
||||
}
|
||||
|
||||
export const SavedSearchEmbeddableBase: React.FC<SavedSearchEmbeddableBaseProps> = ({
|
||||
export const SavedSearchEmbeddableBase: FC<PropsWithChildren<SavedSearchEmbeddableBaseProps>> = ({
|
||||
isLoading,
|
||||
totalHitCount,
|
||||
prepend,
|
||||
|
|
|
@ -14,6 +14,8 @@ import React, {
|
|||
useMemo,
|
||||
useEffect,
|
||||
useRef,
|
||||
FC,
|
||||
PropsWithChildren,
|
||||
} from 'react';
|
||||
import { EuiFlyout } from '@elastic/eui';
|
||||
|
||||
|
@ -39,7 +41,7 @@ const DEFAULT_FLYOUT_PROPS = {
|
|||
maxWidth: 500,
|
||||
};
|
||||
|
||||
export const GlobalFlyoutProvider: React.FC = ({ children }) => {
|
||||
export const GlobalFlyoutProvider: FC<PropsWithChildren> = ({ children }) => {
|
||||
const [showFlyout, setShowFlyout] = useState(false);
|
||||
const [activeContent, setActiveContent] = useState<Content<any> | undefined>(undefined);
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiLoadingSpinner, EuiText, EuiPageTemplate } from '@elastic/eui';
|
||||
|
||||
export const PageLoading: React.FunctionComponent = ({ children }) => {
|
||||
export const PageLoading: FC<PropsWithChildren> = ({ children }) => {
|
||||
return (
|
||||
<EuiPageTemplate.EmptyPrompt
|
||||
title={<EuiLoadingSpinner size="xl" />}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
import React, { useState, useContext, createContext } from 'react';
|
||||
import React, { useState, useContext, createContext, FC, PropsWithChildren } from 'react';
|
||||
import { EuiSpacer, EuiText, EuiTextColor, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { TextField, NumericField } from '../../../components';
|
||||
|
@ -48,7 +48,7 @@ const useGlobalFields = () => {
|
|||
return ctx;
|
||||
};
|
||||
|
||||
const FormGlobalFields: React.FC = ({ children }) => {
|
||||
const FormGlobalFields: FC<PropsWithChildren> = ({ children }) => {
|
||||
return (
|
||||
<UseMultiFields fields={globalFields}>
|
||||
{(fields) => {
|
||||
|
@ -170,7 +170,7 @@ const useGlobalFields = () => {
|
|||
return ctx;
|
||||
};
|
||||
|
||||
const FormGlobalFields: React.FC = ({ children }) => {
|
||||
const FormGlobalFields: FC<PropsWithChildren> = ({ children }) => {
|
||||
return (
|
||||
<UseMultiFields fields={globalFields}>
|
||||
{(fields) => {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiSpacer, EuiButton } from '@elastic/eui';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
|
||||
|
@ -30,7 +30,7 @@ export interface FormWrapperProps {
|
|||
formConfig?: FormConfig<any>;
|
||||
}
|
||||
|
||||
export const FormWrapper: FC<FormWrapperProps> = ({ formConfig, children }) => {
|
||||
export const FormWrapper: FC<PropsWithChildren<FormWrapperProps>> = ({ formConfig, children }) => {
|
||||
const { form } = useForm(formConfig);
|
||||
|
||||
return (
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { createContext, useContext, FC } from 'react';
|
||||
import React, { createContext, useContext, FC, PropsWithChildren } from 'react';
|
||||
|
||||
import type { AppContext } from './types';
|
||||
|
||||
const FilesManagementAppContext = createContext<AppContext>(null as unknown as AppContext);
|
||||
|
||||
export const FilesManagementAppContextProvider: FC<AppContext> = ({
|
||||
export const FilesManagementAppContextProvider: FC<PropsWithChildren<AppContext>> = ({
|
||||
children,
|
||||
filesClient,
|
||||
getFileKindDefinition,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type { FunctionComponent } from 'react';
|
||||
import type { FC, PropsWithChildren } from 'react';
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
|
||||
|
@ -52,7 +52,7 @@ export interface ProvidersProps {
|
|||
defaultCode?: string;
|
||||
}
|
||||
|
||||
export const Providers: FunctionComponent<ProvidersProps> = ({
|
||||
export const Providers: FC<PropsWithChildren<ProvidersProps>> = ({
|
||||
defaultCode,
|
||||
services,
|
||||
children,
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
*/
|
||||
|
||||
import { EuiToolTip } from '@elastic/eui';
|
||||
import type { FunctionComponent } from 'react';
|
||||
import type { FC, PropsWithChildren } from 'react';
|
||||
import React, { useLayoutEffect, useRef, useState } from 'react';
|
||||
|
||||
export const TextTruncate: FunctionComponent = ({ children }) => {
|
||||
export const TextTruncate: FC<PropsWithChildren> = ({ children }) => {
|
||||
const textRef = useRef<HTMLSpanElement>(null);
|
||||
const [showTooltip, setShowTooltip] = useState(false);
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
import { EuiModal, EuiModalHeader } from '@elastic/eui';
|
||||
import constate from 'constate';
|
||||
import type { FunctionComponent } from 'react';
|
||||
import type { FC, PropsWithChildren } from 'react';
|
||||
import React, { useEffect, useRef, useState } from 'react';
|
||||
|
||||
import { euiThemeVars } from '@kbn/ui-theme';
|
||||
|
@ -38,7 +38,7 @@ const [OuterVerificationProvider, useVerification] = constate(
|
|||
}
|
||||
);
|
||||
|
||||
const InnerVerificationProvider: FunctionComponent = ({ children }) => {
|
||||
const InnerVerificationProvider: FC<PropsWithChildren> = ({ children }) => {
|
||||
const { http } = useKibana();
|
||||
const { status, setStatus, setCode } = useVerification();
|
||||
|
||||
|
@ -72,7 +72,7 @@ const InnerVerificationProvider: FunctionComponent = ({ children }) => {
|
|||
);
|
||||
};
|
||||
|
||||
export const VerificationProvider: FunctionComponent<VerificationProps> = ({
|
||||
export const VerificationProvider: FC<PropsWithChildren<VerificationProps>> = ({
|
||||
defaultCode,
|
||||
children,
|
||||
}) => {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { KibanaReactContext, KibanaReactContextValue, KibanaServices } from './types';
|
||||
import { createReactOverlays } from '../overlays';
|
||||
import { createNotifications } from '../notifications';
|
||||
|
@ -28,8 +28,8 @@ export const useKibana = <Extra extends object = {}>(): KibanaReactContextValue<
|
|||
|
||||
export const withKibana = <Props extends { kibana: KibanaReactContextValue<{}> }>(
|
||||
type: React.ComponentType<Props>
|
||||
): React.FC<Omit<Props, 'kibana'>> => {
|
||||
const EnhancedType: React.FC<Omit<Props, 'kibana'>> = (props: Omit<Props, 'kibana'>) => {
|
||||
): FC<Omit<Props, 'kibana'>> => {
|
||||
const EnhancedType: FC<Omit<Props, 'kibana'>> = (props: Omit<Props, 'kibana'>) => {
|
||||
const kibana = useKibana();
|
||||
return React.createElement(type, { ...props, kibana } as Props);
|
||||
};
|
||||
|
@ -45,7 +45,7 @@ export const createKibanaReactContext = <Services extends KibanaServices>(
|
|||
notifications: createNotifications(services),
|
||||
};
|
||||
|
||||
const Provider: React.FC<{ services?: Services }> = ({
|
||||
const Provider: FC<PropsWithChildren<{ services?: Services }>> = ({
|
||||
services: newServices = {},
|
||||
children,
|
||||
}) => {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { CoreStart } from '@kbn/core/public';
|
||||
import { KibanaReactOverlays } from '../overlays';
|
||||
import { KibanaReactNotifications } from '../notifications';
|
||||
|
@ -21,6 +21,6 @@ export interface KibanaReactContextValue<Services extends KibanaServices> {
|
|||
|
||||
export interface KibanaReactContext<T extends KibanaServices> {
|
||||
value: KibanaReactContextValue<T>;
|
||||
Provider: React.FC<{ services?: T }>;
|
||||
Provider: FC<PropsWithChildren<{ services?: T }>>;
|
||||
Consumer: React.Consumer<KibanaReactContextValue<T>>;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { EuiProviderProps } from '@elastic/eui';
|
||||
|
@ -16,9 +16,12 @@ import { KibanaThemeProvider as KbnThemeProvider } from '@kbn/react-kibana-conte
|
|||
export interface KibanaThemeProviderProps {
|
||||
theme$: Observable<CoreTheme>;
|
||||
modify?: EuiProviderProps<{}>['modify'];
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
/** @deprecated use `KibanaThemeProvider` from `@kbn/react-kibana-context-theme */
|
||||
export const KibanaThemeProvider: FC<KibanaThemeProviderProps> = ({ theme$, modify, children }) => (
|
||||
<KbnThemeProvider {...{ theme: { theme$ }, modify }}>{children}</KbnThemeProvider>
|
||||
);
|
||||
export const KibanaThemeProvider: FC<PropsWithChildren<KibanaThemeProviderProps>> = ({
|
||||
theme$,
|
||||
modify,
|
||||
children,
|
||||
}) => <KbnThemeProvider {...{ theme: { theme$ }, modify }}>{children}</KbnThemeProvider>;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { createContext, useContext } from 'react';
|
||||
import React, { createContext, useContext, FC, PropsWithChildren } from 'react';
|
||||
import { PluginServiceFactory } from './factory';
|
||||
|
||||
/**
|
||||
|
@ -62,7 +62,7 @@ export class PluginServiceProvider<
|
|||
private _requiredServices?: RequiredServices;
|
||||
private context = createContext<Service | null>(null);
|
||||
private pluginService: Service | null = null;
|
||||
public readonly Provider: React.FC = ({ children }) => {
|
||||
public readonly Provider: FC<PropsWithChildren> = ({ children }) => {
|
||||
return <this.context.Provider value={this.getService()}>{children}</this.context.Provider>;
|
||||
};
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { PluginServiceProvider, PluginServiceProviders } from './provider';
|
||||
import { PluginServiceProvidersMediator } from './providers_mediator';
|
||||
|
||||
|
@ -58,7 +58,7 @@ export class PluginServiceRegistry<
|
|||
|
||||
// Collect and combine Context.Provider elements from each Service Provider into a single
|
||||
// Functional Component.
|
||||
const provider: React.FC = ({ children }) => (
|
||||
const provider: FC<PropsWithChildren> = ({ children }) => (
|
||||
<>
|
||||
{values.reduceRight((acc, serviceProvider) => {
|
||||
return <serviceProvider.Provider>{acc}</serviceProvider.Provider>;
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { FC, PropsWithChildren } from 'react';
|
||||
import { ContentManagementPublicStart } from '@kbn/content-management-plugin/public';
|
||||
import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
|
||||
import { UiActionsStart } from '@kbn/ui-actions-plugin/public';
|
||||
|
@ -16,7 +17,7 @@ import { PresentationLabsService } from './services/labs/types';
|
|||
export interface PresentationUtilPluginSetup {}
|
||||
|
||||
export interface PresentationUtilPluginStart {
|
||||
ContextProvider: React.FC;
|
||||
ContextProvider: FC<PropsWithChildren>;
|
||||
labsService: PresentationLabsService;
|
||||
registerExpressionsLanguage: typeof registerExpressionsLanguage;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
|
||||
import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render';
|
||||
|
@ -32,7 +32,7 @@ interface MinimalSaveModalProps {
|
|||
|
||||
export function showSaveModal(
|
||||
saveModal: React.ReactElement<MinimalSaveModalProps>,
|
||||
Wrapper?: React.FC
|
||||
Wrapper?: FC<PropsWithChildren>
|
||||
) {
|
||||
const container = document.createElement('div');
|
||||
const closeModal = () => {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { lazy, Suspense } from 'react';
|
||||
import React, { lazy, Suspense, FC, PropsWithChildren } from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { Router, Routes, Route } from '@kbn/shared-ux-router';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
@ -43,7 +43,7 @@ export const mountManagementSection = async ({ core, mountParams }: MountParams)
|
|||
|
||||
coreStart.chrome.docTitle.change(title);
|
||||
|
||||
const RedirectToHomeIfUnauthorized: React.FunctionComponent = ({ children }) => {
|
||||
const RedirectToHomeIfUnauthorized: FC<PropsWithChildren> = ({ children }) => {
|
||||
const allowed = capabilities?.management?.kibana?.objects ?? false;
|
||||
|
||||
if (!allowed) {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiButton } from '@elastic/eui';
|
||||
|
||||
export interface ButtonSubmitProps {
|
||||
|
@ -14,7 +14,11 @@ export interface ButtonSubmitProps {
|
|||
onClick: () => void;
|
||||
}
|
||||
|
||||
export const ButtonSubmit: React.FC<ButtonSubmitProps> = ({ disabled, onClick, children }) => {
|
||||
export const ButtonSubmit: FC<PropsWithChildren<ButtonSubmitProps>> = ({
|
||||
disabled,
|
||||
onClick,
|
||||
children,
|
||||
}) => {
|
||||
return (
|
||||
<EuiButton
|
||||
fill
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { EuiFieldText, EuiForm, EuiFormRow, EuiSpacer, EuiCallOut, EuiCode } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { TriggerPicker, TriggerPickerProps } from '../trigger_picker';
|
||||
|
@ -43,7 +43,7 @@ export interface FormDrilldownWizardProps {
|
|||
disabled?: boolean;
|
||||
}
|
||||
|
||||
export const DrilldownForm: React.FC<FormDrilldownWizardProps> = ({
|
||||
export const DrilldownForm: FC<PropsWithChildren<FormDrilldownWizardProps>> = ({
|
||||
name = '',
|
||||
onNameChange,
|
||||
triggers,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import {
|
||||
EuiFlyoutHeader,
|
||||
EuiTitle,
|
||||
|
@ -30,7 +30,7 @@ export interface FlyoutFrameProps {
|
|||
/**
|
||||
* @todo This component can be moved to `kibana_react`.
|
||||
*/
|
||||
export const FlyoutFrame: React.FC<FlyoutFrameProps> = ({
|
||||
export const FlyoutFrame: FC<PropsWithChildren<FlyoutFrameProps>> = ({
|
||||
title = '',
|
||||
footer,
|
||||
onClose,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import {
|
||||
EuiTextColor,
|
||||
EuiTextColorProps,
|
||||
|
@ -24,7 +24,7 @@ export interface TextWithIconProps {
|
|||
iconTooltip?: React.ReactNode;
|
||||
}
|
||||
|
||||
export const TextWithIcon: React.FC<TextWithIconProps> = ({
|
||||
export const TextWithIcon: FC<PropsWithChildren<TextWithIconProps>> = ({
|
||||
color,
|
||||
tooltip,
|
||||
icon,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import React, { FC, PropsWithChildren } from 'react';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { TextWithIcon } from '../text_with_icon';
|
||||
|
||||
|
@ -22,7 +22,7 @@ export interface TriggerLineItemProps {
|
|||
incompatible?: boolean;
|
||||
}
|
||||
|
||||
export const TriggerLineItem: React.FC<TriggerLineItemProps> = ({
|
||||
export const TriggerLineItem: FC<PropsWithChildren<TriggerLineItemProps>> = ({
|
||||
tooltip,
|
||||
incompatible,
|
||||
children,
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue