diff --git a/.gitignore b/.gitignore
index f52a1b94..fbd92b1a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,7 @@ coverage
.storybook/static/storybook
.storybook/static/.sass-cache
.storybook/styles/.sass-cache
+
+.idea
+.yarn/
+.yarnrc.yml
diff --git a/.storybook/main.js b/.storybook/main.js
index dfd804aa..6496d2ac 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -1,12 +1,28 @@
-module.exports = {
- core: {
- builder: 'webpack5',
+import { dirname, join } from "path";
+
+/** @type { import('@storybook/react-webpack5').StorybookConfig } */
+
+const config = {
+ framework: {
+ name: getAbsolutePath("@storybook/react-webpack5"),
+ options: {},
},
stories: ['../**/*.story.js'],
addons: [
'@storybook/addon-actions',
'@storybook/addon-a11y',
'@storybook/addon-storysource',
- '@storybook/addon-viewport'
+ '@storybook/addon-viewport',
+ '@storybook/addon-docs',
+ '@storybook/blocks',
+ getAbsolutePath("@storybook/addon-webpack5-compiler-swc"),
],
-}
\ No newline at end of file
+ docs: {
+ defaultName: 'Documentation'
+ }
+};
+export default config;
+
+function getAbsolutePath(value) {
+ return dirname(require.resolve(join(value, "package.json")));
+}
diff --git a/.storybook/preview.js b/.storybook/preview.js
index d6b53e87..0fe4a220 100644
--- a/.storybook/preview.js
+++ b/.storybook/preview.js
@@ -1 +1,26 @@
import '../.storybook/styles/application.scss'
+import React from 'react'
+import { Title, Subtitle, Description, Primary, Controls, Stories } from '@storybook/addon-docs/blocks'
+
+const preview = {
+ tags: ['autodocs'],
+ parameters: {
+ docs: {
+ story: {
+ height: '300px',
+ },
+ page: () => (
+ <>
+
+
+
+
+
+
+ >
+ ),
+ }
+ }
+}
+
+export default preview;
diff --git a/package.json b/package.json
index 7892683e..215353ed 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@launchpadlab/lp-components",
- "version": "10.1.0",
+ "version": "10.1.1",
"engines": {
"node": "^18.12 || ^20.0"
},
@@ -27,10 +27,10 @@
"format": "prettier --write \"(src|test|stories|.storybook)/**/*.+(js|jsx|json|scss)\"",
"lint": "eslint src --max-warnings=0",
"prepare": "husky install && yarn run clean && yarn run build",
- "storybook": "yarn && start-storybook -p 6006",
"test": "jest --coverage",
"size": "yarn build && size-limit",
- "storybook:build": "build-storybook -o .storybook/static/storybook",
+ "storybook": "storybook dev -p 6006",
+ "build-storybook": "storybook build -o .storybook/static/storybook",
"heroku-postbuild": "yarn run storybook:build"
},
"files": [
@@ -56,19 +56,24 @@
"devDependencies": {
"@babel/cli": "^7.17.6",
"@babel/core": "^7.17.9",
+ "@chromatic-com/storybook": "^1",
"@launchpadlab/babel-preset": "^2.1.1",
"@launchpadlab/eslint-config": "^3.0.1",
"@launchpadlab/prettier-config": "^1.0.0",
"@size-limit/preset-small-lib": "^8.2.6",
- "@storybook/addon-a11y": "^6.4.22",
- "@storybook/addon-actions": "^6.4.22",
- "@storybook/addon-links": "^6.4.22",
- "@storybook/addon-storysource": "^6.4.22",
- "@storybook/addon-viewport": "^6.4.22",
- "@storybook/addons": "^6.4.22",
- "@storybook/builder-webpack5": "^6.5.14",
- "@storybook/manager-webpack5": "^6.5.14",
- "@storybook/react": "^6.4.22",
+ "@storybook/addon-a11y": "^8.2.0-alpha.6",
+ "@storybook/addon-actions": "^8.2.0-alpha.6",
+ "@storybook/addon-docs": "^8.1.6",
+ "@storybook/addon-links": "^8.2.0-alpha.6",
+ "@storybook/addon-storysource": "^8.2.0-alpha.6",
+ "@storybook/addon-viewport": "^8.2.0-alpha.6",
+ "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
+ "@storybook/addon-webpack5-compiler-swc": "^1.0.3",
+ "@storybook/blocks": "^8.1.6",
+ "@storybook/cli": "^8.2.0-alpha.6",
+ "@storybook/global": "^5.0.0",
+ "@storybook/manager-api": "^8.2.0-alpha.6",
+ "@storybook/react-webpack5": "^8.2.0-alpha.6",
"@testing-library/dom": "^9.3.1",
"@testing-library/jest-dom": "^6.1.3",
"@testing-library/react": "^14.0.0",
@@ -85,13 +90,14 @@
"jest-environment-jsdom": "^29.6.2",
"lint-staged": "^14.0.1",
"prettier": "^3.0.0",
- "react": "^18.0.0",
- "react-dom": "^18.0.0",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
"redux": "^4.1.2",
"regenerator-runtime": "^0.14.0",
"sass": "^1.56.1",
"sass-loader": "^13.2.0",
"size-limit": "^8.2.6",
+ "storybook": "^8.2.0-alpha.6",
"style-loader": "^3.3.1",
"webpack": "^5.75.0"
},
diff --git a/src/controls/index.js b/src/controls/index.js
index 193e0c9a..f936d806 100644
--- a/src/controls/index.js
+++ b/src/controls/index.js
@@ -1,3 +1,5 @@
-export ColorPicker from './color-picker'
-export Paginator from './paginator'
-export TabBar from './tab-bar'
+import ColorPicker from './color-picker'
+import Paginator from './paginator'
+import TabBar from './tab-bar'
+
+export { ColorPicker, Paginator, TabBar }
diff --git a/src/forms/buttons/index.js b/src/forms/buttons/index.js
index 34545193..d8c16882 100644
--- a/src/forms/buttons/index.js
+++ b/src/forms/buttons/index.js
@@ -1,3 +1,5 @@
-export Button from './button'
-export ButtonArea from './button-area'
-export SubmitButton from './submit-button'
+import Button from './button'
+import ButtonArea from './button-area'
+import SubmitButton from './submit-button'
+
+export { Button, ButtonArea, SubmitButton }
diff --git a/src/forms/helpers/index.js b/src/forms/helpers/index.js
index d5ae6d3d..6c8042e7 100644
--- a/src/forms/helpers/index.js
+++ b/src/forms/helpers/index.js
@@ -1,12 +1,27 @@
-export blurDirty from './blur-dirty'
-export castFormValueToArray from './cast-form-value-to-array'
-export convertNameToLabel from './convert-name-to-label'
-export DropdownSelect from './dropdown-select'
-export fromHex from './from-hex'
-export * from './field-prop-types'
-export isImageType from './is-image-type'
-export omitLabelProps from './omit-label-props'
-export replaceEmptyStringValue from './replace-empty-string-value'
-export toHex from './to-hex'
-export hasInputError from './has-input-error'
-export readFilesAsDataUrls from './read-files-as-data-urls'
+import blurDirty from './blur-dirty'
+import castFormValueToArray from './cast-form-value-to-array'
+import convertNameToLabel from './convert-name-to-label'
+import DropdownSelect from './dropdown-select'
+import fromHex from './from-hex'
+import * as fieldPropTypes from './field-prop-types'
+import isImageType from './is-image-type'
+import omitLabelProps from './omit-label-props'
+import replaceEmptyStringValue from './replace-empty-string-value'
+import toHex from './to-hex'
+import hasInputError from './has-input-error'
+import readFilesAsDataUrls from './read-files-as-data-urls'
+
+export {
+ blurDirty,
+ castFormValueToArray,
+ convertNameToLabel,
+ DropdownSelect,
+ fromHex,
+ fieldPropTypes,
+ isImageType,
+ omitLabelProps,
+ replaceEmptyStringValue,
+ toHex,
+ hasInputError,
+ readFilesAsDataUrls,
+}
diff --git a/src/forms/inputs/checkbox-group.js b/src/forms/inputs/checkbox-group.js
index 86c529ad..b6f36732 100644
--- a/src/forms/inputs/checkbox-group.js
+++ b/src/forms/inputs/checkbox-group.js
@@ -1,9 +1,12 @@
import React from 'react'
import PropTypes from 'prop-types'
import Checkbox from './checkbox'
+
import {
checkboxGroupPropTypes,
fieldOptionsType,
+} from '../helpers/field-prop-types'
+import {
omitLabelProps,
replaceEmptyStringValue,
DropdownSelect,
diff --git a/src/forms/inputs/checkbox.js b/src/forms/inputs/checkbox.js
index 5e254a0a..b0bbfd33 100644
--- a/src/forms/inputs/checkbox.js
+++ b/src/forms/inputs/checkbox.js
@@ -1,9 +1,10 @@
import React from 'react'
import PropTypes from 'prop-types'
+
+import { fieldPropTypesWithValue } from '../helpers/field-prop-types'
import {
blurDirty,
hasInputError,
- fieldPropTypesWithValue,
omitLabelProps,
replaceEmptyStringValue,
} from '../helpers'
diff --git a/src/forms/inputs/cloudinary-file-input/cloudinary-file-input.js b/src/forms/inputs/cloudinary-file-input/cloudinary-file-input.js
index 1a1ea12c..66661a20 100644
--- a/src/forms/inputs/cloudinary-file-input/cloudinary-file-input.js
+++ b/src/forms/inputs/cloudinary-file-input/cloudinary-file-input.js
@@ -2,7 +2,8 @@ import React from 'react'
import PropTypes from 'prop-types'
import DefaultFileInput from '../file-input'
import cloudinaryUploader from './cloudinary-uploader'
-import { fileInputPropTypes, readFilesAsDataUrls } from '../../helpers'
+import { fileInputPropTypes } from '../../helpers/field-prop-types'
+import { readFilesAsDataUrls } from '../../helpers'
import { compose, first, noop, set } from '../../../utils'
import classnames from 'classnames'
diff --git a/src/forms/inputs/date-input.js b/src/forms/inputs/date-input.js
index 7622eab9..68956c48 100644
--- a/src/forms/inputs/date-input.js
+++ b/src/forms/inputs/date-input.js
@@ -1,7 +1,8 @@
import React, { useRef } from 'react'
import PropTypes from 'prop-types'
import DatePicker from 'react-datepicker'
-import { blurDirty, fieldPropTypesWithValue, omitLabelProps } from '../helpers'
+import { fieldPropTypesWithValue } from '../helpers/field-prop-types'
+import { blurDirty, omitLabelProps } from '../helpers'
import { LabeledField } from '../labels'
import { compose } from '../../utils'
import { parseISO } from 'date-fns'
diff --git a/src/forms/inputs/file-input/file-input.js b/src/forms/inputs/file-input/file-input.js
index 38f7b441..ed6fc79d 100644
--- a/src/forms/inputs/file-input/file-input.js
+++ b/src/forms/inputs/file-input/file-input.js
@@ -1,8 +1,8 @@
import React, { useState, useEffect, useCallback, useRef } from 'react'
import PropTypes from 'prop-types'
+import { fileInputPropTypes } from '../../helpers/field-prop-types'
import {
castFormValueToArray,
- fileInputPropTypes,
hasInputError,
isImageType,
omitLabelProps,
diff --git a/src/forms/inputs/index.js b/src/forms/inputs/index.js
index a3326504..477c1158 100644
--- a/src/forms/inputs/index.js
+++ b/src/forms/inputs/index.js
@@ -1,15 +1,33 @@
-export Checkbox from './checkbox'
-export CheckboxGroup from './checkbox-group'
-export CloudinaryFileInput from './cloudinary-file-input'
-export ColorInput from './color-input'
-export DateInput from './date-input'
-export FileInput from './file-input'
-export HiddenInput from './hidden-input'
-export Input from './input'
-export IconInput from './icon-input'
-export MaskedInput from './masked-input'
-export RangeInput from './range-input'
-export RadioGroup from './radio-group'
-export Select from './select'
-export Switch from './switch'
-export Textarea from './textarea'
+import Checkbox from './checkbox'
+import CheckboxGroup from './checkbox-group'
+import CloudinaryFileInput from './cloudinary-file-input'
+import ColorInput from './color-input'
+import DateInput from './date-input'
+import FileInput from './file-input'
+import HiddenInput from './hidden-input'
+import Input from './input'
+import IconInput from './icon-input'
+import MaskedInput from './masked-input'
+import RangeInput from './range-input'
+import RadioGroup from './radio-group'
+import Select from './select'
+import Switch from './switch'
+import Textarea from './textarea'
+
+export {
+ Checkbox,
+ CheckboxGroup,
+ CloudinaryFileInput,
+ ColorInput,
+ DateInput,
+ FileInput,
+ HiddenInput,
+ Input,
+ IconInput,
+ MaskedInput,
+ RangeInput,
+ RadioGroup,
+ Select,
+ Switch,
+ Textarea,
+}
diff --git a/src/forms/inputs/radio-group.js b/src/forms/inputs/radio-group.js
index b5bf8b00..39df8249 100644
--- a/src/forms/inputs/radio-group.js
+++ b/src/forms/inputs/radio-group.js
@@ -3,8 +3,8 @@ import PropTypes from 'prop-types'
import {
radioGroupPropTypes,
fieldOptionsType,
- omitLabelProps,
-} from '../helpers'
+} from '../helpers/field-prop-types'
+import { omitLabelProps } from '../helpers'
import { LabeledField, FieldsetLegend } from '../labels'
import { serializeOptions, filterInvalidDOMProps } from '../../utils'
diff --git a/src/forms/inputs/select.js b/src/forms/inputs/select.js
index b11ec20b..404ae414 100644
--- a/src/forms/inputs/select.js
+++ b/src/forms/inputs/select.js
@@ -2,10 +2,12 @@ import React from 'react'
import PropTypes from 'prop-types'
import classnames from 'classnames'
import {
- blurDirty,
- fieldPropTypes,
fieldOptionGroupsType,
fieldOptionsType,
+} from '../helpers/field-prop-types'
+import {
+ blurDirty,
+ fieldPropTypes,
hasInputError,
omitLabelProps,
} from '../helpers'
diff --git a/src/forms/inputs/switch.js b/src/forms/inputs/switch.js
index 12a9e54f..ae232f69 100644
--- a/src/forms/inputs/switch.js
+++ b/src/forms/inputs/switch.js
@@ -1,10 +1,10 @@
import React from 'react'
import PropTypes from 'prop-types'
import { default as BaseSwitch } from 'react-switch'
+import { fieldPropTypesWithValue } from '../helpers/field-prop-types'
import {
blurDirty,
hasInputError,
- fieldPropTypesWithValue,
omitLabelProps,
replaceEmptyStringValue,
} from '../helpers'
diff --git a/src/forms/labels/index.js b/src/forms/labels/index.js
index acb81ea5..5379b8f8 100644
--- a/src/forms/labels/index.js
+++ b/src/forms/labels/index.js
@@ -1,5 +1,7 @@
-export ErrorLabel from './error-label'
-export InputError from './input-error'
-export InputLabel from './input-label'
-export LabeledField from './labeled-field'
-export FieldsetLegend from './fieldset-legend'
+import ErrorLabel from './error-label'
+import InputError from './input-error'
+import InputLabel from './input-label'
+import LabeledField from './labeled-field'
+import FieldsetLegend from './fieldset-legend'
+
+export { ErrorLabel, InputError, InputLabel, LabeledField, FieldsetLegend }
diff --git a/src/index.js b/src/index.js
index 2d41c61d..b27570e5 100644
--- a/src/index.js
+++ b/src/index.js
@@ -3,4 +3,5 @@ export * from './forms'
export * from './tables'
export * from './indicators'
export * from './utils/local'
-export Modal from './modal'
+import Modal from './modal'
+export { Modal }
diff --git a/src/indicators/index.js b/src/indicators/index.js
index 093f51e0..8becbc34 100644
--- a/src/indicators/index.js
+++ b/src/indicators/index.js
@@ -1,4 +1,6 @@
-export FlashMessage from './flash-message'
-export FlashMessageContainer from './flash-message-container'
-export Spinner from './spinner'
-export LoadingContainer from './loading-container'
+import FlashMessage from './flash-message'
+import FlashMessageContainer from './flash-message-container'
+import Spinner from './spinner'
+import LoadingContainer from './loading-container'
+
+export { FlashMessage, FlashMessageContainer, Spinner, LoadingContainer }
diff --git a/src/tables/components/index.js b/src/tables/components/index.js
index 66cfee48..56de6ebc 100644
--- a/src/tables/components/index.js
+++ b/src/tables/components/index.js
@@ -1,2 +1,4 @@
-export TableHeader from './table-header'
-export TableRow from './table-row'
+import TableHeader from './table-header'
+import TableRow from './table-row'
+
+export { TableHeader, TableRow }
diff --git a/src/tables/helpers/index.js b/src/tables/helpers/index.js
index d6ed5fdc..343f546a 100644
--- a/src/tables/helpers/index.js
+++ b/src/tables/helpers/index.js
@@ -1,2 +1,4 @@
-export { columnPropTypes, Types } from './column-prop-types'
-export getColumnData from './get-column-data'
+import { columnPropTypes, Types } from './column-prop-types'
+import getColumnData from './get-column-data'
+
+export { columnPropTypes, Types, getColumnData }
diff --git a/src/tables/index.js b/src/tables/index.js
index 99741f5f..fda09904 100644
--- a/src/tables/index.js
+++ b/src/tables/index.js
@@ -1,3 +1,5 @@
-export Table from './table'
-export SortableTable from './sortable-table'
-export TableColumn from './table-column'
+import Table from './table'
+import SortableTable from './sortable-table'
+import TableColumn from './table-column'
+
+export { Table, SortableTable, TableColumn }
diff --git a/src/utils/index.js b/src/utils/index.js
index 6df02ce8..5f2b4922 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -17,9 +17,10 @@ export {
export { compose, omit, set, get } from 'lodash/fp'
-export filterInvalidDOMProps from 'filter-invalid-dom-props'
+import filterInvalidDOMProps from 'filter-invalid-dom-props'
+import cloudinaryUploader from '../forms/inputs/cloudinary-file-input/cloudinary-uploader'
-export cloudinaryUploader from '../forms/inputs/cloudinary-file-input/cloudinary-uploader'
+export { filterInvalidDOMProps, cloudinaryUploader }
// Local
export * from './local'
diff --git a/src/utils/local/index.js b/src/utils/local/index.js
index a904c6d0..4fe8e6a5 100644
--- a/src/utils/local/index.js
+++ b/src/utils/local/index.js
@@ -1,11 +1,25 @@
-export compareAtPath from './compare-at-path'
-export generateInputErrorId from './generate-input-error-id'
-export isServer from './is-server'
-export removeAt from './remove-at'
-export serializeOptions from './serialize-options'
-export serializeOptionGroups from './serialize-option-groups'
-export stripNamespace from './strip-namespace'
-export triggerOnKeys from './trigger-on-keys'
-export KeyCodes from './key-codes'
-export useToggle from './use-toggle'
-export wrapDisplayName from './wrap-display-name'
+import compareAtPath from './compare-at-path'
+import generateInputErrorId from './generate-input-error-id'
+import isServer from './is-server'
+import removeAt from './remove-at'
+import serializeOptions from './serialize-options'
+import serializeOptionGroups from './serialize-option-groups'
+import stripNamespace from './strip-namespace'
+import triggerOnKeys from './trigger-on-keys'
+import KeyCodes from './key-codes'
+import useToggle from './use-toggle'
+import wrapDisplayName from './wrap-display-name'
+
+export {
+ compareAtPath,
+ generateInputErrorId,
+ isServer,
+ removeAt,
+ serializeOptions,
+ serializeOptionGroups,
+ stripNamespace,
+ triggerOnKeys,
+ KeyCodes,
+ useToggle,
+ wrapDisplayName,
+}
diff --git a/stories/controls/color-picker.story.js b/stories/controls/color-picker.story.js
index e4d54da2..0d0dda58 100644
--- a/stories/controls/color-picker.story.js
+++ b/stories/controls/color-picker.story.js
@@ -1,11 +1,15 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { ColorPicker as StaticColorPicker } from 'src'
import dynamicInput from '../dynamic-input'
const ColorPicker = dynamicInput()(StaticColorPicker)
-storiesOf('ColorPicker', module).add('default', () => (
-
-))
+export default {
+ title: 'ColorPicker'
+}
+
+export const Default = {
+ render: () => ,
+ name: 'default',
+}
diff --git a/stories/controls/paginator/paginator.story.js b/stories/controls/paginator/paginator.story.js
index 712d05d4..9b2a5d67 100644
--- a/stories/controls/paginator/paginator.story.js
+++ b/stories/controls/paginator/paginator.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Paginator as StaticPaginator } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -8,19 +7,38 @@ const Paginator = dynamicInput({
initialValue: 1,
})(StaticPaginator)
-storiesOf('Paginator', module)
- .add('with no hidden pages', () => (
+export default {
+ title: 'Paginator',
+}
+
+export const WithNoHiddenPages = {
+ render: () => (
- ))
- .add('with hidden pages', () => (
-
- ))
- .add('with custom labels', () => (
+ ),
+
+ name: 'with no hidden pages',
+}
+
+export const WithHiddenPages = {
+ render: () => ,
+
+ name: 'with hidden pages',
+}
+
+export const WithCustomLabels = {
+ render: () => (
'}
onChange={action('clicked on page')}
/>
- ))
- .add('with one page (hidden)', () => )
+ ),
+
+ name: 'with custom labels',
+}
+
+export const WithOnePageHidden = {
+ render: () => ,
+ name: 'with one page (hidden)',
+}
diff --git a/stories/controls/tab-bar.story.js b/stories/controls/tab-bar.story.js
index f57ab8d0..63a86a15 100644
--- a/stories/controls/tab-bar.story.js
+++ b/stories/controls/tab-bar.story.js
@@ -1,24 +1,35 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { TabBar as StaticTabBar } from 'src'
import dynamicInput from '../dynamic-input'
const TabBar = dynamicInput({})(StaticTabBar)
-storiesOf('TabBar', module)
- .add('horizontal', () => (
+export default {
+ title: 'TabBar',
+}
+
+export const Horizontal = {
+ render: () => (
- ))
- .add('vertical', () => (
+ ),
+
+ name: 'horizontal',
+}
+
+export const Vertical = {
+ render: () => (
- ))
+ ),
+
+ name: 'vertical',
+}
diff --git a/stories/forms/buttons/button-area.story.js b/stories/forms/buttons/button-area.story.js
index 375499dd..3a79601d 100644
--- a/stories/forms/buttons/button-area.story.js
+++ b/stories/forms/buttons/button-area.story.js
@@ -1,13 +1,23 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Button, ButtonArea } from 'src'
-storiesOf('ButtonArea', module)
- .add('with buttons', () => (
+export default {
+ title: 'ButtonArea',
+}
+
+export const WithButtons = {
+ render: () => (
- ))
- .add('without buttons (empty)', () => )
+ ),
+
+ name: 'with buttons',
+}
+
+export const WithoutButtonsEmpty = {
+ render: () => ,
+ name: 'without buttons (empty)',
+}
diff --git a/stories/forms/buttons/button.story.js b/stories/forms/buttons/button.story.js
index a20b0196..0f693c3b 100644
--- a/stories/forms/buttons/button.story.js
+++ b/stories/forms/buttons/button.story.js
@@ -1,12 +1,15 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Button } from 'src'
const onClick = action('clicked')
-storiesOf('Button', module)
- .add('default', () => (
+export default {
+ title: 'Button',
+}
+
+export const Default = {
+ render: () => (
- ))
- .add('variant: small', () => (
+ ),
+
+ name: 'default',
+}
+
+export const VariantSmall = {
+ render: () => (
- ))
- .add('disabled', () => (
+ ),
+
+ name: 'variant: small',
+}
+
+export const Disabled = {
+ render: () => (
- ))
- .add('submitting', () => (
+ ),
+
+ name: 'disabled',
+}
+
+export const Submitting = {
+ render: () => (
- ))
+ ),
+
+ name: 'submitting',
+}
diff --git a/stories/forms/buttons/submit-button.story.js b/stories/forms/buttons/submit-button.story.js
index 08fa7803..4a74167a 100644
--- a/stories/forms/buttons/submit-button.story.js
+++ b/stories/forms/buttons/submit-button.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Button, SubmitButton } from 'src'
@@ -8,14 +7,23 @@ function submit(e) {
action('form submitted')(e)
}
-storiesOf('SubmitButton', module).add('inside form', () => (
-
-))
+export default {
+ title: 'SubmitButton',
+}
+
+export const InsideForm = {
+ render: () => (
+
+ ),
+
+ name: 'inside form',
+}
diff --git a/stories/forms/inputs/checkbox-group.story.js b/stories/forms/inputs/checkbox-group.story.js
index 01cc524c..7151aa52 100644
--- a/stories/forms/inputs/checkbox-group.story.js
+++ b/stories/forms/inputs/checkbox-group.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { CheckboxGroup as StaticCheckboxGroup } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -30,27 +29,46 @@ const SpecialLabel = ({ id, label }) => (
)
-storiesOf('CheckboxGroup', module)
- .add('with default label', () => (
+export default {
+ title: 'CheckboxGroup',
+}
+
+export const WithDefaultLabel = {
+ render: () => (
- ))
- .add('with custom label', () => (
+ ),
+
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => (
- ))
- .add('with no label', () => (
+ ),
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => (
- ))
- .add('with error', () => (
+ ),
+
+ name: 'with no label',
+}
+
+export const WithError = {
+ render: () => (
- ))
- .add('with empty options', () => (
-
- ))
- .add('with input props specified', () => (
+ ),
+
+ name: 'with error',
+}
+
+export const WithEmptyOptions = {
+ render: () => ,
+
+ name: 'with empty options',
+}
+
+export const WithInputPropsSpecified = {
+ render: () => (
- ))
- .add('with dropdown', () => (
+ ),
+
+ name: 'with input props specified',
+}
+
+export const WithDropdown = {
+ render: () => (
- ))
+ ),
+
+ name: 'with dropdown',
+}
diff --git a/stories/forms/inputs/checkbox.story.js b/stories/forms/inputs/checkbox.story.js
index 0af497fa..966442eb 100644
--- a/stories/forms/inputs/checkbox.story.js
+++ b/stories/forms/inputs/checkbox.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Checkbox as StaticCheckbox } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -15,15 +14,29 @@ const inputProps = {
onChange: action('checkbox clicked'),
}
-storiesOf('Checkbox', module)
- .add('with default label', () => )
- .add('with custom label', () => (
-
- ))
- .add('with no label', () => (
-
- ))
- .add('with error', () => (
+export default {
+ title: 'Checkbox',
+}
+
+export const WithDefaultLabel = {
+ render: () => ,
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => ,
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => ,
+
+ name: 'with no label',
+}
+
+export const WithError = {
+ render: () => (
- ))
- .add('with a tooltip', () => (
+ ),
+
+ name: 'with error',
+}
+
+export const WithATooltip = {
+ render: () => (
- ))
+ ),
+
+ name: 'with a tooltip',
+}
diff --git a/stories/forms/inputs/color-input.story.js b/stories/forms/inputs/color-input.story.js
index f459d8d8..4ec95015 100644
--- a/stories/forms/inputs/color-input.story.js
+++ b/stories/forms/inputs/color-input.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { ColorInput as StaticColorInput } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -15,6 +14,11 @@ const inputProps = {
onBlur: () => {},
}
-storiesOf('ColorInput', module).add('default', () => (
-
-))
+export default {
+ title: 'ColorInput',
+}
+
+export const Default = {
+ render: () => ,
+ name: 'default',
+}
diff --git a/stories/forms/inputs/date-input.story.js b/stories/forms/inputs/date-input.story.js
index 9c02b281..8eaa358c 100644
--- a/stories/forms/inputs/date-input.story.js
+++ b/stories/forms/inputs/date-input.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { DateInput as StaticDateInput } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -15,8 +14,19 @@ const inputProps = {
onBlur: action('blurred'),
}
-storiesOf('DateInput', module)
- .add('default', () => )
- .add('custom placeholder', () => (
+export default {
+ title: 'DateInput',
+}
+
+export const Default = {
+ render: () => ,
+ name: 'default',
+}
+
+export const CustomPlaceholder = {
+ render: () => (
- ))
+ ),
+
+ name: 'custom placeholder',
+}
diff --git a/stories/forms/inputs/file-input.story.js b/stories/forms/inputs/file-input.story.js
index ec0e6dfb..d387c099 100644
--- a/stories/forms/inputs/file-input.story.js
+++ b/stories/forms/inputs/file-input.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { FileInput as StaticFileInput } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -29,28 +28,53 @@ function FilenamePreview({ file }) {
)
}
-storiesOf('FileInput', module)
- .add('with defaults', () => )
- .add('with hidden preview', () => (
-
- ))
- .add('with custom preview', () => (
+export default {
+ title: 'FileInput',
+}
+
+export const WithDefaults = {
+ render: () => ,
+ name: 'with defaults',
+}
+
+export const WithHiddenPreview = {
+ render: () => ,
+
+ name: 'with hidden preview',
+}
+
+export const WithCustomPreview = {
+ render: () => (
- ))
- .add('with thumbnail', () => (
+ ),
+
+ name: 'with custom preview',
+}
+
+export const WithThumbnail = {
+ render: () => (
- ))
- .add('with accepting only images', () => (
-
- ))
- .add('with multiple files', () => (
-
- ))
+ ),
+
+ name: 'with thumbnail',
+}
+
+export const WithAcceptingOnlyImages = {
+ render: () => ,
+
+ name: 'with accepting only images',
+}
+
+export const WithMultipleFiles = {
+ render: () => ,
+
+ name: 'with multiple files',
+}
diff --git a/stories/forms/inputs/hidden-input.story.js b/stories/forms/inputs/hidden-input.story.js
index 3a1abd2c..9711d18e 100644
--- a/stories/forms/inputs/hidden-input.story.js
+++ b/stories/forms/inputs/hidden-input.story.js
@@ -1,11 +1,16 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { HiddenInput } from 'src'
const inputProps = {
name: 'person.firstName',
}
-storiesOf('HiddenInput', module).add('in default state (hidden)', () => (
-
-))
+export default {
+ title: 'HiddenInput',
+}
+
+export const InDefaultStateHidden = {
+ render: () => ,
+
+ name: 'in default state (hidden)',
+}
diff --git a/stories/forms/inputs/icon-input.story.js b/stories/forms/inputs/icon-input.story.js
index 488af289..897bfc6b 100644
--- a/stories/forms/inputs/icon-input.story.js
+++ b/stories/forms/inputs/icon-input.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { IconInput as StaticIconInput } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -14,17 +13,34 @@ const inputProps = {
onChange: action('field changed'),
}
-storiesOf('IconInput', module)
- .add('with default label', () => (
-
- ))
- .add('with custom label', () => (
+export default {
+ title: 'IconInput',
+}
+
+export const WithDefaultLabel = {
+ render: () => ,
+
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => (
- ))
- .add('with no label', () => (
+ ),
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => (
- ))
- .add('with error', () => (
+ ),
+
+ name: 'with no label',
+}
+
+export const WithError = {
+ render: () => (
- ))
+ ),
+
+ name: 'with error',
+}
diff --git a/stories/forms/inputs/input.story.js b/stories/forms/inputs/input.story.js
index d0b78b00..30f2d470 100644
--- a/stories/forms/inputs/input.story.js
+++ b/stories/forms/inputs/input.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Input as StaticInput } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -14,15 +13,29 @@ const inputProps = {
onChange: action('field changed'),
}
-storiesOf('Input', module)
- .add('with default label', () => )
- .add('with custom label', () => (
-
- ))
- .add('with no label', () => (
-
- ))
- .add('with required true custom indicator', () => (
+export default {
+ title: 'Input',
+}
+
+export const WithDefaultLabel = {
+ render: () => ,
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => ,
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => ,
+
+ name: 'with no label',
+}
+
+export const WithRequiredTrueCustomIndicator = {
+ render: () => (
- ))
- .add('with error', () => (
+ ),
+
+ name: 'with required true custom indicator',
+}
+
+export const WithError = {
+ render: () => (
- ))
+ ),
+
+ name: 'with error',
+}
diff --git a/stories/forms/inputs/masked-input.story.js b/stories/forms/inputs/masked-input.story.js
index ed80c221..9a6263f6 100644
--- a/stories/forms/inputs/masked-input.story.js
+++ b/stories/forms/inputs/masked-input.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { MaskedInput as StaticMaskedInput } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -14,11 +13,20 @@ const inputProps = {
onChange: action('field changed'),
}
-storiesOf('MaskedInput', module)
- .add('comma-separated number', () => (
+export default {
+ title: 'MaskedInput',
+}
+
+export const CommaSeparatedNumber = {
+ render: () => (
- ))
- .add('phone number', () => (
+ ),
+
+ name: 'comma-separated number',
+}
+
+export const PhoneNumber = {
+ render: () => (
- ))
+ ),
+
+ name: 'phone number',
+}
diff --git a/stories/forms/inputs/radio-group.story.js b/stories/forms/inputs/radio-group.story.js
index 8f985f70..bdf58e9b 100644
--- a/stories/forms/inputs/radio-group.story.js
+++ b/stories/forms/inputs/radio-group.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { RadioGroup as StaticRadioGroup } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -30,22 +29,39 @@ const SpecialLabel = ({ id, label }) => (
)
-storiesOf('RadioGroup', module)
- .add('with default label', () => (
-
- ))
- .add('with custom label', () => (
+export default {
+ title: 'RadioGroup',
+}
+
+export const WithDefaultLabel = {
+ render: () => ,
+
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => (
- ))
- .add('with no label', () => (
+ ),
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => (
- ))
- .add('with error', () => (
+ ),
+
+ name: 'with no label',
+}
+
+export const WithError = {
+ render: () => (
- ))
- .add('with empty options', () => )
- .add('with disabled options', () => (
+ ),
+
+ name: 'with error',
+}
+
+export const WithEmptyOptions = {
+ render: () => ,
+
+ name: 'with empty options',
+}
+
+export const WithDisabledOptions = {
+ render: () => (
- ))
- .add('with boolean options', () => (
+ ),
+
+ name: 'with disabled options',
+}
+
+export const WithBooleanOptions = {
+ render: () => (
- ))
- .add('with input props specified', () => (
+ ),
+
+ name: 'with boolean options',
+}
+
+export const WithInputPropsSpecified = {
+ render: () => (
- ))
+ ),
+
+ name: 'with input props specified',
+}
diff --git a/stories/forms/inputs/range-input.story.js b/stories/forms/inputs/range-input.story.js
index 429aaa50..e21277fe 100644
--- a/stories/forms/inputs/range-input.story.js
+++ b/stories/forms/inputs/range-input.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { RangeInput as StaticRangeInput } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -14,17 +13,32 @@ const rangeInputProps = {
onChange: action('field changed'),
}
-storiesOf('RangeInput', module)
- .add('with default `step`, `min`, and `max`', () => (
-
- ))
- .add('with custom `step`, `min`, and `max`', () => (
+export default {
+ title: 'RangeInput',
+}
+
+export const WithDefaultStepMinAndMax = {
+ render: () => ,
+
+ name: 'with default `step`, `min`, and `max`',
+}
+
+export const WithCustomStepMinAndMax = {
+ render: () => (
- ))
- .add('with the value label hidden', () => (
-
- ))
- .add('with error', () => (
+ ),
+
+ name: 'with custom `step`, `min`, and `max`',
+}
+
+export const WithTheValueLabelHidden = {
+ render: () => ,
+
+ name: 'with the value label hidden',
+}
+
+export const WithError = {
+ render: () => (
- ))
+ ),
+
+ name: 'with error',
+}
diff --git a/stories/forms/inputs/select.story.js b/stories/forms/inputs/select.story.js
index 8a2e055e..93ef9296 100644
--- a/stories/forms/inputs/select.story.js
+++ b/stories/forms/inputs/select.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Select as StaticSelect } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -28,22 +27,39 @@ const optionGroups = [
{ name: 'Ice Cream Group', options: ['mint chocolate chip', 'cookie dough'] },
]
-storiesOf('Select', module)
- .add('default', () => (
-
- ))
- .add('with custom placeholder', () => (
+export default {
+ title: 'Select',
+}
+
+export const Default = {
+ render: () => ,
+
+ name: 'default',
+}
+
+export const WithCustomPlaceholder = {
+ render: () => (
- ))
- .add('with empty placeholder', () => (
+ ),
+
+ name: 'with custom placeholder',
+}
+
+export const WithEmptyPlaceholder = {
+ render: () => (
- ))
- .add('with enabled placeholder option', () => (
+ ),
+
+ name: 'with empty placeholder',
+}
+
+export const WithEnabledPlaceholderOption = {
+ render: () => (
- ))
- .add('with option groups', () => (
+ ),
+
+ name: 'with enabled placeholder option',
+}
+
+export const WithOptionGroups = {
+ render: () => (
- ))
+ ),
+
+ name: 'with option groups',
+}
diff --git a/stories/forms/inputs/switch.story.js b/stories/forms/inputs/switch.story.js
index 414f2ce6..11699761 100644
--- a/stories/forms/inputs/switch.story.js
+++ b/stories/forms/inputs/switch.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Switch as StaticSwitch } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -15,23 +14,42 @@ const inputProps = {
onChange: action('switch clicked'),
}
-storiesOf('Switch', module)
- .add('with default label', () => )
- .add('with custom label', () => (
-
- ))
- .add('with no label', () => (
-
- ))
- .add('with no icons', () => (
+export default {
+ title: 'Switch'
+}
+
+export const WithDefaultLabel = {
+ render: () => ,
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => ,
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => ,
+
+ name: 'with no label',
+}
+
+export const WithNoIcons = {
+ render: () => (
- ))
- .add('with error', () => (
+ ),
+
+ name: 'with no icons',
+}
+
+export const WithError = {
+ render: () => (
- ))
- .add('with a tooltip', () => (
+ ),
+
+ name: 'with error',
+}
+
+export const WithATooltip = {
+ render: () => (
- ))
+ ),
+
+ name: 'with a tooltip',
+}
diff --git a/stories/forms/inputs/textarea.story.js b/stories/forms/inputs/textarea.story.js
index c7fe8e75..c79d89b5 100644
--- a/stories/forms/inputs/textarea.story.js
+++ b/stories/forms/inputs/textarea.story.js
@@ -1,5 +1,4 @@
import React, { createRef } from 'react'
-import { storiesOf } from '@storybook/react'
import { action } from '@storybook/addon-actions'
import { Textarea as StaticTextarea } from 'src'
import dynamicInput from '../../dynamic-input'
@@ -16,19 +15,38 @@ const inputProps = {
const inputRef = createRef()
-storiesOf('Textarea', module)
- .add('default', () => )
- .add('with custom max length', () => (
-
- ))
- .add('with hidden character count', () => (
+export default {
+ title: 'Textarea',
+}
+
+export const Default = {
+ render: () => ,
+ name: 'default',
+}
+
+export const WithCustomMaxLength = {
+ render: () => ,
+
+ name: 'with custom max length',
+}
+
+export const WithHiddenCharacterCount = {
+ render: () => (
- ))
- .add('with a forwardedRef', () => (
+ ),
+
+ name: 'with hidden character count',
+}
+
+export const WithAForwardedRef = {
+ render: () => (
- ))
+ ),
+
+ name: 'with a forwardedRef',
+}
diff --git a/stories/forms/labels/error-label.story.js b/stories/forms/labels/error-label.story.js
index be61b09a..62bcfc0d 100644
--- a/stories/forms/labels/error-label.story.js
+++ b/stories/forms/labels/error-label.story.js
@@ -1,7 +1,11 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { ErrorLabel } from 'src'
-storiesOf('ErrorLabel', module).add('with a single error', () => (
- An error occurred
-))
+export default {
+ title: 'ErrorLabel',
+}
+
+export const WithASingleError = {
+ render: () => An error occurred,
+ name: 'with a single error',
+}
diff --git a/stories/forms/labels/fieldset-legend.story.js b/stories/forms/labels/fieldset-legend.story.js
index 7e876be2..ed11a4cb 100644
--- a/stories/forms/labels/fieldset-legend.story.js
+++ b/stories/forms/labels/fieldset-legend.story.js
@@ -1,21 +1,41 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { FieldsetLegend } from 'src'
-storiesOf('FieldsetLegend', module)
- .add('with default label', () => )
- .add('with custom label', () => (
-
- ))
- .add('with no label', () => (
-
- ))
- .add('with required true custom indicator', () => (
+export default {
+ title: 'FieldsetLegend',
+}
+
+export const WithDefaultLabel = {
+ render: () => ,
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => ,
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => ,
+
+ name: 'with no label',
+}
+
+export const WithRequiredTrueCustomIndicator = {
+ render: () => (
- ))
- .add('with hint', () => )
+ ),
+
+ name: 'with required true custom indicator',
+}
+
+export const WithHint = {
+ render: () => ,
+ name: 'with hint',
+}
diff --git a/stories/forms/labels/input-error.story.js b/stories/forms/labels/input-error.story.js
index f32a4ff6..4c68040e 100644
--- a/stories/forms/labels/input-error.story.js
+++ b/stories/forms/labels/input-error.story.js
@@ -1,15 +1,26 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { InputError } from 'src'
-storiesOf('InputError', module)
- .add('with a single error', () => (
+export default {
+ title: 'InputError',
+}
+
+export const WithASingleError = {
+ render: () => (
- ))
- .add('with multiple errors', () => (
+ ),
+
+ name: 'with a single error',
+}
+
+export const WithMultipleErrors = {
+ render: () => (
- ))
+ ),
+
+ name: 'with multiple errors',
+}
diff --git a/stories/forms/labels/input-label.story.js b/stories/forms/labels/input-label.story.js
index 1f1679f5..b2aa8532 100644
--- a/stories/forms/labels/input-label.story.js
+++ b/stories/forms/labels/input-label.story.js
@@ -1,22 +1,46 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { InputLabel } from 'src'
-storiesOf('InputLabel', module)
- .add('with default label', () => )
- .add('with custom label', () => (
-
- ))
- .add('with no label', () => )
- .add('with required true custom indicator', () => (
+export default {
+ title: 'InputLabel',
+}
+
+export const WithDefaultLabel = {
+ render: () => ,
+ name: 'with default label',
+}
+
+export const WithCustomLabel = {
+ render: () => ,
+
+ name: 'with custom label',
+}
+
+export const WithNoLabel = {
+ render: () => ,
+ name: 'with no label',
+}
+
+export const WithRequiredTrueCustomIndicator = {
+ render: () => (
- ))
- .add('with hint', () => )
- .add('with tooltip', () => (
-
- ))
+ ),
+
+ name: 'with required true custom indicator',
+}
+
+export const WithHint = {
+ render: () => ,
+ name: 'with hint',
+}
+
+export const WithTooltip = {
+ render: () => ,
+
+ name: 'with tooltip',
+}
diff --git a/stories/forms/labels/labeled-field.story.js b/stories/forms/labels/labeled-field.story.js
index 050aa97e..0334c4ee 100644
--- a/stories/forms/labels/labeled-field.story.js
+++ b/stories/forms/labels/labeled-field.story.js
@@ -1,5 +1,4 @@
import React from 'react'
-import { storiesOf } from '@storybook/react'
import { LabeledField } from 'src'
import dynamicInput from '../../dynamic-input'
import { action } from '@storybook/addon-actions'
@@ -8,8 +7,12 @@ const StaticInput = (props) =>
const Input = dynamicInput()(StaticInput)
const inputName = 'inputName'
-storiesOf('LabeledField', module)
- .add('default', () => (
+export default {
+ title: 'LabeledField',
+}
+
+export const Default = {
+ render: () => (
- ))
- .add('with error', () => (
+ ),
+
+ name: 'default',
+}
+
+export const WithError = {
+ render: () => (
- ))
- .add('hide error', () => (
+ ),
+
+ name: 'with error',
+}
+
+export const HideError = {
+ render: () => (
- ))
- .add('with custom label', () => {
+ ),
+
+ name: 'hide error',
+}
+
+export const WithCustomLabel = {
+ render: () => {
// eslint-disable-next-line
const CustomLabel = ({ onClickLabel }) => (