@gemeentenijmegen/components-css 0.0.1-alpha.9 → 0.0.1-alpha.91

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 (44) hide show
  1. package/accordion/index.scss +9 -0
  2. package/action-card/index.scss +37 -0
  3. package/breadcrumb/index.scss +130 -0
  4. package/card/index.scss +152 -0
  5. package/dist/header.css +174 -0
  6. package/dist/index.min.css +148 -2
  7. package/footer/index.scss +116 -0
  8. package/header/_mixin.scss +31 -0
  9. package/header/index.scss +169 -0
  10. package/hero/index.scss +108 -0
  11. package/image/index.scss +17 -0
  12. package/image-text-block/index.scss +48 -0
  13. package/index.scss +23 -0
  14. package/link/index.scss +10 -9
  15. package/link-list/_mixin.scss +8 -1
  16. package/link-list/index.scss +17 -4
  17. package/listbox/index.scss +81 -0
  18. package/mega-menu/index.scss +62 -0
  19. package/menu.scss +5 -0
  20. package/metadata/index.scss +31 -0
  21. package/mobile-menu/_mixin.scss +11 -0
  22. package/mobile-menu/index.scss +177 -0
  23. package/package.json +9 -4
  24. package/pagination/_mixin.scss +41 -0
  25. package/pagination/index.scss +191 -0
  26. package/rollup.config.mjs +26 -0
  27. package/search/index.scss +141 -0
  28. package/search-results/index.scss +56 -0
  29. package/skip-link/index.scss +41 -0
  30. package/spacing/getSpacing.mjs +116 -0
  31. package/spacing/semantic-spacing-matrix.json +156 -0
  32. package/spacing/spacing-matrix.json +1056 -0
  33. package/spacing/src/_mixin.scss +1968 -0
  34. package/spacing/src/_nested.scss +47 -0
  35. package/spacing/src/index.scss +36 -0
  36. package/spacing/src/semantic/_mixin.scss +311 -0
  37. package/spacing/src/semantic/index.scss +17 -0
  38. package/steplist/index.scss +114 -0
  39. package/table/_mixin.scss +97 -0
  40. package/table/index.scss +33 -0
  41. package/table-of-contents/index.scss +21 -0
  42. package/toolbar-button/_mixin.scss +21 -0
  43. package/toolbar-button/index.js +29 -0
  44. package/toolbar-button/index.scss +51 -0
