@nypl/design-system-react-components 0.25.3 → 0.25.7

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 (135) hide show
  1. package/CHANGELOG.md +65 -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 -6
  6. package/dist/components/Button/ButtonTypes.d.ts +2 -1
  7. package/dist/components/Card/Card.d.ts +0 -25
  8. package/dist/components/Icons/IconSvgs.d.ts +3 -0
  9. package/dist/components/Icons/IconTypes.d.ts +3 -0
  10. package/dist/components/Notification/Notification.d.ts +6 -4
  11. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +29 -0
  12. package/dist/components/ProgressIndicator/ProgressIndicatorTypes.d.ts +8 -0
  13. package/dist/components/SearchBar/SearchBar.d.ts +3 -3
  14. package/dist/components/Slider/Slider.d.ts +57 -0
  15. package/dist/components/Tabs/Tabs.d.ts +1 -1
  16. package/dist/components/TextInput/TextInput.d.ts +6 -0
  17. package/dist/design-system-react-components.cjs.development.js +1022 -455
  18. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  19. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  20. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  21. package/dist/design-system-react-components.esm.js +1015 -444
  22. package/dist/design-system-react-components.esm.js.map +1 -1
  23. package/dist/index.d.ts +8 -3
  24. package/dist/resources.scss +180 -170
  25. package/dist/styles.css +1 -1
  26. package/dist/theme/components/breadcrumb.d.ts +9 -0
  27. package/dist/theme/components/button.d.ts +10 -0
  28. package/dist/theme/components/progressIndicator.d.ts +50 -0
  29. package/dist/theme/components/slider.d.ts +51 -0
  30. package/dist/theme/foundations/breakpoints.d.ts +8 -8
  31. package/dist/theme/foundations/global.d.ts +6 -1
  32. package/package.json +71 -83
  33. package/src/__tests__/setup.ts +2 -2
  34. package/src/components/Accordion/Accordion.stories.mdx +30 -34
  35. package/src/components/Autosuggest/Autosuggest.stories.mdx +3 -3
  36. package/src/components/Autosuggest/Autosuggest.stories.tsx +1 -0
  37. package/src/components/Autosuggest/_Autosuggest.scss +5 -5
  38. package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +24 -8
  39. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +33 -0
  40. package/src/components/Breadcrumbs/Breadcrumbs.tsx +5 -1
  41. package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +1 -0
  42. package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +297 -1
  43. package/src/components/Button/Button.stories.mdx +8 -6
  44. package/src/components/Button/Button.test.tsx +20 -0
  45. package/src/components/Button/Button.tsx +14 -23
  46. package/src/components/Button/ButtonTypes.tsx +1 -0
  47. package/src/components/Button/__snapshots__/Button.test.tsx.snap +29 -4
  48. package/src/components/Card/Card.stories.mdx +1 -1
  49. package/src/components/Card/Card.tsx +3 -3
  50. package/src/components/CardEdition/CardEdition.stories.tsx +15 -47
  51. package/src/components/CardEdition/_CardEdition.scss +22 -23
  52. package/src/components/Chakra/Box.stories.mdx +14 -15
  53. package/src/components/Chakra/Center.stories.mdx +15 -8
  54. package/src/components/Chakra/Grid.stories.mdx +16 -7
  55. package/src/components/Chakra/Stack.stories.mdx +35 -18
  56. package/src/components/DatePicker/DatePicker.test.tsx +31 -30
  57. package/src/components/DatePicker/DatePicker.tsx +7 -4
  58. package/src/components/DatePicker/_DatePicker.scss +4 -4
  59. package/src/components/DatePicker/__snapshots__/DatePicker.test.tsx.snap +19 -5
  60. package/src/components/Form/Form.stories.mdx +4 -5
  61. package/src/components/Grid/SimpleGrid.stories.mdx +1 -0
  62. package/src/components/Hero/HeroTypes.tsx +1 -0
  63. package/src/components/HorizontalRule/HorizontalRule.stories.mdx +2 -3
  64. package/src/components/Icons/Icon.stories.mdx +2 -3
  65. package/src/components/Icons/IconSvgs.tsx +6 -0
  66. package/src/components/Icons/IconTypes.tsx +3 -0
  67. package/src/components/Image/Image.stories.mdx +2 -3
  68. package/src/components/Input/Input.stories.tsx +20 -64
  69. package/src/components/Input/_Input.scss +23 -14
  70. package/src/components/Modal/Modal.stories.mdx +3 -3
  71. package/src/components/Modal/_Modal.scss +2 -2
  72. package/src/components/Notification/Notification.stories.mdx +1 -1
  73. package/src/components/Notification/Notification.tsx +13 -4
  74. package/src/components/Pagination/Pagination.stories.mdx +3 -2
  75. package/src/components/Pagination/Pagination.stories.tsx +1 -2
  76. package/src/components/ProgressIndicator/ProgressIndicator.stories.mdx +292 -0
  77. package/src/components/ProgressIndicator/ProgressIndicator.test.tsx +225 -0
  78. package/src/components/ProgressIndicator/ProgressIndicator.tsx +126 -0
  79. package/src/components/ProgressIndicator/ProgressIndicatorTypes.ts +8 -0
  80. package/src/components/ProgressIndicator/__snapshots__/ProgressIndicator.test.tsx.snap +357 -0
  81. package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +3 -0
  82. package/src/components/RadioGroup/RadioGroup.stories.mdx +2 -3
  83. package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +4 -0
  84. package/src/components/SearchBar/SearchBar.Test.tsx +66 -21
  85. package/src/components/SearchBar/SearchBar.stories.mdx +110 -11
  86. package/src/components/SearchBar/SearchBar.tsx +15 -5
  87. package/src/components/Select/SelectTypes.tsx +1 -0
  88. package/src/components/Slider/Slider.stories.mdx +529 -0
  89. package/src/components/Slider/Slider.test.tsx +653 -0
  90. package/src/components/Slider/Slider.tsx +303 -0
  91. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +1946 -0
  92. package/src/components/StyleGuide/Bidirectionality.stories.mdx +1 -1
  93. package/src/components/StyleGuide/Breakpoints.stories.mdx +21 -7
  94. package/src/components/StyleGuide/Buttons.stories.mdx +9 -2
  95. package/src/components/StyleGuide/DesignTokens.stories.mdx +170 -0
  96. package/src/components/Tabs/Tabs.tsx +5 -5
  97. package/src/components/Template/Template.stories.mdx +6 -6
  98. package/src/components/TextInput/TextInput.stories.mdx +1 -1
  99. package/src/components/TextInput/TextInput.tsx +15 -2
  100. package/src/components/TextInput/TextInputTypes.tsx +2 -0
  101. package/src/components/VideoPlayer/VideoPlayer.stories.mdx +2 -3
  102. package/src/docs/Chakra.stories.mdx +2 -2
  103. package/src/index.ts +12 -6
  104. package/src/resources.scss +5 -5
  105. package/src/styles/base/{_02-breakpoints.scss → _01-breakpoints.scss} +9 -10
  106. package/src/styles/base/{_03-mixins.scss → _02-mixins.scss} +16 -5
  107. package/src/styles/base/{_04-base.scss → _03-base.scss} +7 -2
  108. package/src/styles/base/{_05-focus.scss → _04-focus.scss} +0 -15
  109. package/src/styles/base/_place-holder.scss +14 -3
  110. package/src/styles/{03-space → space}/_space-inline.scss +14 -14
  111. package/src/styles/{03-space → space}/_space-inset.scss +10 -10
  112. package/src/styles/space/_space-stack.scss +116 -0
  113. package/src/styles.scss +13 -44
  114. package/src/theme/components/breadcrumb.ts +10 -0
  115. package/src/theme/components/button.ts +10 -2
  116. package/src/theme/components/card.ts +11 -9
  117. package/src/theme/components/datePicker.ts +1 -1
  118. package/src/theme/components/list.ts +2 -2
  119. package/src/theme/components/notification.ts +5 -3
  120. package/src/theme/components/progressIndicator.ts +62 -0
  121. package/src/theme/components/skeletonLoader.ts +1 -1
  122. package/src/theme/components/slider.ts +79 -0
  123. package/src/theme/foundations/breakpoints.ts +8 -8
  124. package/src/theme/foundations/global.ts +6 -1
  125. package/src/theme/index.ts +4 -0
  126. package/src/utils/componentCategories.ts +3 -3
  127. package/src/styles/01-colors/_colors-brand.scss +0 -62
  128. package/src/styles/01-colors/_colors-utility.scss +0 -67
  129. package/src/styles/02-typography/_type-scale.css +0 -11
  130. package/src/styles/02-typography/_type-weight.css +0 -7
  131. package/src/styles/02-typography/_typefaces.css +0 -4
  132. package/src/styles/03-space/_space-stack.scss +0 -116
  133. package/src/styles/03-space/_space.css +0 -30
  134. package/src/styles/base/_card-grid.scss +0 -77
  135. package/src/styles/base/_typography.scss +0 -11
