@rijkshuisstijl-community/components-css 16.0.1 → 17.0.0

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/index.scss CHANGED
@@ -4,17 +4,17 @@
4
4
  */
5
5
 
6
6
  @use "@rijkshuisstijl-community/accordion-css/src/index" as accordion;
7
- @use "src/action-group/index" as actionGroup;
7
+ @use "@rijkshuisstijl-community/action-group-css/src/index" as actionGroup;
8
8
  @use "@rijkshuisstijl-community/alert-css/src/index" as alert;
9
9
  @use "@rijkshuisstijl-community/article-css/src/index" as article;
10
10
  @use "@rijkshuisstijl-community/blockquote-css/src/index" as blockquote;
11
- @use "src/breadcrumb-nav/index" as breadcrumb;
11
+ @use "@rijkshuisstijl-community/breadcrumb-nav-css/src/index" as breadcrumb;
12
12
  @use "@rijkshuisstijl-community/button-css/src/index" as button;
13
13
  @use "src/link-button/index" as linkButton;
14
- @use "src/card-as-link/index" as cardAsLink;
15
- @use "src/card/index" as card;
16
- @use "src/checkbox/index" as checkbox;
17
- @use "src/checkbox-group/index" as checkboxGroup;
14
+ @use "@rijkshuisstijl-community/card-as-link-css/src/index" as cardAsLink;
15
+ @use "@rijkshuisstijl-community/card-css/src/index" as card;
16
+ @use "@rijkshuisstijl-community/checkbox-css/src/index" as checkbox;
17
+ @use "@rijkshuisstijl-community/checkbox-group-css/src/index" as checkboxGroup;
18
18
  @use "src/code-input/index" as codeInput;
19
19
  @use "src/code-input-group/index" as codeInputGroup;
20
20
  @use "src/data-badge-button/index" as dataBadgeButton;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rijkshuisstijl-community/components-css",
3
- "version": "16.0.1",
3
+ "version": "17.0.0",
4
4
  "type": "module",
5
5
  "author": "Community for NL Design System",
6
6
  "description": "CSS Components for a design system based on the NL Design System architecture",
@@ -36,7 +36,7 @@
36
36
  "@utrecht/article-css": "1.5.1",
37
37
  "@utrecht/badge-list-css": "2.2.1",
38
38
  "@utrecht/blockquote-css": "1.6.1",
39
- "@utrecht/body-css": "2.0.1",
39
+ "@utrecht/body-css": "4.0.0",
40
40
  "@utrecht/breadcrumb-nav-css": "1.5.1",
41
41
  "@utrecht/button-css": "3.1.0",
42
42
  "@utrecht/button-link-css": "1.3.1",
@@ -63,31 +63,37 @@
63
63
  "@utrecht/link-list-css": "2.3.1",
64
64
  "@utrecht/listbox-css": "2.1.0",
65
65
  "@utrecht/ordered-list-css": "2.0.0",
66
- "@utrecht/page-body-css": "0.1.1",
67
- "@utrecht/page-content-css": "1.4.1",
68
- "@utrecht/page-footer-css": "2.1.1",
69
- "@utrecht/page-header-css": "1.5.1",
70
- "@utrecht/page-layout-css": "1.1.1",
66
+ "@utrecht/page-body-css": "2.0.0",
67
+ "@utrecht/page-content-css": "3.0.0",
68
+ "@utrecht/page-footer-css": "4.0.0",
69
+ "@utrecht/page-header-css": "3.0.0",
70
+ "@utrecht/page-layout-css": "4.0.0",
71
71
  "@utrecht/paragraph-css": "2.3.1",
72
72
  "@utrecht/pre-heading-css": "1.4.1",
73
73
  "@utrecht/radio-button-css": "1.6.1",
74
- "@utrecht/root-css": "3.1.1",
74
+ "@utrecht/root-css": "4.1.0",
75
75
  "@utrecht/select-css": "1.8.1",
76
76
  "@utrecht/separator-css": "1.5.1",
77
77
  "@utrecht/table-css": "2.0.2",
78
78
  "@utrecht/textarea-css": "2.3.2",
79
79
  "@utrecht/textbox-css": "2.0.0",
80
80
  "@utrecht/unordered-list-css": "1.5.1",
