diff --git a/packages/grafana-ui/src/components/Forms/index.ts b/packages/grafana-ui/src/components/Forms/index.ts index e2afb6f0f58..6b6ddd8a5d3 100644 --- a/packages/grafana-ui/src/components/Forms/index.ts +++ b/packages/grafana-ui/src/components/Forms/index.ts @@ -1,6 +1,7 @@ import { Controller as InputControl } from 'react-hook-form'; import { getFormStyles } from './getFormStyles'; import { Label } from './Label'; +// To be removed import { Input } from './Input/Input'; import { RadioButtonGroup } from './RadioButtonGroup/RadioButtonGroup'; import { Form } from './Form'; @@ -15,6 +16,7 @@ const Forms = { Switch, getFormStyles, Label, + // To be removed Input, Form, Field, diff --git a/packages/grafana-ui/src/components/OptionsUI/number.tsx b/packages/grafana-ui/src/components/OptionsUI/number.tsx index 692051b1ab9..3adc912f6fc 100644 --- a/packages/grafana-ui/src/components/OptionsUI/number.tsx +++ b/packages/grafana-ui/src/components/OptionsUI/number.tsx @@ -5,7 +5,7 @@ import { toFloatOrUndefined, NumberFieldConfigSettings, } from '@grafana/data'; -import Forms from '../Forms'; +import { Input } from '../Forms/Input/Input'; export const NumberValueEditor: React.FC> = ({ value, @@ -14,7 +14,7 @@ export const NumberValueEditor: React.FC { const { settings } = item; return ( - > = ({ value, @@ -8,7 +8,7 @@ export const StringValueEditor: React.FC { return ( - onChange(e.currentTarget.value)} diff --git a/packages/grafana-ui/src/components/TimePicker/TimePickerContent/TimeRangeForm.tsx b/packages/grafana-ui/src/components/TimePicker/TimePickerContent/TimeRangeForm.tsx index 1fa9fb5f592..b15b83544c9 100644 --- a/packages/grafana-ui/src/components/TimePicker/TimePickerContent/TimeRangeForm.tsx +++ b/packages/grafana-ui/src/components/TimePicker/TimePickerContent/TimeRangeForm.tsx @@ -4,6 +4,7 @@ import { stringToDateTimeType, isValidTimeString } from '../time'; import { mapStringsToTimeRange } from './mapper'; import { TimePickerCalendar } from './TimePickerCalendar'; import Forms from '../../Forms'; +import { Input } from '../../Forms/Input/Input'; import { Button } from '../../Button'; interface Props { @@ -66,7 +67,7 @@ export const TimeRangeForm: React.FC = props => { return ( <> - event.stopPropagation()} onFocus={onFocus} onChange={event => setFrom(eventToState(event, false, timeZone))} @@ -75,7 +76,7 @@ export const TimeRangeForm: React.FC = props => { /> - event.stopPropagation()} onFocus={onFocus} onChange={event => setTo(eventToState(event, true, timeZone))} diff --git a/packages/grafana-ui/src/components/ValueMappingsEditor/MappingRow.tsx b/packages/grafana-ui/src/components/ValueMappingsEditor/MappingRow.tsx index 292cf16e8b0..f7c80432322 100644 --- a/packages/grafana-ui/src/components/ValueMappingsEditor/MappingRow.tsx +++ b/packages/grafana-ui/src/components/ValueMappingsEditor/MappingRow.tsx @@ -2,6 +2,7 @@ import React, { ChangeEvent } from 'react'; import { HorizontalGroup } from '../Layout/Layout'; import { Select } from '../index'; import Forms from '../Forms'; +import { Input } from '../Forms/Input/Input'; import { MappingType, RangeMap, ValueMap, ValueMapping } from '@grafana/data'; import * as styleMixins from '../../themes/mixins'; import { useTheme } from '../../themes'; @@ -48,15 +49,15 @@ export const MappingRow: React.FC = ({ valueMapping, updateValueMapping, <> - + - + - + ); @@ -65,11 +66,11 @@ export const MappingRow: React.FC = ({ valueMapping, updateValueMapping, return ( <> - + - + ); diff --git a/packages/grafana-ui/src/components/index.ts b/packages/grafana-ui/src/components/index.ts index 78a0344a94c..4d74af70a81 100644 --- a/packages/grafana-ui/src/components/index.ts +++ b/packages/grafana-ui/src/components/index.ts @@ -139,6 +139,8 @@ export { ButtonSelect } from './Select/ButtonSelect'; export { HorizontalGroup, VerticalGroup, Container } from './Layout/Layout'; export { RadioButtonGroup } from './Forms/RadioButtonGroup/RadioButtonGroup'; +export { Input } from './Forms/Input/Input'; + // Legacy forms // Select diff --git a/public/app/core/components/FilterInput/FilterInput.tsx b/public/app/core/components/FilterInput/FilterInput.tsx index efe66377289..52d6484094e 100644 --- a/public/app/core/components/FilterInput/FilterInput.tsx +++ b/public/app/core/components/FilterInput/FilterInput.tsx @@ -1,6 +1,6 @@ import React, { FC } from 'react'; import { escapeStringForRegex, unEscapeStringFromRegex } from '@grafana/data'; -import { Forms, Icon } from '@grafana/ui'; +import { Input, Icon } from '@grafana/ui'; export interface Props { value: string | undefined; @@ -11,7 +11,7 @@ export interface Props { } export const FilterInput: FC = props => ( - } diff --git a/public/app/features/admin/UserCreatePage.tsx b/public/app/features/admin/UserCreatePage.tsx index a721c281346..58cf9cfe6cf 100644 --- a/public/app/features/admin/UserCreatePage.tsx +++ b/public/app/features/admin/UserCreatePage.tsx @@ -1,7 +1,7 @@ import React, { useCallback } from 'react'; import { hot } from 'react-hot-loader'; import { connect } from 'react-redux'; -import { Forms, Button } from '@grafana/ui'; +import { Forms, Button, Input } from '@grafana/ui'; import { NavModel } from '@grafana/data'; import { getBackendSrv } from '@grafana/runtime'; import { StoreState } from '../../types'; @@ -37,15 +37,15 @@ const UserCreatePage: React.FC = ({ navModel, updateLocatio return ( <> - + - + - + = ({ navModel, updateLocatio invalid={!!errors.password} error={!!errors.password && 'Password is required and must contain at least 4 characters'} > - = props => { <>
- {label} {this.state.editing ? ( - - onPanelConfigChange('title', e.currentTarget.value)} /> + onPanelConfigChange('title', e.currentTarget.value)} />
- } diff --git a/public/app/features/dashboard/components/PanelEditor/VisualizationTab.tsx b/public/app/features/dashboard/components/PanelEditor/VisualizationTab.tsx index 7e0d7c07503..e8398817d36 100644 --- a/public/app/features/dashboard/components/PanelEditor/VisualizationTab.tsx +++ b/public/app/features/dashboard/components/PanelEditor/VisualizationTab.tsx @@ -1,7 +1,7 @@ import React, { FC, useState } from 'react'; import { css } from 'emotion'; import { GrafanaTheme, PanelPlugin, PanelPluginMeta } from '@grafana/data'; -import { CustomScrollbar, useTheme, stylesFactory, Forms, Icon } from '@grafana/ui'; +import { CustomScrollbar, useTheme, stylesFactory, Icon, Input } from '@grafana/ui'; import { changePanelPlugin } from '../../state/actions'; import { StoreState } from 'app/types'; import { PanelModel } from '../../state/PanelModel'; @@ -45,7 +45,7 @@ export const VisualizationTabUnconnected: FC = ({ panel, plugin, changePa return (
- setSearchQuery(e.currentTarget.value)} prefix={} diff --git a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.tsx b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.tsx index 5feaa7c5bba..aec8b840266 100644 --- a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.tsx +++ b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Button, Forms, HorizontalGroup } from '@grafana/ui'; +import { Button, Forms, HorizontalGroup, Input } from '@grafana/ui'; import { DashboardModel, PanelModel } from 'app/features/dashboard/state'; import { FolderPicker } from 'app/core/components/Select/FolderPicker'; import { SaveDashboardFormProps } from '../types'; @@ -75,12 +75,7 @@ export const SaveDashboardAsForm: React.FC ( <> - + { invalid={!!errors.folderName} error={errors.folderName && errors.folderName.message} > - { invalid={!!errors.gcomDashboard} error={errors.gcomDashboard && errors.gcomDashboard.message} > - = ({ <> Options - = ({ > <> {!uidReset ? ( - = ({ addonAfter={!uidReset && } /> ) : ( - await validateUid(v) })} @@ -119,7 +119,7 @@ export const ImportDashboardForm: FC = ({ invalid={errors.constants && !!errors.constants[index]} key={constantIndex} > - = ({ navModel }) => { invalid={!!errors.name} error={errors.name && errors.name.message} > - = ({ updateLocation }) => { error={!!errors.loginOrEmail && 'Email or Username is required'} label="Email or Username" > - + - + diff --git a/public/app/features/profile/SignupForm.tsx b/public/app/features/profile/SignupForm.tsx index 342ef9300b1..ba8ad7879ec 100644 --- a/public/app/features/profile/SignupForm.tsx +++ b/public/app/features/profile/SignupForm.tsx @@ -1,5 +1,5 @@ import React, { FC } from 'react'; -import { Forms, Button, LinkButton } from '@grafana/ui'; +import { Forms, Button, LinkButton, Input } from '@grafana/ui'; import { css } from 'emotion'; import { getConfig } from 'app/core/config'; @@ -66,19 +66,19 @@ export const SignupForm: FC = props => { <> {verifyEmailEnabled && ( - + )} {!autoAssignOrg && ( - + )} - + - = props => { invalid={!!errors.password} error={!!errors.password && errors.password.message} > - = ({ code {({ register, errors }) => ( <> - = ({ code /> - + - = ({ code error={!!errors.password && errors.password.message} label="Password" > -