@@ -0,0 +1,62 @@
1
+ @import "~@gemeentenijmegen/layout-css/src/variables";
2
+
3
+ .nijmegen-mega-menu {
4
+ background-color: var(--nijmegen-mega-menu-background-color, #fff);
5
+ border: 0 solid var(--nijmegen-mega-menu-border-color, transparent);
6
+ border-block-end-width: var(--nijmegen-mega-menu-border-block-end-width, 1px);
7
+ margin-block-end: var(--nijmegen-mega-menu-margin-block-end);
8
+ writing-mode: horizontal-tb;
9
+ }
10
+
11
+ .nijmegen-mega-menu__container {
12
+ margin-inline: auto;
13
+ max-inline-size: var(--nijmegen-header-content-max-inline-size, 100%);
14
+ }
15
+
16
+ .nijmegen-mega-menu__content {
17
+ column-gap: var(--nijmegen-mega-menu-content-column-gap, 0);
18
+ display: flex;
19
+ flex-direction: row;
20
+ flex-wrap: wrap;
21
+ justify-content: flex-start;
22
+ margin-inline: auto;
23
+ padding-block-end: var(--nijmegen-mega-menu-content-padding-block-end, 0);
24
+ padding-block-start: var(--nijmegen-mega-menu-content-padding-block-start, 0);
25
+ padding-inline-end: var(--nijmegen-mega-menu-content-padding-inline-end, 0);
26
+ padding-inline-start: var(--nijmegen-mega-menu-content-padding-inline-start, 0);
27
+ row-gap: var(--nijmegen-mega-menu-content-row-gap, 0);
28
+
29
+ .utrecht-heading-4 {
30
+ font-size: 1.25rem;
31
+ }
32
+
33
+ > * {
34
+ flex-basis: 100%;
35
+ @media (width >= $nijmegen-breakpoint-md) {
36
+ &:only-child {
37
+ flex-basis: 100%;
38
+ }
39
+
40
+ flex-basis: calc((100% - (var(--nijmegen-mega-menu-content-column-gap, 0) * 2)) / 3);
41
+ }
42
+ @media (width >=$nijmegen-breakpoint-lg) {
43
+ &:only-child {
44
+ flex-basis: 100%;
45
+ }
46
+
47
+ flex-basis: calc((100% - (var(--nijmegen-mega-menu-content-column-gap, 0) * 3)) / 4);
48
+ }
49
+ }
50
+ &.nijmegen-mega-menu__content--full-width {
51
+ > * {
52
+ flex-basis: 100%;
53
+ }
54
+ }
55
+
56
+ ul {
57
+ padding-block-start: 1rem;
58
+
59
+ // row-gap: var(--nijmegen-mega-menu-content-row-gap, 0); todo if token is updated
60
+ row-gap: 1rem;
61
+ }
62
+ }
package/menu.scss ADDED
@@ -0,0 +1,5 @@
1
+ @import "./header/index";
2
+ @import "./toolbar-button/index";
3
+ @import "./mega-menu/index";
4
+ @import "./mobile-menu/index";
5
+ @import "./link-list/index";
@@ -0,0 +1,31 @@
1
+ /* stylelint-disable no-descending-specificity */
2
+
3
+ @import "~@utrecht/unordered-list-css/src/mixin";
4
+
5
+ .nijmegen-metadata {
6
+ @include utrecht-unordered-list;
7
+
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: var(--nijmegen-space-50);
11
+ padding-inline-start: 0;
12
+
13
+ &.nijmegen-metadata__horizontal {
14
+ flex-direction: row;
15
+ flex-wrap: wrap;
16
+
17
+ .nijmegen-metadata__item {
18
+ padding-inline-end: var(--nijmegen-space-50);
19
+ }
20
+ }
21
+ }
22
+
23
+ .nijmegen-metadata__item {
24
+ align-items: center;
25
+ display: flex;
26
+ gap: var(--nijmegen-space-50);
27
+
28
+ svg {
29
+ block-size: var(--nijmegen-icon-functional-size);
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ @mixin nijmegen-mobile-menu-icon-base {
2
+ background-color: currentColor;
3
+ content: "";
4
+ display: inline-block;
5
+ /* stylelint-disable-next-line property-disallowed-list */
6
+ height: var(--nijmegen-header-item-icon-size, 1.5rem);
7
+ mask-position: center;
8
+ mask-repeat: no-repeat;
9
+ mask-size: 100%;
10
+ width: var(--nijmegen-header-item-icon-size, 1.5rem); /* stylelint-disable-line property-disallowed-list */
11
+ }
@@ -0,0 +1,177 @@
1
+ @import "~@gemeentenijmegen/layout-css/src/variables";
2
+ @import "~@utrecht/link-css/src/mixin";
3
+ @import "~@utrecht/focus-ring-css/src/mixin";
4
+ @import "./mixin";
5
+
6
+ .nijmegen-mobile-menu {
7
+ background-color: var(--nijmegen-menu-background-color);
8
+ margin-block-end: var(--nijmegen-mobile-menu-margin-block-end);
9
+ position: relative;
10
+ }
11
+
12
+ .nijmegen-mobile-menu__list {
13
+ display: flex;
14
+ flex-direction: column;
15
+ line-height: var(--nijmegen-menu-link-line-height);
16
+ list-style: none;
17
+ padding-inline-start: 0;
18
+ }
19
+
20
+ .nijmegen-mobile-menu__link {
21
+ background-color: var(--nijmegen-menu-background-color);
22
+ box-sizing: border-box;
23
+ color: var(--nijmegen-menu-link-color);
24
+ cursor: pointer;
25
+ display: flex;
26
+ font-family: var(--nijmegen-menu-link-font-family);
27
+ font-size: var(--nijmegen-menu-link-font-size);
28
+ font-weight: var(--nijmegen-menu-link-font-weight);
29
+ justify-content: space-between;
30
+ padding-block-end: var(--nijmegen-menu-link-padding-block-end);
31
+ padding-block-start: var(--nijmegen-menu-link-padding-block-start);
32
+ padding-inline-end: var(--nijmegen-menu-link-padding-inline-end);
33
+ padding-inline-start: var(--nijmegen-menu-link-padding-inline-start);
34
+ position: relative;
35
+ text-decoration: none;
36
+ width: 100%; /* stylelint-disable-line property-disallowed-list */
37
+
38
+ &:is(button) {
39
+ appearance: none;
40
+ border: 0;
41
+ }
42
+
43
+ &:focus,
44
+ &.nijmegen-mobile-menu__link--focus {
45
+ @include utrecht-link--focus;
46
+ }
47
+
48
+ &:focus-visible,
49
+ &.nijmegen-mobile-menu__link--focus-visible {
50
+ @include utrecht-link--focus;
51
+ @include utrecht-link--focus-visible;
52
+ }
53
+
54
+ span {
55
+ align-items: center;
56
+ display: inline-flex;
57
+ gap: var(--nijmegen-menu-link-column-gap);
58
+ }
59
+
60
+ svg {
61
+ stroke: currentColor;
62
+ }
63
+
64
+ &--small {
65
+ font-size: var(--nijmegen-menu-link-small-font-size);
66
+ padding-block-end: var(--nijmegen-menu-link-small-padding-block-end);
67
+ padding-block-start: var(--nijmegen-menu-link-small-padding-block-start);
68
+ padding-inline-end: var(--nijmegen-menu-link-small-padding-inline-end);
69
+ padding-inline-start: var(--nijmegen-menu-link-small-padding-inline-start);
70
+
71
+ span {
72
+ gap: var(--nijmegen-menu-link-small-column-gap);
73
+ }
74
+ }
75
+
76
+ &--strong {
77
+ font-weight: var(--nijmegen-menu-link-level-1-font-weight);
78
+ }
79
+
80
+ &--back {
81
+ font-weight: var(--nijmegen-menu-link-level-1-font-weight);
82
+ padding-block-end: var(--nijmegen-menu-button-padding-block-end);
83
+ padding-block-start: var(--nijmegen-menu-button-padding-block-start);
84
+ padding-inline-end: var(--nijmegen-menu-button-padding-inline-end);
85
+ padding-inline-start: var(--nijmegen-menu-button-padding-inline-start);
86
+
87
+ span::before {
88
+ @include nijmegen-mobile-menu-icon-base;
89
+
90
+ mask-image: var(
91
+ --nijmegen-header-item-open-icon-image,
92
+ url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 6l-6 6l6 6" /></svg>')
93
+ );
94
+ }
95
+ }
96
+
97
+ &--current {
98
+ color: var(--nijmegen-menu-link-current-color);
99
+ font-weight: var(--nijmegen-menu-link-current-font-weight, 600);
100
+
101
+ &::after {
102
+ border-inline-start-color: var(--nijmegen-menu-link-current-border-color);
103
+ border-inline-start-style: solid;
104
+ border-inline-start-width: var(--nijmegen-menu-link-current-border-width, 4px);
105
+ content: "";
106
+ inset: 0;
107
+ position: absolute;
108
+ }
109
+ }
110
+
111
+ &--expanded,
112
+ &[aria-expanded="true"] {
113
+ background-color: var(--nijmegen-menu-link-expanded-background-color);
114
+ color: var(--nijmegen-menu-link-expanded-color);
115
+ font-weight: var(--nijmegen-menu-link-expanded-font-weight, 600);
116
+
117
+ svg,
118
+ &::after {
119
+ transform: scaleY(-1);
120
+ }
121
+ }
122
+
123
+ &--chevron::after {
124
+ @include nijmegen-mobile-menu-icon-base;
125
+
126
+ mask-image: var(
127
+ --nijmegen-header-item-open-icon-image,
128
+ url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>')
129
+ );
130
+ }
131
+
132
+ &--arrow::after {
133
+ @include nijmegen-mobile-menu-icon-base;
134
+
135
+ mask-image: var(
136
+ --nijmegen-header-item-open-icon-image,
137
+ url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-arrow-right"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l14 0" /><path d="M13 18l6 -6" /><path d="M13 6l6 6" /></svg>')
138
+ );
139
+ }
140
+ }
141
+
142
+ .nijmegen-mobile-menu__details-content {
143
+ display: none;
144
+ }
145
+
146
+ .nijmegen-mobile-menu__details {
147
+ .nijmegen-mobile-menu__list {
148
+ display: none;
149
+ }
150
+
151
+ &--open {
152
+ .nijmegen-mobile-menu__list {
153
+ display: block;
154
+ }
155
+ }
156
+ }
157
+
158
+ .nijmegen-mobile-menu__separator {
159
+ padding-inline-end: var(--nijmegen-menu-link-padding-inline-end);
160
+ padding-inline-start: var(--nijmegen-menu-link-padding-inline-start);
161
+ }
162
+
163
+ .nijmegen-mobile-menu__panel {
164
+ background-color: var(--nijmegen-menu-background-color);
165
+ display: none;
166
+ flex-direction: column;
167
+ gap: var(--nijmegen-menu-link-column-gap);
168
+ inset: 0;
169
+ min-height: 100%; /* stylelint-disable-line property-disallowed-list */
170
+ position: absolute;
171
+ width: 100%; /* stylelint-disable-line property-disallowed-list */
172
+ z-index: 10;
173
+
174
+ &--active {
175
+ display: flex;
176
+ }
177
+ }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.1-alpha.9",
2
+ "version": "0.0.1-alpha.91",
3
3
  "author": "Community for NL Design System",
4
4
  "description": "CSS Components for a design system based on the NL Design System architecture",
5
5
  "license": "EUPL-1.2",
@@ -11,7 +11,8 @@
11
11
  "scripts": {
12
12
  "build": "rollup -c ./rollup.config.mjs",
13
13
  "watch": "rollup -c ./rollup.config.mjs --watch",
14
- "clean": "rimraf dist"
14
+ "clean": "rimraf dist",
15
+ "generate:spacing": "node ./spacing/getSpacing.mjs"
15
16
  },
16
17
  "main": "dist/index.min.css",
17
18
  "private": false,
@@ -23,12 +24,16 @@
23
24
  "url": "git@github.com:GemeenteNijmegen/design-system.git"
24
25
  },
25
26
  "devDependencies": {
26
- "@gemeentenijmegen/layout-css": "0.0.1-alpha.22",
27
+ "@gemeentenijmegen/layout-css": "0.0.1-alpha.104",
28
+ "@rollup/plugin-terser": "0.4.4",
29
+ "@utrecht/button-css": "2.3.1",
27
30
  "@utrecht/focus-ring-css": "2.3.1",
28
31
  "@utrecht/link-css": "1.6.0",
32
+ "@utrecht/textbox-css": "3.0.1",
33
+ "@utrecht/unordered-list-css": "1.5.1",
29
34
  "postcss-discard-duplicates": "7.0.1",
30
35
  "rollup": "4.12.1",
31
36
  "rollup-plugin-postcss": "4.0.2"
32
37
  },
33
- "gitHead": "a2d9f1289f213022f57748dc80a0f8eb4bf2e387"
38
+ "gitHead": "42ff6b45f0964984519d4952712cb74eb0d0faa2"
34
39
  }
@@ -0,0 +1,41 @@
1
+ @mixin nijmegen-pagination-link {
2
+ align-items: center;
3
+ box-sizing: border-box;
4
+ display: inline-flex;
5
+ justify-content: center;
6
+ text-decoration: none;
7
+ }
8
+
9
+ @mixin nijmegen-pagination-link-chevron {
10
+ background-color: currentColor;
11
+ content: "";
12
+ /* stylelint-disable-next-line property-disallowed-list */
13
+ height: var(--nijmegen-pagination-relative-link-icon-size, 1.5rem);
14
+ mask-image: var(
15
+ --nijmegen-pagination-relative-icon,
16
+ url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-arrow-right"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l14 0" /><path d="M13 18l6 -6" /><path d="M13 6l6 6" /></svg>')
17
+ );
18
+ mask-position: center;
19
+ mask-repeat: no-repeat;
20
+ mask-size: 100%;
21
+ /* stylelint-disable-next-line property-disallowed-list */
22
+ width: var(--nijmegen-pagination-relative-link-icon-size, 1.5rem);
23
+ }
24
+
25
+ @mixin invisible-but-accessible {
26
+ block-size: 1px !important;
27
+
28
+ /* Source: https://kittygiraudel.com/snippets/sr-only-class/ */
29
+ border: 0 !important;
30
+ clip: rect(1px, 1px, 1px, 1px) !important;
31
+ -webkit-clip-path: inset(50%) !important;
32
+ clip-path: inset(50%) !important;
33
+ inline-size: 1px !important;
34
+ /* stylelint-disable-next-line property-disallowed-list */
35
+ margin: -1px !important;
36
+ overflow: hidden !important;
37
+ /* stylelint-disable-next-line property-disallowed-list */
38
+ padding: 0 !important;
39
+ position: absolute !important;
40
+ white-space: nowrap !important;
41
+ }
@@ -0,0 +1,191 @@
1
+ /* stylelint-disable no-descending-specificity */
2
+
3
+ @import "~@utrecht/link-css/src/mixin";
4
+ @import "~@utrecht/focus-ring-css/src/mixin";
5
+ @import "./mixin";
6
+
7
+ .nijmegen-pagination {
8
+ font-family: var(--nijmegen-pagination-font-family);
9
+ font-size: var(--nijmegen-pagination-font-size, 1.125rem);
10
+ line-height: var(--nijmegen-pagination-line-height, 150%);
11
+ margin-block-end: var(--nijmegen-pagination-margin-block-end);
12
+
13
+ .nijmegen-sr-only {
14
+ @include invisible-but-accessible;
15
+ }
16
+ }
17
+
18
+ .nijmegen-pagination-list {
19
+ all: unset;
20
+ display: flex;
21
+ list-style: none;
22
+ }
23
+
24
+ .nijmegen-pagination__ellipses {
25
+ @include nijmegen-pagination-link;
26
+
27
+ color: var(--nijmegen-pagination-ellipses-color);
28
+ font-weight: var(--nijmegen-pagination-ellipses-font-weight);
29
+ min-block-size: var(--nijmegen-pagination-ellipses-min-block-size, 3rem);
30
+ padding-block-end: var(--nijmegen-pagination-ellipses-padding-block-end, 0.75rem);
31
+ padding-block-start: var(--nijmegen-pagination-ellipses-padding-block-start, 0.75rem);
32
+ padding-inline-end: var(--nijmegen-pagination-ellipses-padding-inline-end, 0.75rem);
33
+ padding-inline-start: var(--nijmegen-pagination-ellipses-padding-inline-start, 0.75rem);
34
+ }
35
+
36
+ .nijmegen-pagination__page-link {
37
+ @include utrecht-link;
38
+ @include nijmegen-pagination-link;
39
+
40
+ background-color: var(--nijmegen-pagination-page-link-background-color);
41
+ border-color: var(--nijmegen-pagination-page-link-border-color);
42
+ border-radius: var(--nijmegen-pagination-page-link-border-radius);
43
+ border-width: var(--nijmegen-pagination-page-link-border-width);
44
+ color: var(--nijmegen-pagination-page-link-color);
45
+ font-weight: var(--nijmegen-pagination-page-link-font-weight);
46
+ min-block-size: var(--nijmegen-pagination-page-link-min-block-size, 3rem);
47
+ min-inline-size: var(--nijmegen-pagination-page-link-min-inline-size, 3rem);
48
+ padding-block-end: var(--nijmegen-pagination-page-link-padding-block-end, 0.75rem);
49
+ padding-block-start: var(--nijmegen-pagination-page-link-padding-block-start, 0.75rem);
50
+ padding-inline-end: var(--nijmegen-pagination-page-link-padding-inline-end);
51
+ padding-inline-start: var(--nijmegen-pagination-page-link-padding-inline-start);
52
+ text-decoration: var(--nijmegen-pagination-page-link-text-decoration);
53
+
54
+ &:hover,
55
+ &.nijmegen-pagination__page-link--hover {
56
+ background-color: var(--nijmegen-pagination-page-link-hover-background-color);
57
+ border-color: var(--nijmegen-pagination-page-link-hover-border-color);
58
+ color: var(--nijmegen-pagination-page-link-hover-color);
59
+ text-decoration: var(--nijmegen-pagination-page-link-hover-text-decoration);
60
+ }
61
+
62
+ &:active,
63
+ &.nijmegen-pagination__page-link--active {
64
+ background-color: var(--nijmegen-pagination-page-link-active-background-color);
65
+ border-color: var(--nijmegen-pagination-page-link-active-border-color);
66
+ color: var(--nijmegen-pagination-page-link-active-color);
67
+ text-decoration: var(--nijmegen-pagination-page-link-active-text-decoration);
68
+ }
69
+
70
+ &:focus,
71
+ &.nijmegen-pagination__page-link--focus {
72
+ @include utrecht-link--focus;
73
+
74
+ background-color: var(--nijmegen-pagination-page-link-focus-visible-background-color);
75
+ color: var(--nijmegen-pagination-page-link-focus-visible-color);
76
+ text-decoration: var(--nijmegen-pagination-page-link-focus-visible-text-decoration);
77
+ }
78
+
79
+ &:focus-visible,
80
+ &.nijmegen-pagination__page-link--focus-visible {
81
+ @include utrecht-link--focus;
82
+ @include utrecht-link--focus-visible;
83
+
84
+ background-color: var(--nijmegen-pagination-page-link-focus-visible-background-color);
85
+ color: var(--nijmegen-pagination-page-link-focus-visible-color);
86
+ text-decoration: var(--nijmegen-pagination-page-link-focus-visible-text-decoration);
87
+ }
88
+
89
+ &.nijmegen-pagination__page-link--current {
90
+ background-color: var(--nijmegen-pagination-page-link-current-background-color);
91
+ border-color: var(--nijmegen-pagination-page-link-current-border-color);
92
+ color: var(--nijmegen-pagination-page-link-current-color);
93
+ font-weight: var(--nijmegen-pagination-page-link-current-font-weight);
94
+ text-decoration: var(--nijmegen-pagination-page-link-current-text-decoration);
95
+ }
96
+ }
97
+
98
+ .nijmegen-pagination__relative-link {
99
+ @include utrecht-link;
100
+ @include nijmegen-pagination-link;
101
+
102
+ background-color: var(--nijmegen-pagination-page-link-background-color);
103
+ border-color: var(--nijmegen-pagination-relative-link-border-color);
104
+ border-radius: var(--nijmegen-pagination-relative-link-border-radius);
105
+ border-width: var(--nijmegen-pagination-relative-link-border-width);
106
+ color: var(--nijmegen-pagination-relative-link-color);
107
+ font-weight: var(--nijmegen-pagination-relative-link-font-weight);
108
+ gap: 0.25rem;
109
+ min-block-size: var(--nijmegen-pagination-relative-link-min-block-size, 3rem);
110
+ min-inline-size: var(--nijmegen-pagination-relative-link-min-inline-size, 3rem);
111
+ padding-block-end: var(--nijmegen-pagination-relative-link-padding-block-end, 0.75rem);
112
+ padding-block-start: var(--nijmegen-pagination-relative-link-padding-block-start, 0.75rem);
113
+ padding-inline-end: var(--nijmegen-pagination-relative-link-padding-inline-end);
114
+ padding-inline-start: var(--nijmegen-pagination-relative-link-padding-inline-start);
115
+ text-decoration: var(--nijmegen-pagination-relative-link-text-decoration);
116
+
117
+ @media (width <576px) {
118
+ span {
119
+ display: none;
120
+ }
121
+ }
122
+
123
+ &.nijmegen-pagination__relative-link--disabled {
124
+ background-color: var(--nijmegen-pagination-relative-link-disabled-background-color);
125
+ border-color: var(--nijmegen-pagination-relative-link-disabled-border-color);
126
+ color: var(--nijmegen-pagination-relative-link-disabled-color);
127
+ }
128
+
129
+ &.nijmegen-pagination__relative-link--prev {
130
+ @media (width >=576px) {
131
+ &:has(span) {
132
+ margin-inline-end: var(--nijmegen-space-100);
133
+ }
134
+ }
135
+
136
+ &::before {
137
+ @include nijmegen-pagination-link-chevron;
138
+
139
+ transform: scale(-1, 1);
140
+ }
141
+ }
142
+
143
+ &.nijmegen-pagination__relative-link--next {
144
+ @media (width >=576px) {
145
+ &:has(span) {
146
+ margin-inline-start: var(--nijmegen-space-100);
147
+ }
148
+ }
149
+
150
+ &::after {
151
+ @include nijmegen-pagination-link-chevron;
152
+ }
153
+ }
154
+
155
+ &:focus,
156
+ &.nijmegen-pagination__relative-link--focus {
157
+ @include utrecht-link--focus;
158
+
159
+ background-color: var(--nijmegen-pagination-relative-link-focus-visible-background-color);
160
+ color: var(--nijmegen-pagination-relative-link-focus-visible-color);
161
+ text-decoration: var(--nijmegen-pagination-relative-link-focus-visible-text-decoration);
162
+ }
163
+
164
+ &:focus-visible,
165
+ &.nijmegen-pagination_relative-link--focus-visible {
166
+ @include utrecht-link--focus;
167
+ @include utrecht-link--focus-visible;
168
+
169
+ background-color: var(--nijmegen-pagination-relative-link-focus-visible-background-color);
170
+ color: var(--nijmegen-pagination-relative-link-focus-visible-color);
171
+ text-decoration: var(--nijmegen-pagination-relative-link-focus-visible-text-decoration);
172
+ }
173
+
174
+ &:is(a) {
175
+ &:hover,
176
+ &.nijmegen-pagination__relative-link--hover {
177
+ background-color: var(--nijmegen-pagination-relative-link-hover-background-color);
178
+ border-color: var(--nijmegen-pagination-relative-link-hover-border-color);
179
+ color: var(--nijmegen-pagination-relative-link-hover-color);
180
+ text-decoration: var(--nijmegen-pagination-relative-link-hover-text-decoration);
181
+ }
182
+
183
+ &:active,
184
+ &.nijmegen-pagination__relative-link--active {
185
+ background-color: var(--nijmegen-pagination-relative-link-active-background-color);
186
+ border-color: var(--nijmegen-pagination-relative-link-active-border-color);
187
+ color: var(--nijmegen-pagination-relative-link-active-color);
188
+ text-decoration: var(--nijmegen-pagination-relative-link-active-text-decoration);
189
+ }
190
+ }
191
+ }
package/rollup.config.mjs CHANGED
@@ -2,8 +2,34 @@ import postcss from "rollup-plugin-postcss";
2
2
  import discardDuplicates from "postcss-discard-duplicates";
3
3
  import { cwd } from "node:process";
4
4
  import { basename } from "node:path";
5
+ import terser from "@rollup/plugin-terser";
6
+
7
+ let components = [
8
+ {
9
+ input: "header/index.scss",
10
+ output: "dist/header.css",
11
+ },
12
+ ];
5
13
 
6
14
  let config = [];
15
+ components.forEach((component) => {
16
+ config.push({
17
+ input: component.input,
18
+ output: {
19
+ file: component.output,
20
+ sourcemap: false,
21
+ format: "esm",
22
+ compact: true,
23
+ },
24
+ plugins: [
25
+ postcss({
26
+ extensions: [".css", ".scss"],
27
+ plugins: [discardDuplicates()],
28
+ extract: true,
29
+ }),
30
+ ],
31
+ });
32
+ });
7
33
 
8
34
  config.push({
9
35
  input: "index.scss",