@nypl/design-system-react-components 0.25.1 → 0.25.5
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 +118 -1
- package/README.md +98 -50
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/dist/components/Button/Button.d.ts +13 -8
- package/dist/components/Button/ButtonTypes.d.ts +2 -1
- package/dist/components/Card/Card.d.ts +36 -52
- package/dist/components/Card/CardTypes.d.ts +0 -15
- package/dist/components/Checkbox/Checkbox.d.ts +17 -13
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -2
- package/dist/components/ComponentWrapper/ComponentWrapper.d.ts +15 -0
- package/dist/components/DatePicker/DatePicker.d.ts +36 -34
- package/dist/components/Fieldset/Fieldset.d.ts +25 -0
- package/dist/components/Heading/Heading.d.ts +4 -4
- package/dist/components/HelperErrorText/HelperErrorText.d.ts +17 -14
- package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -9
- package/dist/components/Icons/Icon.d.ts +8 -0
- package/dist/components/Icons/IconSvgs.d.ts +11 -0
- package/dist/components/Icons/IconTypes.d.ts +11 -0
- package/dist/components/Image/Image.d.ts +19 -9
- package/dist/components/Image/ImageTypes.d.ts +20 -0
- package/dist/components/Link/Link.d.ts +4 -0
- package/dist/components/List/List.d.ts +19 -14
- package/dist/components/Notification/Notification.d.ts +37 -16
- package/dist/components/Pagination/Pagination.d.ts +16 -13
- package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
- package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
- package/dist/components/Radio/Radio.d.ts +2 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +4 -2
- package/dist/components/SearchBar/SearchBar.d.ts +3 -3
- package/dist/components/Select/Select.d.ts +2 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
- package/dist/components/Slider/Slider.d.ts +57 -0
- package/dist/components/StyleGuide/ColorCard.d.ts +12 -0
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/TextInput/TextInput.d.ts +12 -0
- package/dist/components/VideoPlayer/VideoPlayer.d.ts +6 -8
- package/dist/components/VideoPlayer/VideoPlayerTypes.d.ts +2 -2
- package/dist/design-system-react-components.cjs.development.js +6131 -3715
- 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 +6124 -3699
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/tests/useCarouselStyles.test.d.ts +1 -0
- package/dist/hooks/useCarouselStyles.d.ts +16 -0
- package/dist/hooks/useNYPLTheme.d.ts +54 -0
- package/dist/hooks/useWindowSize.d.ts +10 -0
- package/dist/index.d.ts +13 -8
- package/dist/resources.scss +180 -170
- package/dist/styles.css +1 -1
- package/dist/theme/components/button.d.ts +22 -8
- package/dist/theme/components/card.d.ts +168 -0
- package/dist/theme/components/checkbox.d.ts +5 -1
- package/dist/theme/components/checkboxGroup.d.ts +12 -0
- package/dist/theme/components/componentWrapper.d.ts +11 -0
- package/dist/theme/components/datePicker.d.ts +16 -0
- package/dist/theme/components/fieldset.d.ts +27 -0
- package/dist/theme/components/global.d.ts +23 -13
- package/dist/theme/components/globalMixins.d.ts +9 -1
- package/dist/theme/components/heading.d.ts +5 -0
- package/dist/theme/components/helperErrorText.d.ts +10 -0
- package/dist/theme/components/hero.d.ts +1 -0
- package/dist/theme/components/horizontalRule.d.ts +14 -0
- package/dist/theme/components/image.d.ts +31 -0
- package/dist/theme/components/label.d.ts +5 -3
- package/dist/theme/components/link.d.ts +4 -0
- package/dist/theme/components/list.d.ts +89 -0
- package/dist/theme/components/notification.d.ts +75 -0
- package/dist/theme/components/pagination.d.ts +19 -0
- package/dist/theme/components/progressIndicator.d.ts +50 -0
- package/dist/theme/components/radioGroup.d.ts +12 -0
- package/dist/theme/components/select.d.ts +11 -2
- package/dist/theme/components/skeletonLoader.d.ts +98 -0
- package/dist/theme/components/slider.d.ts +51 -0
- package/dist/theme/components/tabs.d.ts +54 -3
- package/dist/theme/components/textInput.d.ts +8 -1
- package/dist/theme/components/videoPlayer.d.ts +40 -0
- package/dist/theme/foundations/breakpoints.d.ts +8 -8
- package/dist/theme/foundations/global.d.ts +6 -1
- package/dist/theme/foundations/radii.d.ts +5 -0
- package/dist/theme/foundations/spacing.d.ts +16 -16
- package/package.json +72 -83
- package/src/__tests__/setup.ts +2 -2
- package/src/components/Accordion/Accordion.stories.mdx +39 -44
- package/src/components/Autosuggest/Autosuggest.stories.mdx +3 -3
- package/src/components/Autosuggest/Autosuggest.stories.tsx +2 -1
- package/src/components/Autosuggest/_Autosuggest.scss +5 -5
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +14 -10
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +23 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +5 -1
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +199 -1
- package/src/components/Button/Button.stories.mdx +15 -10
- package/src/components/Button/Button.test.tsx +21 -7
- package/src/components/Button/Button.tsx +22 -34
- package/src/components/Button/ButtonTypes.tsx +1 -0
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +41 -10
- package/src/components/Card/Card.stories.mdx +296 -259
- package/src/components/Card/Card.test.tsx +156 -84
- package/src/components/Card/Card.tsx +195 -145
- package/src/components/Card/CardTypes.tsx +0 -17
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
- package/src/components/CardEdition/CardEdition.stories.tsx +15 -47
- package/src/components/CardEdition/_CardEdition.scss +22 -23
- package/src/components/Chakra/Box.stories.mdx +15 -16
- package/src/components/Chakra/Center.stories.mdx +31 -16
- package/src/components/Chakra/Grid.stories.mdx +28 -15
- package/src/components/Chakra/Stack.stories.mdx +35 -18
- package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
- package/src/components/Checkbox/Checkbox.test.tsx +47 -2
- package/src/components/Checkbox/Checkbox.tsx +39 -33
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +90 -2
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +82 -2
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +29 -2
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -18
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +47 -81
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +63 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
- package/src/components/DatePicker/DatePicker.test.tsx +264 -64
- package/src/components/DatePicker/DatePicker.tsx +159 -128
- package/src/components/DatePicker/_DatePicker.scss +33 -67
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
- package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
- package/src/components/Fieldset/Fieldset.test.tsx +125 -0
- package/src/components/Fieldset/Fieldset.tsx +52 -0
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
- package/src/components/Form/Form.stories.mdx +24 -6
- package/src/components/Form/Form.test.tsx +1 -1
- package/src/components/Form/Form.tsx +1 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +32 -39
- package/src/components/Grid/SimpleGrid.test.tsx +4 -4
- package/src/components/Heading/Heading.stories.mdx +3 -4
- package/src/components/Heading/Heading.tsx +5 -5
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +124 -0
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +39 -44
- package/src/components/HelperErrorText/HelperErrorText.tsx +37 -39
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +25 -0
- package/src/components/Hero/Hero.stories.mdx +12 -2
- package/src/components/Hero/Hero.tsx +1 -1
- package/src/components/Hero/HeroTypes.tsx +1 -0
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +7 -7
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +8 -6
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +33 -28
- package/src/components/HorizontalRule/HorizontalRule.tsx +27 -29
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +27 -9
- package/src/components/Icons/Icon.stories.mdx +12 -4
- package/src/components/Icons/Icon.test.tsx +18 -0
- package/src/components/Icons/Icon.tsx +16 -1
- package/src/components/Icons/IconSvgs.tsx +22 -0
- package/src/components/Icons/IconTypes.tsx +11 -0
- package/src/components/Image/Image.stories.mdx +220 -0
- package/src/components/Image/Image.test.tsx +131 -29
- package/src/components/Image/Image.tsx +84 -56
- package/src/components/Image/ImageTypes.ts +22 -0
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
- package/src/components/Input/Input.stories.tsx +23 -67
- package/src/components/Input/Input.test.tsx +4 -4
- package/src/components/Input/_Input.scss +23 -14
- package/src/components/Link/Link.tsx +4 -1
- package/src/components/List/List.stories.mdx +124 -49
- package/src/components/List/List.test.tsx +142 -63
- package/src/components/List/List.tsx +89 -93
- package/src/components/List/__snapshots__/List.test.tsx.snap +109 -0
- package/src/components/Modal/Modal.stories.mdx +3 -3
- package/src/components/Modal/_Modal.scss +2 -2
- package/src/components/Notification/Notification.stories.mdx +109 -112
- package/src/components/Notification/Notification.test.tsx +99 -110
- package/src/components/Notification/Notification.tsx +156 -159
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +159 -8
- package/src/components/Pagination/Pagination.stories.mdx +26 -27
- package/src/components/Pagination/Pagination.stories.tsx +11 -16
- package/src/components/Pagination/Pagination.test.tsx +276 -146
- package/src/components/Pagination/Pagination.tsx +174 -154
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
- package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
- package/src/components/Radio/Radio.test.tsx +20 -4
- package/src/components/Radio/Radio.tsx +6 -3
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +3 -4
- package/src/components/RadioGroup/RadioGroup.test.tsx +24 -1
- package/src/components/RadioGroup/RadioGroup.tsx +19 -19
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +42 -72
- package/src/components/SearchBar/SearchBar.Test.tsx +20 -1
- package/src/components/SearchBar/SearchBar.stories.mdx +113 -8
- package/src/components/SearchBar/SearchBar.tsx +20 -10
- package/src/components/Select/Select.test.tsx +12 -0
- package/src/components/Select/Select.tsx +5 -2
- package/src/components/Select/SelectTypes.tsx +1 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +28 -59
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +74 -71
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
- package/src/components/Slider/Slider.stories.mdx +529 -0
- package/src/components/Slider/Slider.test.tsx +653 -0
- package/src/components/Slider/Slider.tsx +303 -0
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +1 -1
- package/src/components/StyleGuide/Breakpoints.stories.mdx +34 -10
- package/src/components/StyleGuide/Buttons.stories.mdx +89 -73
- package/src/components/StyleGuide/ColorCard.tsx +46 -0
- package/src/components/StyleGuide/Colors.stories.mdx +171 -311
- package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
- package/src/components/StyleGuide/Forms.stories.mdx +9 -7
- package/src/components/StyleGuide/Iconography.stories.mdx +85 -91
- package/src/components/StyleGuide/Spacing.stories.mdx +31 -23
- package/src/components/StyleGuide/Typography.stories.mdx +202 -189
- package/src/components/StyleGuide/UIDocCard.tsx +1 -1
- package/src/components/Tabs/Tabs.stories.mdx +73 -11
- package/src/components/Tabs/Tabs.tsx +87 -64
- package/src/components/Template/Template.stories.mdx +25 -27
- package/src/components/TextInput/TextInput.stories.mdx +1 -1
- package/src/components/TextInput/TextInput.test.tsx +22 -2
- package/src/components/TextInput/TextInput.tsx +28 -8
- package/src/components/TextInput/TextInputTypes.tsx +2 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +17 -4
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +54 -53
- package/src/components/VideoPlayer/VideoPlayer.tsx +50 -51
- package/src/components/VideoPlayer/VideoPlayerTypes.tsx +2 -2
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +91 -0
- package/src/docs/Chakra.stories.mdx +244 -63
- package/src/docs/Intro.stories.mdx +5 -2
- package/src/hooks/tests/useCarouselStyles.test.ts +140 -0
- package/src/hooks/tests/useNYPLTheme.test.tsx +36 -0
- package/src/hooks/useCarouselStyles.ts +34 -0
- package/src/hooks/useNYPLTheme.ts +67 -0
- package/src/hooks/useWindowSize.ts +40 -0
- package/src/index.ts +22 -19
- package/src/resources.scss +5 -5
- package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
- package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
- package/src/styles/base/{_04-base.scss → _03-base.scss} +7 -2
- package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
- package/src/styles/base/_place-holder.scss +14 -3
- package/src/styles/{03-space → space}/_space-inline.scss +14 -14
- package/src/styles/{03-space → space}/_space-inset.scss +10 -10
- package/src/styles/space/_space-stack.scss +116 -0
- package/src/styles.scss +13 -60
- package/src/theme/components/button.ts +21 -15
- package/src/theme/components/card.ts +174 -0
- package/src/theme/components/checkbox.ts +8 -3
- package/src/theme/components/checkboxGroup.ts +8 -0
- package/src/theme/components/componentWrapper.ts +10 -0
- package/src/theme/components/datePicker.ts +17 -0
- package/src/theme/components/fieldset.ts +18 -0
- package/src/theme/components/global.ts +26 -15
- package/src/theme/components/globalMixins.ts +9 -1
- package/src/theme/components/heading.ts +10 -5
- package/src/theme/components/helperErrorText.ts +9 -0
- package/src/theme/components/hero.ts +4 -3
- package/src/theme/components/horizontalRule.ts +13 -0
- package/src/theme/components/icon.ts +9 -9
- package/src/theme/components/image.ts +116 -0
- package/src/theme/components/label.ts +3 -10
- package/src/theme/components/link.ts +5 -1
- package/src/theme/components/list.ts +73 -0
- package/src/theme/components/notification.ts +93 -0
- package/src/theme/components/pagination.ts +20 -0
- package/src/theme/components/progressIndicator.ts +62 -0
- package/src/theme/components/radio.ts +2 -2
- package/src/theme/components/radioGroup.ts +8 -0
- package/src/theme/components/select.ts +6 -3
- package/src/theme/components/skeletonLoader.ts +107 -0
- package/src/theme/components/slider.ts +79 -0
- package/src/theme/components/statusBadge.ts +1 -2
- package/src/theme/components/tabs.ts +49 -19
- package/src/theme/components/template.ts +8 -8
- package/src/theme/components/textInput.ts +5 -4
- package/src/theme/components/videoPlayer.ts +49 -0
- package/src/theme/foundations/breakpoints.ts +8 -8
- package/src/theme/foundations/global.ts +6 -1
- package/src/theme/foundations/radii.ts +6 -0
- package/src/theme/foundations/spacing.ts +24 -24
- package/src/theme/index.ts +41 -10
- package/src/utils/componentCategories.ts +4 -3
- package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +0 -16
- package/dist/components/Image/Image.stories.d.ts +0 -18
- package/dist/components/List/List.stories.d.ts +0 -7
- package/dist/theme/components/customCheckboxGroup.d.ts +0 -18
- package/dist/theme/components/customRadioGroup.d.ts +0 -18
- package/src/components/Button/_Button.scss +0 -32
- package/src/components/Card/_Card.scss +0 -308
- package/src/components/HelperErrorText/HelperErrorText.stories.tsx +0 -48
- package/src/components/HelperErrorText/_HelperErrorText.scss +0 -9
- package/src/components/HorizontalRule/_HorizontalRule.scss +0 -15
- package/src/components/Image/Image.stories.tsx +0 -54
- package/src/components/Image/_Image.scss +0 -38
- package/src/components/List/List.stories.tsx +0 -139
- package/src/components/List/_List.scss +0 -76
- package/src/components/Notification/_Notification.scss +0 -110
- package/src/components/Pagination/_Pagination.scss +0 -40
- package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
- package/src/components/VideoPlayer/_VideoPlayer.scss +0 -38
- package/src/styles/01-colors/_colors-brand.scss +0 -62
- package/src/styles/01-colors/_colors-utility.scss +0 -67
- package/src/styles/02-typography/_type-scale.css +0 -11
- package/src/styles/02-typography/_type-weight.css +0 -7
- package/src/styles/02-typography/_typefaces.css +0 -4
- package/src/styles/03-space/_space-stack.scss +0 -116
- package/src/styles/03-space/_space.css +0 -30
- package/src/styles/base/_card-grid.scss +0 -78
- package/src/styles/base/_typography.scss +0 -11
- package/src/theme/components/customCheckboxGroup.ts +0 -12
- package/src/theme/components/customRadioGroup.ts +0 -12
|
@@ -1,47 +1,45 @@
|
|
|
1
1
|
// HorizontalRule
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import
|
|
3
|
+
import { Box, useStyleConfig } from "@chakra-ui/react";
|
|
4
4
|
|
|
5
5
|
export interface HorizontalRuleProps {
|
|
6
|
-
/** Optional alignment value to align the horizontal rule to one side or the
|
|
6
|
+
/** Optional alignment value to align the horizontal rule to one side or the
|
|
7
|
+
* other when the width is less than 100%. If omitted, the horizontal rule
|
|
8
|
+
* will have a default center alignment. */
|
|
7
9
|
align?: "left" | "right";
|
|
8
|
-
/** Additional attributes passed to the horizontal rule */
|
|
9
|
-
attributes?: { [key: string]: any };
|
|
10
10
|
/** ClassName you can add in addition to `horizontal-rule` */
|
|
11
11
|
className?: string;
|
|
12
|
-
/** Optional height value.
|
|
12
|
+
/** Optional height value. This value should be entered with the same
|
|
13
|
+
* formatting as a CSS height attribute except for percent values (ex. `2`,
|
|
14
|
+
* `5px`, `1.5rem`). If this prop is omitted or a percent value is used, the
|
|
15
|
+
* horizontal rule will have a default height of 2px. */
|
|
13
16
|
height?: string;
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
/** Optional width value. This value should be entered with the same
|
|
18
|
+
* formatting as a CSS width attribute (ex. `50%`, `640px`, `20rem`). If
|
|
19
|
+
* omitted, the horizontal rule will have a default width of "auto". */
|
|
17
20
|
width?: string;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
export default function HorizontalRule(
|
|
21
24
|
props: React.ComponentProps<"hr"> & HorizontalRuleProps
|
|
22
25
|
) {
|
|
23
|
-
const {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
className,
|
|
27
|
-
width = "auto",
|
|
28
|
-
height = "2px",
|
|
29
|
-
modifiers = [],
|
|
30
|
-
} = props;
|
|
26
|
+
const { align, className, height = "2px", width = "auto" } = props;
|
|
27
|
+
const styles = useStyleConfig("HorizontalRule", { align });
|
|
28
|
+
let finalHeight = height;
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
modifiers.push(align);
|
|
30
|
+
if (height.endsWith("%")) {
|
|
31
|
+
console.warn(
|
|
32
|
+
"`HorizontalRule`: For the `height` prop, use a whole number, a `px`" +
|
|
33
|
+
" value, a `em` value, or a `rem` value. Using the default of 2px."
|
|
34
|
+
);
|
|
35
|
+
finalHeight = "2px";
|
|
39
36
|
}
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
const finalStyles = {
|
|
39
|
+
...styles,
|
|
40
|
+
height: finalHeight,
|
|
41
|
+
width,
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
return <Box as="hr" className={className} __css={finalStyles} />;
|
|
47
45
|
}
|
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
-
exports[`HorizontalRule
|
|
4
|
-
<hr
|
|
5
|
-
className="
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
exports[`HorizontalRule renders the UI snapshot correctly 1`] = `
|
|
4
|
+
<hr
|
|
5
|
+
className="css-ili6fu"
|
|
6
|
+
/>
|
|
7
|
+
`;
|
|
8
|
+
|
|
9
|
+
exports[`HorizontalRule renders the UI snapshot correctly 2`] = `
|
|
10
|
+
<hr
|
|
11
|
+
className="css-1pwp4fu"
|
|
12
|
+
/>
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
exports[`HorizontalRule renders the UI snapshot correctly 3`] = `
|
|
16
|
+
<hr
|
|
17
|
+
className="css-gj8znx"
|
|
18
|
+
/>
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
exports[`HorizontalRule renders the UI snapshot correctly 4`] = `
|
|
22
|
+
<hr
|
|
23
|
+
className="css-ili6fu"
|
|
24
|
+
/>
|
|
25
|
+
`;
|
|
26
|
+
|
|
27
|
+
exports[`HorizontalRule renders the UI snapshot correctly 5`] = `
|
|
28
|
+
<hr
|
|
29
|
+
className="css-ili6fu"
|
|
12
30
|
/>
|
|
13
31
|
`;
|
|
@@ -28,8 +28,7 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
28
28
|
parameters={{
|
|
29
29
|
design: {
|
|
30
30
|
type: "figma",
|
|
31
|
-
url:
|
|
32
|
-
"https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10734%3A3945",
|
|
31
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Main?node-id=10734%3A3945",
|
|
33
32
|
},
|
|
34
33
|
jest: ["Icon.test.tsx"],
|
|
35
34
|
}}
|
|
@@ -45,7 +44,7 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
45
44
|
| Component Version | DS Version |
|
|
46
45
|
| ----------------- | ---------- |
|
|
47
46
|
| Added | `0.0.4` |
|
|
48
|
-
| Latest | `0.25.
|
|
47
|
+
| Latest | `0.25.4` |
|
|
49
48
|
|
|
50
49
|
<Description of={Icon} />
|
|
51
50
|
|
|
@@ -100,6 +99,7 @@ import { getCategory } from "../../utils/componentCategories";
|
|
|
100
99
|
iconRotation={IconRotationTypes[args.iconRotation]}
|
|
101
100
|
name={IconNames[args.name]}
|
|
102
101
|
size={IconSizes[args.size]}
|
|
102
|
+
title={args.title}
|
|
103
103
|
/>
|
|
104
104
|
)}
|
|
105
105
|
</Story>
|
|
@@ -132,7 +132,7 @@ export const iconRow = (icon, iconType = IconNames, opts = {}) => {
|
|
|
132
132
|
key += `-${size}`;
|
|
133
133
|
}
|
|
134
134
|
return (
|
|
135
|
-
<li key={key} style={{ marginBottom: "var(--space-s)" }}>
|
|
135
|
+
<li key={key} style={{ marginBottom: "var(--nypl-space-s)" }}>
|
|
136
136
|
<span style={styles}>
|
|
137
137
|
<Icon
|
|
138
138
|
name={iconType[icon]}
|
|
@@ -186,6 +186,14 @@ export const allIconsType = (list) => (
|
|
|
186
186
|
<ul style={{ listStyle: "none" }}>{list}</ul>
|
|
187
187
|
);
|
|
188
188
|
|
|
189
|
+
## Accessibility
|
|
190
|
+
|
|
191
|
+
For accessibility purposes, every DS `Icon` will render the `svg` element with
|
|
192
|
+
its icon name in the `title` element. The default text in the `title` element
|
|
193
|
+
is the icon's code name. Pass in better descriptive text in the `title` prop
|
|
194
|
+
when using the `Icon` component in your application. This will give screenreaders
|
|
195
|
+
a better descriptive title for the `svg` graphic.
|
|
196
|
+
|
|
189
197
|
## Rotation Types
|
|
190
198
|
|
|
191
199
|
Passing an `iconRotation` prop with a value from `IconRotationTypes` allows
|
|
@@ -44,6 +44,24 @@ describe("Icon", () => {
|
|
|
44
44
|
expect(container.querySelector("svg")).toBeInTheDocument();
|
|
45
45
|
});
|
|
46
46
|
|
|
47
|
+
// NOTE: the svg icon is dynamically generated by the "svgr" package. At build
|
|
48
|
+
// time, it generate the `title` element but it doesn't generate it for tests.
|
|
49
|
+
// In order to test this, we can check the `title` attribute in the svg
|
|
50
|
+
// element itself. Inspect the `Icon` in Storybook to see the `title` element.
|
|
51
|
+
it("renders a title element", () => {
|
|
52
|
+
const { container, rerender } = render(<Icon name={IconNames.Download} />);
|
|
53
|
+
expect(container.querySelector("svg")).toHaveAttribute(
|
|
54
|
+
"title",
|
|
55
|
+
"download icon"
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
rerender(<Icon name={IconNames.Download} title="title content" />);
|
|
59
|
+
expect(container.querySelector("svg")).toHaveAttribute(
|
|
60
|
+
"title",
|
|
61
|
+
"title content"
|
|
62
|
+
);
|
|
63
|
+
});
|
|
64
|
+
|
|
47
65
|
it("renders an icon based on the child", () => {
|
|
48
66
|
const { container } = render(
|
|
49
67
|
<Icon>
|
|
@@ -14,6 +14,8 @@ import {
|
|
|
14
14
|
import iconSvgs from "./IconSvgs";
|
|
15
15
|
|
|
16
16
|
export interface IconProps {
|
|
17
|
+
/** Optionally pass in additional Chakra-based styles. */
|
|
18
|
+
additionalStyles?: { [key: string]: any };
|
|
17
19
|
/** Aligns the icon. */
|
|
18
20
|
align?: IconAlign;
|
|
19
21
|
/** className that appears in addition to "icon" */
|
|
@@ -31,6 +33,10 @@ export interface IconProps {
|
|
|
31
33
|
name?: IconNames | LogoNames;
|
|
32
34
|
/** Sets the icon size. */
|
|
33
35
|
size?: IconSizes;
|
|
36
|
+
/** For accessibility purposes, the text passed in the `title` prop gets
|
|
37
|
+
* rendered in a `title` element in the SVG. This descriptive text is not
|
|
38
|
+
* visible but is needed for screenreaders to describe the graphic. */
|
|
39
|
+
title?: string;
|
|
34
40
|
/** Sets the icon variant type. */
|
|
35
41
|
type?: IconTypes;
|
|
36
42
|
}
|
|
@@ -40,6 +46,7 @@ export interface IconProps {
|
|
|
40
46
|
*/
|
|
41
47
|
export default function Icon(props: React.PropsWithChildren<IconProps>) {
|
|
42
48
|
const {
|
|
49
|
+
additionalStyles = {},
|
|
43
50
|
align = "none",
|
|
44
51
|
children,
|
|
45
52
|
className,
|
|
@@ -49,6 +56,7 @@ export default function Icon(props: React.PropsWithChildren<IconProps>) {
|
|
|
49
56
|
id = generateUUID(),
|
|
50
57
|
name,
|
|
51
58
|
size = IconSizes.Medium,
|
|
59
|
+
title = `${name} icon`,
|
|
52
60
|
type = IconTypes.Default,
|
|
53
61
|
} = props;
|
|
54
62
|
const styles = useStyleConfig("Icon", {
|
|
@@ -63,6 +71,7 @@ export default function Icon(props: React.PropsWithChildren<IconProps>) {
|
|
|
63
71
|
className,
|
|
64
72
|
id,
|
|
65
73
|
role: "img",
|
|
74
|
+
title,
|
|
66
75
|
};
|
|
67
76
|
let childSVG = null;
|
|
68
77
|
|
|
@@ -84,7 +93,13 @@ export default function Icon(props: React.PropsWithChildren<IconProps>) {
|
|
|
84
93
|
// render the SVG child with NYPL-theme styling.
|
|
85
94
|
if (name) {
|
|
86
95
|
const SvgComponent: any = iconSvgs[name];
|
|
87
|
-
return
|
|
96
|
+
return (
|
|
97
|
+
<ChakraIcon
|
|
98
|
+
as={SvgComponent}
|
|
99
|
+
{...iconProps}
|
|
100
|
+
__css={{ ...styles, ...additionalStyles }}
|
|
101
|
+
/>
|
|
102
|
+
);
|
|
88
103
|
}
|
|
89
104
|
|
|
90
105
|
// If no `name` prop was passed, we expect a child SVG element to be passed.
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
/* eslint-disable camelcase */
|
|
2
2
|
import accessibility_full from "../../../icons/svg/accessibility_full.svg";
|
|
3
3
|
import accessibility_partial from "../../../icons/svg/accessibility_partial.svg";
|
|
4
|
+
import action_check_circle from "../../../icons/svg/action_check_circle.svg";
|
|
5
|
+
import action_help_default from "../../../icons/svg/action_help_default.svg";
|
|
6
|
+
import action_help_outline from "../../../icons/svg/action_help_outline.svg";
|
|
7
|
+
import action_launch from "../../../icons/svg/action_launch.svg";
|
|
4
8
|
import arrow from "../../../icons/svg/arrow.svg";
|
|
5
9
|
import brooklyn from "../../../icons/svg/brooklyn.svg";
|
|
6
10
|
import check from "../../../icons/svg/check.svg";
|
|
7
11
|
import clock from "../../../icons/svg/clock.svg";
|
|
8
12
|
import close from "../../../icons/svg/close.svg";
|
|
13
|
+
import file_type_audio from "../../../icons/svg/file_type_audio.svg";
|
|
14
|
+
import file_type_doc from "../../../icons/svg/file_type_doc.svg";
|
|
15
|
+
import file_type_generic_doc from "../../../icons/svg/file_type_generic_doc.svg";
|
|
16
|
+
import file_type_image from "../../../icons/svg/file_type_image.svg";
|
|
17
|
+
import file_type_pdf from "../../../icons/svg/file_type_pdf.svg";
|
|
18
|
+
import file_type_spreadsheet from "../../../icons/svg/file_type_spreadsheet.svg";
|
|
19
|
+
import file_type_video from "../../../icons/svg/file_type_video.svg";
|
|
9
20
|
import download from "../../../icons/svg/download.svg";
|
|
10
21
|
import error_filled from "../../../icons/svg/error_filled.svg";
|
|
11
22
|
import error_outline from "../../../icons/svg/error_outline.svg";
|
|
@@ -42,6 +53,10 @@ import utility_search from "../../../icons/svg/search.svg";
|
|
|
42
53
|
export default {
|
|
43
54
|
accessibility_full,
|
|
44
55
|
accessibility_partial,
|
|
56
|
+
action_check_circle,
|
|
57
|
+
action_help_default,
|
|
58
|
+
action_help_outline,
|
|
59
|
+
action_launch,
|
|
45
60
|
arrow,
|
|
46
61
|
brooklyn,
|
|
47
62
|
check,
|
|
@@ -50,6 +65,13 @@ export default {
|
|
|
50
65
|
download,
|
|
51
66
|
error_filled,
|
|
52
67
|
error_outline,
|
|
68
|
+
file_type_audio,
|
|
69
|
+
file_type_doc,
|
|
70
|
+
file_type_generic_doc,
|
|
71
|
+
file_type_image,
|
|
72
|
+
file_type_pdf,
|
|
73
|
+
file_type_spreadsheet,
|
|
74
|
+
file_type_video,
|
|
53
75
|
headset,
|
|
54
76
|
logo_brooklyn,
|
|
55
77
|
logo_nypl,
|
|
@@ -49,6 +49,10 @@ export enum IconSizes {
|
|
|
49
49
|
export enum IconNames {
|
|
50
50
|
AccessibilityFull = "accessibility_full",
|
|
51
51
|
AccessibilityPartial = "accessibility_partial",
|
|
52
|
+
ActionCheckCircle = "action_check_circle",
|
|
53
|
+
ActionHelpDefault = "action_help_default",
|
|
54
|
+
ActionHelpOutline = "action_help_outline",
|
|
55
|
+
ActionLaunch = "action_launch",
|
|
52
56
|
Arrow = "arrow",
|
|
53
57
|
Check = "check",
|
|
54
58
|
Clock = "clock",
|
|
@@ -56,6 +60,13 @@ export enum IconNames {
|
|
|
56
60
|
Download = "download",
|
|
57
61
|
ErrorFilled = "error_filled",
|
|
58
62
|
ErrorOutline = "error_outline",
|
|
63
|
+
FileTypeAudio = "file_type_audio",
|
|
64
|
+
FileTypeDoc = "file_type_doc",
|
|
65
|
+
FileTypeGenericDoc = "file_type_generic_doc",
|
|
66
|
+
FileTypeImage = "file_type_image",
|
|
67
|
+
FileTypePdf = "file_type_pdf",
|
|
68
|
+
FileTypeSpreadsheet = "file_type_spreadsheet",
|
|
69
|
+
FileTypeVideo = "file_type_video",
|
|
59
70
|
Headset = "headset",
|
|
60
71
|
Minus = "minus",
|
|
61
72
|
Plus = "plus",
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Meta,
|
|
3
|
+
Story,
|
|
4
|
+
Canvas,
|
|
5
|
+
ArgsTable,
|
|
6
|
+
Description,
|
|
7
|
+
} from "@storybook/addon-docs/blocks";
|
|
8
|
+
import { withDesign } from "storybook-addon-designs";
|
|
9
|
+
import { VStack } from "@chakra-ui/react";
|
|
10
|
+
|
|
11
|
+
import Image from "./Image";
|
|
12
|
+
import { ImageRatios, ImageSizes, ImageTypes } from "./ImageTypes";
|
|
13
|
+
import Heading from "../Heading/Heading";
|
|
14
|
+
import { getCategory } from "../../utils/componentCategories";
|
|
15
|
+
|
|
16
|
+
<Meta
|
|
17
|
+
title={getCategory("Image")}
|
|
18
|
+
component={Image}
|
|
19
|
+
decorators={[withDesign]}
|
|
20
|
+
parameters={{
|
|
21
|
+
design: {
|
|
22
|
+
type: "figma",
|
|
23
|
+
url: "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=11896%3A45379",
|
|
24
|
+
},
|
|
25
|
+
jest: ["Image.test.tsx"],
|
|
26
|
+
}}
|
|
27
|
+
argTypes={{
|
|
28
|
+
alt: { table: { disable: true } },
|
|
29
|
+
className: { table: { disable: true } },
|
|
30
|
+
component: { table: { disable: true } },
|
|
31
|
+
}}
|
|
32
|
+
/>
|
|
33
|
+
|
|
34
|
+
# Image
|
|
35
|
+
|
|
36
|
+
| Component Version | DS Version |
|
|
37
|
+
| ----------------- | ---------- |
|
|
38
|
+
| Added | `0.0.6` |
|
|
39
|
+
| Latest | `0.25.3` |
|
|
40
|
+
|
|
41
|
+
<Description of={Image} />
|
|
42
|
+
|
|
43
|
+
<p>
|
|
44
|
+
If you want a simple HTML `img` element then don't pass in values for the
|
|
45
|
+
`imageAspectRatio` or `imageSize` props.
|
|
46
|
+
</p>
|
|
47
|
+
|
|
48
|
+
<Canvas>
|
|
49
|
+
<Story
|
|
50
|
+
name="Image Props"
|
|
51
|
+
args={{
|
|
52
|
+
alt: "Alt text",
|
|
53
|
+
imageAspectRatio: ImageRatios.TwoByOne,
|
|
54
|
+
imageCaption: "Image caption",
|
|
55
|
+
imageCredit: "Image credit",
|
|
56
|
+
imageSize: ImageSizes.Medium,
|
|
57
|
+
imageType: ImageTypes.Default,
|
|
58
|
+
src: "https://placeimg.com/400/300/animals",
|
|
59
|
+
}}
|
|
60
|
+
>
|
|
61
|
+
{(args) => <Image {...args} />}
|
|
62
|
+
</Story>
|
|
63
|
+
</Canvas>
|
|
64
|
+
|
|
65
|
+
<ArgsTable story="Image Props" />
|
|
66
|
+
|
|
67
|
+
## Image Figure
|
|
68
|
+
|
|
69
|
+
By passing in `imageCredit` or `imageCaption`, the `Image` component will
|
|
70
|
+
render an HTML `figure` element and render an `img` element inside with the
|
|
71
|
+
proper props. If no `imageCredit` or `imageCaption` prop values are passed,
|
|
72
|
+
then an `img` element will be rendered with or without wrapper style divs.
|
|
73
|
+
|
|
74
|
+
<Canvas>
|
|
75
|
+
<Story
|
|
76
|
+
name="Figure and figcaption"
|
|
77
|
+
args={{
|
|
78
|
+
alt: "Alt text",
|
|
79
|
+
imageAspectRatio: ImageRatios.ThreeByTwo,
|
|
80
|
+
imageCaption: "Image caption",
|
|
81
|
+
imageCredit: "Image credit",
|
|
82
|
+
imageSize: ImageSizes.Medium,
|
|
83
|
+
imageType: ImageTypes.Default,
|
|
84
|
+
src: "https://placeimg.com/400/300/animals",
|
|
85
|
+
}}
|
|
86
|
+
argTypes={{
|
|
87
|
+
imageAspectRatio: { table: { disable: true } },
|
|
88
|
+
imageCaption: { table: { disable: true } },
|
|
89
|
+
imageCredit: { table: { disable: true } },
|
|
90
|
+
imageSize: { table: { disable: true } },
|
|
91
|
+
imageType: { table: { disable: true } },
|
|
92
|
+
src: { table: { disable: true } },
|
|
93
|
+
}}
|
|
94
|
+
>
|
|
95
|
+
{(args) => <Image {...args} />}
|
|
96
|
+
</Story>
|
|
97
|
+
</Canvas>
|
|
98
|
+
|
|
99
|
+
## Image Sizes
|
|
100
|
+
|
|
101
|
+
Use the `ImageSizes` prop to set the desired size.
|
|
102
|
+
|
|
103
|
+
<Canvas>
|
|
104
|
+
<Story name="Image Sizes">
|
|
105
|
+
<VStack spacing="xs">
|
|
106
|
+
<Heading id="Small" text="ImageSizes.Small" />
|
|
107
|
+
<Image
|
|
108
|
+
alt="Alt text"
|
|
109
|
+
imageSize={ImageSizes.Small}
|
|
110
|
+
src="https://placeimg.com/400/300/animals"
|
|
111
|
+
/>
|
|
112
|
+
<Heading id="Medium" text="ImageSizes.Medium" />
|
|
113
|
+
<Image
|
|
114
|
+
alt="Alt text"
|
|
115
|
+
imageSize={ImageSizes.Medium}
|
|
116
|
+
src="https://placeimg.com/400/300/animals"
|
|
117
|
+
/>
|
|
118
|
+
<Heading id="Large" text="ImageSizes.Large" />
|
|
119
|
+
<Image
|
|
120
|
+
alt="Alt text"
|
|
121
|
+
imageSize={ImageSizes.Large}
|
|
122
|
+
src="https://placeimg.com/400/300/animals"
|
|
123
|
+
/>
|
|
124
|
+
<Heading id="Default" text="ImageSizes.Default" />
|
|
125
|
+
<Image alt="Alt text" src="https://placeimg.com/400/300/animals" />
|
|
126
|
+
</VStack>
|
|
127
|
+
</Story>
|
|
128
|
+
</Canvas>
|
|
129
|
+
|
|
130
|
+
## Image Aspect Ratios
|
|
131
|
+
|
|
132
|
+
Use the `imageAspectRatio` prop to set the desired aspect ratio. Note: the
|
|
133
|
+
following example has `imageSize` set to `ImageSizes.Small`.
|
|
134
|
+
|
|
135
|
+
For a better viewing experience, the `Image` components below have been wrapped
|
|
136
|
+
in an element with a fixed width value.
|
|
137
|
+
|
|
138
|
+
<Canvas>
|
|
139
|
+
<Story name="Image Aspect Ratios">
|
|
140
|
+
<VStack spacing="xs" maxWidth="360px" margin="auto">
|
|
141
|
+
<Heading id="fourbythree" text="ImageRatios.FourByThree" />
|
|
142
|
+
<Image
|
|
143
|
+
alt="Alt text"
|
|
144
|
+
imageAspectRatio={ImageRatios.FourByThree}
|
|
145
|
+
src="https://placeimg.com/400/300/animals"
|
|
146
|
+
/>
|
|
147
|
+
<Heading id="onebytwo" text="ImageRatios.OneByTwo" />
|
|
148
|
+
<Image
|
|
149
|
+
alt="Alt text"
|
|
150
|
+
imageAspectRatio={ImageRatios.OneByTwo}
|
|
151
|
+
src="https://placeimg.com/400/300/animals"
|
|
152
|
+
/>
|
|
153
|
+
<Heading id="original" text="ImageRatios.Original" />
|
|
154
|
+
<Image
|
|
155
|
+
alt="Alt text"
|
|
156
|
+
imageAspectRatio={ImageRatios.Original}
|
|
157
|
+
src="https://placeimg.com/400/300/animals"
|
|
158
|
+
/>
|
|
159
|
+
<Heading id="sixteenbynine" text="ImageRatios.SixteenByNine" />
|
|
160
|
+
<Image
|
|
161
|
+
alt="Alt text"
|
|
162
|
+
imageAspectRatio={ImageRatios.SixteenByNine}
|
|
163
|
+
src="https://placeimg.com/400/300/animals"
|
|
164
|
+
/>
|
|
165
|
+
<Heading id="square" text="ImageRatios.Square" />
|
|
166
|
+
<Image
|
|
167
|
+
alt="Alt text"
|
|
168
|
+
imageAspectRatio={ImageRatios.Square}
|
|
169
|
+
src="https://placeimg.com/400/300/animals"
|
|
170
|
+
/>
|
|
171
|
+
<Heading id="threebyfour" text="ImageRatios.ThreeByFour" />
|
|
172
|
+
<Image
|
|
173
|
+
alt="Alt text"
|
|
174
|
+
imageAspectRatio={ImageRatios.ThreeByFour}
|
|
175
|
+
src="https://placeimg.com/400/300/animals"
|
|
176
|
+
/>
|
|
177
|
+
<Heading id="threebytwo" text="ImageRatios.ThreeByTwo" />
|
|
178
|
+
<Image
|
|
179
|
+
alt="Alt text"
|
|
180
|
+
imageAspectRatio={ImageRatios.ThreeByTwo}
|
|
181
|
+
src="https://placeimg.com/400/300/animals"
|
|
182
|
+
/>
|
|
183
|
+
<Heading id="twobyone" text="ImageRatios.TwoByOne" />
|
|
184
|
+
<Image
|
|
185
|
+
alt="Alt text"
|
|
186
|
+
imageAspectRatio={ImageRatios.TwoByOne}
|
|
187
|
+
src="https://placeimg.com/400/300/animals"
|
|
188
|
+
/>
|
|
189
|
+
</VStack>
|
|
190
|
+
</Story>
|
|
191
|
+
</Canvas>
|
|
192
|
+
|
|
193
|
+
## Image Types
|
|
194
|
+
|
|
195
|
+
Use the `imageType` prop to get an image variant. Note that to get a perfect
|
|
196
|
+
circle, the `imageAspectRatio` prop _must_ be set to `ImageRatios.Square`.
|
|
197
|
+
|
|
198
|
+
For a better viewing experience, the `Image` components below have been wrapped
|
|
199
|
+
in an element with a fixed width value.
|
|
200
|
+
|
|
201
|
+
<Canvas>
|
|
202
|
+
<Story name="Image Types">
|
|
203
|
+
<VStack spacing="xs" maxWidth="360px" margin="auto">
|
|
204
|
+
<Heading id="default" text="ImageTypes.Default" />
|
|
205
|
+
<Image
|
|
206
|
+
alt="Alt text"
|
|
207
|
+
imageAspectRatio={ImageRatios.Square}
|
|
208
|
+
imageType={ImageTypes.Default}
|
|
209
|
+
src="https://placeimg.com/400/400/animals"
|
|
210
|
+
/>
|
|
211
|
+
<Heading id="circle" text="ImageTypes.Circle" />
|
|
212
|
+
<Image
|
|
213
|
+
alt="Alt text"
|
|
214
|
+
imageAspectRatio={ImageRatios.Square}
|
|
215
|
+
imageType={ImageTypes.Circle}
|
|
216
|
+
src="https://placeimg.com/400/400/animals"
|
|
217
|
+
/>
|
|
218
|
+
</VStack>
|
|
219
|
+
</Story>
|
|
220
|
+
</Canvas>
|