@nypl/design-system-react-components 0.25.5 → 0.25.9
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 +91 -1
- package/README.md +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -0
- 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 +3 -2
- package/dist/components/Form/Form.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 +2 -2
- 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 +3 -2
- package/dist/components/SearchBar/SearchBar.d.ts +10 -2
- 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 +23 -0
- package/dist/components/Template/Template.d.ts +8 -3
- 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 +5989 -5490
- 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 +6057 -5551
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/index.d.ts +11 -4
- package/dist/styles.css +2 -2
- package/dist/theme/components/breadcrumb.d.ts +9 -0
- 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 +47 -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 +2 -3
- package/src/__tests__/utils/utils.test.ts +23 -1
- package/src/components/Accordion/Accordion.stories.mdx +15 -14
- 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 +50 -14
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +20 -0
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -0
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +198 -0
- 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 +26 -13
- 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/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 +8 -6
- package/src/components/DatePicker/DatePicker.tsx +10 -6
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +41 -22
- package/src/components/Fieldset/Fieldset.stories.mdx +19 -8
- package/src/components/Form/Form.stories.mdx +49 -41
- package/src/components/Form/Form.tsx +5 -4
- 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 +9 -8
- package/src/components/HorizontalRule/HorizontalRule.tsx +2 -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 +36 -24
- 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 +18 -8
- package/src/components/Pagination/Pagination.tsx +1 -1
- 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/RadioGroup/RadioGroup.stories.mdx +50 -16
- package/src/components/RadioGroup/RadioGroup.tsx +15 -11
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +6 -3
- package/src/components/SearchBar/SearchBar.Test.tsx +114 -22
- package/src/components/SearchBar/SearchBar.stories.mdx +111 -33
- package/src/components/SearchBar/SearchBar.tsx +57 -33
- package/src/components/Select/Select.stories.mdx +177 -66
- package/src/components/Select/Select.test.tsx +2 -2
- package/src/components/Select/Select.tsx +22 -12
- 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 +60 -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 +66 -0
- package/src/components/Table/Table.test.tsx +60 -0
- package/src/components/Table/Table.tsx +116 -0
- package/src/components/Tabs/Tabs.stories.mdx +19 -13
- package/src/components/Tabs/Tabs.test.tsx +1 -1
- package/src/components/Template/Template.stories.mdx +57 -49
- package/src/components/Template/Template.test.tsx +65 -5
- package/src/components/Template/Template.tsx +35 -5
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +76 -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 +13 -4
- 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 +14 -4
- 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 +50 -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 +4 -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
|
@@ -27,7 +27,7 @@ export interface LinkProps {
|
|
|
27
27
|
* Renders the `Link` children components with a direction arrow icon based
|
|
28
28
|
* on the `Backwards` or `Forwards` `LinkTypes` type.
|
|
29
29
|
*/
|
|
30
|
-
function getWithDirectionIcon(children, type: LinkTypes) {
|
|
30
|
+
function getWithDirectionIcon(children, type: LinkTypes, linkId) {
|
|
31
31
|
let iconRotation;
|
|
32
32
|
let iconAlign;
|
|
33
33
|
let icon = null;
|
|
@@ -42,12 +42,15 @@ function getWithDirectionIcon(children, type: LinkTypes) {
|
|
|
42
42
|
iconAlign = IconAlign.Right;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
const iconId = `${linkId}-icon`;
|
|
46
|
+
|
|
45
47
|
icon = (
|
|
46
48
|
<Icon
|
|
47
|
-
name={IconNames.Arrow}
|
|
48
49
|
align={iconAlign}
|
|
49
|
-
iconRotation={iconRotation}
|
|
50
50
|
className="more-link"
|
|
51
|
+
iconRotation={iconRotation}
|
|
52
|
+
id={iconId}
|
|
53
|
+
name={IconNames.Arrow}
|
|
51
54
|
/>
|
|
52
55
|
);
|
|
53
56
|
|
|
@@ -60,6 +63,25 @@ function getWithDirectionIcon(children, type: LinkTypes) {
|
|
|
60
63
|
);
|
|
61
64
|
}
|
|
62
65
|
|
|
66
|
+
function getExternalIcon(children, linkId) {
|
|
67
|
+
const iconId = `${linkId}-icon`;
|
|
68
|
+
const icon = (
|
|
69
|
+
<Icon
|
|
70
|
+
align={IconAlign.Right}
|
|
71
|
+
className="more-link"
|
|
72
|
+
id={iconId}
|
|
73
|
+
name={IconNames.ActionLaunch}
|
|
74
|
+
/>
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
return (
|
|
78
|
+
<>
|
|
79
|
+
{children}
|
|
80
|
+
{icon}
|
|
81
|
+
</>
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
63
85
|
/**
|
|
64
86
|
* A component that uses an `href` prop or a child anchor element, to create
|
|
65
87
|
* an anchor element with added styling and conventions.
|
|
@@ -87,25 +109,31 @@ const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
87
109
|
let variant = "link";
|
|
88
110
|
|
|
89
111
|
if (typeof children === "string" && !href) {
|
|
90
|
-
throw new Error("Link needs
|
|
112
|
+
throw new Error("`Link` needs the `href` prop.");
|
|
91
113
|
}
|
|
92
114
|
|
|
93
115
|
if (
|
|
94
116
|
type === LinkTypes.Action ||
|
|
95
117
|
type === LinkTypes.Forwards ||
|
|
96
|
-
type === LinkTypes.Backwards
|
|
118
|
+
type === LinkTypes.Backwards ||
|
|
119
|
+
type === LinkTypes.External
|
|
97
120
|
) {
|
|
98
121
|
variant = "moreLink";
|
|
99
122
|
} else if (type === LinkTypes.Button) {
|
|
100
123
|
variant = "button";
|
|
101
124
|
}
|
|
102
125
|
const style = useStyleConfig("Link", { variant });
|
|
103
|
-
// Render with specific direction arrows
|
|
104
|
-
//
|
|
126
|
+
// Render with specific direction arrows if the type is
|
|
127
|
+
// Forwards or Backwards. Or render with the launch icon
|
|
128
|
+
// if the type is External. Otherwise, do not add an icon.
|
|
105
129
|
const newChildren =
|
|
106
|
-
type === LinkTypes.Forwards || type === LinkTypes.Backwards
|
|
107
|
-
|
|
108
|
-
|
|
130
|
+
((type === LinkTypes.Forwards || type === LinkTypes.Backwards) &&
|
|
131
|
+
getWithDirectionIcon(children, type, id)) ||
|
|
132
|
+
(type === LinkTypes.External && getExternalIcon(children, id)) ||
|
|
133
|
+
children;
|
|
134
|
+
|
|
135
|
+
const rel = type === LinkTypes.External ? "nofollow" : null;
|
|
136
|
+
const target = type === LinkTypes.External ? "_blank" : null;
|
|
109
137
|
|
|
110
138
|
if (!href) {
|
|
111
139
|
// React Types error makes this fail:
|
|
@@ -116,15 +144,24 @@ const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
116
144
|
}
|
|
117
145
|
const childrenToClone: any = children[0] ? children[0] : children;
|
|
118
146
|
const childProps = childrenToClone.props;
|
|
119
|
-
return
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
147
|
+
return (
|
|
148
|
+
<Box as="span" __css={style}>
|
|
149
|
+
{React.cloneElement(
|
|
150
|
+
childrenToClone,
|
|
151
|
+
{
|
|
152
|
+
className,
|
|
153
|
+
...linkProps,
|
|
154
|
+
...childProps,
|
|
155
|
+
ref,
|
|
156
|
+
rel,
|
|
157
|
+
target,
|
|
158
|
+
// Useful if more styles are needed for the custom
|
|
159
|
+
// anchor element or link component.
|
|
160
|
+
style: additionalStyles,
|
|
161
|
+
},
|
|
162
|
+
[childrenToClone.props.children]
|
|
163
|
+
)}
|
|
164
|
+
</Box>
|
|
128
165
|
);
|
|
129
166
|
} else {
|
|
130
167
|
return (
|
|
@@ -132,6 +169,8 @@ const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
132
169
|
as="a"
|
|
133
170
|
className={className}
|
|
134
171
|
ref={ref}
|
|
172
|
+
rel={rel}
|
|
173
|
+
target={target}
|
|
135
174
|
{...linkProps}
|
|
136
175
|
__css={{ ...style, ...additionalStyles }}
|
|
137
176
|
>
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Link renders the UI snapshot correctly 1`] = `
|
|
4
|
+
<a
|
|
5
|
+
className="css-0"
|
|
6
|
+
href="#passed-in-link"
|
|
7
|
+
id="standard-link"
|
|
8
|
+
rel={null}
|
|
9
|
+
target={null}
|
|
10
|
+
>
|
|
11
|
+
Standard
|
|
12
|
+
</a>
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
exports[`Link renders the UI snapshot correctly 2`] = `
|
|
16
|
+
<a
|
|
17
|
+
className="css-0"
|
|
18
|
+
href="#passed-in-link"
|
|
19
|
+
id="forwards-link"
|
|
20
|
+
rel={null}
|
|
21
|
+
target={null}
|
|
22
|
+
>
|
|
23
|
+
Forwards
|
|
24
|
+
<svg
|
|
25
|
+
aria-hidden={true}
|
|
26
|
+
className="chakra-icon more-link css-onkibi"
|
|
27
|
+
focusable={false}
|
|
28
|
+
id="forwards-link-icon"
|
|
29
|
+
role="img"
|
|
30
|
+
title="arrow icon"
|
|
31
|
+
viewBox="0 0 24 24"
|
|
32
|
+
>
|
|
33
|
+
<g
|
|
34
|
+
stroke="currentColor"
|
|
35
|
+
strokeWidth="1.5"
|
|
36
|
+
>
|
|
37
|
+
<path
|
|
38
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
39
|
+
fill="none"
|
|
40
|
+
strokeLinecap="round"
|
|
41
|
+
/>
|
|
42
|
+
<path
|
|
43
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
44
|
+
fill="currentColor"
|
|
45
|
+
strokeLinecap="round"
|
|
46
|
+
/>
|
|
47
|
+
<circle
|
|
48
|
+
cx="12"
|
|
49
|
+
cy="12"
|
|
50
|
+
fill="none"
|
|
51
|
+
r="11.25"
|
|
52
|
+
strokeMiterlimit="10"
|
|
53
|
+
/>
|
|
54
|
+
</g>
|
|
55
|
+
</svg>
|
|
56
|
+
</a>
|
|
57
|
+
`;
|
|
58
|
+
|
|
59
|
+
exports[`Link renders the UI snapshot correctly 3`] = `
|
|
60
|
+
<a
|
|
61
|
+
className="css-0"
|
|
62
|
+
href="#passed-in-link"
|
|
63
|
+
id="backwards-link"
|
|
64
|
+
rel={null}
|
|
65
|
+
target={null}
|
|
66
|
+
>
|
|
67
|
+
<svg
|
|
68
|
+
aria-hidden={true}
|
|
69
|
+
className="chakra-icon more-link css-onkibi"
|
|
70
|
+
focusable={false}
|
|
71
|
+
id="backwards-link-icon"
|
|
72
|
+
role="img"
|
|
73
|
+
title="arrow icon"
|
|
74
|
+
viewBox="0 0 24 24"
|
|
75
|
+
>
|
|
76
|
+
<g
|
|
77
|
+
stroke="currentColor"
|
|
78
|
+
strokeWidth="1.5"
|
|
79
|
+
>
|
|
80
|
+
<path
|
|
81
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
82
|
+
fill="none"
|
|
83
|
+
strokeLinecap="round"
|
|
84
|
+
/>
|
|
85
|
+
<path
|
|
86
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
87
|
+
fill="currentColor"
|
|
88
|
+
strokeLinecap="round"
|
|
89
|
+
/>
|
|
90
|
+
<circle
|
|
91
|
+
cx="12"
|
|
92
|
+
cy="12"
|
|
93
|
+
fill="none"
|
|
94
|
+
r="11.25"
|
|
95
|
+
strokeMiterlimit="10"
|
|
96
|
+
/>
|
|
97
|
+
</g>
|
|
98
|
+
</svg>
|
|
99
|
+
Backwards
|
|
100
|
+
</a>
|
|
101
|
+
`;
|
|
102
|
+
|
|
103
|
+
exports[`Link renders the UI snapshot correctly 4`] = `
|
|
104
|
+
<a
|
|
105
|
+
className="css-0"
|
|
106
|
+
href="#passed-in-link"
|
|
107
|
+
id="external-link"
|
|
108
|
+
rel="nofollow"
|
|
109
|
+
target="_blank"
|
|
110
|
+
>
|
|
111
|
+
External
|
|
112
|
+
<svg
|
|
113
|
+
aria-hidden={true}
|
|
114
|
+
className="chakra-icon more-link css-onkibi"
|
|
115
|
+
focusable={false}
|
|
116
|
+
id="external-link-icon"
|
|
117
|
+
role="img"
|
|
118
|
+
title="action_launch icon"
|
|
119
|
+
viewBox="0 0 24 24"
|
|
120
|
+
>
|
|
121
|
+
<g
|
|
122
|
+
stroke="currentColor"
|
|
123
|
+
strokeWidth="1.5"
|
|
124
|
+
>
|
|
125
|
+
<path
|
|
126
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
127
|
+
fill="none"
|
|
128
|
+
strokeLinecap="round"
|
|
129
|
+
/>
|
|
130
|
+
<path
|
|
131
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
132
|
+
fill="currentColor"
|
|
133
|
+
strokeLinecap="round"
|
|
134
|
+
/>
|
|
135
|
+
<circle
|
|
136
|
+
cx="12"
|
|
137
|
+
cy="12"
|
|
138
|
+
fill="none"
|
|
139
|
+
r="11.25"
|
|
140
|
+
strokeMiterlimit="10"
|
|
141
|
+
/>
|
|
142
|
+
</g>
|
|
143
|
+
</svg>
|
|
144
|
+
</a>
|
|
145
|
+
`;
|
|
146
|
+
|
|
147
|
+
exports[`Link renders the UI snapshot correctly 5`] = `
|
|
148
|
+
<a
|
|
149
|
+
className="css-0"
|
|
150
|
+
href="#passed-in-link"
|
|
151
|
+
id="button-link"
|
|
152
|
+
rel={null}
|
|
153
|
+
target={null}
|
|
154
|
+
>
|
|
155
|
+
Button
|
|
156
|
+
</a>
|
|
157
|
+
`;
|
|
158
|
+
|
|
159
|
+
exports[`Link renders the UI snapshot correctly 6`] = `
|
|
160
|
+
<a
|
|
161
|
+
className="css-0"
|
|
162
|
+
href="#passed-in-link"
|
|
163
|
+
id="icon-link"
|
|
164
|
+
rel={null}
|
|
165
|
+
target={null}
|
|
166
|
+
>
|
|
167
|
+
<svg
|
|
168
|
+
aria-hidden={true}
|
|
169
|
+
className="chakra-icon more-link css-onkibi"
|
|
170
|
+
focusable={false}
|
|
171
|
+
id="link-icon"
|
|
172
|
+
role="img"
|
|
173
|
+
title="download icon"
|
|
174
|
+
viewBox="0 0 24 24"
|
|
175
|
+
>
|
|
176
|
+
<g
|
|
177
|
+
stroke="currentColor"
|
|
178
|
+
strokeWidth="1.5"
|
|
179
|
+
>
|
|
180
|
+
<path
|
|
181
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
182
|
+
fill="none"
|
|
183
|
+
strokeLinecap="round"
|
|
184
|
+
/>
|
|
185
|
+
<path
|
|
186
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
187
|
+
fill="currentColor"
|
|
188
|
+
strokeLinecap="round"
|
|
189
|
+
/>
|
|
190
|
+
<circle
|
|
191
|
+
cx="12"
|
|
192
|
+
cy="12"
|
|
193
|
+
fill="none"
|
|
194
|
+
r="11.25"
|
|
195
|
+
strokeMiterlimit="10"
|
|
196
|
+
/>
|
|
197
|
+
</g>
|
|
198
|
+
</svg>
|
|
199
|
+
Download
|
|
200
|
+
</a>
|
|
201
|
+
`;
|
|
202
|
+
|
|
203
|
+
exports[`Link renders the UI snapshot correctly 7`] = `
|
|
204
|
+
<span
|
|
205
|
+
className="css-0"
|
|
206
|
+
>
|
|
207
|
+
<a
|
|
208
|
+
href="#existing-anchor-tag"
|
|
209
|
+
id="anchor-link"
|
|
210
|
+
rel={null}
|
|
211
|
+
style={Object {}}
|
|
212
|
+
target={null}
|
|
213
|
+
>
|
|
214
|
+
check link
|
|
215
|
+
</a>
|
|
216
|
+
</span>
|
|
217
|
+
`;
|
|
218
|
+
|
|
219
|
+
exports[`Link renders the UI snapshot correctly 8`] = `
|
|
220
|
+
<span
|
|
221
|
+
className="css-0"
|
|
222
|
+
>
|
|
223
|
+
<svg
|
|
224
|
+
aria-hidden={true}
|
|
225
|
+
className="chakra-icon css-onkibi"
|
|
226
|
+
focusable={false}
|
|
227
|
+
id="link-icon"
|
|
228
|
+
role="img"
|
|
229
|
+
title="check icon"
|
|
230
|
+
viewBox="0 0 24 24"
|
|
231
|
+
>
|
|
232
|
+
<g
|
|
233
|
+
stroke="currentColor"
|
|
234
|
+
strokeWidth="1.5"
|
|
235
|
+
>
|
|
236
|
+
<path
|
|
237
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
238
|
+
fill="none"
|
|
239
|
+
strokeLinecap="round"
|
|
240
|
+
/>
|
|
241
|
+
<path
|
|
242
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
243
|
+
fill="currentColor"
|
|
244
|
+
strokeLinecap="round"
|
|
245
|
+
/>
|
|
246
|
+
<circle
|
|
247
|
+
cx="12"
|
|
248
|
+
cy="12"
|
|
249
|
+
fill="none"
|
|
250
|
+
r="11.25"
|
|
251
|
+
strokeMiterlimit="10"
|
|
252
|
+
/>
|
|
253
|
+
</g>
|
|
254
|
+
</svg>
|
|
255
|
+
<a
|
|
256
|
+
href="#existing-anchor-tag"
|
|
257
|
+
>
|
|
258
|
+
check link
|
|
259
|
+
</a>
|
|
260
|
+
</span>
|
|
261
|
+
`;
|
|
@@ -1,10 +1,10 @@
|
|
|
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 Heading from "../Heading/Heading";
|
|
@@ -15,6 +15,9 @@ import { LinkTypes } from "../Link/LinkTypes";
|
|
|
15
15
|
import List from "./List";
|
|
16
16
|
import { ListTypes } from "./ListTypes";
|
|
17
17
|
import { getCategory } from "../../utils/componentCategories";
|
|
18
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
19
|
+
|
|
20
|
+
export const enumValues = getStorybookEnumValues(ListTypes, "ListTypes");
|
|
18
21
|
|
|
19
22
|
<Meta
|
|
20
23
|
title={getCategory("List")}
|
|
@@ -23,21 +26,22 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
23
26
|
parameters={{
|
|
24
27
|
design: {
|
|
25
28
|
type: "figma",
|
|
26
|
-
url:
|
|
27
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=16115%3A304",
|
|
29
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=16115%3A304",
|
|
28
30
|
},
|
|
29
31
|
jest: ["List.test.tsx"],
|
|
30
32
|
}}
|
|
31
33
|
argTypes={{
|
|
34
|
+
additionalStyles: { control: false },
|
|
32
35
|
children: { table: { disable: true } },
|
|
33
|
-
className: {
|
|
34
|
-
id: {
|
|
35
|
-
|
|
36
|
+
className: { control: false },
|
|
37
|
+
id: { control: false },
|
|
38
|
+
inline: { table: { defaultValue: { summary: false } } },
|
|
39
|
+
listItems: { control: false },
|
|
40
|
+
noStyling: { table: { defaultValue: { summary: false } } },
|
|
36
41
|
type: {
|
|
37
|
-
control: {
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
options: Object.keys(ListTypes),
|
|
42
|
+
control: { type: "select" },
|
|
43
|
+
options: enumValues.options,
|
|
44
|
+
table: { defaultValue: { summary: "ListTypes.Unordered" } },
|
|
41
45
|
},
|
|
42
46
|
}}
|
|
43
47
|
/>
|
|
@@ -118,17 +122,21 @@ export const definitions = [
|
|
|
118
122
|
|
|
119
123
|
<Canvas withToolbar>
|
|
120
124
|
<Story
|
|
121
|
-
name="List"
|
|
125
|
+
name="List with Controls"
|
|
122
126
|
args={{
|
|
127
|
+
additionalStyles: undefined,
|
|
128
|
+
className: undefined,
|
|
123
129
|
id: "nypl-list",
|
|
130
|
+
inline: false,
|
|
131
|
+
listItems: undefined,
|
|
124
132
|
noStyling: false,
|
|
125
133
|
title: "Middle-Earth Peoples",
|
|
126
|
-
type: ListTypes.Unordered,
|
|
134
|
+
type: "ListTypes.Unordered",
|
|
127
135
|
}}
|
|
128
136
|
>
|
|
129
137
|
{(args) => (
|
|
130
|
-
<List {...args} type={
|
|
131
|
-
{
|
|
138
|
+
<List {...args} type={enumValues.getValue(args.type)}>
|
|
139
|
+
{args.type !== "ListTypes.Definition"
|
|
132
140
|
? itemGroups.map((item, i) => <li key={i}>{item}</li>)
|
|
133
141
|
: definitions.map((item, i) => [
|
|
134
142
|
<dt key={`dt_${i}`}>{item.term}</dt>,
|
|
@@ -139,7 +147,7 @@ export const definitions = [
|
|
|
139
147
|
</Story>
|
|
140
148
|
</Canvas>
|
|
141
149
|
|
|
142
|
-
<ArgsTable story="List" />
|
|
150
|
+
<ArgsTable story="List with Controls" />
|
|
143
151
|
|
|
144
152
|
## Definition List
|
|
145
153
|
|
|
@@ -163,13 +171,14 @@ This type of list renders `dt` and `dd` elements.
|
|
|
163
171
|
title: "Middle-Earth Peoples",
|
|
164
172
|
}}
|
|
165
173
|
argTypes={{
|
|
166
|
-
|
|
174
|
+
inline: { control: false },
|
|
175
|
+
noStyling: { control: false },
|
|
176
|
+
type: { control: false },
|
|
167
177
|
}}
|
|
168
178
|
parameters={{
|
|
169
179
|
design: {
|
|
170
180
|
type: "figma",
|
|
171
|
-
url:
|
|
172
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10734%3A5178",
|
|
181
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10734%3A5178",
|
|
173
182
|
},
|
|
174
183
|
}}
|
|
175
184
|
>
|
|
@@ -196,13 +205,14 @@ An example with HTML elements inside of the `dd` elements.
|
|
|
196
205
|
title: "Details",
|
|
197
206
|
}}
|
|
198
207
|
argTypes={{
|
|
208
|
+
inline: { control: false },
|
|
209
|
+
noStyling: { control: false },
|
|
199
210
|
type: { table: { disable: true } },
|
|
200
211
|
}}
|
|
201
212
|
parameters={{
|
|
202
213
|
design: {
|
|
203
214
|
type: "figma",
|
|
204
|
-
url:
|
|
205
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10734%3A5178",
|
|
215
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10734%3A5178",
|
|
206
216
|
},
|
|
207
217
|
}}
|
|
208
218
|
>
|
|
@@ -330,7 +340,9 @@ const fishDefinitions = [
|
|
|
330
340
|
title: "Animal Crossing Fish",
|
|
331
341
|
}}
|
|
332
342
|
argTypes={{
|
|
333
|
-
|
|
343
|
+
inline: { control: false },
|
|
344
|
+
noStyling: { control: false },
|
|
345
|
+
type: { control: false },
|
|
334
346
|
}}
|
|
335
347
|
>
|
|
336
348
|
{(args) => <List {...args} type={ListTypes.Definition} />}
|