1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-02 06:07:06 +01:00
metamask-extension/ui/components/ui/form-field
Harsh Shukla 7b323b8a30
Part of #17670: Replace Typography with Text component for 11 files. (#18837)
* Part of #17670: Replace Typography with Text component for 10 files.

* Update radio-group.component.js

* Update create-password.test.js.snap

* Update custom-spending-cap.test.js.snap

* Update add-network-modal.test.js.snap

* Update recovery-phrase-reminder.js
2023-04-28 16:18:46 -07:00
..
form-field.js Part of #17670: Replace Typography with Text component for 11 files. (#18837) 2023-04-28 16:18:46 -07:00
form-field.stories.js Part of #17670: Replace Typography with Text component for 11 files. (#18837) 2023-04-28 16:18:46 -07:00
index.js Add form-field component and new account view (#11450) 2021-07-06 17:19:11 -05:00
index.scss UX Icon: updated fas-question icon (#17828) 2023-02-22 16:45:07 -06:00
README.mdx Added storybook check to CI (#17092) 2023-01-21 00:57:46 +05:30

import { Story, Canvas, ArgsTable } from '@storybook/addon-docs';

import FormField from '.';

# Form Field

Various data fields available for forms and pages.

<Canvas>
  <Story id="components-ui-formfield--default-story" />
</Canvas>

## Props

<ArgsTable of={FormField} />

### Title detail

Show form fields with title detail on the left of the title

<Canvas>
  <Story id="components-ui-formfield--form-field-with-title-detail" />
</Canvas>

### Error

Show form fields with error state

<Canvas>
  <Story id="components-ui-formfield--form-field-with-error" />
</Canvas>

### Custom Components

Use the custom component props `TitleTextCustomComponent`, `TitleUnitCustomComponent` and `TooltipCustomComponent` to replace the default components.
If these props exists they will replace their respective text props. The FormField is wrapped in a Box component that renders as a `<label />` element.
To change the element type, use the `wrappingLabelProps` and polymorphic `as` prop. e.g `wrappingLabelProps={{ as: 'div' }}`. Make sure to provide your own `<label />` element combined with the `id` prop and `htmlFor` to ensure accessibility

<Canvas>
  <Story id="components-ui-formfield--custom-components" />
</Canvas>