@nypl/design-system-react-components 0.25.2 → 0.25.6

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.
Files changed (238) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/README.md +47 -11
  3. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  4. package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -0
  5. package/dist/components/Button/Button.d.ts +9 -8
  6. package/dist/components/Button/ButtonTypes.d.ts +2 -1
  7. package/dist/components/Card/Card.d.ts +36 -52
  8. package/dist/components/Card/CardTypes.d.ts +0 -15
  9. package/dist/components/Checkbox/Checkbox.d.ts +8 -9
  10. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +2 -2
  11. package/dist/components/DatePicker/DatePicker.d.ts +36 -36
  12. package/dist/components/Fieldset/Fieldset.d.ts +25 -0
  13. package/dist/components/HelperErrorText/HelperErrorText.d.ts +4 -0
  14. package/dist/components/HorizontalRule/HorizontalRule.d.ts +10 -3
  15. package/dist/components/Icons/Icon.d.ts +4 -0
  16. package/dist/components/Icons/IconSvgs.d.ts +11 -0
  17. package/dist/components/Icons/IconTypes.d.ts +11 -0
  18. package/dist/components/Image/Image.d.ts +19 -9
  19. package/dist/components/Image/ImageTypes.d.ts +20 -0
  20. package/dist/components/Link/Link.d.ts +4 -0
  21. package/dist/components/List/List.d.ts +7 -1
  22. package/dist/components/Notification/Notification.d.ts +6 -4
  23. package/dist/components/Pagination/Pagination.d.ts +16 -13
  24. package/dist/components/Pagination/Pagination.stories.d.ts +2 -0
  25. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
  26. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
  27. package/dist/components/RadioGroup/RadioGroup.d.ts +2 -2
  28. package/dist/components/SearchBar/SearchBar.d.ts +3 -3
  29. package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +18 -14
  30. package/dist/components/Slider/Slider.d.ts +57 -0
  31. package/dist/components/Tabs/Tabs.d.ts +1 -1
  32. package/dist/components/TextInput/TextInput.d.ts +10 -0
  33. package/dist/design-system-react-components.cjs.development.js +3058 -936
  34. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  35. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  36. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  37. package/dist/design-system-react-components.esm.js +3049 -921
  38. package/dist/design-system-react-components.esm.js.map +1 -1
  39. package/dist/index.d.ts +12 -6
  40. package/dist/resources.scss +180 -170
  41. package/dist/styles.css +1 -1
  42. package/dist/theme/components/breadcrumb.d.ts +9 -0
  43. package/dist/theme/components/button.d.ts +22 -8
  44. package/dist/theme/components/card.d.ts +168 -0
  45. package/dist/theme/components/checkbox.d.ts +5 -1
  46. package/dist/theme/components/checkboxGroup.d.ts +12 -0
  47. package/dist/theme/components/datePicker.d.ts +16 -0
  48. package/dist/theme/components/fieldset.d.ts +27 -0
  49. package/dist/theme/components/global.d.ts +23 -13
  50. package/dist/theme/components/globalMixins.d.ts +9 -1
  51. package/dist/theme/components/heading.d.ts +5 -0
  52. package/dist/theme/components/image.d.ts +31 -0
  53. package/dist/theme/components/label.d.ts +5 -3
  54. package/dist/theme/components/link.d.ts +4 -0
  55. package/dist/theme/components/list.d.ts +5 -1
  56. package/dist/theme/components/notification.d.ts +4 -14
  57. package/dist/theme/components/pagination.d.ts +19 -0
  58. package/dist/theme/components/progressIndicator.d.ts +50 -0
  59. package/dist/theme/components/radioGroup.d.ts +12 -0
  60. package/dist/theme/components/select.d.ts +11 -2
  61. package/dist/theme/components/skeletonLoader.d.ts +98 -0
  62. package/dist/theme/components/slider.d.ts +51 -0
  63. package/dist/theme/components/textInput.d.ts +8 -0
  64. package/dist/theme/foundations/breakpoints.d.ts +8 -8
  65. package/dist/theme/foundations/global.d.ts +6 -1
  66. package/package.json +72 -84
  67. package/src/__tests__/setup.ts +2 -2
  68. package/src/components/Accordion/Accordion.stories.mdx +39 -42
  69. package/src/components/Autosuggest/Autosuggest.stories.mdx +3 -3
  70. package/src/components/Autosuggest/Autosuggest.stories.tsx +1 -0
  71. package/src/components/Autosuggest/_Autosuggest.scss +5 -5
  72. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +24 -8
  73. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +33 -0
  74. package/src/components/Breadcrumbs/Breadcrumbs.tsx +5 -1
  75. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -0
  76. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +298 -1
  77. package/src/components/Button/Button.stories.mdx +15 -10
  78. package/src/components/Button/Button.test.tsx +21 -7
  79. package/src/components/Button/Button.tsx +18 -33
  80. package/src/components/Button/ButtonTypes.tsx +1 -0
  81. package/src/components/Button/__snapshots__/Button.test.tsx.snap +41 -10
  82. package/src/components/Card/Card.stories.mdx +296 -259
  83. package/src/components/Card/Card.test.tsx +156 -84
  84. package/src/components/Card/Card.tsx +195 -145
  85. package/src/components/Card/CardTypes.tsx +0 -17
  86. package/src/components/Card/__snapshots__/Card.test.tsx.snap +410 -0
  87. package/src/components/CardEdition/CardEdition.stories.tsx +15 -47
  88. package/src/components/CardEdition/_CardEdition.scss +22 -23
  89. package/src/components/Chakra/Box.stories.mdx +14 -15
  90. package/src/components/Chakra/Center.stories.mdx +15 -8
  91. package/src/components/Chakra/Grid.stories.mdx +16 -7
  92. package/src/components/Chakra/Stack.stories.mdx +35 -18
  93. package/src/components/Checkbox/Checkbox.stories.mdx +33 -11
  94. package/src/components/Checkbox/Checkbox.test.tsx +30 -3
  95. package/src/components/Checkbox/Checkbox.tsx +27 -27
  96. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +90 -2
  97. package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +82 -2
  98. package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +1 -1
  99. package/src/components/CheckboxGroup/CheckboxGroup.tsx +14 -15
  100. package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +44 -80
  101. package/src/components/DatePicker/DatePicker.stories.mdx +163 -62
  102. package/src/components/DatePicker/DatePicker.test.tsx +248 -65
  103. package/src/components/DatePicker/DatePicker.tsx +158 -130
  104. package/src/components/DatePicker/_DatePicker.scss +33 -67
  105. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +818 -0
  106. package/src/components/Fieldset/Fieldset.stories.mdx +55 -0
  107. package/src/components/Fieldset/Fieldset.test.tsx +125 -0
  108. package/src/components/Fieldset/Fieldset.tsx +52 -0
  109. package/src/components/Fieldset/__snapshots__/Fieldset.test.tsx.snap +68 -0
  110. package/src/components/Form/Form.stories.mdx +4 -5
  111. package/src/components/Form/Form.tsx +1 -0
  112. package/src/components/Grid/SimpleGrid.stories.mdx +32 -39
  113. package/src/components/Grid/SimpleGrid.test.tsx +4 -4
  114. package/src/components/Heading/Heading.stories.mdx +3 -4
  115. package/src/components/HelperErrorText/HelperErrorText.stories.mdx +1 -1
  116. package/src/components/HelperErrorText/HelperErrorText.tsx +5 -1
  117. package/src/components/Hero/HeroTypes.tsx +1 -0
  118. package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +7 -7
  119. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +6 -5
  120. package/src/components/HorizontalRule/HorizontalRule.test.tsx +17 -0
  121. package/src/components/HorizontalRule/HorizontalRule.tsx +21 -4
  122. package/src/components/HorizontalRule/__snapshots__/HorizontalRule.test.tsx.snap +5 -5
  123. package/src/components/Icons/Icon.stories.mdx +11 -3
  124. package/src/components/Icons/Icon.test.tsx +18 -0
  125. package/src/components/Icons/Icon.tsx +6 -0
  126. package/src/components/Icons/IconSvgs.tsx +22 -0
  127. package/src/components/Icons/IconTypes.tsx +11 -0
  128. package/src/components/Image/Image.stories.mdx +220 -0
  129. package/src/components/Image/Image.test.tsx +131 -29
  130. package/src/components/Image/Image.tsx +84 -56
  131. package/src/components/Image/ImageTypes.ts +22 -0
  132. package/src/components/Image/__snapshots__/Image.test.tsx.snap +190 -0
  133. package/src/components/Input/Input.stories.tsx +20 -64
  134. package/src/components/Input/_Input.scss +23 -14
  135. package/src/components/Link/Link.tsx +4 -1
  136. package/src/components/List/List.stories.mdx +1 -1
  137. package/src/components/List/List.tsx +11 -4
  138. package/src/components/Modal/Modal.stories.mdx +3 -3
  139. package/src/components/Modal/_Modal.scss +2 -2
  140. package/src/components/Notification/Notification.stories.mdx +1 -3
  141. package/src/components/Notification/Notification.tsx +24 -9
  142. package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +2 -0
  143. package/src/components/Pagination/Pagination.stories.mdx +26 -27
  144. package/src/components/Pagination/Pagination.stories.tsx +11 -16
  145. package/src/components/Pagination/Pagination.test.tsx +276 -146
  146. package/src/components/Pagination/Pagination.tsx +174 -154
  147. package/src/components/Pagination/__snapshots__/Pagination.test.tsx.snap +285 -0
  148. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
  149. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
  150. package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
  151. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
  152. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
  153. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
  154. package/src/components/RadioGroup/RadioGroup.stories.mdx +3 -4
  155. package/src/components/RadioGroup/RadioGroup.tsx +11 -16
  156. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +39 -71
  157. package/src/components/SearchBar/SearchBar.Test.tsx +66 -21
  158. package/src/components/SearchBar/SearchBar.stories.mdx +114 -10
  159. package/src/components/SearchBar/SearchBar.tsx +15 -5
  160. package/src/components/Select/SelectTypes.tsx +1 -0
  161. package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +28 -59
  162. package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +97 -177
  163. package/src/components/SkeletonLoader/SkeletonLoader.tsx +74 -71
  164. package/src/components/SkeletonLoader/__snapshots__/SkeletonLoader.test.tsx.snap +739 -0
  165. package/src/components/Slider/Slider.stories.mdx +529 -0
  166. package/src/components/Slider/Slider.test.tsx +653 -0
  167. package/src/components/Slider/Slider.tsx +303 -0
  168. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
  169. package/src/components/StyleGuide/Bidirectionality.stories.mdx +1 -1
  170. package/src/components/StyleGuide/Breakpoints.stories.mdx +21 -7
  171. package/src/components/StyleGuide/Buttons.stories.mdx +69 -15
  172. package/src/components/StyleGuide/ColorCard.tsx +0 -1
  173. package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
  174. package/src/components/StyleGuide/Iconography.stories.mdx +51 -62
  175. package/src/components/Tabs/Tabs.tsx +5 -5
  176. package/src/components/Template/Template.stories.mdx +11 -16
  177. package/src/components/TextInput/TextInput.stories.mdx +1 -1
  178. package/src/components/TextInput/TextInput.tsx +23 -6
  179. package/src/components/TextInput/TextInputTypes.tsx +2 -0
  180. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +2 -3
  181. package/src/docs/Chakra.stories.mdx +2 -2
  182. package/src/index.ts +20 -12
  183. package/src/resources.scss +5 -5
  184. package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
  185. package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
  186. package/src/styles/base/{_04-base.scss → _03-base.scss} +7 -2
  187. package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
  188. package/src/styles/base/_place-holder.scss +14 -3
  189. package/src/styles/{03-space → space}/_space-inline.scss +14 -14
  190. package/src/styles/{03-space → space}/_space-inset.scss +10 -10
  191. package/src/styles/space/_space-stack.scss +116 -0
  192. package/src/styles.scss +13 -55
  193. package/src/theme/components/breadcrumb.ts +10 -0
  194. package/src/theme/components/button.ts +18 -12
  195. package/src/theme/components/card.ts +174 -0
  196. package/src/theme/components/checkbox.ts +7 -2
  197. package/src/theme/components/checkboxGroup.ts +8 -0
  198. package/src/theme/components/datePicker.ts +17 -0
  199. package/src/theme/components/fieldset.ts +18 -0
  200. package/src/theme/components/global.ts +26 -15
  201. package/src/theme/components/globalMixins.ts +9 -1
  202. package/src/theme/components/heading.ts +5 -0
  203. package/src/theme/components/image.ts +116 -0
  204. package/src/theme/components/label.ts +3 -10
  205. package/src/theme/components/link.ts +4 -0
  206. package/src/theme/components/list.ts +6 -3
  207. package/src/theme/components/notification.ts +12 -14
  208. package/src/theme/components/pagination.ts +20 -0
  209. package/src/theme/components/progressIndicator.ts +62 -0
  210. package/src/theme/components/radioGroup.ts +8 -0
  211. package/src/theme/components/select.ts +5 -2
  212. package/src/theme/components/skeletonLoader.ts +107 -0
  213. package/src/theme/components/slider.ts +79 -0
  214. package/src/theme/components/textInput.ts +2 -0
  215. package/src/theme/foundations/breakpoints.ts +8 -8
  216. package/src/theme/foundations/global.ts +6 -1
  217. package/src/theme/index.ts +22 -4
  218. package/src/utils/componentCategories.ts +4 -3
  219. package/dist/components/Image/Image.stories.d.ts +0 -18
  220. package/dist/theme/components/customCheckboxGroup.d.ts +0 -18
  221. package/dist/theme/components/customRadioGroup.d.ts +0 -18
  222. package/src/components/Button/_Button.scss +0 -32
  223. package/src/components/Card/_Card.scss +0 -308
  224. package/src/components/Image/Image.stories.tsx +0 -54
  225. package/src/components/Image/_Image.scss +0 -38
  226. package/src/components/Pagination/_Pagination.scss +0 -40
  227. package/src/components/SkeletonLoader/_SkeletonLoader.scss +0 -142
  228. package/src/styles/01-colors/_colors-brand.scss +0 -62
  229. package/src/styles/01-colors/_colors-utility.scss +0 -67
  230. package/src/styles/02-typography/_type-scale.css +0 -11
  231. package/src/styles/02-typography/_type-weight.css +0 -7
  232. package/src/styles/02-typography/_typefaces.css +0 -4
  233. package/src/styles/03-space/_space-stack.scss +0 -116
  234. package/src/styles/03-space/_space.css +0 -30
  235. package/src/styles/base/_card-grid.scss +0 -77
  236. package/src/styles/base/_typography.scss +0 -11
  237. package/src/theme/components/customCheckboxGroup.ts +0 -12
  238. package/src/theme/components/customRadioGroup.ts +0 -12
