@nypl/design-system-react-components 0.25.7 → 0.25.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +119 -1
- package/README.md +1 -1
- package/dist/components/Button/Button.d.ts +6 -6
- package/dist/components/Button/ButtonTypes.d.ts +0 -1
- package/dist/components/Card/Card.d.ts +6 -4
- package/dist/components/Checkbox/Checkbox.d.ts +3 -2
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +3 -2
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +8 -2
- package/dist/components/DatePicker/DatePicker.d.ts +4 -3
- package/dist/components/Fieldset/Fieldset.d.ts +1 -3
- package/dist/components/Form/Form.d.ts +15 -14
- package/dist/components/Form/FormTypes.d.ts +2 -2
- package/dist/components/Heading/Heading.d.ts +7 -3
- package/dist/components/Heading/HeadingTypes.d.ts +6 -6
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +5 -2
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +3 -3
- package/dist/components/Icons/Icon.d.ts +4 -4
- package/dist/components/Icons/IconSvgs.d.ts +1 -21
- package/dist/components/Icons/IconTypes.d.ts +1 -23
- package/dist/components/Image/Image.d.ts +11 -3
- package/dist/components/Image/ImageTypes.d.ts +3 -1
- package/dist/components/Link/LinkTypes.d.ts +1 -0
- package/dist/components/Logo/Logo.d.ts +28 -0
- package/dist/components/Logo/LogoSvgs.d.ts +18 -0
- package/dist/components/Logo/LogoTypes.d.ts +30 -0
- package/dist/components/Modal/Modal.d.ts +0 -4
- package/dist/components/Notification/Notification.d.ts +4 -2
- package/dist/components/Placeholder/Placeholder.d.ts +3 -5
- package/dist/components/Radio/Radio.d.ts +6 -5
- package/dist/components/RadioGroup/RadioGroup.d.ts +6 -5
- package/dist/components/SearchBar/SearchBar.d.ts +15 -7
- package/dist/components/Select/Select.d.ts +5 -2
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +8 -4
- package/dist/components/Slider/Slider.d.ts +3 -2
- package/dist/components/StatusBadge/StatusBadge.d.ts +2 -1
- package/dist/components/StructuredContent/StructuredContent.d.ts +41 -0
- package/dist/components/StructuredContent/StructuredContentTypes.d.ts +5 -0
- package/dist/components/Table/Table.d.ts +29 -0
- package/dist/components/Template/Template.d.ts +30 -6
- package/dist/components/Text/Text.d.ts +2 -2
- package/dist/components/TextInput/TextInput.d.ts +4 -3
- package/dist/components/Toggle/Toggle.d.ts +48 -0
- package/dist/components/Toggle/ToggleSizes.d.ts +4 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +17 -6
- package/dist/design-system-react-components.cjs.development.js +4698 -4405
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +5862 -5573
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/resources.scss +0 -2
- package/dist/styles.css +2 -2
- package/dist/theme/components/breadcrumb.d.ts +1 -1
- package/dist/theme/components/button.d.ts +0 -12
- package/dist/theme/components/card.d.ts +14 -2
- package/dist/theme/components/customTable.d.ts +56 -0
- package/dist/theme/components/fieldset.d.ts +2 -2
- package/dist/theme/components/global.d.ts +1 -1
- package/dist/theme/components/heading.d.ts +4 -0
- package/dist/theme/components/label.d.ts +1 -1
- package/dist/theme/components/link.d.ts +14 -1
- package/dist/theme/components/list.d.ts +0 -2
- package/dist/theme/components/logo.d.ts +4 -0
- package/dist/theme/components/notification.d.ts +8 -4
- package/dist/theme/components/searchBar.d.ts +7 -13
- package/dist/theme/components/select.d.ts +1 -0
- package/dist/theme/components/structuredContent.d.ts +33 -0
- package/dist/theme/components/template.d.ts +10 -10
- package/dist/theme/components/textInput.d.ts +2 -0
- package/dist/theme/components/toggle.d.ts +71 -0
- package/dist/theme/foundations/spacing.d.ts +2 -0
- package/dist/utils/utils.d.ts +10 -0
- package/package.json +40 -37
- package/src/__tests__/utils/utils.test.ts +23 -1
- package/src/components/Accordion/Accordion.stories.mdx +16 -15
- package/src/components/Accordion/Accordion.test.tsx +45 -1
- package/src/components/Accordion/Accordion.tsx +20 -8
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +243 -0
- package/src/components/Autosuggest/Autosuggest.stories.mdx +2 -1
- package/src/components/Autosuggest/Autosuggest.stories.tsx +24 -48
- package/src/components/Autosuggest/_Autosuggest.scss +2 -6
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +43 -13
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +25 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +9 -3
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +103 -4
- package/src/components/Button/Button.stories.mdx +93 -48
- package/src/components/Button/Button.test.tsx +0 -12
- package/src/components/Button/Button.tsx +7 -8
- package/src/components/Button/ButtonTypes.tsx +0 -1
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +0 -12
- package/src/components/Card/Card.stories.mdx +246 -64
- package/src/components/Card/Card.test.tsx +45 -22
- package/src/components/Card/Card.tsx +30 -14
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +75 -37
- package/src/components/Chakra/Box.stories.mdx +3 -3
- package/src/components/Chakra/Center.stories.mdx +5 -5
- package/src/components/Chakra/Flex.stories.mdx +113 -0
- package/src/components/Chakra/Grid.stories.mdx +14 -17
- package/src/components/Chakra/Stack.stories.mdx +2 -2
- package/src/components/Checkbox/Checkbox.stories.mdx +37 -15
- package/src/components/Checkbox/Checkbox.tsx +13 -8
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +48 -16
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +14 -10
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +6 -3
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +151 -0
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +36 -23
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +85 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +63 -18
- package/src/components/DatePicker/DatePicker.test.tsx +14 -12
- package/src/components/DatePicker/DatePicker.tsx +13 -10
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +41 -22
- package/src/components/Fieldset/Fieldset.stories.mdx +20 -9
- package/src/components/Fieldset/Fieldset.tsx +2 -4
- package/src/components/Form/Form.stories.mdx +75 -49
- package/src/components/Form/Form.test.tsx +92 -3
- package/src/components/Form/Form.tsx +28 -23
- package/src/components/Form/FormTypes.tsx +2 -2
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +0 -1
- package/src/components/Grid/SimpleGrid.stories.mdx +26 -26
- package/src/components/Heading/Heading.stories.mdx +59 -23
- package/src/components/Heading/Heading.test.tsx +82 -18
- package/src/components/Heading/Heading.tsx +31 -31
- package/src/components/Heading/HeadingTypes.tsx +6 -6
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +71 -0
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +55 -27
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +42 -15
- package/src/components/HelperErrorText/HelperErrorText.tsx +24 -24
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +41 -4
- package/src/components/Hero/Hero.stories.mdx +72 -53
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +11 -9
- package/src/components/HorizontalRule/HorizontalRule.tsx +4 -6
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +4 -4
- package/src/components/Icons/Icon.stories.mdx +77 -75
- package/src/components/Icons/Icon.tsx +4 -5
- package/src/components/Icons/IconSvgs.tsx +2 -42
- package/src/components/Icons/IconTypes.tsx +1 -24
- package/src/components/Image/Image.stories.mdx +214 -104
- package/src/components/Image/Image.test.tsx +10 -0
- package/src/components/Image/Image.tsx +21 -10
- package/src/components/Image/ImageTypes.ts +2 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +24 -8
- package/src/components/Label/Label.stories.mdx +21 -20
- package/src/components/Link/Link.stories.mdx +103 -53
- package/src/components/Link/Link.test.tsx +108 -7
- package/src/components/Link/Link.tsx +58 -19
- package/src/components/Link/LinkTypes.tsx +1 -0
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +261 -0
- package/src/components/List/List.stories.mdx +37 -25
- package/src/components/List/List.tsx +1 -1
- package/src/components/Logo/Logo.stories.mdx +220 -0
- package/src/components/Logo/Logo.test.tsx +98 -0
- package/src/components/Logo/Logo.tsx +97 -0
- package/src/components/Logo/LogoSvgs.tsx +34 -0
- package/src/components/Logo/LogoTypes.tsx +32 -0
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +71 -0
- package/src/components/Modal/Modal.stories.mdx +20 -5
- package/src/components/Modal/Modal.tsx +2 -8
- package/src/components/Notification/Notification.stories.mdx +96 -40
- package/src/components/Notification/Notification.test.tsx +62 -16
- package/src/components/Notification/Notification.tsx +26 -9
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +121 -0
- package/src/components/Pagination/Pagination.stories.mdx +19 -9
- package/src/components/Pagination/Pagination.tsx +3 -3
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +42 -0
- package/src/components/Placeholder/Placeholder.tsx +7 -14
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +74 -46
- package/src/components/Radio/Radio.stories.mdx +39 -19
- package/src/components/Radio/Radio.tsx +13 -9
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +5 -5
- package/src/components/RadioGroup/RadioGroup.stories.mdx +50 -16
- package/src/components/RadioGroup/RadioGroup.test.tsx +13 -11
- package/src/components/RadioGroup/RadioGroup.tsx +97 -94
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +24 -21
- package/src/components/SearchBar/SearchBar.Test.tsx +160 -34
- package/src/components/SearchBar/SearchBar.stories.mdx +116 -34
- package/src/components/SearchBar/SearchBar.tsx +70 -50
- package/src/components/Select/Select.stories.mdx +177 -66
- package/src/components/Select/Select.test.tsx +91 -2
- package/src/components/Select/Select.tsx +29 -13
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +545 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +50 -16
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +8 -4
- package/src/components/Slider/Slider.stories.mdx +74 -23
- package/src/components/Slider/Slider.test.tsx +35 -0
- package/src/components/Slider/Slider.tsx +22 -11
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +67 -30
- package/src/components/StatusBadge/StatusBadge.stories.mdx +33 -18
- package/src/components/StatusBadge/StatusBadge.tsx +2 -1
- package/src/components/StructuredContent/StructuredContent.stories.mdx +427 -0
- package/src/components/StructuredContent/StructuredContent.test.tsx +376 -0
- package/src/components/StructuredContent/StructuredContent.tsx +153 -0
- package/src/components/StructuredContent/StructuredContentTypes.tsx +5 -0
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +283 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +32 -83
- package/src/components/StyleGuide/Breakpoints.stories.mdx +1 -11
- package/src/components/StyleGuide/Buttons.stories.mdx +3 -18
- package/src/components/StyleGuide/ColorCard.tsx +1 -2
- package/src/components/StyleGuide/Colors.stories.mdx +3 -11
- package/src/components/StyleGuide/DesignTokens.stories.mdx +3 -8
- package/src/components/StyleGuide/Forms.stories.mdx +2 -10
- package/src/components/StyleGuide/Iconography.stories.mdx +8 -34
- package/src/components/StyleGuide/Spacing.stories.mdx +3 -14
- package/src/components/StyleGuide/Typography.stories.mdx +64 -76
- package/src/components/Table/Table.stories.mdx +165 -0
- package/src/components/Table/Table.test.tsx +137 -0
- package/src/components/Table/Table.tsx +126 -0
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +1179 -0
- package/src/components/Tabs/Tabs.stories.mdx +20 -14
- package/src/components/Tabs/Tabs.test.tsx +21 -5
- package/src/components/Tabs/Tabs.tsx +33 -18
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +195 -0
- package/src/components/Template/Template.stories.mdx +132 -49
- package/src/components/Template/Template.test.tsx +128 -6
- package/src/components/Template/Template.tsx +93 -13
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +169 -0
- package/src/components/Text/Text.stories.mdx +33 -11
- package/src/components/Text/Text.tsx +2 -2
- package/src/components/TextInput/TextInput.stories.mdx +84 -17
- package/src/components/TextInput/TextInput.test.tsx +96 -0
- package/src/components/TextInput/TextInput.tsx +12 -8
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +240 -0
- package/src/components/Toggle/Toggle.stories.mdx +200 -0
- package/src/components/Toggle/Toggle.test.tsx +140 -0
- package/src/components/Toggle/Toggle.tsx +123 -0
- package/src/components/Toggle/ToggleSizes.tsx +4 -0
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +255 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +96 -25
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +103 -1
- package/src/components/VideoPlayer/VideoPlayer.tsx +72 -22
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +57 -3
- package/src/docs/Chakra.stories.mdx +5 -8
- package/src/docs/Intro.stories.mdx +2 -2
- package/src/index.ts +19 -6
- package/src/styles/base/_03-base.scss +1 -1
- package/src/styles/base/_place-holder.scss +7 -7
- package/src/styles.scss +1 -5
- package/src/theme/components/breadcrumb.ts +5 -5
- package/src/theme/components/button.ts +5 -12
- package/src/theme/components/card.ts +9 -7
- package/src/theme/components/checkbox.ts +1 -1
- package/src/theme/components/customTable.ts +63 -0
- package/src/theme/components/datePicker.ts +1 -1
- package/src/theme/components/global.ts +7 -7
- package/src/theme/components/heading.ts +13 -11
- package/src/theme/components/helperErrorText.ts +1 -1
- package/src/theme/components/icon.ts +2 -2
- package/src/theme/components/image.ts +9 -1
- package/src/theme/components/link.ts +17 -5
- package/src/theme/components/list.ts +1 -3
- package/src/theme/components/logo.ts +54 -0
- package/src/theme/components/notification.ts +9 -7
- package/src/theme/components/searchBar.ts +7 -13
- package/src/theme/components/select.ts +1 -0
- package/src/theme/components/statusBadge.ts +1 -1
- package/src/theme/components/structuredContent.ts +54 -0
- package/src/theme/components/template.ts +10 -10
- package/src/theme/components/text.ts +6 -6
- package/src/theme/components/textInput.ts +1 -0
- package/src/theme/components/toggle.ts +69 -0
- package/src/theme/components/videoPlayer.ts +0 -2
- package/src/theme/foundations/global.ts +2 -2
- package/src/theme/foundations/spacing.ts +3 -0
- package/src/theme/foundations/typography.ts +84 -12
- package/src/theme/index.ts +8 -0
- package/src/utils/componentCategories.ts +5 -2
- package/src/utils/utils.ts +17 -0
- package/dist/__tests__/utils/bem.test.d.ts +0 -1
- package/dist/components/CardEdition/CardEdition.d.ts +0 -21
- package/dist/components/CardEdition/CardEdition.stories.d.ts +0 -27
- package/dist/components/Input/Input.d.ts +0 -36
- package/dist/components/Input/Input.stories.d.ts +0 -29
- package/dist/components/Input/InputTypes.d.ts +0 -6
- package/dist/components/StyleGuide/UIDocCard.d.ts +0 -11
- package/dist/helpers/CSSVariablesHelper.d.ts +0 -3
- package/dist/helpers/getCSSVariable.d.ts +0 -1
- package/dist/interfaces.d.ts +0 -3
- package/dist/utils/bem.d.ts +0 -1
- package/src/__tests__/utils/bem.test.ts +0 -37
- package/src/components/CardEdition/CardEdition.stories.tsx +0 -122
- package/src/components/CardEdition/CardEdition.test.tsx +0 -395
- package/src/components/CardEdition/CardEdition.tsx +0 -60
- package/src/components/CardEdition/_CardEdition.scss +0 -137
- package/src/components/Input/Input.stories.tsx +0 -133
- package/src/components/Input/Input.test.tsx +0 -266
- package/src/components/Input/Input.tsx +0 -81
- package/src/components/Input/InputTypes.tsx +0 -8
- package/src/components/Input/_Input.scss +0 -78
- package/src/components/StyleGuide/UIDocCard.tsx +0 -36
- package/src/helpers/CSSVariablesHelper.tsx +0 -34
- package/src/helpers/getCSSVariable.tsx +0 -5
- package/src/interfaces.ts +0 -3
- package/src/utils/bem.ts +0 -44
|
@@ -2,13 +2,27 @@ import * as React from "react";
|
|
|
2
2
|
import { Box, useStyleConfig } from "@chakra-ui/react";
|
|
3
3
|
|
|
4
4
|
export interface TemplateProps {}
|
|
5
|
+
export interface TemplateHeaderProps {
|
|
6
|
+
/** Flag to render an HTML header element. True by default. */
|
|
7
|
+
renderHeaderElement?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface TemplateFooterProps {
|
|
10
|
+
/** Flag to render an HTML footer element. True by default. */
|
|
11
|
+
renderFooterElement?: boolean;
|
|
12
|
+
}
|
|
5
13
|
export interface TemplateSidebarProps {
|
|
6
14
|
/** Renders the `TemplateContentSidebar` component either on the left or
|
|
7
15
|
* right side of the `TemplateContentPrimary` component. */
|
|
8
16
|
sidebar?: "none" | "left" | "right";
|
|
9
17
|
}
|
|
10
18
|
export interface TemplateContentProps extends TemplateSidebarProps {}
|
|
11
|
-
export interface TemplateAppContainerProps
|
|
19
|
+
export interface TemplateAppContainerProps
|
|
20
|
+
extends TemplateFooterProps,
|
|
21
|
+
TemplateHeaderProps,
|
|
22
|
+
TemplateSidebarProps {
|
|
23
|
+
/** DOM that will be rendered before the rest of the components in
|
|
24
|
+
* `TemplateAppContainer` and immediately before the `TemplateHeader` component. */
|
|
25
|
+
aboveHeader?: React.ReactElement;
|
|
12
26
|
/** DOM that will be rendered in the `TemplateBreakout` component section. */
|
|
13
27
|
breakout?: React.ReactElement;
|
|
14
28
|
/** DOM that will be rendered in the `TemplateContentPrimary` component section. */
|
|
@@ -36,17 +50,52 @@ const Template = (props: React.PropsWithChildren<TemplateProps>) => {
|
|
|
36
50
|
);
|
|
37
51
|
};
|
|
38
52
|
|
|
53
|
+
/**
|
|
54
|
+
* This optional component renders its children from edge-to-edge and should
|
|
55
|
+
* be used for alerts or notifications that are typically site-wide. This must
|
|
56
|
+
* be rendered immediately before the `TemplateHeader` component. This is meant
|
|
57
|
+
* for components that render an `aside` HTML element or HTML element with the
|
|
58
|
+
* `role="complementary"` attribute. These elements should *not* be rendered
|
|
59
|
+
* in the `header` HTML section since that's an accessibility violation.
|
|
60
|
+
*/
|
|
61
|
+
const TemplateAboveHeader = (props: React.PropsWithChildren<TemplateProps>) => {
|
|
62
|
+
const styles = useStyleConfig("TemplateBreakout", {});
|
|
63
|
+
return <Box __css={styles}>{props.children}</Box>;
|
|
64
|
+
};
|
|
65
|
+
|
|
39
66
|
/**
|
|
40
67
|
* This optional component should be the first child of the `Template`
|
|
41
|
-
* component. This is rendered as an HTML `<header>` element.
|
|
68
|
+
* component. This is rendered as an HTML `<header>` element. If an HTML
|
|
69
|
+
* `<header>` element is already passed in a custom component as the children,
|
|
70
|
+
* set `renderFooterElement` to `false`. Otherwise, the parent wrapper will
|
|
71
|
+
* render an HTML `<header>` element.
|
|
42
72
|
*/
|
|
43
|
-
const TemplateHeader = (
|
|
73
|
+
const TemplateHeader = ({
|
|
74
|
+
children,
|
|
75
|
+
renderHeaderElement = true,
|
|
76
|
+
}: React.PropsWithChildren<TemplateHeaderProps>) => {
|
|
44
77
|
const styles = useStyleConfig("TemplateHeader", {});
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
78
|
+
let headerElement = <Box __css={styles}>{children}</Box>;
|
|
79
|
+
|
|
80
|
+
// The user wants to render the `header` HTML element.
|
|
81
|
+
if (renderHeaderElement) {
|
|
82
|
+
// But if they passed in a component that renders an HTML `<header>`,
|
|
83
|
+
// then log a warning.
|
|
84
|
+
React.Children.map(children, (child: React.ReactElement) => {
|
|
85
|
+
if (child?.type === "header" || child?.props?.mdxType === "header") {
|
|
86
|
+
console.warn(
|
|
87
|
+
"`TemplateHeader`: An HTML `header` element was passed in. Set " +
|
|
88
|
+
"`renderHeaderElement` to `false` to avoid nested HTML `header` elements."
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
headerElement = (
|
|
93
|
+
<Box as="header" __css={styles}>
|
|
94
|
+
{children}
|
|
95
|
+
</Box>
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
return headerElement;
|
|
50
99
|
};
|
|
51
100
|
|
|
52
101
|
/**
|
|
@@ -152,10 +201,29 @@ const TemplateContentSidebar = (
|
|
|
152
201
|
/**
|
|
153
202
|
* This optional component should be the last child of the `Template`
|
|
154
203
|
* component. This is rendered as an HTML `<footer>` element and spans the full
|
|
155
|
-
* width of the page.
|
|
204
|
+
* width of the page. If an HTML `<footer>` element is already passed in a
|
|
205
|
+
* custom component, set `renderFooterElement` to `false`.
|
|
156
206
|
*/
|
|
157
|
-
const TemplateFooter = (
|
|
158
|
-
|
|
207
|
+
const TemplateFooter = ({
|
|
208
|
+
children,
|
|
209
|
+
renderFooterElement = true,
|
|
210
|
+
}: React.PropsWithChildren<TemplateFooterProps>) => {
|
|
211
|
+
let footerElement = <>{children}</>;
|
|
212
|
+
|
|
213
|
+
// The user wants to render the `footer` HTML element.
|
|
214
|
+
if (renderFooterElement) {
|
|
215
|
+
// But give a warning if one was passed.
|
|
216
|
+
React.Children.map(children, (child: React.ReactElement) => {
|
|
217
|
+
if (child?.type === "footer" || child?.props?.mdxType === "footer") {
|
|
218
|
+
console.warn(
|
|
219
|
+
"`TemplateFooter`: An HTML `footer` element was passed in. Set " +
|
|
220
|
+
"`renderFooterElement` to `false` to avoid nested HTML `footer` elements."
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
footerElement = <Box as="footer">{children}</Box>;
|
|
225
|
+
}
|
|
226
|
+
return footerElement;
|
|
159
227
|
};
|
|
160
228
|
|
|
161
229
|
/**
|
|
@@ -169,6 +237,7 @@ const TemplateAppContainer = (
|
|
|
169
237
|
props: React.PropsWithChildren<TemplateAppContainerProps>
|
|
170
238
|
) => {
|
|
171
239
|
const {
|
|
240
|
+
aboveHeader,
|
|
172
241
|
breakout,
|
|
173
242
|
contentPrimary,
|
|
174
243
|
contentSidebar,
|
|
@@ -176,7 +245,12 @@ const TemplateAppContainer = (
|
|
|
176
245
|
footer,
|
|
177
246
|
header,
|
|
178
247
|
sidebar = "none",
|
|
248
|
+
renderFooterElement = true,
|
|
249
|
+
renderHeaderElement = true,
|
|
179
250
|
} = props;
|
|
251
|
+
const aboveHeaderElem = aboveHeader && (
|
|
252
|
+
<TemplateAboveHeader>{aboveHeader}</TemplateAboveHeader>
|
|
253
|
+
);
|
|
180
254
|
const breakoutElem = breakout && (
|
|
181
255
|
<TemplateBreakout>{breakout}</TemplateBreakout>
|
|
182
256
|
);
|
|
@@ -191,8 +265,9 @@ const TemplateAppContainer = (
|
|
|
191
265
|
);
|
|
192
266
|
return (
|
|
193
267
|
<Template>
|
|
268
|
+
{aboveHeaderElem}
|
|
194
269
|
{(header || breakoutElem) && (
|
|
195
|
-
<TemplateHeader>
|
|
270
|
+
<TemplateHeader renderHeaderElement={renderHeaderElement}>
|
|
196
271
|
{header}
|
|
197
272
|
{breakoutElem}
|
|
198
273
|
</TemplateHeader>
|
|
@@ -208,7 +283,11 @@ const TemplateAppContainer = (
|
|
|
208
283
|
|
|
209
284
|
{sidebar === "right" && contentSidebarElem}
|
|
210
285
|
</TemplateContent>
|
|
211
|
-
{footer &&
|
|
286
|
+
{footer && (
|
|
287
|
+
<TemplateFooter renderFooterElement={renderFooterElement}>
|
|
288
|
+
{footer}
|
|
289
|
+
</TemplateFooter>
|
|
290
|
+
)}
|
|
212
291
|
</Template>
|
|
213
292
|
);
|
|
214
293
|
};
|
|
@@ -216,6 +295,7 @@ const TemplateAppContainer = (
|
|
|
216
295
|
export {
|
|
217
296
|
TemplateAppContainer,
|
|
218
297
|
Template,
|
|
298
|
+
TemplateAboveHeader,
|
|
219
299
|
TemplateHeader,
|
|
220
300
|
TemplateBreakout,
|
|
221
301
|
TemplateContent,
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Template components Renders the UI snapshot correctly 1`] = `
|
|
4
|
+
<div
|
|
5
|
+
className="nypl-ds css-0"
|
|
6
|
+
>
|
|
7
|
+
<div
|
|
8
|
+
className="css-0"
|
|
9
|
+
>
|
|
10
|
+
<div
|
|
11
|
+
className="placeholder placeholder-short"
|
|
12
|
+
>
|
|
13
|
+
Above Header
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<header
|
|
17
|
+
className="css-0"
|
|
18
|
+
>
|
|
19
|
+
<div
|
|
20
|
+
className="placeholder placeholder-short"
|
|
21
|
+
>
|
|
22
|
+
NYPL Header
|
|
23
|
+
</div>
|
|
24
|
+
<div
|
|
25
|
+
className="css-0"
|
|
26
|
+
>
|
|
27
|
+
<div
|
|
28
|
+
className="placeholder placeholder-short"
|
|
29
|
+
>
|
|
30
|
+
Breadcrumbs
|
|
31
|
+
</div>
|
|
32
|
+
<div
|
|
33
|
+
className="placeholder placeholder-short"
|
|
34
|
+
>
|
|
35
|
+
Hero
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</header>
|
|
39
|
+
<main
|
|
40
|
+
className="css-0"
|
|
41
|
+
>
|
|
42
|
+
<div
|
|
43
|
+
className="css-0"
|
|
44
|
+
>
|
|
45
|
+
<div
|
|
46
|
+
className="placeholder placeholder-undefined"
|
|
47
|
+
>
|
|
48
|
+
Content Top
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div
|
|
52
|
+
className="css-0"
|
|
53
|
+
>
|
|
54
|
+
<div
|
|
55
|
+
className="placeholder placeholder-undefined"
|
|
56
|
+
>
|
|
57
|
+
Left Sidebar
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<div
|
|
61
|
+
className="css-0"
|
|
62
|
+
>
|
|
63
|
+
<div
|
|
64
|
+
className="placeholder placeholder-undefined"
|
|
65
|
+
>
|
|
66
|
+
Main Content
|
|
67
|
+
</div>
|
|
68
|
+
<div
|
|
69
|
+
className="placeholder placeholder-short"
|
|
70
|
+
>
|
|
71
|
+
More Content
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</main>
|
|
75
|
+
<footer
|
|
76
|
+
className="css-0"
|
|
77
|
+
>
|
|
78
|
+
<div
|
|
79
|
+
className="placeholder placeholder-short"
|
|
80
|
+
>
|
|
81
|
+
Footer
|
|
82
|
+
</div>
|
|
83
|
+
</footer>
|
|
84
|
+
</div>
|
|
85
|
+
`;
|
|
86
|
+
|
|
87
|
+
exports[`Template components Renders the UI snapshot correctly 2`] = `
|
|
88
|
+
<div
|
|
89
|
+
className="nypl-ds css-0"
|
|
90
|
+
>
|
|
91
|
+
<div
|
|
92
|
+
className="css-0"
|
|
93
|
+
>
|
|
94
|
+
<div
|
|
95
|
+
className="placeholder placeholder-short"
|
|
96
|
+
>
|
|
97
|
+
Above Header
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
<header
|
|
101
|
+
className="css-0"
|
|
102
|
+
>
|
|
103
|
+
<div
|
|
104
|
+
className="placeholder placeholder-short"
|
|
105
|
+
>
|
|
106
|
+
NYPL Header
|
|
107
|
+
</div>
|
|
108
|
+
<div
|
|
109
|
+
className="css-0"
|
|
110
|
+
>
|
|
111
|
+
<div
|
|
112
|
+
className="placeholder placeholder-short"
|
|
113
|
+
>
|
|
114
|
+
Breadcrumbs
|
|
115
|
+
</div>
|
|
116
|
+
<div
|
|
117
|
+
className="placeholder placeholder-short"
|
|
118
|
+
>
|
|
119
|
+
Hero
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
</header>
|
|
123
|
+
<main
|
|
124
|
+
className="css-0"
|
|
125
|
+
>
|
|
126
|
+
<div
|
|
127
|
+
className="css-0"
|
|
128
|
+
>
|
|
129
|
+
<div
|
|
130
|
+
className="placeholder placeholder-undefined"
|
|
131
|
+
>
|
|
132
|
+
Content Top
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
<div
|
|
136
|
+
className="css-0"
|
|
137
|
+
>
|
|
138
|
+
<div
|
|
139
|
+
className="placeholder placeholder-undefined"
|
|
140
|
+
>
|
|
141
|
+
Left Sidebar
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
<div
|
|
145
|
+
className="css-0"
|
|
146
|
+
>
|
|
147
|
+
<div
|
|
148
|
+
className="placeholder placeholder-undefined"
|
|
149
|
+
>
|
|
150
|
+
Main Content
|
|
151
|
+
</div>
|
|
152
|
+
<div
|
|
153
|
+
className="placeholder placeholder-short"
|
|
154
|
+
>
|
|
155
|
+
More Content
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
</main>
|
|
159
|
+
<footer
|
|
160
|
+
className="css-0"
|
|
161
|
+
>
|
|
162
|
+
<div
|
|
163
|
+
className="placeholder placeholder-short"
|
|
164
|
+
>
|
|
165
|
+
Footer
|
|
166
|
+
</div>
|
|
167
|
+
</footer>
|
|
168
|
+
</div>
|
|
169
|
+
`;
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
|
-
Canvas,
|
|
5
2
|
ArgsTable,
|
|
3
|
+
Canvas,
|
|
6
4
|
Description,
|
|
7
|
-
|
|
5
|
+
Meta,
|
|
6
|
+
Story,
|
|
7
|
+
} from "@storybook/addon-docs";
|
|
8
8
|
import { withDesign } from "storybook-addon-designs";
|
|
9
9
|
|
|
10
10
|
import Text from "./Text";
|
|
11
|
+
import { TextDisplaySizes } from "./TextTypes";
|
|
11
12
|
import { getCategory } from "../../utils/componentCategories";
|
|
13
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
14
|
+
|
|
15
|
+
export const enumValues = getStorybookEnumValues(
|
|
16
|
+
TextDisplaySizes,
|
|
17
|
+
"TextDisplaySizes"
|
|
18
|
+
);
|
|
12
19
|
|
|
13
20
|
<Meta
|
|
14
21
|
title={getCategory("Text")}
|
|
@@ -17,13 +24,19 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
17
24
|
parameters={{
|
|
18
25
|
design: {
|
|
19
26
|
type: "figma",
|
|
20
|
-
url:
|
|
21
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10733%3A56919",
|
|
27
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/?node-id=10733%3A56919",
|
|
22
28
|
},
|
|
23
29
|
}}
|
|
24
30
|
argTypes={{
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
className: { control: false },
|
|
32
|
+
displaySize: {
|
|
33
|
+
control: { type: "select" },
|
|
34
|
+
options: enumValues.options,
|
|
35
|
+
table: { defaultValue: { summary: "TextDisplaySizes.Default" } },
|
|
36
|
+
},
|
|
37
|
+
isBold: { table: { defaultValue: { summary: false } } },
|
|
38
|
+
isItalic: { table: { defaultValue: { summary: false } } },
|
|
39
|
+
noSpace: { table: { defaultValue: { summary: false } } },
|
|
27
40
|
}}
|
|
28
41
|
/>
|
|
29
42
|
|
|
@@ -39,10 +52,19 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
39
52
|
The `Text` component renders a basic `<p>` element. As its name indicates, the `displaySize` prop controls the size of the text rendered in the component.
|
|
40
53
|
|
|
41
54
|
<Canvas withToolbar>
|
|
42
|
-
<Story
|
|
55
|
+
<Story
|
|
56
|
+
name="Text"
|
|
57
|
+
args={{
|
|
58
|
+
className: undefined,
|
|
59
|
+
displaySize: "TextDisplaySizes.Default",
|
|
60
|
+
isBold: false,
|
|
61
|
+
isItalic: false,
|
|
62
|
+
noSpace: false,
|
|
63
|
+
}}
|
|
64
|
+
>
|
|
43
65
|
{(args) => (
|
|
44
66
|
<>
|
|
45
|
-
<Text {...args}>
|
|
67
|
+
<Text {...args} displaySize={enumValues.getValue(args.displaySize)}>
|
|
46
68
|
Animal Crossing[a] is a social simulation video game series developed
|
|
47
69
|
and published by Nintendo. The series was conceptualized and created
|
|
48
70
|
by Katsuya Eguchi and Hisashi Nogami. In Animal Crossing, the player
|
|
@@ -52,7 +74,7 @@ The `Text` component renders a basic `<p>` element. As its name indicates, the `
|
|
|
52
74
|
open-ended gameplay and use of the video game console's internal clock
|
|
53
75
|
and calendar to simulate real passage of time.
|
|
54
76
|
</Text>
|
|
55
|
-
<Text {...args}>
|
|
77
|
+
<Text {...args} displaySize={enumValues.getValue(args.displaySize)}>
|
|
56
78
|
Since its initial release in 2001, five Animal Crossing games have
|
|
57
79
|
been released worldwide, one each for the Nintendo 64/iQue Player
|
|
58
80
|
(enhanced and reissued for the GameCube), Nintendo DS, Wii, Nintendo
|
|
@@ -6,14 +6,14 @@ import { getVariant } from "../../utils/utils";
|
|
|
6
6
|
export interface TextProps {
|
|
7
7
|
/** Additional class name to render in the `Text` component. */
|
|
8
8
|
className?: string;
|
|
9
|
+
/** Optional prop to control the text styling */
|
|
10
|
+
displaySize?: TextDisplaySizes;
|
|
9
11
|
/** Optional prop used to show bolded text */
|
|
10
12
|
isBold?: boolean;
|
|
11
13
|
/** Optional prop used to show itlicized text */
|
|
12
14
|
isItalic?: boolean;
|
|
13
15
|
/** Optional prop used to remove default spacing */
|
|
14
16
|
noSpace?: boolean;
|
|
15
|
-
/** Optional prop to control the text styling */
|
|
16
|
-
displaySize?: TextDisplaySizes;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
function Text(props: React.PropsWithChildren<TextProps>) {
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
+
import { VStack } from "@chakra-ui/react";
|
|
1
2
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
3
|
ArgsTable,
|
|
5
4
|
Canvas,
|
|
6
5
|
Description,
|
|
7
|
-
|
|
6
|
+
Meta,
|
|
7
|
+
Story,
|
|
8
|
+
} from "@storybook/addon-docs";
|
|
8
9
|
import { withDesign } from "storybook-addon-designs";
|
|
9
|
-
import { VStack } from "@chakra-ui/react";
|
|
10
10
|
|
|
11
11
|
import TextInput from "./TextInput";
|
|
12
|
-
import { TextInputTypes } from "./TextInputTypes";
|
|
12
|
+
import { TextInputTypes, TextInputVariants } from "./TextInputTypes";
|
|
13
13
|
import { getCategory } from "../../utils/componentCategories";
|
|
14
14
|
import DSProvider from "../../theme/provider";
|
|
15
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
16
|
+
|
|
17
|
+
export const enumValues = getStorybookEnumValues(
|
|
18
|
+
TextInputTypes,
|
|
19
|
+
"TextInputTypes"
|
|
20
|
+
);
|
|
15
21
|
|
|
16
22
|
<Meta
|
|
17
23
|
title={getCategory("TextInput")}
|
|
@@ -20,16 +26,33 @@ import DSProvider from "../../theme/provider";
|
|
|
20
26
|
parameters={{
|
|
21
27
|
design: {
|
|
22
28
|
type: "figma",
|
|
23
|
-
url:
|
|
24
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=11895%3A547",
|
|
29
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=11895%3A547",
|
|
25
30
|
},
|
|
26
31
|
jest: ["TextInput.test.tsx"],
|
|
27
32
|
}}
|
|
28
33
|
argTypes={{
|
|
29
|
-
attributes: {
|
|
30
|
-
id: {
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
attributes: { control: false },
|
|
35
|
+
id: { control: false },
|
|
36
|
+
isDisabled: { table: { defaultValue: { summary: false } } },
|
|
37
|
+
isInvalid: { table: { defaultValue: { summary: false } } },
|
|
38
|
+
isRequired: { table: { defaultValue: { summary: false } } },
|
|
39
|
+
key: { table: { disable: true } },
|
|
40
|
+
onChange: { control: false },
|
|
41
|
+
ref: { table: { disable: true } },
|
|
42
|
+
showHelperInvalidText: { table: { defaultValue: { summary: true } } },
|
|
43
|
+
showLabel: { table: { defaultValue: { summary: true } } },
|
|
44
|
+
showOptReqLabel: { table: { defaultValue: { summary: true } } },
|
|
45
|
+
step: { table: { defaultValue: { summary: 1 } } },
|
|
46
|
+
type: {
|
|
47
|
+
control: { type: "select" },
|
|
48
|
+
table: { defaultValue: { summary: "TextInputTypes.text" } },
|
|
49
|
+
options: enumValues.options,
|
|
50
|
+
},
|
|
51
|
+
value: { control: false },
|
|
52
|
+
variantType: {
|
|
53
|
+
control: false,
|
|
54
|
+
table: { defaultValue: { summary: "TextInputVariants.Default" } },
|
|
55
|
+
},
|
|
33
56
|
}}
|
|
34
57
|
/>
|
|
35
58
|
|
|
@@ -38,7 +61,7 @@ import DSProvider from "../../theme/provider";
|
|
|
38
61
|
| Component Version | DS Version |
|
|
39
62
|
| ----------------- | ---------- |
|
|
40
63
|
| Added | `0.22.0` |
|
|
41
|
-
| Latest | `0.25.
|
|
64
|
+
| Latest | `0.25.9` |
|
|
42
65
|
|
|
43
66
|
<Description of={TextInput} />
|
|
44
67
|
|
|
@@ -50,26 +73,36 @@ is left blank, a value will be generated for you.
|
|
|
50
73
|
|
|
51
74
|
<Canvas withToolbar>
|
|
52
75
|
<Story
|
|
53
|
-
name="TextInput"
|
|
76
|
+
name="TextInput with Controls"
|
|
54
77
|
args={{
|
|
78
|
+
additionalStyles: undefined,
|
|
79
|
+
attributes: undefined,
|
|
80
|
+
className: undefined,
|
|
81
|
+
defaultValue: undefined,
|
|
55
82
|
helperText: "Choose wisely.",
|
|
56
|
-
id: "
|
|
83
|
+
id: "textInput-id",
|
|
57
84
|
invalidText: "This is error text :(",
|
|
58
85
|
isDisabled: false,
|
|
59
86
|
isInvalid: false,
|
|
60
87
|
isRequired: true,
|
|
61
88
|
labelText: "What is your favorite color?",
|
|
89
|
+
name: undefined,
|
|
90
|
+
onChange: undefined,
|
|
62
91
|
placeholder: "e.g. blue, green, etc.",
|
|
92
|
+
showHelperInvalidText: true,
|
|
63
93
|
showLabel: true,
|
|
64
94
|
showOptReqLabel: true,
|
|
65
|
-
|
|
95
|
+
step: 1,
|
|
96
|
+
type: "TextInputTypes.text",
|
|
97
|
+
value: undefined,
|
|
98
|
+
variantType: TextInputVariants.Default,
|
|
66
99
|
}}
|
|
67
100
|
>
|
|
68
|
-
{(args) => <TextInput {...args} />}
|
|
101
|
+
{(args) => <TextInput {...args} type={enumValues.getValue(args.type)} />}
|
|
69
102
|
</Story>
|
|
70
103
|
</Canvas>
|
|
71
104
|
|
|
72
|
-
<ArgsTable story="TextInput" />
|
|
105
|
+
<ArgsTable story="TextInput with Controls" />
|
|
73
106
|
|
|
74
107
|
## Labelling Variations
|
|
75
108
|
|
|
@@ -140,6 +173,36 @@ text within the `label` element.
|
|
|
140
173
|
</DSProvider>
|
|
141
174
|
</Canvas>
|
|
142
175
|
|
|
176
|
+
## HTML in Helper Text
|
|
177
|
+
|
|
178
|
+
HTML can be passed into the `helperText` prop as a string or HTML.
|
|
179
|
+
|
|
180
|
+
```jsx
|
|
181
|
+
helperText="Choose <b>wisely!</b>"
|
|
182
|
+
// or
|
|
183
|
+
helperText={<>Choose <b>wisely!</b></>}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
<Canvas>
|
|
187
|
+
<DSProvider>
|
|
188
|
+
<TextInput
|
|
189
|
+
labelText="What is your favorite color?"
|
|
190
|
+
placeholder="i.e. blue, green, etc."
|
|
191
|
+
helperText="Choose <b>wisely!</b>"
|
|
192
|
+
/>
|
|
193
|
+
<br />
|
|
194
|
+
<TextInput
|
|
195
|
+
labelText="What is your favorite color?"
|
|
196
|
+
placeholder="i.e. blue, green, etc."
|
|
197
|
+
helperText={
|
|
198
|
+
<>
|
|
199
|
+
Choose <b>wisely!</b>
|
|
200
|
+
</>
|
|
201
|
+
}
|
|
202
|
+
/>
|
|
203
|
+
</DSProvider>
|
|
204
|
+
</Canvas>
|
|
205
|
+
|
|
143
206
|
## Textarea
|
|
144
207
|
|
|
145
208
|
The TextInput component includes a multiline `textarea` form field. To render a
|
|
@@ -161,6 +224,10 @@ variations described above are available for the `textarea` option.
|
|
|
161
224
|
showOptReqLabel: true,
|
|
162
225
|
type: TextInputTypes.textarea,
|
|
163
226
|
}}
|
|
227
|
+
argTypes={{
|
|
228
|
+
type: { control: false },
|
|
229
|
+
variantType: { control: false },
|
|
230
|
+
}}
|
|
164
231
|
>
|
|
165
232
|
{(args) => <TextInput {...args} />}
|
|
166
233
|
</Story>
|