@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
|
@@ -199,6 +199,204 @@ exports[`Breadcrumbs Snapshot Renders the UI snapshot correctly 2`] = `
|
|
|
199
199
|
`;
|
|
200
200
|
|
|
201
201
|
exports[`Breadcrumbs Snapshot Renders the UI snapshot correctly 3`] = `
|
|
202
|
+
<nav
|
|
203
|
+
aria-label="breadcrumb"
|
|
204
|
+
className="chakra-breadcrumb css-0"
|
|
205
|
+
id="breadcrumbs-test"
|
|
206
|
+
>
|
|
207
|
+
<ol
|
|
208
|
+
className="chakra-breadcrumb__list css-0"
|
|
209
|
+
>
|
|
210
|
+
<li
|
|
211
|
+
className="chakra-breadcrumb__list-item css-18biwo"
|
|
212
|
+
>
|
|
213
|
+
<a
|
|
214
|
+
className="chakra-breadcrumb__link css-0"
|
|
215
|
+
href="#string1"
|
|
216
|
+
>
|
|
217
|
+
<span
|
|
218
|
+
className="breadcrumb-label"
|
|
219
|
+
>
|
|
220
|
+
string1
|
|
221
|
+
</span>
|
|
222
|
+
</a>
|
|
223
|
+
<span
|
|
224
|
+
className="css-t4q1nq"
|
|
225
|
+
role="presentation"
|
|
226
|
+
>
|
|
227
|
+
/
|
|
228
|
+
</span>
|
|
229
|
+
</li>
|
|
230
|
+
<li
|
|
231
|
+
className="chakra-breadcrumb__list-item css-18biwo"
|
|
232
|
+
>
|
|
233
|
+
<a
|
|
234
|
+
className="chakra-breadcrumb__link css-0"
|
|
235
|
+
href="#string2"
|
|
236
|
+
>
|
|
237
|
+
<svg
|
|
238
|
+
aria-hidden={true}
|
|
239
|
+
className="chakra-icon breadcrumbs-icon css-onkibi"
|
|
240
|
+
focusable={false}
|
|
241
|
+
id="breadcrumbs-test__backarrow"
|
|
242
|
+
role="img"
|
|
243
|
+
title="arrow icon"
|
|
244
|
+
viewBox="0 0 24 24"
|
|
245
|
+
>
|
|
246
|
+
<g
|
|
247
|
+
stroke="currentColor"
|
|
248
|
+
strokeWidth="1.5"
|
|
249
|
+
>
|
|
250
|
+
<path
|
|
251
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
252
|
+
fill="none"
|
|
253
|
+
strokeLinecap="round"
|
|
254
|
+
/>
|
|
255
|
+
<path
|
|
256
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
257
|
+
fill="currentColor"
|
|
258
|
+
strokeLinecap="round"
|
|
259
|
+
/>
|
|
260
|
+
<circle
|
|
261
|
+
cx="12"
|
|
262
|
+
cy="12"
|
|
263
|
+
fill="none"
|
|
264
|
+
r="11.25"
|
|
265
|
+
strokeMiterlimit="10"
|
|
266
|
+
/>
|
|
267
|
+
</g>
|
|
268
|
+
</svg>
|
|
269
|
+
<span
|
|
270
|
+
className="breadcrumb-label"
|
|
271
|
+
>
|
|
272
|
+
string2
|
|
273
|
+
</span>
|
|
274
|
+
</a>
|
|
275
|
+
<span
|
|
276
|
+
className="css-t4q1nq"
|
|
277
|
+
role="presentation"
|
|
278
|
+
>
|
|
279
|
+
/
|
|
280
|
+
</span>
|
|
281
|
+
</li>
|
|
282
|
+
<li
|
|
283
|
+
className="chakra-breadcrumb__list-item css-18biwo"
|
|
284
|
+
>
|
|
285
|
+
<span
|
|
286
|
+
aria-current="page"
|
|
287
|
+
className="chakra-breadcrumb__link css-0"
|
|
288
|
+
>
|
|
289
|
+
<span
|
|
290
|
+
className="breadcrumb-label"
|
|
291
|
+
>
|
|
292
|
+
string3
|
|
293
|
+
</span>
|
|
294
|
+
</span>
|
|
295
|
+
</li>
|
|
296
|
+
</ol>
|
|
297
|
+
</nav>
|
|
298
|
+
`;
|
|
299
|
+
|
|
300
|
+
exports[`Breadcrumbs Snapshot Renders the UI snapshot correctly 4`] = `
|
|
301
|
+
<nav
|
|
302
|
+
aria-label="breadcrumb"
|
|
303
|
+
className="chakra-breadcrumb css-0"
|
|
304
|
+
id="breadcrumbs-test"
|
|
305
|
+
>
|
|
306
|
+
<ol
|
|
307
|
+
className="chakra-breadcrumb__list css-0"
|
|
308
|
+
>
|
|
309
|
+
<li
|
|
310
|
+
className="chakra-breadcrumb__list-item css-18biwo"
|
|
311
|
+
>
|
|
312
|
+
<a
|
|
313
|
+
className="chakra-breadcrumb__link css-0"
|
|
314
|
+
href="#string1"
|
|
315
|
+
>
|
|
316
|
+
<span
|
|
317
|
+
className="breadcrumb-label"
|
|
318
|
+
>
|
|
319
|
+
string1
|
|
320
|
+
</span>
|
|
321
|
+
</a>
|
|
322
|
+
<span
|
|
323
|
+
className="css-t4q1nq"
|
|
324
|
+
role="presentation"
|
|
325
|
+
>
|
|
326
|
+
/
|
|
327
|
+
</span>
|
|
328
|
+
</li>
|
|
329
|
+
<li
|
|
330
|
+
className="chakra-breadcrumb__list-item css-18biwo"
|
|
331
|
+
>
|
|
332
|
+
<a
|
|
333
|
+
className="chakra-breadcrumb__link css-0"
|
|
334
|
+
href="#string2"
|
|
335
|
+
>
|
|
336
|
+
<svg
|
|
337
|
+
aria-hidden={true}
|
|
338
|
+
className="chakra-icon breadcrumbs-icon css-onkibi"
|
|
339
|
+
focusable={false}
|
|
340
|
+
id="breadcrumbs-test__backarrow"
|
|
341
|
+
role="img"
|
|
342
|
+
title="arrow icon"
|
|
343
|
+
viewBox="0 0 24 24"
|
|
344
|
+
>
|
|
345
|
+
<g
|
|
346
|
+
stroke="currentColor"
|
|
347
|
+
strokeWidth="1.5"
|
|
348
|
+
>
|
|
349
|
+
<path
|
|
350
|
+
d="M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
351
|
+
fill="none"
|
|
352
|
+
strokeLinecap="round"
|
|
353
|
+
/>
|
|
354
|
+
<path
|
|
355
|
+
d="M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
356
|
+
fill="currentColor"
|
|
357
|
+
strokeLinecap="round"
|
|
358
|
+
/>
|
|
359
|
+
<circle
|
|
360
|
+
cx="12"
|
|
361
|
+
cy="12"
|
|
362
|
+
fill="none"
|
|
363
|
+
r="11.25"
|
|
364
|
+
strokeMiterlimit="10"
|
|
365
|
+
/>
|
|
366
|
+
</g>
|
|
367
|
+
</svg>
|
|
368
|
+
<span
|
|
369
|
+
className="breadcrumb-label"
|
|
370
|
+
>
|
|
371
|
+
string2
|
|
372
|
+
</span>
|
|
373
|
+
</a>
|
|
374
|
+
<span
|
|
375
|
+
className="css-t4q1nq"
|
|
376
|
+
role="presentation"
|
|
377
|
+
>
|
|
378
|
+
/
|
|
379
|
+
</span>
|
|
380
|
+
</li>
|
|
381
|
+
<li
|
|
382
|
+
className="chakra-breadcrumb__list-item css-18biwo"
|
|
383
|
+
>
|
|
384
|
+
<span
|
|
385
|
+
aria-current="page"
|
|
386
|
+
className="chakra-breadcrumb__link css-0"
|
|
387
|
+
>
|
|
388
|
+
<span
|
|
389
|
+
className="breadcrumb-label"
|
|
390
|
+
>
|
|
391
|
+
string3
|
|
392
|
+
</span>
|
|
393
|
+
</span>
|
|
394
|
+
</li>
|
|
395
|
+
</ol>
|
|
396
|
+
</nav>
|
|
397
|
+
`;
|
|
398
|
+
|
|
399
|
+
exports[`Breadcrumbs Snapshot Renders the UI snapshot correctly 5`] = `
|
|
202
400
|
<nav
|
|
203
401
|
aria-label="breadcrumb"
|
|
204
402
|
className="chakra-breadcrumb css-1f2fw9u"
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import { ButtonGroup, VStack } from "@chakra-ui/react";
|
|
1
2
|
import {
|
|
2
|
-
Meta,
|
|
3
|
-
Story,
|
|
4
|
-
Canvas,
|
|
5
3
|
ArgsTable,
|
|
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 { ButtonGroup } from "@chakra-ui/react";
|
|
10
10
|
|
|
11
|
-
import Button from "./Button";
|
|
11
|
+
import Button, { ButtonElementType } from "./Button";
|
|
12
12
|
import { ButtonTypes } from "./ButtonTypes";
|
|
13
13
|
import Icon from "../Icons/Icon";
|
|
14
14
|
import {
|
|
@@ -17,9 +17,11 @@ import {
|
|
|
17
17
|
IconRotationTypes,
|
|
18
18
|
IconSizes,
|
|
19
19
|
} from "../Icons/IconTypes";
|
|
20
|
-
import getCSSVariable from "../../helpers/getCSSVariable";
|
|
21
20
|
import { getCategory } from "../../utils/componentCategories";
|
|
22
21
|
import DSProvider from "../../theme/provider";
|
|
22
|
+
import { getStorybookEnumValues } from "../../utils/utils";
|
|
23
|
+
|
|
24
|
+
export const enumValues = getStorybookEnumValues(ButtonTypes, "ButtonTypes");
|
|
23
25
|
|
|
24
26
|
<Meta
|
|
25
27
|
title={getCategory("Button")}
|
|
@@ -32,6 +34,30 @@ import DSProvider from "../../theme/provider";
|
|
|
32
34
|
},
|
|
33
35
|
jest: ["Button.test.tsx"],
|
|
34
36
|
}}
|
|
37
|
+
argTypes={{
|
|
38
|
+
additionalStyles: { control: false },
|
|
39
|
+
attributes: { control: false },
|
|
40
|
+
buttonText: { description: "Only used for Storybook" },
|
|
41
|
+
buttonType: {
|
|
42
|
+
control: { type: "select" },
|
|
43
|
+
table: { defaultValue: { summary: "ButtonType.Primary" } },
|
|
44
|
+
options: enumValues.options,
|
|
45
|
+
},
|
|
46
|
+
className: { control: false },
|
|
47
|
+
displayIcon: { description: "Only used for Storybook." },
|
|
48
|
+
displayIconLeft: {
|
|
49
|
+
description: "Move the icon left or right. Only used for Storybook.",
|
|
50
|
+
},
|
|
51
|
+
iconType: {
|
|
52
|
+
control: { type: "select" },
|
|
53
|
+
options: Object.values(IconNames).map((value) => value),
|
|
54
|
+
description: "Select the icon. Only used for Storybook.",
|
|
55
|
+
},
|
|
56
|
+
id: { control: false },
|
|
57
|
+
isDisabled: { table: { defaultValue: { summary: false } } },
|
|
58
|
+
mouseDown: { table: { defaultValue: { summary: false } } },
|
|
59
|
+
onClick: { control: false },
|
|
60
|
+
}}
|
|
35
61
|
/>
|
|
36
62
|
|
|
37
63
|
# Button
|
|
@@ -39,7 +65,7 @@ import DSProvider from "../../theme/provider";
|
|
|
39
65
|
| Component Version | DS Version |
|
|
40
66
|
| ----------------- | ---------- |
|
|
41
67
|
| Added | `0.0.4` |
|
|
42
|
-
| Latest | `0.25.
|
|
68
|
+
| Latest | `0.25.9` |
|
|
43
69
|
|
|
44
70
|
<Description of={Button} />
|
|
45
71
|
|
|
@@ -51,7 +77,6 @@ that can be rendered.
|
|
|
51
77
|
- `ButtonTypes.Callout` is used for call to action text such as "Donate".
|
|
52
78
|
- `ButtonTypes.Pill` is used for equally weighted actions within cards and always in a set.
|
|
53
79
|
- `ButtonTypes.Link` is used for equally weighted actions in a text based list.
|
|
54
|
-
- `ButtonTypes.SearchBar` is a variant only used in the `SearchBar` component.
|
|
55
80
|
- `ButtonTypes.NoBrand` is a variant used when there is no brand and will display
|
|
56
81
|
the background color as black.
|
|
57
82
|
|
|
@@ -59,16 +84,53 @@ When one and only one `Icon` component is passed inside a `Button` component wit
|
|
|
59
84
|
no text, it will automatically be configured to use the `"iconOnly"` type.
|
|
60
85
|
|
|
61
86
|
<Canvas withToolbar>
|
|
62
|
-
<Story
|
|
87
|
+
<Story
|
|
88
|
+
name="Button with Controls"
|
|
89
|
+
args={{
|
|
90
|
+
additionalStyles: undefined,
|
|
91
|
+
attributes: undefined,
|
|
92
|
+
buttonText: "Button Text",
|
|
93
|
+
buttonType: "ButtonTypes.Primary",
|
|
94
|
+
className: undefined,
|
|
95
|
+
displayIcon: false,
|
|
96
|
+
displayIconLeft: true,
|
|
97
|
+
iconType: IconNames.Search,
|
|
98
|
+
id: "button-id",
|
|
99
|
+
isDisabled: false,
|
|
100
|
+
mouseDown: undefined,
|
|
101
|
+
onClick: undefined,
|
|
102
|
+
type: "button",
|
|
103
|
+
}}
|
|
104
|
+
>
|
|
105
|
+
{(args) => (
|
|
106
|
+
<Button {...args} buttonType={enumValues.getValue(args.buttonType)}>
|
|
107
|
+
{args.displayIcon && args.displayIconLeft && (
|
|
108
|
+
<Icon
|
|
109
|
+
name={args.iconType}
|
|
110
|
+
align={IconAlign.Left}
|
|
111
|
+
size={IconSizes.Small}
|
|
112
|
+
/>
|
|
113
|
+
)}
|
|
114
|
+
{args.buttonText}
|
|
115
|
+
{args.displayIcon && !args.displayIconLeft && (
|
|
116
|
+
<Icon
|
|
117
|
+
name={args.iconType}
|
|
118
|
+
align={IconAlign.Right}
|
|
119
|
+
size={IconSizes.Small}
|
|
120
|
+
/>
|
|
121
|
+
)}
|
|
122
|
+
</Button>
|
|
123
|
+
)}
|
|
124
|
+
</Story>
|
|
63
125
|
</Canvas>
|
|
64
126
|
|
|
65
|
-
<ArgsTable story="
|
|
127
|
+
<ArgsTable story="Button with Controls" />
|
|
66
128
|
|
|
67
129
|
## Button Groups
|
|
68
130
|
|
|
69
131
|
Primary and secondary buttons should be grouped like in the following example.
|
|
70
132
|
The `ButtonGroup` component, which is directly exported from Chakra UI, should
|
|
71
|
-
be used to wrap the `Button`
|
|
133
|
+
be used to wrap the `Button` component.
|
|
72
134
|
|
|
73
135
|
<Canvas>
|
|
74
136
|
<Story name="Button Groups">
|
|
@@ -83,45 +145,28 @@ be used to wrap the `Button` cmoponent.
|
|
|
83
145
|
|
|
84
146
|
The `Icon` component collaborates great with the `Button` component. Check out
|
|
85
147
|
[`src/components/Icons/IconTypes`](https://github.com/NYPL/nypl-design-system/blob/development/src/components/Icons/IconTypes.tsx)
|
|
86
|
-
to see the full list of icon and logo names that can be rendered.
|
|
87
|
-
Controls for this Story section to preview a `Button` with the selected icon.
|
|
148
|
+
to see the full list of icon and logo names that can be rendered.
|
|
88
149
|
|
|
89
150
|
<Canvas>
|
|
90
|
-
<Story
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
control: {
|
|
100
|
-
type: "select",
|
|
101
|
-
},
|
|
102
|
-
options: Object.values(IconNames).map((value) => value),
|
|
103
|
-
},
|
|
104
|
-
}}
|
|
105
|
-
>
|
|
106
|
-
{(args) => (
|
|
107
|
-
<Button {...args}>
|
|
108
|
-
{args.displayLeft && (
|
|
109
|
-
<Icon
|
|
110
|
-
name={args.iconType}
|
|
111
|
-
align={IconAlign.Left}
|
|
112
|
-
size={IconSizes.Small}
|
|
113
|
-
/>
|
|
114
|
-
)}
|
|
115
|
-
{args.buttonText}
|
|
116
|
-
{!args.displayLeft && (
|
|
117
|
-
<Icon
|
|
118
|
-
name={args.iconType}
|
|
119
|
-
align={IconAlign.Right}
|
|
120
|
-
size={IconSizes.Small}
|
|
121
|
-
/>
|
|
122
|
-
)}
|
|
151
|
+
<Story name="With Icon">
|
|
152
|
+
<VStack align="left" width="150px">
|
|
153
|
+
<Button>
|
|
154
|
+
<Icon
|
|
155
|
+
name={IconNames.Search}
|
|
156
|
+
align={IconAlign.Left}
|
|
157
|
+
size={IconSizes.Small}
|
|
158
|
+
/>
|
|
159
|
+
Button Text
|
|
123
160
|
</Button>
|
|
124
|
-
|
|
161
|
+
<Button>
|
|
162
|
+
Button Text
|
|
163
|
+
<Icon
|
|
164
|
+
name={IconNames.Search}
|
|
165
|
+
align={IconAlign.Right}
|
|
166
|
+
size={IconSizes.Small}
|
|
167
|
+
/>
|
|
168
|
+
</Button>
|
|
169
|
+
</VStack>
|
|
125
170
|
</Story>
|
|
126
171
|
</Canvas>
|
|
127
172
|
|
|
@@ -150,17 +150,6 @@ describe("Button Snapshot", () => {
|
|
|
150
150
|
</Button>
|
|
151
151
|
)
|
|
152
152
|
.toJSON();
|
|
153
|
-
const searchBar = renderer
|
|
154
|
-
.create(
|
|
155
|
-
<Button
|
|
156
|
-
id="button"
|
|
157
|
-
onClick={jest.fn()}
|
|
158
|
-
buttonType={ButtonTypes.SearchBar}
|
|
159
|
-
>
|
|
160
|
-
SearchBar
|
|
161
|
-
</Button>
|
|
162
|
-
)
|
|
163
|
-
.toJSON();
|
|
164
153
|
const noBrand = renderer
|
|
165
154
|
.create(
|
|
166
155
|
<Button
|
|
@@ -179,7 +168,6 @@ describe("Button Snapshot", () => {
|
|
|
179
168
|
expect(callout).toMatchSnapshot();
|
|
180
169
|
expect(pill).toMatchSnapshot();
|
|
181
170
|
expect(link).toMatchSnapshot();
|
|
182
|
-
expect(searchBar).toMatchSnapshot();
|
|
183
171
|
expect(noBrand).toMatchSnapshot();
|
|
184
172
|
});
|
|
185
173
|
});
|
|
@@ -6,25 +6,25 @@ import Icon from "../Icons/Icon";
|
|
|
6
6
|
import { getVariant } from "../../utils/utils";
|
|
7
7
|
import generateUUID from "../../helpers/generateUUID";
|
|
8
8
|
|
|
9
|
-
type ButtonElementType = "submit" | "button" | "reset";
|
|
9
|
+
export type ButtonElementType = "submit" | "button" | "reset";
|
|
10
10
|
|
|
11
11
|
interface ButtonProps {
|
|
12
12
|
/** Optionally pass in additional Chakra-based styles. */
|
|
13
13
|
additionalStyles?: { [key: string]: any };
|
|
14
|
-
/** Additional attributes passed to the button */
|
|
14
|
+
/** Additional attributes passed to the button. */
|
|
15
15
|
attributes?: { [key: string]: any };
|
|
16
|
-
/** The kind of button assigned through the `ButtonTypes` enum
|
|
16
|
+
/** The kind of button assigned through the `ButtonTypes` enum. */
|
|
17
17
|
buttonType?: ButtonTypes;
|
|
18
18
|
/** Additional className to use. */
|
|
19
19
|
className?: string;
|
|
20
|
-
/** ID that other components can cross reference for accessibility purposes */
|
|
20
|
+
/** ID that other components can cross reference for accessibility purposes. */
|
|
21
21
|
id?: string;
|
|
22
|
-
/** Adds 'disabled' property to the button */
|
|
22
|
+
/** Adds 'disabled' property to the button. */
|
|
23
23
|
isDisabled?: boolean;
|
|
24
24
|
/** Trigger the Button's action through the `mouseDown` event handler instead
|
|
25
25
|
* of `onClick`. `false` by default. */
|
|
26
26
|
mouseDown?: boolean;
|
|
27
|
-
/** The action to perform on the `<button>`'s onClick function */
|
|
27
|
+
/** The action to perform on the `<button>`'s onClick function. */
|
|
28
28
|
onClick?: (event: React.MouseEvent | React.KeyboardEvent) => void;
|
|
29
29
|
/** The HTML button type attribute. */
|
|
30
30
|
type?: ButtonElementType;
|
|
@@ -40,8 +40,8 @@ function Button(props: React.PropsWithChildren<ButtonProps>) {
|
|
|
40
40
|
buttonType,
|
|
41
41
|
children,
|
|
42
42
|
className = "",
|
|
43
|
-
isDisabled,
|
|
44
43
|
id = generateUUID(),
|
|
44
|
+
isDisabled = false,
|
|
45
45
|
mouseDown = false,
|
|
46
46
|
onClick,
|
|
47
47
|
type = "button",
|
|
@@ -71,7 +71,6 @@ function Button(props: React.PropsWithChildren<ButtonProps>) {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
styles = useStyleConfig("Button", { variant });
|
|
74
|
-
|
|
75
74
|
return (
|
|
76
75
|
<ChakraButton
|
|
77
76
|
id={id}
|
|
@@ -74,18 +74,6 @@ exports[`Button Snapshot Renders the UI snapshot correctly 6`] = `
|
|
|
74
74
|
`;
|
|
75
75
|
|
|
76
76
|
exports[`Button Snapshot Renders the UI snapshot correctly 7`] = `
|
|
77
|
-
<button
|
|
78
|
-
className="chakra-button css-0"
|
|
79
|
-
data-testid="button"
|
|
80
|
-
id="button"
|
|
81
|
-
onClick={[MockFunction]}
|
|
82
|
-
type="button"
|
|
83
|
-
>
|
|
84
|
-
SearchBar
|
|
85
|
-
</button>
|
|
86
|
-
`;
|
|
87
|
-
|
|
88
|
-
exports[`Button Snapshot Renders the UI snapshot correctly 8`] = `
|
|
89
77
|
<button
|
|
90
78
|
className="chakra-button css-0"
|
|
91
79
|
data-testid="button"
|