81
- "@rijkshuisstijl-community/accordion-css": "2.0.0",
82
- "@rijkshuisstijl-community/alert-css": "4.0.0",
83
- "@rijkshuisstijl-community/article-css": "2.0.0",
84
- "@rijkshuisstijl-community/blockquote-css": "1.0.0",
85
- "@rijkshuisstijl-community/button-css": "1.0.0",
86
- "@rijkshuisstijl-community/dot-badge-css": "1.0.0",
87
- "@rijkshuisstijl-community/figure-css": "1.0.0",
88
- "@rijkshuisstijl-community/link-css": "1.0.0",
89
- "@rijkshuisstijl-community/paragraph-css": "2.0.0",
90
- "@rijkshuisstijl-community/separator-css": "1.0.0"
81
+ "@rijkshuisstijl-community/accordion-css": "2.0.1",
82
+ "@rijkshuisstijl-community/action-group-css": "1.0.0",
83
+ "@rijkshuisstijl-community/alert-css": "4.0.1",
84
+ "@rijkshuisstijl-community/article-css": "2.0.1",
85
+ "@rijkshuisstijl-community/blockquote-css": "1.0.1",
86
+ "@rijkshuisstijl-community/breadcrumb-nav-css": "1.0.0",
87
+ "@rijkshuisstijl-community/button-css": "1.0.1",
88
+ "@rijkshuisstijl-community/card-as-link-css": "1.0.0",
89
+ "@rijkshuisstijl-community/card-css": "1.0.0",
90
+ "@rijkshuisstijl-community/checkbox-group-css": "1.0.0",
91
+ "@rijkshuisstijl-community/checkbox-css": "1.0.0",
92
+ "@rijkshuisstijl-community/dot-badge-css": "1.0.1",
93
+ "@rijkshuisstijl-community/figure-css": "1.0.1",
94
+ "@rijkshuisstijl-community/link-css": "1.0.1",
95
+ "@rijkshuisstijl-community/paragraph-css": "2.0.1",
96
+ "@rijkshuisstijl-community/separator-css": "1.0.1"
91
97
  },
