@nypl/design-system-react-components 1.0.2 → 1.0.4
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 +53 -0
- package/README.md +171 -135
- package/dist/__tests__/mediaMatchMock.d.ts +79 -0
- package/dist/components/Card/Card.d.ts +8 -6
- package/dist/components/Heading/Heading.d.ts +6 -0
- package/dist/components/Icons/Icon.d.ts +1 -1
- package/dist/components/Icons/IconSvgs.d.ts +10 -0
- package/dist/components/Logo/Logo.d.ts +1 -1
- package/dist/components/Logo/LogoSvgs.d.ts +3 -0
- package/dist/components/Slider/Slider.d.ts +1 -2
- package/dist/components/Table/Table.d.ts +3 -2
- package/dist/components/Text/Text.d.ts +6 -0
- package/dist/components/TextInput/TextInput.d.ts +2 -1
- package/dist/design-system-react-components.cjs.development.js +1700 -878
- 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 +1672 -881
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/hooks/{tests → __tests__}/useCarouselStyles.test.d.ts +0 -0
- package/dist/hooks/__tests__/useNYPLBreakpoints.test.d.ts +1 -0
- package/dist/hooks/useNYPLBreakpoints.d.ts +13 -0
- package/dist/index.d.ts +2 -1
- package/dist/resources.scss +0 -4
- package/dist/styles.css +3 -2
- package/dist/theme/components/button.d.ts +7 -2
- package/dist/theme/components/checkbox.d.ts +1 -0
- package/dist/theme/components/customTable.d.ts +522 -34
- package/dist/theme/components/datePicker.d.ts +1 -0
- package/dist/theme/components/global.d.ts +5 -2
- package/dist/theme/components/heading.d.ts +5 -1
- package/dist/theme/components/image.d.ts +18 -0
- package/dist/theme/components/radio.d.ts +9 -0
- package/dist/theme/components/searchBar.d.ts +6 -0
- package/dist/theme/components/select.d.ts +4 -5
- package/dist/theme/components/structuredContent.d.ts +117 -17
- package/dist/theme/components/template.d.ts +4 -1
- package/dist/theme/components/text.d.ts +5 -1
- package/dist/theme/components/textInput.d.ts +4 -0
- package/dist/theme/components/toggle.d.ts +1 -0
- package/dist/theme/provider.d.ts +2 -1
- package/package.json +16 -16
- package/src/__tests__/fileMock.ts +0 -6
- package/src/__tests__/setup.ts +0 -27
- package/src/__tests__/utils/utils.test.ts +0 -18
- package/src/components/AccessibilityGuide/SkipNavigation.stories.mdx +0 -42
- package/src/components/Accordion/Accordion.stories.mdx +0 -333
- package/src/components/Accordion/Accordion.test.tsx +0 -237
- package/src/components/Accordion/Accordion.tsx +0 -137
- package/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +0 -734
- package/src/components/Autosuggest/Autosuggest.stories.mdx +0 -75
- package/src/components/Autosuggest/Autosuggest.stories.tsx +0 -211
- package/src/components/Autosuggest/_Autosuggest.scss +0 -51
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +0 -231
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -144
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -98
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +0 -695
- package/src/components/Button/Button.stories.mdx +0 -320
- package/src/components/Button/Button.test.tsx +0 -184
- package/src/components/Button/Button.tsx +0 -95
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +0 -106
- package/src/components/ButtonGroup/ButtonGroup.stories.mdx +0 -178
- package/src/components/ButtonGroup/ButtonGroup.test.tsx +0 -141
- package/src/components/ButtonGroup/ButtonGroup.tsx +0 -100
- package/src/components/ButtonGroup/__snapshots__/ButtonGroup.test.tsx.snap +0 -117
- package/src/components/Card/Card.stories.mdx +0 -1041
- package/src/components/Card/Card.test.tsx +0 -388
- package/src/components/Card/Card.tsx +0 -346
- package/src/components/Card/__snapshots__/Card.test.tsx.snap +0 -568
- package/src/components/Chakra/Box.stories.mdx +0 -52
- package/src/components/Chakra/Center.stories.mdx +0 -96
- package/src/components/Chakra/Flex.stories.mdx +0 -111
- package/src/components/Chakra/Grid.stories.mdx +0 -89
- package/src/components/Chakra/Stack.stories.mdx +0 -109
- package/src/components/Checkbox/Checkbox.stories.mdx +0 -243
- package/src/components/Checkbox/Checkbox.test.tsx +0 -350
- package/src/components/Checkbox/Checkbox.tsx +0 -152
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +0 -661
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +0 -462
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +0 -492
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +0 -173
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +0 -1842
- package/src/components/ComponentWrapper/ComponentWrapper.test.tsx +0 -163
- package/src/components/ComponentWrapper/ComponentWrapper.tsx +0 -76
- package/src/components/ComponentWrapper/__snapshots__/ComponentWrapper.test.tsx.snap +0 -103
- package/src/components/DatePicker/DatePicker.stories.mdx +0 -452
- package/src/components/DatePicker/DatePicker.test.tsx +0 -940
- package/src/components/DatePicker/DatePicker.tsx +0 -450
- package/src/components/DatePicker/_DatePicker.scss +0 -100
- package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +0 -908
- package/src/components/Fieldset/Fieldset.stories.mdx +0 -96
- package/src/components/Fieldset/Fieldset.test.tsx +0 -155
- package/src/components/Fieldset/Fieldset.tsx +0 -55
- package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +0 -89
- package/src/components/Form/Form.stories.mdx +0 -426
- package/src/components/Form/Form.test.tsx +0 -234
- package/src/components/Form/Form.tsx +0 -124
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +0 -115
- package/src/components/Grid/SimpleGrid.stories.mdx +0 -336
- package/src/components/Grid/SimpleGrid.test.tsx +0 -79
- package/src/components/Grid/SimpleGrid.tsx +0 -49
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +0 -23
- package/src/components/Heading/Heading.stories.mdx +0 -187
- package/src/components/Heading/Heading.test.tsx +0 -171
- package/src/components/Heading/Heading.tsx +0 -104
- package/src/components/Heading/__snapshots__/Heading.test.tsx.snap +0 -90
- package/src/components/HelperErrorText/HelperErrorText.stories.mdx +0 -172
- package/src/components/HelperErrorText/HelperErrorText.test.tsx +0 -114
- package/src/components/HelperErrorText/HelperErrorText.tsx +0 -62
- package/src/components/HelperErrorText/__snapshots__/HelperErrorText.test.tsx.snap +0 -93
- package/src/components/Hero/Hero.stories.mdx +0 -378
- package/src/components/Hero/Hero.test.tsx +0 -611
- package/src/components/Hero/Hero.tsx +0 -203
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +0 -379
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +0 -73
- package/src/components/HorizontalRule/HorizontalRule.test.tsx +0 -54
- package/src/components/HorizontalRule/HorizontalRule.tsx +0 -27
- package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +0 -44
- package/src/components/Icons/Icon.stories.mdx +0 -413
- package/src/components/Icons/Icon.test.tsx +0 -120
- package/src/components/Icons/Icon.tsx +0 -187
- package/src/components/Icons/IconSvgs.tsx +0 -64
- package/src/components/Icons/__snapshots__/Icon.test.tsx.snap +0 -129
- package/src/components/Image/Image.stories.mdx +0 -332
- package/src/components/Image/Image.test.tsx +0 -155
- package/src/components/Image/Image.tsx +0 -171
- package/src/components/Image/__snapshots__/Image.test.tsx.snap +0 -269
- package/src/components/Label/Label.stories.mdx +0 -100
- package/src/components/Label/Label.test.tsx +0 -116
- package/src/components/Label/Label.tsx +0 -55
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +0 -45
- package/src/components/Link/Link.stories.mdx +0 -249
- package/src/components/Link/Link.test.tsx +0 -224
- package/src/components/Link/Link.tsx +0 -178
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +0 -286
- package/src/components/List/List.stories.mdx +0 -393
- package/src/components/List/List.test.tsx +0 -265
- package/src/components/List/List.tsx +0 -156
- package/src/components/List/__snapshots__/List.test.tsx.snap +0 -213
- package/src/components/Logo/Logo.stories.mdx +0 -295
- package/src/components/Logo/Logo.test.tsx +0 -116
- package/src/components/Logo/Logo.tsx +0 -151
- package/src/components/Logo/LogoSvgs.tsx +0 -90
- package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +0 -142
- package/src/components/Modal/Modal.stories.mdx +0 -294
- package/src/components/Modal/Modal.test.tsx +0 -157
- package/src/components/Modal/Modal.tsx +0 -154
- package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +0 -25
- package/src/components/Notification/Notification.stories.mdx +0 -358
- package/src/components/Notification/Notification.test.tsx +0 -279
- package/src/components/Notification/Notification.tsx +0 -224
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +0 -525
- package/src/components/Pagination/Pagination.stories.mdx +0 -184
- package/src/components/Pagination/Pagination.test.tsx +0 -419
- package/src/components/Pagination/Pagination.tsx +0 -269
- package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -544
- package/src/components/Placeholder/Placeholder.tsx +0 -19
- package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +0 -360
- package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +0 -298
- package/src/components/ProgressIndicator/ProgressIndicator.tsx +0 -132
- package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +0 -434
- package/src/components/Radio/Radio.stories.mdx +0 -216
- package/src/components/Radio/Radio.test.tsx +0 -247
- package/src/components/Radio/Radio.tsx +0 -119
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +0 -451
- package/src/components/RadioGroup/RadioGroup.stories.mdx +0 -479
- package/src/components/RadioGroup/RadioGroup.test.tsx +0 -471
- package/src/components/RadioGroup/RadioGroup.tsx +0 -171
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +0 -1550
- package/src/components/SearchBar/SearchBar.stories.mdx +0 -518
- package/src/components/SearchBar/SearchBar.test.tsx +0 -435
- package/src/components/SearchBar/SearchBar.tsx +0 -210
- package/src/components/SearchBar/__snapshots__/SearchBar.test.tsx.snap +0 -1049
- package/src/components/Select/Select.stories.mdx +0 -439
- package/src/components/Select/Select.test.tsx +0 -358
- package/src/components/Select/Select.tsx +0 -183
- package/src/components/Select/__snapshots__/Select.test.tsx.snap +0 -895
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +0 -142
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +0 -116
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +0 -123
- package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +0 -898
- package/src/components/SkipNavigation/SkipNavigation.stories.mdx +0 -90
- package/src/components/SkipNavigation/SkipNavigation.test.tsx +0 -63
- package/src/components/SkipNavigation/SkipNavigation.tsx +0 -51
- package/src/components/SkipNavigation/__snapshots__/SkipNavigation.test.tsx.snap +0 -130
- package/src/components/Slider/Slider.stories.mdx +0 -628
- package/src/components/Slider/Slider.test.tsx +0 -736
- package/src/components/Slider/Slider.tsx +0 -322
- package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +0 -2186
- package/src/components/StatusBadge/StatusBadge.stories.mdx +0 -109
- package/src/components/StatusBadge/StatusBadge.test.tsx +0 -70
- package/src/components/StatusBadge/StatusBadge.tsx +0 -35
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +0 -47
- package/src/components/StructuredContent/StructuredContent.stories.mdx +0 -567
- package/src/components/StructuredContent/StructuredContent.test.tsx +0 -435
- package/src/components/StructuredContent/StructuredContent.tsx +0 -139
- package/src/components/StructuredContent/__snapshots__/StructuredContent.test.tsx.snap +0 -368
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +0 -206
- package/src/components/StyleGuide/Breakpoints.stories.mdx +0 -55
- package/src/components/StyleGuide/Buttons.stories.mdx +0 -194
- package/src/components/StyleGuide/ColorCard.tsx +0 -43
- package/src/components/StyleGuide/Colors.stories.mdx +0 -201
- package/src/components/StyleGuide/DesignTokens.stories.mdx +0 -193
- package/src/components/StyleGuide/Forms.stories.mdx +0 -94
- package/src/components/StyleGuide/Iconography.stories.mdx +0 -142
- package/src/components/StyleGuide/Spacing.stories.mdx +0 -116
- package/src/components/StyleGuide/Typography.stories.mdx +0 -419
- package/src/components/Table/Table.stories.mdx +0 -272
- package/src/components/Table/Table.test.tsx +0 -241
- package/src/components/Table/Table.tsx +0 -152
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +0 -1703
- package/src/components/Tabs/Tabs.stories.mdx +0 -338
- package/src/components/Tabs/Tabs.test.tsx +0 -298
- package/src/components/Tabs/Tabs.tsx +0 -264
- package/src/components/Tabs/__snapshots__/Tabs.test.tsx.snap +0 -584
- package/src/components/Template/Template.stories.mdx +0 -695
- package/src/components/Template/Template.test.tsx +0 -309
- package/src/components/Template/Template.tsx +0 -326
- package/src/components/Template/__snapshots__/Template.test.tsx.snap +0 -342
- package/src/components/Text/Text.stories.mdx +0 -103
- package/src/components/Text/Text.test.tsx +0 -63
- package/src/components/Text/Text.tsx +0 -50
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +0 -50
- package/src/components/TextInput/TextInput.stories.mdx +0 -268
- package/src/components/TextInput/TextInput.test.tsx +0 -451
- package/src/components/TextInput/TextInput.tsx +0 -240
- package/src/components/TextInput/__snapshots__/TextInput.test.tsx.snap +0 -274
- package/src/components/Toggle/Toggle.stories.mdx +0 -237
- package/src/components/Toggle/Toggle.test.tsx +0 -170
- package/src/components/Toggle/Toggle.tsx +0 -128
- package/src/components/Toggle/__snapshots__/Toggle.test.tsx.snap +0 -470
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +0 -212
- package/src/components/VideoPlayer/VideoPlayer.test.tsx +0 -308
- package/src/components/VideoPlayer/VideoPlayer.tsx +0 -188
- package/src/components/VideoPlayer/__snapshots__/VideoPlayer.test.tsx.snap +0 -192
- package/src/docs/Chakra.stories.mdx +0 -563
- package/src/docs/Welcome.stories.mdx +0 -148
- package/src/helpers/types.ts +0 -1
- package/src/hooks/tests/useCarouselStyles.test.ts +0 -140
- package/src/hooks/tests/useNYPLTheme.test.tsx +0 -36
- package/src/hooks/useCarouselStyles.stories.mdx +0 -30
- package/src/hooks/useCarouselStyles.ts +0 -35
- package/src/hooks/useNYPLTheme.stories.mdx +0 -98
- package/src/hooks/useNYPLTheme.ts +0 -91
- package/src/hooks/useWindowSize.stories.mdx +0 -23
- package/src/hooks/useWindowSize.ts +0 -40
- package/src/index.ts +0 -136
- package/src/resources.scss +0 -6
- package/src/styles/base/_01-breakpoints.scss +0 -27
- package/src/styles/base/_02-mixins.scss +0 -103
- package/src/styles/base/_place-holder.scss +0 -33
- package/src/styles/space/_space-inline.scss +0 -79
- package/src/styles/space/_space-inset.scss +0 -57
- package/src/styles/space/_space-stack.scss +0 -116
- package/src/styles.scss +0 -23
- package/src/theme/components/accordion.ts +0 -25
- package/src/theme/components/breadcrumb.ts +0 -94
- package/src/theme/components/button.ts +0 -133
- package/src/theme/components/buttonGroup.ts +0 -10
- package/src/theme/components/card.ts +0 -237
- package/src/theme/components/checkbox.ts +0 -110
- package/src/theme/components/checkboxGroup.ts +0 -10
- package/src/theme/components/componentWrapper.ts +0 -14
- package/src/theme/components/customTable.ts +0 -77
- package/src/theme/components/datePicker.ts +0 -17
- package/src/theme/components/fieldset.ts +0 -23
- package/src/theme/components/global.ts +0 -91
- package/src/theme/components/globalMixins.ts +0 -24
- package/src/theme/components/heading.ts +0 -79
- package/src/theme/components/helperErrorText.ts +0 -14
- package/src/theme/components/hero.ts +0 -238
- package/src/theme/components/horizontalRule.ts +0 -17
- package/src/theme/components/icon.ts +0 -88
- package/src/theme/components/image.ts +0 -136
- package/src/theme/components/label.ts +0 -15
- package/src/theme/components/link.ts +0 -63
- package/src/theme/components/list.ts +0 -88
- package/src/theme/components/logo.ts +0 -58
- package/src/theme/components/notification.ts +0 -132
- package/src/theme/components/pagination.ts +0 -17
- package/src/theme/components/progressIndicator.ts +0 -67
- package/src/theme/components/radio.ts +0 -103
- package/src/theme/components/radioGroup.ts +0 -10
- package/src/theme/components/searchBar.ts +0 -19
- package/src/theme/components/select.ts +0 -72
- package/src/theme/components/skeletonLoader.ts +0 -113
- package/src/theme/components/skipNavigation.ts +0 -29
- package/src/theme/components/slider.ts +0 -95
- package/src/theme/components/statusBadge.ts +0 -26
- package/src/theme/components/structuredContent.ts +0 -149
- package/src/theme/components/tabs.ts +0 -109
- package/src/theme/components/template.ts +0 -114
- package/src/theme/components/text.ts +0 -38
- package/src/theme/components/textInput.ts +0 -65
- package/src/theme/components/toggle.ts +0 -109
- package/src/theme/components/videoPlayer.ts +0 -47
- package/src/theme/foundations/breakpoints.ts +0 -24
- package/src/theme/foundations/colors.ts +0 -212
- package/src/theme/foundations/global.ts +0 -43
- package/src/theme/foundations/radii.ts +0 -7
- package/src/theme/foundations/shadows.ts +0 -5
- package/src/theme/foundations/spacing.ts +0 -136
- package/src/theme/foundations/typography.ts +0 -107
- package/src/theme/index.ts +0 -131
- package/src/theme/provider.tsx +0 -9
- package/src/theme/types.ts +0 -1
- package/src/utils/componentCategories.ts +0 -152
- package/src/utils/interfaces.ts +0 -5
- package/src/utils/utils.ts +0 -84
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { renderHook, act } from "@testing-library/react-hooks";
|
|
2
|
-
import useCarouselStyles from "../useCarouselStyles";
|
|
3
|
-
|
|
4
|
-
describe("useCarouselStyles hook", () => {
|
|
5
|
-
it("returns two functions and a CSS style object", () => {
|
|
6
|
-
const { result } = renderHook(() => useCarouselStyles());
|
|
7
|
-
|
|
8
|
-
expect(typeof result.current.nextSlide).toEqual("function");
|
|
9
|
-
expect(typeof result.current.prevSlide).toEqual("function");
|
|
10
|
-
expect(result.current.carouselStyle).toEqual({
|
|
11
|
-
marginLeft: "-0%",
|
|
12
|
-
transition: "all .5s",
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it("updates the style object when the nextSlide function is clicked", () => {
|
|
17
|
-
// Mocking we have an array of five slides.
|
|
18
|
-
const slides = [1, 2, 3, 4, 5];
|
|
19
|
-
const { result } = renderHook(() => useCarouselStyles(slides.length));
|
|
20
|
-
const nextSlide = result.current.nextSlide;
|
|
21
|
-
|
|
22
|
-
// Start at the first slide.
|
|
23
|
-
expect(result.current.carouselStyle).toEqual({
|
|
24
|
-
marginLeft: "-0%",
|
|
25
|
-
transition: "all .5s",
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
act(() => nextSlide());
|
|
29
|
-
// Each slide takes up a width of 100% by default.
|
|
30
|
-
// So now we move by 100% to the left for the next slide.
|
|
31
|
-
expect(result.current.carouselStyle).toEqual({
|
|
32
|
-
marginLeft: "-100%",
|
|
33
|
-
transition: "all .5s",
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
act(() => nextSlide());
|
|
37
|
-
// Move on to the next slide.
|
|
38
|
-
expect(result.current.carouselStyle).toEqual({
|
|
39
|
-
marginLeft: "-200%",
|
|
40
|
-
transition: "all .5s",
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
// We now click through all five slides and we expect to wrap around
|
|
44
|
-
// back to the first slide which starts at "-0%" (the negative value
|
|
45
|
-
// is set for direction but -0 is still 0).
|
|
46
|
-
act(() => nextSlide());
|
|
47
|
-
act(() => nextSlide());
|
|
48
|
-
act(() => nextSlide());
|
|
49
|
-
expect(result.current.carouselStyle).toEqual({
|
|
50
|
-
marginLeft: "-0%",
|
|
51
|
-
transition: "all .5s",
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it("updates the style object when the prevSlide function is clicked", () => {
|
|
56
|
-
// Mocking we have an array of five slides.
|
|
57
|
-
const slides = [1, 2, 3, 4, 5];
|
|
58
|
-
const { result } = renderHook(() => useCarouselStyles(slides.length));
|
|
59
|
-
const prevSlide = result.current.prevSlide;
|
|
60
|
-
|
|
61
|
-
// Start at the first slide.
|
|
62
|
-
expect(result.current.carouselStyle).toEqual({
|
|
63
|
-
marginLeft: "-0%",
|
|
64
|
-
transition: "all .5s",
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
act(() => prevSlide());
|
|
68
|
-
// We started on the first slide and nwo we expect to wrap around
|
|
69
|
-
// to the last element.
|
|
70
|
-
expect(result.current.carouselStyle).toEqual({
|
|
71
|
-
marginLeft: "-400%",
|
|
72
|
-
transition: "all .5s",
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
act(() => prevSlide());
|
|
76
|
-
// Move on to the previous slide.
|
|
77
|
-
expect(result.current.carouselStyle).toEqual({
|
|
78
|
-
marginLeft: "-300%",
|
|
79
|
-
transition: "all .5s",
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
// We now clicked through all five slides and we expect to
|
|
83
|
-
// be at the first slide.
|
|
84
|
-
act(() => prevSlide());
|
|
85
|
-
act(() => prevSlide());
|
|
86
|
-
act(() => prevSlide());
|
|
87
|
-
expect(result.current.carouselStyle).toEqual({
|
|
88
|
-
marginLeft: "-0%",
|
|
89
|
-
transition: "all .5s",
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
it("resets the slide back to the first slide", () => {
|
|
94
|
-
// Mocking we have an array of five slides.
|
|
95
|
-
const slides = [1, 2, 3, 4, 5];
|
|
96
|
-
const { result } = renderHook(() => useCarouselStyles(slides.length));
|
|
97
|
-
const { nextSlide, goToStart } = result.current;
|
|
98
|
-
|
|
99
|
-
// Start at the first slide.
|
|
100
|
-
expect(result.current.carouselStyle).toEqual({
|
|
101
|
-
marginLeft: "-0%",
|
|
102
|
-
transition: "all .5s",
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
// Move on to the third slide.
|
|
106
|
-
act(() => nextSlide());
|
|
107
|
-
act(() => nextSlide());
|
|
108
|
-
act(() => nextSlide());
|
|
109
|
-
expect(result.current.carouselStyle).toEqual({
|
|
110
|
-
marginLeft: "-300%",
|
|
111
|
-
transition: "all .5s",
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
act(() => goToStart());
|
|
115
|
-
expect(result.current.carouselStyle).toEqual({
|
|
116
|
-
marginLeft: "-0%",
|
|
117
|
-
transition: "all .5s",
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
it("can set a custom slide count and slide width", () => {
|
|
122
|
-
const slides = [1, 2, 3];
|
|
123
|
-
const slideWidth = 50;
|
|
124
|
-
const { result } = renderHook(() =>
|
|
125
|
-
useCarouselStyles(slides.length, slideWidth)
|
|
126
|
-
);
|
|
127
|
-
|
|
128
|
-
expect(result.current.carouselStyle).toEqual({
|
|
129
|
-
marginLeft: "-0%",
|
|
130
|
-
transition: "all .5s",
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
act(() => result.current.nextSlide());
|
|
134
|
-
// Since each slide is of length 50, we expect to move by a 50%.
|
|
135
|
-
expect(result.current.carouselStyle).toEqual({
|
|
136
|
-
marginLeft: "-50%",
|
|
137
|
-
transition: "all .5s",
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { renderHook } from "@testing-library/react-hooks";
|
|
3
|
-
|
|
4
|
-
import useNYPLTheme from "../useNYPLTheme";
|
|
5
|
-
import DSProvider from "../../theme/provider";
|
|
6
|
-
|
|
7
|
-
describe("useNYPLTheme", () => {
|
|
8
|
-
it("returns an empty object when not used inside a DSProvider component", () => {
|
|
9
|
-
const warn = jest.spyOn(console, "warn");
|
|
10
|
-
const { result } = renderHook(() => useNYPLTheme());
|
|
11
|
-
|
|
12
|
-
expect(warn).toHaveBeenCalledWith(
|
|
13
|
-
"NYPL Reservoir useNYPLTheme: hook must be used inside of `<DSProvider />`."
|
|
14
|
-
);
|
|
15
|
-
expect(result.current).toEqual({});
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("returns an object with NYPL styles", () => {
|
|
19
|
-
const { result } = renderHook(() => useNYPLTheme(), {
|
|
20
|
-
wrapper: ({ children }) => <DSProvider>{children}</DSProvider>,
|
|
21
|
-
});
|
|
22
|
-
const allKeys = Object.keys(result.current);
|
|
23
|
-
const colorsKeys = Object.keys((result.current as any).colors);
|
|
24
|
-
|
|
25
|
-
expect(allKeys).toEqual([
|
|
26
|
-
"breakpoints",
|
|
27
|
-
"colors",
|
|
28
|
-
"fontSizes",
|
|
29
|
-
"fontWeights",
|
|
30
|
-
"fonts",
|
|
31
|
-
"radii",
|
|
32
|
-
"space",
|
|
33
|
-
]);
|
|
34
|
-
expect(colorsKeys).toEqual(["brand", "section", "transparent", "ui"]);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Meta, Description } from "@storybook/addon-docs";
|
|
2
|
-
|
|
3
|
-
import { getCategory } from "../utils/componentCategories";
|
|
4
|
-
|
|
5
|
-
<Meta title={getCategory("useCarouselStyles")} />
|
|
6
|
-
|
|
7
|
-
# useCarouselStyles
|
|
8
|
-
|
|
9
|
-
| Hook Version | DS Version |
|
|
10
|
-
| ------------ | ---------- |
|
|
11
|
-
| Added | `0.25.2` |
|
|
12
|
-
| Latest | `0.25.2` |
|
|
13
|
-
|
|
14
|
-
This custom hook, inspired by this [codesandbox example](https://codesandbox.io/s/fxjeo),
|
|
15
|
-
exposes functions used for carousel-like components that have sliding features.
|
|
16
|
-
The two main functions are `prevSlide` and `nextSlide` used for buttons to
|
|
17
|
-
navigate between slides, and a `carouselStyle` style object for the main wrapper
|
|
18
|
-
element. If the carousel should programmatically slide to the first slide, use
|
|
19
|
-
the `goToStart` function.
|
|
20
|
-
|
|
21
|
-
## Usage
|
|
22
|
-
|
|
23
|
-
For a full implementation examle, view the [`Tabs` component](https://github.com/NYPL/nypl-design-system/blob/development/src/components/Tabs/Tabs.tsx).
|
|
24
|
-
|
|
25
|
-
```tsx
|
|
26
|
-
const { prevSlide, nextSlide, carouselStyle, goToStart } = useCarouselStyles(
|
|
27
|
-
slidesCount,
|
|
28
|
-
slideWidth
|
|
29
|
-
);
|
|
30
|
-
```
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Custom hook that controls the sliding function for the carousel wrapper.
|
|
5
|
-
* This returns functions to use for the "previous" and "next" buttons as well
|
|
6
|
-
* as a CSS style object that should be use to transition between slides. There
|
|
7
|
-
* is also a function to programmatically slide to the first slide.
|
|
8
|
-
* Inspired by: https://codesandbox.io/s/fxjeo
|
|
9
|
-
*/
|
|
10
|
-
export const useCarouselStyles = (slidesCount = 0, slideWidth = 100) => {
|
|
11
|
-
const [currentSlide, setCurrentSlide] = React.useState(0);
|
|
12
|
-
// This wraps around to the last slide if this is invoked while the
|
|
13
|
-
// first slide is active.
|
|
14
|
-
const prevSlide = () => {
|
|
15
|
-
setCurrentSlide((slide) => (slide === 0 ? slidesCount - 1 : slide - 1));
|
|
16
|
-
};
|
|
17
|
-
// This wraps around to the first slide if this is invoked while the
|
|
18
|
-
// last slide is active.
|
|
19
|
-
const nextSlide = () => {
|
|
20
|
-
setCurrentSlide((slide) => (slide === slidesCount - 1 ? 0 : slide + 1));
|
|
21
|
-
};
|
|
22
|
-
const goToStart = () => {
|
|
23
|
-
setCurrentSlide(0);
|
|
24
|
-
};
|
|
25
|
-
// Updates the left margin for the carousel so the elements can
|
|
26
|
-
// slide inside the container.
|
|
27
|
-
const carouselStyle = {
|
|
28
|
-
transition: "all .5s",
|
|
29
|
-
marginLeft: `-${currentSlide * slideWidth}%`,
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
return { prevSlide, nextSlide, carouselStyle, goToStart };
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default useCarouselStyles;
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@storybook/addon-docs";
|
|
2
|
-
import { getCategory } from "../utils/componentCategories";
|
|
3
|
-
|
|
4
|
-
<Meta title={getCategory("useNYPLTheme")} />
|
|
5
|
-
|
|
6
|
-
# useNYPLTheme
|
|
7
|
-
|
|
8
|
-
| Hook Version | DS Version |
|
|
9
|
-
| ------------ | ---------- |
|
|
10
|
-
| Added | `0.25.2` |
|
|
11
|
-
| Latest | `0.25.2` |
|
|
12
|
-
|
|
13
|
-
This custom hook is based on Chakra UI's `useTheme` hook. If your application
|
|
14
|
-
does not use CSS or SCSS files and you want to write CSS-in-JS styles in your
|
|
15
|
-
React components, the `useNYPLTheme` hook will provide you with NYPL-specific
|
|
16
|
-
style values.
|
|
17
|
-
|
|
18
|
-
## Usage
|
|
19
|
-
|
|
20
|
-
This hook depends on the `DSProvider` component and if the function is used
|
|
21
|
-
outside of this wrapper component, then the theme object will be empty. After
|
|
22
|
-
importing and rendering the `DSProvider` wrapper component, your children
|
|
23
|
-
components can use this hook function.
|
|
24
|
-
|
|
25
|
-
```tsx
|
|
26
|
-
import { useNYPLTheme } from "@nypl/design-system-react-components";
|
|
27
|
-
// ...
|
|
28
|
-
|
|
29
|
-
const theme = useNYPLTheme();
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
The `theme` variable will be a JS object with design token style values.
|
|
33
|
-
This will allow you to use NYPL-specific styles in your components through CSS-in-JS.
|
|
34
|
-
|
|
35
|
-
```ts
|
|
36
|
-
// theme:
|
|
37
|
-
{
|
|
38
|
-
breakpoints: { ... },
|
|
39
|
-
colors: {
|
|
40
|
-
brand: { ... },
|
|
41
|
-
section: { ... },
|
|
42
|
-
transparent: { ... },
|
|
43
|
-
ui: { ... },
|
|
44
|
-
},
|
|
45
|
-
fontSizes: { ... },
|
|
46
|
-
fontWeights: { ... },
|
|
47
|
-
fonts: { ... },
|
|
48
|
-
radii: { ... },
|
|
49
|
-
space: { ... },
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
1. NYPL DS Components
|
|
54
|
-
|
|
55
|
-
All DS components _should_ be used with their current styles. If a DS component
|
|
56
|
-
needs an updated style, first contact the Design System and UX teams about this
|
|
57
|
-
update. If you really _need_ to update a style and there is no available
|
|
58
|
-
variant, then you can add styles directly as style prop.
|
|
59
|
-
|
|
60
|
-
For example, if the `Heading` component should render the text in NYPL's green
|
|
61
|
-
color used for "success primary" and add a bold font weight, then you can do
|
|
62
|
-
the following:
|
|
63
|
-
|
|
64
|
-
```tsx
|
|
65
|
-
const theme = useNYPLTheme();
|
|
66
|
-
|
|
67
|
-
// ...
|
|
68
|
-
return (
|
|
69
|
-
<div>
|
|
70
|
-
<Heading
|
|
71
|
-
level={2}
|
|
72
|
-
color={theme.colors.ui.success.primary}
|
|
73
|
-
fontWeight={theme.fontWeights.bold}
|
|
74
|
-
>
|
|
75
|
-
Get a Digital Library Card Today in a Few Easy Steps
|
|
76
|
-
</Heading>
|
|
77
|
-
|
|
78
|
-
{/* Other components */}
|
|
79
|
-
</div>
|
|
80
|
-
);
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Of course, you can destructure the `theme` object to only get the object keys
|
|
84
|
-
you need for your component (this is a general example). Log the object to the
|
|
85
|
-
console to see all the available styles.
|
|
86
|
-
|
|
87
|
-
2. HTML Components
|
|
88
|
-
|
|
89
|
-
Use the `style` attribute in HTML components to add inline styles.
|
|
90
|
-
|
|
91
|
-
```tsx
|
|
92
|
-
<p style={{ color: theme.colors.ui.success.primary }}>
|
|
93
|
-
If you are 13 or older and live, work, attend school, or pay property taxes in
|
|
94
|
-
New York State, you can get a free digital library card right now using this
|
|
95
|
-
online form. Visitors to New York State can also use this form to apply for a
|
|
96
|
-
temporary card.
|
|
97
|
-
</p>
|
|
98
|
-
```
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { useTheme } from "@chakra-ui/react";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A custom hook that returns the Chakra-based NYPL theme object. This must be
|
|
5
|
-
* used inside a component that is wrapped in the `DSProvider` component, so
|
|
6
|
-
* that the theme object can be available to use.
|
|
7
|
-
*/
|
|
8
|
-
function useNYPLTheme() {
|
|
9
|
-
const theme = useTheme();
|
|
10
|
-
if (!theme || Object.keys(theme).length === 0) {
|
|
11
|
-
console.warn(
|
|
12
|
-
"NYPL Reservoir useNYPLTheme: hook must be used inside of `<DSProvider />`."
|
|
13
|
-
);
|
|
14
|
-
return {};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// Chakra provides a lot of their own styles but
|
|
18
|
-
// only NYPL styles should be exported.
|
|
19
|
-
return {
|
|
20
|
-
// base, sm, md, lg, xl, 2xl
|
|
21
|
-
breakpoints: theme.breakpoints,
|
|
22
|
-
colors: {
|
|
23
|
-
// primary, secondary
|
|
24
|
-
brand: theme.colors.brand,
|
|
25
|
-
// blogs, books-and-more, education, locations,
|
|
26
|
-
// research, research-library, whats-on
|
|
27
|
-
section: theme.colors.section,
|
|
28
|
-
transparent: theme.colors.transparent,
|
|
29
|
-
// black, disabled, error, focus, gray, link,
|
|
30
|
-
// status, success, test, warning, white
|
|
31
|
-
ui: theme.colors.ui,
|
|
32
|
-
},
|
|
33
|
-
fontSizes: {
|
|
34
|
-
"-3": theme.fontSizes["-3"],
|
|
35
|
-
"-2": theme.fontSizes["-2"],
|
|
36
|
-
"-1": theme.fontSizes["-1"],
|
|
37
|
-
"0": theme.fontSizes["0"],
|
|
38
|
-
"1": theme.fontSizes["1"],
|
|
39
|
-
"2": theme.fontSizes["2"],
|
|
40
|
-
"3": theme.fontSizes["3"],
|
|
41
|
-
"4": theme.fontSizes["4"],
|
|
42
|
-
// default
|
|
43
|
-
breadcrumbs: theme.fontSizes.breadcrumbs,
|
|
44
|
-
// default
|
|
45
|
-
button: theme.fontSizes.button,
|
|
46
|
-
// primary, secondary, tertiary, callout
|
|
47
|
-
heading: theme.fontSizes.heading,
|
|
48
|
-
// default
|
|
49
|
-
helper: theme.fontSizes.helper,
|
|
50
|
-
// default, secondary
|
|
51
|
-
label: theme.fontSizes.label,
|
|
52
|
-
// default, caption, tag, mini
|
|
53
|
-
text: theme.fontSizes.text,
|
|
54
|
-
},
|
|
55
|
-
fontWeights: {
|
|
56
|
-
light: theme.fontWeights.light,
|
|
57
|
-
regular: theme.fontWeights.regular,
|
|
58
|
-
medium: theme.fontWeights.medium,
|
|
59
|
-
bold: theme.fontWeights.bold,
|
|
60
|
-
// default, lastChild
|
|
61
|
-
breadcrumbs: theme.fontWeights.breadcrumbs,
|
|
62
|
-
// default
|
|
63
|
-
button: theme.fontWeights.button,
|
|
64
|
-
// primary, secondary, tertiary, callout
|
|
65
|
-
heading: theme.fontWeights.heading,
|
|
66
|
-
// default
|
|
67
|
-
helper: theme.fontWeights.helper,
|
|
68
|
-
// default
|
|
69
|
-
label: theme.fontWeights.label,
|
|
70
|
-
// default, caption, tag, mini
|
|
71
|
-
text: theme.fontWeights.text,
|
|
72
|
-
},
|
|
73
|
-
fonts: {
|
|
74
|
-
body: theme.fonts.body,
|
|
75
|
-
heading: theme.fonts.heading,
|
|
76
|
-
},
|
|
77
|
-
radii: theme.radii,
|
|
78
|
-
space: {
|
|
79
|
-
xxs: theme.space.xxs,
|
|
80
|
-
xs: theme.space.xs,
|
|
81
|
-
s: theme.space.s,
|
|
82
|
-
m: theme.space.m,
|
|
83
|
-
l: theme.space.l,
|
|
84
|
-
xl: theme.space.xl,
|
|
85
|
-
xxl: theme.space.xxl,
|
|
86
|
-
xxxl: theme.space.xxxl,
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export default useNYPLTheme;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@storybook/addon-docs";
|
|
2
|
-
import { getCategory } from "../utils/componentCategories";
|
|
3
|
-
|
|
4
|
-
<Meta title={getCategory("useWindowSize")} />
|
|
5
|
-
|
|
6
|
-
# useWindowSize
|
|
7
|
-
|
|
8
|
-
| Hook Version | DS Version |
|
|
9
|
-
| ------------ | ---------- |
|
|
10
|
-
| Added | `0.25.2` |
|
|
11
|
-
| Latest | `0.25.2` |
|
|
12
|
-
|
|
13
|
-
This hook is based on [Typescript hooks](https://usehooks-typescript.com/react-hook/use-window-size).
|
|
14
|
-
It returns an object with `width` and `height` properties that can be used to
|
|
15
|
-
update a component's UI based on the size of the browser window.
|
|
16
|
-
|
|
17
|
-
## Usage
|
|
18
|
-
|
|
19
|
-
For an example implementation, view the [`Tabs` component](https://github.com/NYPL/nypl-design-system/blob/development/src/components/Tabs/Tabs.tsx).
|
|
20
|
-
|
|
21
|
-
```tsx
|
|
22
|
-
const { height, width } = useWindowSize();
|
|
23
|
-
```
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
interface WindowSize {
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* React hook used to get the window size on device resizing.
|
|
10
|
-
* Based on https://usehooks-typescript.com/react-hook/use-window-size
|
|
11
|
-
*/
|
|
12
|
-
function useWindowSize(): WindowSize {
|
|
13
|
-
const [windowSize, setWindowSize] = React.useState<WindowSize>({
|
|
14
|
-
width: 0,
|
|
15
|
-
height: 0,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
React.useEffect(() => {
|
|
19
|
-
const handler = () => {
|
|
20
|
-
setWindowSize({
|
|
21
|
-
width: window.innerWidth,
|
|
22
|
-
height: window.innerHeight,
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
// Set size at the first client-side load
|
|
27
|
-
handler();
|
|
28
|
-
|
|
29
|
-
window.addEventListener("resize", handler);
|
|
30
|
-
|
|
31
|
-
// Remove event listener on cleanup
|
|
32
|
-
return () => {
|
|
33
|
-
window.removeEventListener("resize", handler);
|
|
34
|
-
};
|
|
35
|
-
}, []);
|
|
36
|
-
|
|
37
|
-
return windowSize;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export default useWindowSize;
|
package/src/index.ts
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import "./styles.scss";
|
|
2
|
-
|
|
3
|
-
// Note that the NYPL Design System directly re-exports the following
|
|
4
|
-
// components for usage in consuming applications.
|
|
5
|
-
export {
|
|
6
|
-
Box,
|
|
7
|
-
Center,
|
|
8
|
-
Circle,
|
|
9
|
-
Flex,
|
|
10
|
-
Grid,
|
|
11
|
-
GridItem,
|
|
12
|
-
HStack,
|
|
13
|
-
Spacer,
|
|
14
|
-
Square,
|
|
15
|
-
Stack,
|
|
16
|
-
VStack,
|
|
17
|
-
} from "@chakra-ui/react";
|
|
18
|
-
export {
|
|
19
|
-
default as Accordion,
|
|
20
|
-
AccordionTypes,
|
|
21
|
-
} from "./components/Accordion/Accordion";
|
|
22
|
-
export {
|
|
23
|
-
default as Breadcrumbs,
|
|
24
|
-
BreadcrumbsTypes,
|
|
25
|
-
} from "./components/Breadcrumbs/Breadcrumbs";
|
|
26
|
-
export { default as Button, ButtonTypes } from "./components/Button/Button";
|
|
27
|
-
export { default as ButtonGroup } from "./components/ButtonGroup/ButtonGroup";
|
|
28
|
-
export {
|
|
29
|
-
default as Card,
|
|
30
|
-
CardActions,
|
|
31
|
-
CardContent,
|
|
32
|
-
CardHeading,
|
|
33
|
-
} from "./components/Card/Card";
|
|
34
|
-
export { default as Checkbox } from "./components/Checkbox/Checkbox";
|
|
35
|
-
export { default as CheckboxGroup } from "./components/CheckboxGroup/CheckboxGroup";
|
|
36
|
-
export {
|
|
37
|
-
default as DatePicker,
|
|
38
|
-
DatePickerTypes,
|
|
39
|
-
FullDateType,
|
|
40
|
-
} from "./components/DatePicker/DatePicker";
|
|
41
|
-
export { default as DSProvider } from "./theme/provider";
|
|
42
|
-
export { default as Fieldset } from "./components/Fieldset/Fieldset";
|
|
43
|
-
export { default as Form, FormField, FormRow } from "./components/Form/Form";
|
|
44
|
-
export {
|
|
45
|
-
default as Heading,
|
|
46
|
-
HeadingSizes,
|
|
47
|
-
HeadingLevels,
|
|
48
|
-
} from "./components/Heading/Heading";
|
|
49
|
-
export { default as HelperErrorText } from "./components/HelperErrorText/HelperErrorText";
|
|
50
|
-
export { default as Hero, HeroTypes } from "./components/Hero/Hero";
|
|
51
|
-
export { default as HorizontalRule } from "./components/HorizontalRule/HorizontalRule";
|
|
52
|
-
export {
|
|
53
|
-
default as Icon,
|
|
54
|
-
IconAlign,
|
|
55
|
-
IconColors,
|
|
56
|
-
IconNames,
|
|
57
|
-
IconRotationTypes,
|
|
58
|
-
IconSizes,
|
|
59
|
-
IconTypes,
|
|
60
|
-
} from "./components/Icons/Icon";
|
|
61
|
-
export {
|
|
62
|
-
default as Image,
|
|
63
|
-
ImageRatios,
|
|
64
|
-
ImageSizes,
|
|
65
|
-
ImageTypes,
|
|
66
|
-
} from "./components/Image/Image";
|
|
67
|
-
export { default as Label } from "./components/Label/Label";
|
|
68
|
-
export { LayoutTypes } from "./helpers/types";
|
|
69
|
-
export { default as Link, LinkTypes } from "./components/Link/Link";
|
|
70
|
-
export { default as List, ListTypes } from "./components/List/List";
|
|
71
|
-
export { default as Logo, LogoNames, LogoSizes } from "./components/Logo/Logo";
|
|
72
|
-
export { ModalTrigger, useModal } from "./components/Modal/Modal";
|
|
73
|
-
export {
|
|
74
|
-
default as Notification,
|
|
75
|
-
NotificationTypes,
|
|
76
|
-
} from "./components/Notification/Notification";
|
|
77
|
-
export { default as Pagination } from "./components/Pagination/Pagination";
|
|
78
|
-
export {
|
|
79
|
-
default as ProgressIndicator,
|
|
80
|
-
ProgressIndicatorSizes,
|
|
81
|
-
ProgressIndicatorTypes,
|
|
82
|
-
} from "./components/ProgressIndicator/ProgressIndicator";
|
|
83
|
-
export { default as Radio } from "./components/Radio/Radio";
|
|
84
|
-
export { default as RadioGroup } from "./components/RadioGroup/RadioGroup";
|
|
85
|
-
export { default as SearchBar } from "./components/SearchBar/SearchBar";
|
|
86
|
-
export { default as Select, LabelPositions } from "./components/Select/Select";
|
|
87
|
-
export { default as SimpleGrid, GridGaps } from "./components/Grid/SimpleGrid";
|
|
88
|
-
export {
|
|
89
|
-
default as SkeletonLoader,
|
|
90
|
-
SkeletonLoaderImageRatios,
|
|
91
|
-
} from "./components/SkeletonLoader/SkeletonLoader";
|
|
92
|
-
export { default as SkipNavigation } from "./components/SkipNavigation/SkipNavigation";
|
|
93
|
-
export { default as Slider } from "./components/Slider/Slider";
|
|
94
|
-
export {
|
|
95
|
-
default as StatusBadge,
|
|
96
|
-
StatusBadgeTypes,
|
|
97
|
-
} from "./components/StatusBadge/StatusBadge";
|
|
98
|
-
export {
|
|
99
|
-
default as StructuredContent,
|
|
100
|
-
StructuredContentImagePosition,
|
|
101
|
-
} from "./components/StructuredContent/StructuredContent";
|
|
102
|
-
export {
|
|
103
|
-
default as Tabs,
|
|
104
|
-
TabList,
|
|
105
|
-
Tab,
|
|
106
|
-
TabPanels,
|
|
107
|
-
TabPanel,
|
|
108
|
-
} from "./components/Tabs/Tabs";
|
|
109
|
-
export {
|
|
110
|
-
TemplateAppContainer,
|
|
111
|
-
Template,
|
|
112
|
-
TemplateAboveHeader,
|
|
113
|
-
TemplateHeader,
|
|
114
|
-
TemplateBreakout,
|
|
115
|
-
TemplateContent,
|
|
116
|
-
TemplateContentTop,
|
|
117
|
-
TemplateContentPrimary,
|
|
118
|
-
TemplateContentSidebar,
|
|
119
|
-
TemplateFooter,
|
|
120
|
-
} from "./components/Template/Template";
|
|
121
|
-
export { default as Text, TextSizes } from "./components/Text/Text";
|
|
122
|
-
export {
|
|
123
|
-
default as TextInput,
|
|
124
|
-
TextInputRefType,
|
|
125
|
-
TextInputTypes,
|
|
126
|
-
} from "./components/TextInput/TextInput";
|
|
127
|
-
export { default as Toggle, ToggleSizes } from "./components/Toggle/Toggle";
|
|
128
|
-
export { default as useCarouselStyles } from "./hooks/useCarouselStyles";
|
|
129
|
-
export { default as useNYPLTheme } from "./hooks/useNYPLTheme";
|
|
130
|
-
export { default as useWindowSize } from "./hooks/useWindowSize";
|
|
131
|
-
export {
|
|
132
|
-
default as VideoPlayer,
|
|
133
|
-
VideoPlayerAspectRatios,
|
|
134
|
-
VideoPlayerTypes,
|
|
135
|
-
} from "./components/VideoPlayer/VideoPlayer";
|
|
136
|
-
export { default as Table } from "./components/Table/Table";
|
package/src/resources.scss
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Breakpoint Configuration
|
|
3
|
-
* @see https://github.com/Team-Sass/breakpoint/wiki
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// Global Breakpoints
|
|
7
|
-
|
|
8
|
-
// Avoid using in favor of atomic, content-specific, breakpoints.
|
|
9
|
-
// These should be used for generic code, like layouts and typography, only.
|
|
10
|
-
// The CSS variables and the Sass variables below need to stay in sync.
|
|
11
|
-
// Sass' breakpoint() mixin doesn't work without Sass variables.
|
|
12
|
-
// CSS variables expose the breakpoint variables to consumers.
|
|
13
|
-
:root {
|
|
14
|
-
--nypl-breakpoint-small: 320px;
|
|
15
|
-
--nypl-breakpoint-medium: 600px;
|
|
16
|
-
--nypl-breakpoint-large: 960px;
|
|
17
|
-
--nypl-breakpoint-xl: 1280px;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
$nypl-breakpoint-small: 320px;
|
|
21
|
-
$nypl-breakpoint-medium: 600px;
|
|
22
|
-
$nypl-breakpoint-large: 960px;
|
|
23
|
-
$nypl-breakpoint-xl: 1280px;
|
|
24
|
-
// The max-width breakpoint is used when the design should be applied at
|
|
25
|
-
// whatever the largest breakpoint is regardless of actual pixel value,
|
|
26
|
-
// e.g. removing outer margin on body wrapper.
|
|
27
|
-
$nypl-max-width: $nypl-breakpoint-xl;
|