@@ -1,16 +1,16 @@
1
1
  import { createBreakpoints } from "@chakra-ui/theme-tools";
2
2
 
3
3
  /**
4
- * Breakpoints from "src/styles/base/_02-breakpoints.scss"
4
+ * Breakpoints from "src/styles/base/_01-breakpoints.scss"
5
5
  * How to use Chakra responsive styles: https://chakra-ui.com/docs/features/responsive-styles
6
6
  *
7
- * Chakra Value | DS Variable | EM/PX value
8
- * --------------------------------------------------
9
- * sm | --breakpoint-small | 20em/320px
10
- * md | --breakpoint-medium | 38em/600px
11
- * lg | --breakpoint-large | 60em/960px
12
- * xl | --breakpoint-xl | 80em/1280px
13
- * 2xl | N/A | 96em/1536px
7
+ * Chakra Value | DS Variable | EM/PX value
8
+ * ------------------------------------------------------
9
+ * sm | --nypl-breakpoint-small | 20em/320px
10
+ * md | --nypl-breakpoint-medium | 38em/600px
11
+ * lg | --nypl-breakpoint-large | 60em/960px
12
+ * xl | --nypl-breakpoint-xl | 80em/1280px
13
+ * 2xl | N/A | 96em/1536px
14
14
  *
15
15
  * @Note Chakra provides a 2xl option while the DS does not. We don't
16
16
  * recommend using this value until further notice.
@@ -7,12 +7,14 @@
7
7
  const global = {
8
8
  // styles for the `body` element
9
9
  body: {
10
+ boxSizing: "border-box",
10
11
  bg: "ui.white",
11
12
  color: "ui.black",
12
13
  fontFamily: "body",
13
- fontSize: 0,
14
+ fontSize: "0",
14
15
  fontWeight: "300",
15
16
  lineHeight: "1.5",
17
+ overflowX: "hidden",
16
18
  },
17
19
  // styles for the `a` element
18
20
  a: {
@@ -21,6 +23,9 @@ const global = {
21
23
  svg: {
22
24
  display: "inline",
23
25
  },
26
+ p: {
27
+ margin: "0 0 var(--nypl-space-s",
28
+ },
24
29
  };
25
30
 
26
31
  export default global;
@@ -29,10 +29,12 @@ import Link from "./components/link";
29
29
  import List from "./components/list";
30
30
  import NotificationStyles from "./components/notification";
31
31
  import Pagination from "./components/pagination";
32
+ import ProgressIndicator from "./components/progressIndicator";
32
33
  import Radio from "./components/radio";
33
34
  import RadioGroup from "./components/radioGroup";
34
35
  import SearchBar from "./components/searchBar";
35
36
  import { Skeleton, SkeletonLoader } from "./components/skeletonLoader";
37
+ import CustomSlider from "./components/slider";
36
38
  import StatusBadge from "./components/statusBadge";
37
39
  import Tabs from "./components/tabs";
38
40
  import TemplateStyles from "./components/template";
@@ -93,11 +95,13 @@ const theme = extendTheme({
93
95
  List,
94
96
  ...NotificationStyles,
95
97
  Pagination,
98
+ ProgressIndicator,
96
99
  Radio,
97
100
  RadioGroup,
98
101
  SearchBar,
99
102
  Skeleton,
100
103
  SkeletonLoader,
104
+ CustomSlider,
101
105
  StatusBadge,
102
106
  Tabs,
103
107
  ...TemplateStyles,
@@ -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",
@@ -43,7 +43,6 @@ const categories = {
43
43
  "Fieldset",
44
44
  "FileUploader",
45
45
  "Form",
46
- "Input",
47
46
  "Label",
48
47
  "NumberInput",
49
48
  "Radio",
@@ -112,6 +111,7 @@ const categories = {
112
111
  "Breakpoints",
113
112
  "Buttons",
114
113
  "Colors",
114
+ "Design Tokens",
115
115
  "Forms",
116
116
  "Iconography",
117
117
  "Spacing",
@@ -1,62 +0,0 @@
1
- /** Brand Colors */
2
-
3
- // SASS Color Variables
4
-
5
- /* Brand fills are the NYPL primary and secondary colors */
6
- $brand-primary: #c60917;
7
- $brand-secondary: #760000;
8
-
9
- // What's On is used for Exhibitions & Events.
10
- $whats-on-primary: #242424;
11
- $whats-on-secondary: #000000;
12
-
13
- // Books and More is used for the Catalog, Staff Picks, Recommendations, New Arrivals, and E-Book Central.
14
- $books-and-more-primary: $brand-primary;
15
- $books-and-more-secondary: $brand-secondary;
16
-
17
- // Research is used for the Research Catalog and SCC.
18
- $research-primary: #00838a;
19
- $research-secondary: #006166;
20
-
21
- // Locations is used for Location Finder and all branch pages with the exceptions of some research libraries.
22
- $locations-primary: $brand-primary;
23
- $locations-secondary: $brand-secondary;
24
-
25
- // Blogs is used for Blog pages.
26
- $blogs-primary: #e0e0e0;
27
- $blogs-secondary: #bdbdbd;
28
-
29
- // Research libraries with specific brand colors to adhere to.
30
- $research-library-lpa: #005d53;
31
- $research-library-schomburg: #a03e31;
32
- $research-library-schwartzman: $brand-secondary;
33
-
34
- //Mapping where we associate a name string with each SASS var
35
- $colors_brand: (
36
- primary: $brand-primary,
37
- secondary: $brand-secondary,
38
- );
39
-
40
- $colors: (
41
- brand-primary: $brand-primary,
42
- brand-secondary: $brand-secondary,
43
- whats-on-primary: $whats-on-primary,
44
- whats-on-secondary: $whats-on-secondary,
45
- books-and-more-primary: $books-and-more-primary,
46
- books-and-more-secondary: $books-and-more-secondary,
47
- research-primary: $research-primary,
48
- research-secondary: $research-secondary,
49
- locations-primary: $locations-primary,
50
- locations-secondary: $locations-secondary,
51
- blogs-primary: $blogs-primary,
52
- blogs-secondary: $blogs-secondary,
53
- research-library-lpa: $research-library-lpa,
54
- research-library-schomburg: $research-library-schomburg,
55
- research-library-schwartzman: $research-library-schwartzman,
56
- );
57
-
58
- /* CSS Variables/Custom Properties */
59
- :root {
60
- @include css-vars($colors_brand, "brand");
61
- @include css-vars($colors, "section");
62
- }
@@ -1,67 +0,0 @@
1
- /** Utility Colors */
2
-
3
- // SASS Color Variables
4
-
5
- $black: #000000;
6
- $white: #ffffff;
7
-
8
- // Grayscale
9
- $gray-xdark: #424242;
10
- $gray-dark: #616161;
11
- $gray-medium: #bdbdbd;
12
- $gray-light-cool: #e0e0e0;
13
- $gray-light-warm: #efedeb;
14
- $gray-x-light-cool: #f5f5f5;
15
- $gray-x-light-warm: #f8f8f7;
16
- $gray-xx-light-cool: #fafafa;
17
-
18
- // State and link utilities
19
- $disabled-primary: #e0e0e0;
20
- $disabled-secondary: #fafafa;
21
- $error-primary: #97272c;
22
- $error-secondary: #6f0106;
23
- $focus: #4181f1;
24
- $link-primary: #0576d3;
25
- $link-secondary: #004b98;
26
- $status-primary: #f9e08e;
27
- $status-secondary: #fbe7e1;
28
- $success-primary: #077719;
29
- $success-secondary: #095212;
30
- $test: #ff6347;
31
- $warning-primary: #f0974e;
32
- $warning-secondary: #ec7b1f;
33
-
34
- // Mapping where we associate a name string with each SASS var.
35
- // Quotes around "black" and "white" are required to force SASS to treat
36
- // these as string values and not CSS color values to convert to HEX format.
37
- $colors: (
38
- "black": $black,
39
- "white": $white,
40
- gray-xdark: $gray-xdark,
41
- gray-dark: $gray-dark,
42
- gray-medium: $gray-medium,
43
- gray-light-cool: $gray-light-cool,
44
- gray-light-warm: $gray-light-warm,
45
- gray-x-light-cool: $gray-x-light-cool,
46
- gray-x-light-warm: $gray-x-light-warm,
47
- gray-xx-light-cool: $gray-xx-light-cool,
48
- disabled-primary: $disabled-primary,
49
- disabled-secondary: $disabled-secondary,
50
- error-primary: $error-primary,
51
- error-secondary: $error-secondary,
52
- focus: $focus,
53
- link-primary: $link-primary,
54
- link-secondary: $link-secondary,
55
- status-primary: $status-primary,
56
- status-secondary: $status-secondary,
57
- success-primary: $success-primary,
58
- success-secondary: $success-secondary,
59
- test: $test,
60
- warning-primary: $warning-primary,
61
- warning-secondary: $warning-secondary,
62
- );
63
-
64
- /* CSS Variables/Custom Properties */
65
- :root {
66
- @include css-vars($colors, "ui");
67
- }
@@ -1,11 +0,0 @@
1
- /** Type scale information to keep our font-sizes consistent across the system */
2
- :root {
3
- --font-size--3: 0.625rem;
4
- --font-size--2: 0.75rem;
5
- --font-size--1: 0.875rem;
6
- --font-size-0: 1rem;
7
- --font-size-1: 1.125rem;
8
- --font-size-2: 1.375rem;
9
- --font-size-3: 1.75rem;
10
- --font-size-4: 2.25rem;
11
- }
@@ -1,7 +0,0 @@
1
- /** Type weight information to keep font-weight values consistent across the system */
2
- :root {
3
- --font-weight-light: 300;
4
- --font-weight-regular: 400;
5
- --font-weight-medium: 500;
6
- --font-weight-bold: 700;
7
- }
@@ -1,4 +0,0 @@
1
- :root {
2
- --typeface-body: -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
3
- --typeface-heading: -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
4
- }
@@ -1,116 +0,0 @@
1
- /**
2
- * --space-xxs: calc(--space / 4); // 4px
3
- * --space-xs: calc(--space / 2); // 8px
4
- * --space-s: calc(--space * 1); // 16px
5
- * --space-m: calc(--space * 1.5); // 24px
6
- * --space-l: calc(--space * 2); // 32px
7
- * --space-xl: calc(--space * 3); // 48px
8
- * --space-xxl: calc(--space * 4); // 64px
9
- * --space-xxxl: -calc(-space * 6); // 96px
10
- */
11
-
12
- @mixin space-stack-none {
13
- margin-bottom: 0;
14
- }
15
-
16
- @mixin space-stack-xxs {
17
- margin-bottom: var(--space-xxs);
18
- }
19
-
20
- @mixin space-stack-xs {
21
- margin-bottom: var(--space-xs);
22
- }
23
-
24
- @mixin space-stack-s {
25
- margin-bottom: var(--space-s);
26
- }
27
-
28
- @mixin space-stack-m {
29
- margin-bottom: var(--space-m);
30
- }
31
-
32
- @mixin space-stack-l {
33
- margin-bottom: var(--space-l);
34
- }
35
-
36
- @mixin space-stack-xl {
37
- margin-bottom: var(--space-xl);
38
- }
39
-
40
- @mixin space-stack-xxl {
41
- margin-bottom: var(--space-xxl);
42
- }
43
-
44
- @mixin space-stack-xxxl {
45
- margin-bottom: var(--space-xxxl);
46
- }
47
-
48
- @mixin space-stack-page {
49
- @include space-stack-l;
50
-
51
- @include breakpoint($breakpoint-large) {
52
- @include space-stack-xl;
53
- }
54
-
55
- &--full {
56
- @include space-stack-xxl;
57
-
58
- @include breakpoint($breakpoint-large) {
59
- @include space-stack-xxxl;
60
- }
61
- }
62
- }
63
-
64
- @mixin remove-stack-page {
65
- margin-top: calc(-1 * #{$space-l});
66
-
67
- @include breakpoint($breakpoint-large) {
68
- margin-top: calc(-1 * #{$space-xl});
69
- }
70
-
71
- &--full {
72
- margin-top: calc(-1 * #{$space-xxl});
73
-
74
- @include breakpoint($breakpoint-large) {
75
- margin-top: calc(-1 * #{$space-xxxl});
76
- }
77
- }
78
- }
79
-
80
- @mixin get-space-stack($id) {
81
- @if $id == "none" {
82
- @include space-stack-none;
83
- }
84
-
85
- @if $id == "xxs" {
86
- @include space-stack-xxs;
87
- }
88
-
89
- @if $id == "xs" {
90
- @include space-stack-xs;
91
- }
92
-
93
- @if $id == "s" {
94
- @include space-stack-s;
95
- }
96
-
97
- @if $id == "m" {
98
- @include space-stack-m;
99
- }
100
-
101
- @if $id == "l" {
102
- @include space-stack-l;
103
- }
104
-
105
- @if $id == "xl" {
106
- @include space-stack-xl;
107
- }
108
-
109
- @if $id == "xxl" {
110
- @include space-stack-xxl;
111
- }
112
-
113
- @if $id == "xxxl" {
114
- @include space-stack-xxxl;
115
- }
116
- }
@@ -1,30 +0,0 @@
1
- :root {
2
- /** Spacing */
3
- --space: 1rem;
4
-
5
- /** Spacing variants */
6
-
7
- /** 4px */
8
- --space-xxs: calc(var(--space) / 4);
9
-
10
- /** 8px */
11
- --space-xs: calc(var(--space) / 2);
12
-
13
- /** 16px */
14
- --space-s: calc(var(--space) * 1);
15
-
16
- /** 24px */
17
- --space-m: calc(var(--space) * 1.5);
18
-
19
- /** 32px */
20
- --space-l: calc(var(--space) * 2);
21
-
22
- /** 48px */
23
- --space-xl: calc(var(--space) * 3);
24
-
25
- /** 64px */
26
- --space-xxl: calc(var(--space) * 4);
27
-
28
- /** 96px */
29
- --space-xxxl: calc(var(--space) * 6);
30
- }
@@ -1,77 +0,0 @@
1
- @mixin cards--spacing {
2
- // Select all immediate children except the last
3
- > *:not(:last-child) {
4
- @include space-stack-s;
5
-
6
- @include breakpoint($breakpoint-large) {
7
- @include space-stack-none;
8
-
9
- // Now, also remove children that are a multiple of 3.
10
- // Add margin between columns.
11
- &:not(:nth-child(3n)) {
12
- @include space-inline-l;
13
- }
14
-
15
- // Now, also remove the second and third-to-last items from selection.
16
- // Then add margin between rows.
17
- &:not(:nth-last-child(2)):not(:nth-last-child(3)) {
18
- @include space-stack-l;
19
- }
20
- }
21
- }
22
-
23
- &--full {
24
- @include breakpoint($breakpoint-large) {
25
- > *:nth-child(3n) {
26
- @include space-stack-xxl;
27
- }
28
-
29
- > *:not(:last-child):not(:nth-last-child(2)):not(:nth-last-child(3)) {
30
- @include space-stack-xxl;
31
- }
32
-
33
- > *:nth-child(3n
34
- + 2):not(:last-child):not(:nth-child(3n)):not(:nth-last-child(2)) {
35
- @include space-stack-xxl;
36
- }
37
- }
38
- }
39
- }
40
-
41
- .card-grid {
42
- @include space-stack-page;
43
-
44
- &__cards {
45
- @include cards--spacing;
46
-
47
- display: flex;
48
- flex-flow: column nowrap;
49
-
50
- @include breakpoint($breakpoint-large) {
51
- flex-flow: row wrap;
52
-
53
- > * {
54
- flex: 0 0 30%;
55
- }
56
-
57
- > .featured-card {
58
- flex: 1 0 31%;
59
- }
60
- }
61
-
62
- &--bg-color {
63
- @include wrapper($v-padding: var(--space-s), $h-padding: var(--space-s));
64
-
65
- @include breakpoint($breakpoint-large) {
66
- @include wrapper(
67
- $v-padding: var(--space-xxl),
68
- $h-padding: var(--space-xxl)
69
- );
70
- }
71
-
72
- > *:last-child {
73
- @include space-stack-none;
74
- }
75
- }
76
- }
77
- }
@@ -1,11 +0,0 @@
1
- // Create a mixin for paragraph styles that can be implemented
2
- // in components with other classnames.
3
- @mixin paragraph($margin: 0 0 var(--space)) {
4
- margin: #{$margin};
5
- }
6
-
7
- .nypl-ds {
8
- p {
9
- @include paragraph;
10
- }
11
- }