92
98
  "scripts": {
93
99
  "dev": "vite build --watch",
@@ -4,39 +4,31 @@
4
4
  */
5
5
 
6
6
  .rhc-page-footer {
7
- --utrecht-space-around: 1;
8
- --utrecht-link-hover-text-decoration: underline;
9
7
  --_utrecht-link-state-text-decoration-color: currentColor;
10
- --utrecht-column-layout-gap: var(--rhc-page-footer-column-gap);
11
- --utrecht-column-layout-column-width: var(--rhc-page-footer-column-width);
12
8
  --nl-heading-level-1-color: currentColor;
13
9
  --nl-heading-level-2-color: currentColor;
14
10
  --nl-heading-level-3-color: currentColor;
15
11
  --nl-heading-level-4-color: currentColor;
16
12
  --nl-heading-level-5-color: currentColor;
17
13
  --nl-heading-level-6-color: currentColor;
14
+ --nl-link-active-color: currentColor;
15
+ --nl-link-color: currentColor;
16
+ --nl-link-hover-color: currentColor;
17
+ --nl-link-text-decoration-color: currentColor;
18
18
  --nl-paragraph-color: currentColor;
19
-
20
- align-items: center;
21
- display: flex;
22
- flex-direction: var(--rhc-page-footer-flex-direction);
23
- padding-block: 0;
24
- padding-inline: 0;
25
-
26
- :is(.rhc-heading, .rhc-paragraph):is(h1, h2, h3, h4, h5, h6, p) {
27
- margin-block-end: var(--utrecht-rich-text-friend-margin-block-end);
28
- }
29
- }
30
-
31
- .rhc-page-footer > * {
32
- inline-size: 100%;
19
+ --utrecht-column-layout-column-width: var(--rhc-page-footer-column-width);
20
+ --utrecht-column-layout-gap: var(--rhc-page-footer-column-gap);
21
+ --utrecht-link-hover-text-decoration: underline;
22
+ --utrecht-space-around: 1;
33
23
  }
34
24
 
35
25
  .rhc-page-footer--primary-filled {
36
26
  --utrecht-page-footer-background-color: var(--rhc-color-primary-500);
27
+ --utrecht-page-footer-color: var(--rhc-color-wit);
28
+ --utrecht-page-footer-content-color: inherit;
37
29
  }
38
30
 
39
- .rhc-page-footer--primary-filled.rhc-page-subfooter {
31
+ .rhc-page-footer--primary-filled.rhc-page-footer--subfooter {
40
32
  border-block-start-color: var(--rhc-page-footer-border-block-start-color);
41
33
  border-block-start-style: var(--rhc-page-footer-border-block-start-style);
42
34
  border-block-start-width: var(--rhc-page-footer-border-block-start-width);
@@ -51,26 +43,31 @@
51
43
  border-block-start-width: var(--rhc-page-footer-border-block-start-width);
52
44
  }
53
45
 
54
- .rhc-page-footer__content {
46
+ /**
47
+ * Contains:
48
+ * - the pre-footer (optional)
49
+ * - the regular page footer
50
+ * - the subfooter (optional)
51
+ */
52
+ .rhc-page-footer-container {
53
+ display: flex;
54
+ flex-direction: column;
55
+ inline-size: 100%;
56
+ }
57
+
58
+ .rhc-page-footer-layout {
55
59
  column-gap: var(--rhc-page-footer-column-gap);
56
60
  display: flex;
57
61
  flex: 1;
58
62
  flex-direction: row;
59
- @media (width <= 1024px) {
60
- & {
61
- flex-direction: var(--rhc-page-footer-flex-direction);
62
- }
63
+
64
+ :is(.rhc-heading, .rhc-paragraph):is(h1, h2, h3, h4, h5, h6, p) {
65
+ margin-block-end: var(--utrecht-rich-text-friend-margin-block-end);
63
66
  }
64
67
  }
65
68
 
66
- .rhc-page-footer__wrapper {
67
- box-sizing: border-box;
68
- inline-size: 100%;
69
- max-inline-size: var(--rhc-page-footer-content-max-inline-size);
70
- padding-block-end: var(--utrecht-page-footer-padding-block-end);
71
- padding-block-start: var(--utrecht-page-footer-padding-block-start);
72
- padding-inline-end: var(--utrecht-page-footer-padding-inline-end);
73
- padding-inline-start: var(--utrecht-page-footer-padding-inline-start);
69
+ .rhc-page-footer-layout > * {
70
+ flex: 1;
74
71
  }
75
72
 
76
73
  .rhc-page-footer__section,
@@ -80,17 +77,7 @@
80
77
  padding-block-end: var(--rhc-page-footer-padding-block-end);
81
78
  }
82
79
 
83
- .rhc-page-footer__content > * {
84
- flex: 1;
85
- }
86
-
87
- .rhc-page-subfooter {
88
- align-items: center;
89
- display: flex;
90
- flex-direction: var(--rhc-page-footer-flex-direction);
91
- }
92
-
93
- .rhc-page-subfooter__content {
80
+ .rhc-page-subfooter-layout {
94
81
  align-items: center;
95
82
  display: flex;
96
83
  gap: var(--rhc-page-footer-content-column-gap);
@@ -101,26 +88,6 @@
101
88
  }
102
89
  }
103
90
 
104
- .rhc-page-subfooter__backtotop {
105
- align-items: center;
106
- color: inherit;
107
- cursor: pointer;
108
- display: flex;
109
- text-decoration: none;
110
- &:hover {
111
- text-decoration: var(--rhc-sidenav-link-active-text-decoration);
112
- }
113
- }
114
-
115
- @media (width <= 780px) {
116
- .rhc-page-footer__wrapper {
117
- --utrecht-page-footer-padding-inline-end: var(--rhc-page-footer-padding-inline-end);
118
- --utrecht-page-footer-padding-inline-start: var(--rhc-page-footer-padding-inline-start);
119
- --utrecht-page-footer-padding-block-end: var(--rhc-page-footer-padding-block-end);
120
- --utrecht-page-footer-padding-block-start: var(--rhc-page-footer-padding-block-start);
121
- }
122
- }
123
-
124
91
  .rhc-page-prefooter {
125
92
  display: flex;
126
93
  justify-content: center;
@@ -128,20 +95,30 @@
128
95
  }
129
96
 
130
97
  .rhc-page-prefooter::before {
131
- background-color: var(--rhc-color-primary-500);
132
- block-size: 1.5rem;
98
+ background-color: var(--rhc-color-primary-500, currentColor);
99
+ block-size: var(--rhc-space-2xl);
133
100
  content: "";
134
- inline-size: 2rem;
101
+ inline-size: var(--rhc-space-5xl);
102
+
103
+ @media (forced-colors: active) {
104
+ background-color: CanvasText;
105
+ }
135
106
  }
136
107
 
137
108
  .rhc-page-prefooter__content {
138
109
  font-family: var(--rhc-text-font-family-serif);
139
110
  inset: 0% 50% auto auto;
140
- line-height: 100%;
111
+ line-height: 1;
141
112
  margin-inline-end: calc(-1 * var(--rhc-space-3xl));
142
113
  position: absolute;
143
114
  transform: translateX(100%);
115
+
144
116
  @media (width <= 720px) {
117
+ /*
118
+ * Hiding the text of this feature is a violation of WCAG SC 1.4.10 Reflow
119
+ * TODO: Reconsider if the Page Footer Prefooter can be made accessible, or should be removed.
120
+ * https://nldesignsystem.nl/wcag/1.4.10/
121
+ */
145
122
  & {
146
123
  display: none;
147
124
  }
@@ -40,6 +40,9 @@
40
40
 
41
41
  @mixin rhc-logo__caption {
42
42
  color: var(--rhc-logo-color, inherit);
43
+
44
+ /* Harden against `font-feature-settings` configured, use the default font for the logotype */
45
+ font-feature-settings: normal;
43
46
  grid-area: caption;
44
47
  max-inline-size: var(--rhc-logo-caption-max-inline-size);
45
48
  }
@@ -1,4 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- * Copyright (c) 2026 Community for NL Design System
4
- */
@@ -1,22 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- * Copyright (c) 2026 Community for NL Design System
4
- */
5
-
6
- .rhc-breadcrumb-nav {
7
- .utrecht-breadcrumb-nav__list {
8
- align-items: center;
9
- }
10
-
11
- &__link {
12
- &--current {
13
- --utrecht-link-text-decoration: none;
14
-
15
- color: var(--rhc-breadcrumb-nav-link-current-color);
16
- }
17
-
18
- &--active {
19
- --utrecht-link-text-decoration: var(--utrecht-breadcrumb-nav-link-active-text-decoration, underline);
20
- }
21
- }
22
- }
@@ -1,114 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- * Copyright (c) 2026 Community for NL Design System
4
- */
5
-
6
- @mixin rhc-card {
7
- @include rounded-border-corners;
8
-
9
- box-sizing: border-box;
10
- column-gap: var(--rhc-card-column-gap, var(--rhc-space-xl));
11
- display: inline-flex;
12
- flex-direction: column;
13
- font-family: var(--rhc-text-font-family-default, inherit);
14
- font-size: var(--rhc-card-font-size, inherit);
15
- line-height: var(--rhc-text-line-height-md, inherit);
16
- max-inline-size: var(--rhc-card-inline-size);
17
- position: relative;
18
- text-decoration: none;
19
- }
20
-
21
- @mixin rhc-card--default {
22
- background-color: var(--rhc-card-background-color);
23
- border-color: var(--rhc-card-border-color);
24
- border-style: solid;
25
- border-width: var(--rhc-card-border-width, var(--rhc-border-width-sm));
26
- color: var(--rhc-card-color);
27
- }
28
-
29
- @mixin rhc-card__content {
30
- display: flex;
31
- flex-direction: column;
32
- padding-block-end: var(--rhc-card-padding-block-end, var(--rhc-space-xl));
33
- padding-block-start: var(--rhc-card-padding-block-start, var(--rhc-space-xl));
34
- padding-inline-end: var(--rhc-card-padding-inline-end, var(--rhc-space-xl));
35
- padding-inline-start: var(--rhc-card-padding-inline-start, var(--rhc-space-xl));
36
- row-gap: var(--rhc-card-row-gap, var(--rhc-size-quarter-lint));
37
-
38
- h1,
39
- h2,
40
- h3,
41
- h4,
42
- h5,
43
- h6,
44
- p {
45
- margin-block-end: 0;
46
- margin-block-start: 0;
47
- }
48
- }
49
-
50
- @mixin rhc-card__heading {
51
- align-items: center;
52
- display: flex;
53
- font-size: var(--rhc-card-heading-font-size);
54
- font-weight: var(--rhc-card-heading-font-weight, 700);
55
- text-decoration: none;
56
- }
57
-
58
- @mixin rhc-card__heading--active {
59
- text-decoration: var(--rhc-card-active-text-decoration, underline);
60
- }
61
- @mixin rhc-card__heading--hover {
62
- text-decoration: var(--rhc-card-hover-text-decoration, underline);
63
- }
64
- @mixin rhc-card__heading--focus {
65
- text-decoration: var(--rhc-card-focus-text-decoration, underline);
66
- }
67
-
68
- @mixin rhc-card__subheading {
69
- align-items: center;
70
- display: flex;
71
- font-size: var(--rhc-card-subheading-font-size);
72
- text-decoration: none;
73
- }
74
-
75
- @mixin rhc-card__link {
76
- color: var(--rhc-card-link-color);
77
- text-decoration: none !important;
78
- }
79
-
80
- @mixin rhc-card__link--active {
81
- --utrecht-link-color: var(--rhc-card-link-active-color);
82
-
83
- color: var(--rhc-card-link-active-color);
84
- text-decoration: var(--rhc-card-link-active-text-decoration, none);
85
- }
86
- @mixin rhc-card__link--hover {
87
- text-decoration: var(--rhc-card-link-hover-text-decoration, none);
88
- }
89
- @mixin rhc-card__link--focus {
90
- text-decoration: var(--rhc-card-link-focus-text-decoration, none);
91
- }
92
-
93
- @mixin rhc-card__metadata {
94
- color: var(--rhc-card-metadata-color);
95
- }
96
-
97
- @mixin rounded-border-corners {
98
- border-end-end-radius: var(
99
- --rhc-card-border-end-end-radius,
100
- var(--rhc-card-border-radius, var(--rhc-border-radius-md))
101
- );
102
- border-end-start-radius: var(
103
- --rhc-card-border-end-start-radius,
104
- var(--rhc-card-border-radius, var(--rhc-border-radius-md))
105
- );
106
- border-start-end-radius: var(
107
- --rhc-card-border-start-end-radius,
108
- var(--rhc-card-border-radius, var(--rhc-border-radius-md))
109
- );
110
- border-start-start-radius: var(
111
- --rhc-card-border-start-start-radius,
112
- var(--rhc-card-border-radius, var(--rhc-border-radius-md))
113
- );
114
- }
@@ -1,62 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- * Copyright (c) 2026 Community for NL Design System
4
- */
5
-
6
- @use "mixin";
7
-
8
- .rhc-card {
9
- @include mixin.rhc-card;
10
- .utrecht-img:not(img[width]) {
11
- block-size: 100%;
12
- inline-size: 100%;
13
- }
14
- }
15
-
16
- .rhc-card--default {
17
- @include mixin.rhc-card--default;
18
- }
19
-
20
- .rhc-card__heading {
21
- @include mixin.rhc-card__heading;
22
- }
23
-
24
- .rhc-card__subheading {
25
- @include mixin.rhc-card__subheading;
26
- }
27
-
28
- .rhc-card__metadata {
29
- @include mixin.rhc-card__metadata;
30
- }
31
-
32
- .rhc-card__content {
33
- @include mixin.rhc-card__content;
34
- }
35
-
36
- .rhc-card__link {
37
- @include mixin.rhc-card__link;
38
- }
39
-
40
- .rhc-card:active .rhc-card__heading {
41
- @include mixin.rhc-card__heading--active;
42
- }
43
- .rhc-card:focus .rhc-card__heading {
44
- @include mixin.rhc-card__heading--active;
45
- }
46
- .rhc-card:hover .rhc-card__heading {
47
- @include mixin.rhc-card__heading--active;
48
- }
49
-
50
- .rhc-card:active .rhc-card__link {
51
- @include mixin.rhc-card__link--active;
52
- }
53
- .rhc-card:focus .rhc-card__link {
54
- @include mixin.rhc-card__link--focus;
55
- }
56
- .rhc-card:hover .rhc-card__link {
57
- @include mixin.rhc-card__link--hover;
58
- }
59
-
60
- .rhc-card__footer {
61
- @include mixin.rhc-card__content;
62
- }