@@ -3,7 +3,7 @@
3
3
  const categories = {
4
4
  basicContent: {
5
5
  title: "Components/Basic Elements",
6
- components: ["Card", "CardEdition", "Hero", "Promo", "Sponsor", "Table"],
6
+ components: ["Card", "Hero", "Promo", "Sponsor", "Table"],
7
7
  },
8
8
  contentDisplay: {
9
9
  title: "Components/Content Display",
@@ -19,7 +19,7 @@ const categories = {
19
19
  },
20
20
  deprecated: {
21
21
  title: "Components/Deprecated",
22
- components: [],
22
+ components: ["CardEdition", "Input"],
23
23
  },
24
24
  feedback: {
25
25
  title: "Components/Feedback",
@@ -40,9 +40,9 @@ const categories = {
40
40
  "DatePicker",
41
41
  "DateRangePicker",
42
42
  "Dropdown",
43
+ "Fieldset",
43
44
  "FileUploader",
44
45
  "Form",
45
- "Input",
46
46
  "Label",
47
47
  "NumberInput",
48
48
  "Radio",
@@ -111,6 +111,7 @@ const categories = {
111
111
  "Breakpoints",
112
112
  "Buttons",
113
113
  "Colors",
114
+ "Design Tokens",
114
115
  "Forms",
115
116
  "Iconography",
116
117
  "Spacing",
@@ -1,18 +0,0 @@
1
- /// <reference types="react" />
2
- import Image from "./Image";
3
- declare const _default: {
4
- title: any;
5
- component: typeof Image;
6
- };
7
- export default _default;
8
- export declare const ImageWithOptionalCaptionandCredit: {
9
- (): JSX.Element;
10
- storyName: string;
11
- parameters: {
12
- design: {
13
- type: string;
14
- url: string;
15
- };
16
- jest: string[];
17
- };
18
- };
@@ -1,18 +0,0 @@
1
- declare const CustomCheckboxGroup: {
2
- parts: string[];
3
- baseStyle: {
4
- legend: {
5
- fontSize: string;
6
- marginBottom: string;
7
- };
8
- required: {
9
- marginLeft: string;
10
- };
11
- helper: {
12
- marginTop: string;
13
- };
14
- };
15
- sizes: {};
16
- defaultProps: {};
17
- };
18
- export default CustomCheckboxGroup;
@@ -1,18 +0,0 @@
1
- declare const CustomRadioGroup: {
2
- parts: string[];
3
- baseStyle: {
4
- legend: {
5
- fontSize: string;
6
- marginBottom: string;
7
- };
8
- required: {
9
- marginLeft: string;
10
- };
11
- helper: {
12
- marginTop: string;
13
- };
14
- };
15
- sizes: {};
16
- defaultProps: {};
17
- };
18
- export default CustomRadioGroup;
@@ -1,32 +0,0 @@
1
- // Keeping `button-base` and `button--outline` for the
2
- // Accordion component until that component is updated.
3
- @mixin button-base {
4
- border-radius: 2px !important;
5
- cursor: pointer;
6
- display: flex;
7
- justify-content: center;
8
- padding: var(--space-xs) var(--space-s) !important;
9
- text-decoration: none;
10
- }
11
-
12
- @mixin button--outline {
13
- @include button-base;
14
-
15
- background-color: var(--ui-white);
16
- border: 1px solid var(--ui-gray-light-cool);
17
- color: inherit;
18
-
19
- &:visited {
20
- color: inherit;
21
- }
22
-
23
- &:hover {
24
- background-color: var(--ui-gray-xx-light-cool);
25
- }
26
-
27
- &:disabled {
28
- background-color: var(--ui-gray-light-cool);
29
- color: var(--ui-gray-dark);
30
- pointer-events: none;
31
- }
32
- }
@@ -1,308 +0,0 @@
1
- .card {
2
- align-items: flex-start;
3
- display: flex;
4
- flex-flow: column wrap;
5
-
6
- .card__image {
7
- margin-bottom: var(--space-s);
8
- width: 100%;
9
-
10
- &--small {
11
- margin-left: auto;
12
- margin-right: auto;
13
- max-width: 165px;
14
- }
15
-
16
- &--medium {
17
- margin-left: auto;
18
- margin-right: auto;
19
- max-width: 225px;
20
- }
21
-
22
- &--large {
23
- margin-left: auto;
24
- margin-right: auto;
25
- max-width: 360px;
26
- }
27
-
28
- .image-wrap {
29
- box-sizing: border-box;
30
- height: 0;
31
- overflow: hidden;
32
- padding-bottom: 100%;
33
- position: relative;
34
- width: 100%;
35
-
36
- &--sixteen-by-nine {
37
- padding-bottom: 56.25%;
38
- }
39
-
40
- &--three-by-two {
41
- padding-bottom: 66.66%;
42
- }
43
-
44
- &--two-by-one {
45
- padding-bottom: 50%;
46
- }
47
-
48
- &--four-by-three {
49
- padding-bottom: 75%;
50
- }
51
-
52
- &--square {
53
- padding-bottom: 100%;
54
- }
55
-
56
- &--three-by-four {
57
- padding-bottom: 133.33%;
58
- }
59
-
60
- &--one-by-two {
61
- padding-bottom: 200%;
62
- }
63
- }
64
-
65
- .image-crop {
66
- box-sizing: border-box;
67
- height: 100%;
68
- left: 0;
69
- position: absolute;
70
- top: 0;
71
- width: 100%;
72
- }
73
-
74
- .image {
75
- box-sizing: border-box;
76
- display: block;
77
- height: 100%;
78
- object-fit: cover;
79
- position: relative;
80
- width: 100%;
81
- }
82
-
83
- &--original {
84
- height: auto;
85
- overflow: hidden;
86
- padding-bottom: 0;
87
-
88
- .image-crop {
89
- height: auto;
90
- position: relative;
91
- }
92
-
93
- .image {
94
- object-fit: none;
95
- }
96
- }
97
- }
98
-
99
- .card__body {
100
- @include breakpoint($breakpoint-medium) {
101
- display: block;
102
- flex-flow: row nowrap;
103
- }
104
-
105
- .card-content {
106
- @include space-stack-s;
107
-
108
- &:last-child {
109
- margin-bottom: 0;
110
- }
111
- }
112
-
113
- .card-actions {
114
- @include space-stack-s;
115
-
116
- column-gap: var(--space-xs);
117
- display: flex;
118
-
119
- &:last-child {
120
- margin-bottom: 0;
121
- }
122
-
123
- &--top-border {
124
- border-top: 1px solid var(--ui-gray-medium);
125
- padding-top: var(--space-xs);
126
- }
127
-
128
- &--bottom-border {
129
- border-bottom: 1px solid var(--ui-gray-medium);
130
- padding-bottom: var(--space-xs);
131
- }
132
- }
133
- }
134
-
135
- &--center {
136
- text-align: center;
137
-
138
- /* stylelint-disable */
139
- .card-actions {
140
- justify-content: center;
141
- }
142
- /* stylelint-enable */
143
- .card__body {
144
- margin: auto;
145
- }
146
- }
147
-
148
- &--with-border {
149
- border: 1px solid var(--ui-gray-medium);
150
-
151
- .card__body {
152
- padding: var(--space-s);
153
- }
154
-
155
- &.card--has-image {
156
- .card__body {
157
- padding: 0 var(--space-s) var(--space-s);
158
- }
159
- }
160
- }
161
-
162
- &--at-end {
163
- .card__image {
164
- margin-bottom: 0;
165
- margin-top: var(--space-s);
166
- order: 2;
167
- }
168
- }
169
-
170
- &.card--row {
171
- display: flex;
172
- flex-flow: column nowrap;
173
- max-width: 100%;
174
- text-align: left;
175
-
176
- /* stylelint-disable */
177
- .card-actions {
178
- justify-content: left;
179
- }
180
- /* stylelint-enable */
181
- &.card--center {
182
- align-items: center;
183
-
184
- .card__body {
185
- margin: 0;
186
- }
187
- }
188
-
189
- @include breakpoint($breakpoint-medium) {
190
- flex-flow: row;
191
- }
192
-
193
- .card__image {
194
- @include breakpoint($breakpoint-medium) {
195
- flex: 0 0 225px;
196
- margin: 0 var(--space-m) 0 0;
197
- max-width: 50%;
198
-
199
- &--small {
200
- flex: 0 0 165px;
201
- }
202
-
203
- &--medium {
204
- flex: 0 0 225px;
205
- }
206
-
207
- &--large {
208
- flex: 0 0 360px;
209
- }
210
- }
211
- }
212
-
213
- &.card--at-end {
214
- .card__image {
215
- margin: var(--space-m) 0 0;
216
-
217
- @include breakpoint($breakpoint-medium) {
218
- margin: 0 0 0 var(--space-m);
219
- }
220
- }
221
- }
222
-
223
- &.card--with-border {
224
- .card__body {
225
- padding: var(--space-s);
226
- }
227
-
228
- &.card--has-image {
229
- .card__body {
230
- padding: 0 var(--space-s) var(--space-s);
231
-
232
- @include breakpoint($breakpoint-medium) {
233
- padding: var(--space-s) var(--space-s) var(--space-s) 0;
234
- }
235
- }
236
-
237
- &.card--at-end {
238
- .card__body {
239
- padding: var(--space-s) var(--space-s) 0;
240
-
241
- @include breakpoint($breakpoint-medium) {
242
- padding: var(--space-s) 0 var(--space-s) var(--space-s);
243
- }
244
- }
245
- }
246
- }
247
- }
248
- }
249
- }
250
-
251
- // Stories-only styles
252
- .sb-show-main {
253
- .var-docs {
254
- padding: 0 0 var(--space) 0;
255
- }
256
-
257
- .example-card {
258
- .card__content {
259
- > * {
260
- @include space-stack-xxs;
261
- }
262
- }
263
-
264
- .book__callout {
265
- // formerly imported with @include heading-xs;
266
- font-size: var(--font-size-1);
267
- font-weight: 400;
268
- line-height: 1.15;
269
- margin: 0 0 0.5em;
270
- width: auto;
271
-
272
- &__link {
273
- color: inherit;
274
-
275
- &:hover {
276
- color: inherit;
277
- }
278
- }
279
-
280
- /* stylelint-disable */
281
- font-style: italic;
282
- font-weight: 300;
283
- /* stylelint-enable */
284
- }
285
-
286
- .card__ctas {
287
- align-items: flex-end;
288
- display: flex;
289
- flex-flow: row wrap;
290
-
291
- .button {
292
- width: 100%;
293
- }
294
-
295
- > * {
296
- @include space-stack-xxs;
297
- }
298
- }
299
-
300
- .book__filetype {
301
- @include space-stack-s;
302
- }
303
-
304
- .book__description {
305
- font-style: italic;
306
- }
307
- }
308
- }
@@ -1,54 +0,0 @@
1
- import * as React from "react";
2
-
3
- import Image from "./Image";
4
- import { text, boolean, select } from "@storybook/addon-knobs";
5
- import { getCategory } from "../../utils/componentCategories";
6
-
7
- export default {
8
- title: getCategory("Image"),
9
- component: Image,
10
- };
11
-
12
- let showCaption, showCredit;
13
-
14
- const imageRatios = {
15
- "1x1": "https://placeimg.com/100/100/animals",
16
- "2x1": "https://placeimg.com/200/100/animals",
17
- "3x4": "https://placeimg.com/150/200/animals",
18
- "4x1": "https://placeimg.com/400/100/animals",
19
- "4x3": "https://placeimg.com/200/150/animals",
20
- "16x9": "https://placeimg.com/400/225/animals",
21
- };
22
-
23
- export const ImageWithOptionalCaptionandCredit = () => (
24
- <>
25
- {boolean("Show Caption", true)
26
- ? (showCaption = true)
27
- : (showCaption = false)}
28
- {boolean("Show Credit", true) ? (showCredit = true) : (showCredit = false)}
29
- <Image
30
- src={select("Initial Selected Option", imageRatios, imageRatios["2x1"])}
31
- imageCaption={
32
- showCaption
33
- ? text("Image Caption", "Deserted Islander Relocator")
34
- : null
35
- }
36
- imageCredit={
37
- showCredit ? text("Image Credit", "Taken by Tom Nook") : null
38
- }
39
- modifiers={boolean("Apply Circle Mask", false) ? ["circle"] : null}
40
- alt={text("Image alt", "alt")}
41
- />
42
- </>
43
- );
44
-
45
- ImageWithOptionalCaptionandCredit.storyName =
46
- "Image with Optional Caption and Credit";
47
- ImageWithOptionalCaptionandCredit.parameters = {
48
- design: {
49
- type: "figma",
50
- url:
51
- "https://www.figma.com/file/qShodlfNCJHb8n03IFyApM/Master?node-id=11896%3A45379",
52
- },
53
- jest: ["Image.test.tsx"],
54
- };
@@ -1,38 +0,0 @@
1
- .image {
2
- display: block;
3
- height: auto;
4
- max-width: 100%;
5
-
6
- &--circle {
7
- border-radius: 50%;
8
- }
9
- }
10
-
11
- .nypl-ds {
12
- figure {
13
- margin: unset;
14
- }
15
- }
16
-
17
- .figure {
18
- &__image {
19
- @include space-stack-xxs;
20
-
21
- &--circle {
22
- border-radius: 50%;
23
- }
24
- }
25
-
26
- &__figcaption {
27
- font-style: italic;
28
- }
29
- }
30
-
31
- .figcaption {
32
- &__credit,
33
- &__caption {
34
- @include space-stack-xxs;
35
-
36
- font-size: var(--font-size--1);
37
- }
38
- }
@@ -1,40 +0,0 @@
1
- .pagination {
2
- @include space-stack-l;
3
-
4
- align-items: stretch;
5
- display: flex;
6
- width: 100%;
7
-
8
- > * {
9
- &:not(:last-child) {
10
- @include space-inline-xs;
11
- }
12
- }
13
-
14
- &__list {
15
- @include list-reset;
16
-
17
- display: flex;
18
- }
19
-
20
- &__item {
21
- @include space-inline-xs;
22
-
23
- list-style-type: none;
24
- }
25
-
26
- &__link {
27
- line-height: 1.15;
28
- text-decoration: none;
29
-
30
- &.selected {
31
- color: var(--ui-black);
32
- pointer-events: none;
33
- }
34
-
35
- &.disabled {
36
- color: var(--ui-gray-dark);
37
- pointer-events: none;
38
- }
39
- }
40
- }
@@ -1,142 +0,0 @@
1
- @mixin skeleton-highlight {
2
- animation: Pulsate 1000ms cubic-bezier(0.25, -0.5, 1, 0) infinite;
3
- background: var(--ui-gray-light-warm);
4
- }
5
-
6
- .skeleton-loader {
7
- margin: auto;
8
- width: 100%;
9
-
10
- .skeleton-section {
11
- margin-bottom: var(--space-s);
12
-
13
- &:last-child {
14
- margin-bottom: 0;
15
- }
16
- }
17
-
18
- .skeleton-element {
19
- border-radius: 2px;
20
- box-sizing: border-box;
21
- margin-bottom: var(--space-xs);
22
-
23
- &:last-child {
24
- margin-bottom: 0;
25
- }
26
- }
27
-
28
- .skeleton-loader-image {
29
- @include skeleton-highlight;
30
-
31
- box-sizing: border-box;
32
- height: 0;
33
- overflow: hidden;
34
- padding-bottom: 100%;
35
- position: relative;
36
- width: 100%;
37
-
38
- &--square {
39
- padding-bottom: 100%;
40
- }
41
-
42
- &--portrait {
43
- padding-bottom: 200%;
44
- }
45
-
46
- &--landscape {
47
- padding-bottom: 50%;
48
- }
49
- }
50
-
51
- .skeleton-loader-heading {
52
- @include skeleton-highlight;
53
-
54
- height: 32px;
55
-
56
- &:last-child {
57
- width: 80%;
58
- }
59
- }
60
-
61
- .skeleton-loader-content {
62
- @include skeleton-highlight;
63
-
64
- height: 20px;
65
-
66
- &:last-child {
67
- width: 30%;
68
- }
69
- }
70
-
71
- .skeleton-loader-button {
72
- @include skeleton-highlight;
73
-
74
- border-radius: 16px;
75
- height: 32px;
76
- margin: auto;
77
- max-width: 160px;
78
- width: 100%;
79
- }
80
-
81
- &--border {
82
- border: 1px solid var(--ui-gray-light-cool);
83
- padding: var(--space-s);
84
- }
85
-
86
- &--row {
87
- @include breakpoint($breakpoint-medium) {
88
- display: flex;
89
-
90
- /* stylelint-disable */
91
- .skeleton-section {
92
- margin-right: var(--space-m);
93
-
94
- &:last-child {
95
- margin-right: 0;
96
- }
97
- }
98
-
99
- > .skeleton-section:first-child {
100
- margin-bottom: 0;
101
- }
102
-
103
- .skeleton-loader-image {
104
- height: 0;
105
- overflow: visible;
106
- padding-bottom: 0;
107
- position: relative;
108
- width: 220px;
109
-
110
- &--square {
111
- height: 220px;
112
- }
113
-
114
- &--portrait {
115
- height: 440px;
116
- }
117
-
118
- &--landscape {
119
- height: 110px;
120
- }
121
- }
122
-
123
- .skeleton-loader-button {
124
- margin: 0;
125
- }
126
- }
127
- }
128
- }
129
-
130
- @keyframes Pulsate {
131
- from {
132
- opacity: 0.9;
133
- }
134
-
135
- 50% {
136
- opacity: 0.6;
137
- }
138
-
139
- to {
140
- opacity: 0.9;
141
- }
142
- }