@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,116 @@
1
+ .nijmegen-footer {
2
+ background-color: var(--nijmegen-page-footer-background-color);
3
+ color: var(--nijmegen-page-footer-color);
4
+ margin-block-end: var(--nijmegen-footer-margin-block-end);
5
+
6
+ .utrecht-heading-4,
7
+ .utrecht-paragraph {
8
+ color: inherit;
9
+ }
10
+
11
+ .utrecht-link {
12
+ color: inherit;
13
+ text-decoration-color: inherit;
14
+
15
+ &:any-link {
16
+ color: inherit;
17
+ text-decoration-color: inherit;
18
+ }
19
+
20
+ &:focus {
21
+ color: var(--nijmegen-link-list-item-focus-color, #000);
22
+ text-decoration: var(--nijmegen-link-list-item-focus-text-decoration, none);
23
+ }
24
+
25
+ &:focus-visible {
26
+ color: var(--nijmegen-link-list-item-focus-visible-color, #000);
27
+ }
28
+ }
29
+
30
+ .nijmegen-link-list__link:any-link {
31
+ color: inherit;
32
+
33
+ &::before {
34
+ background-color: var(--nijmegen-page-footer-color);
35
+ }
36
+
37
+ &:hover,
38
+ &.nijmegen-link-list__link--hover {
39
+ color: inherit;
40
+
41
+ &::before {
42
+ background-color: var(--nijmegen-page-footer-color);
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ .nijmegen-footer__container {
49
+ margin-inline-end: auto;
50
+ margin-inline-start: auto;
51
+ max-width: var(--nijmegen-page-footer-content-max-inline-size); /* stylelint-disable-line property-disallowed-list */
52
+ width: 100%; /* stylelint-disable-line property-disallowed-list */
53
+ }
54
+
55
+ .nijmegen-footer__main {
56
+ gap: var(--nijmegen-page-footer-content-column-gap);
57
+ padding-block-end: var(--nijmegen-page-footer-main-footer-content-padding-block-end);
58
+ padding-block-start: var(--nijmegen-page-footer-main-footer-content-padding-block-start);
59
+ padding-inline-end: var(--nijmegen-page-footer-main-footer-content-padding-inline-end);
60
+ padding-inline-start: var(--nijmegen-page-footer-main-footer-content-padding-inline-start);
61
+
62
+ @media (width <1024px) {
63
+ display: flex;
64
+ flex-direction: column;
65
+ }
66
+
67
+ @media (width >=1024px) {
68
+ display: grid;
69
+ grid-auto-rows: 1fr;
70
+ grid-template-columns: 1fr 1fr 1fr;
71
+ }
72
+ }
73
+
74
+ .nijmegen-footer__sub {
75
+ /* stylelint-disable property-disallowed-list */
76
+ border-top: var(--nijmegen-page-footer-sub-footer-border-width, 1px);
77
+ border-top-color: var(--nijmegen-page-footer-sub-footer-border-color, #6d6d6d);
78
+ border-top-style: var(--nijmegen-page-footer-sub-footer-border-style, solid);
79
+ /* stylelint-enable property-disallowed-list */
80
+ display: flex;
81
+ justify-content: space-between;
82
+ padding-block-end: var(--nijmegen-page-footer-sub-footer-content-padding-block-end);
83
+ padding-block-start: var(--nijmegen-page-footer-sub-footer-content-padding-block-start);
84
+ padding-inline-end: var(--nijmegen-page-footer-sub-footer-content-padding-inline-end);
85
+ padding-inline-start: var(--nijmegen-page-footer-sub-footer-content-padding-inline-start);
86
+
87
+ @media (width <1024px) {
88
+ flex-direction: column-reverse;
89
+ gap: var(--nijmegen-page-footer-content-row-gap);
90
+ }
91
+
92
+ ul {
93
+ display: flex;
94
+ flex-wrap: wrap;
95
+ gap: var(--nijmegen-page-footer-sub-footer-content-gap, 1rem);
96
+ list-style: none;
97
+ margin: 0; /* stylelint-disable-line property-disallowed-list */
98
+ padding: 0; /* stylelint-disable-line property-disallowed-list */
99
+
100
+ li {
101
+ display: inline-flex;
102
+ }
103
+ }
104
+ }
105
+
106
+ .nijmegen-footer__col {
107
+ display: flex;
108
+ flex-direction: column;
109
+ gap: var(--nijmegen-page-footer-content-row-gap);
110
+ }
111
+
112
+ .nijmegen-footer__block {
113
+ display: flex;
114
+ flex-direction: column;
115
+ gap: var(--nijmegen-page-footer-footer-block-column-gap);
116
+ }
@@ -0,0 +1,31 @@
1
+ @mixin nijmegen-header-content {
2
+ align-items: center;
3
+ align-self: center;
4
+ border: 0 solid var(--nijmegen-header-border-color, transparent);
5
+ display: flex;
6
+ flex-direction: row;
7
+ justify-content: space-between;
8
+ margin-inline: auto;
9
+ padding-block-end: var(--nijmegen-header-content-large-vw-padding-block-end, 0);
10
+ padding-block-start: var(--nijmegen-header-content-large-vw-padding-block-start, 0);
11
+ padding-inline-end: var(--nijmegen-header-content-large-vw-padding-inline-end, 0);
12
+ padding-inline-start: var(--nijmegen-header-content-large-vw-padding-inline-start, 0);
13
+ @media (width <1024px) {
14
+ padding-block-end: var(--nijmegen-header-content-padding-block-end, 0);
15
+ padding-block-start: var(--nijmegen-header-content-padding-block-start, 0);
16
+ padding-inline-end: var(--nijmegen-header-content-padding-inline-end, 0);
17
+ padding-inline-start: var(--nijmegen-header-content-padding-inline-start, 0);
18
+ }
19
+ }
20
+
21
+ @mixin nijmegen-header-icon-base {
22
+ background-color: var(--nijmegen-header-item-color, #000);
23
+ content: "";
24
+ display: inline-block;
25
+ /* stylelint-disable-next-line property-disallowed-list */
26
+ height: var(--nijmegen-header-item-icon-size, 1.5rem);
27
+ mask-position: center;
28
+ mask-repeat: no-repeat;
29
+ mask-size: 100%;
30
+ width: var(--nijmegen-header-item-icon-size, 1.5rem); /* stylelint-disable-line property-disallowed-list */
31
+ }
@@ -0,0 +1,169 @@
1
+ /* stylelint-disable order/properties-alphabetical-order */
2
+
3
+ @import "~@gemeentenijmegen/layout-css/src/variables";
4
+ @import "./mixin";
5
+
6
+ .nijmegen-header {
7
+ background-color: var(--nijmegen-header-background-color, #fff);
8
+ margin-inline-end: auto;
9
+ margin-inline-start: auto;
10
+ max-width: var(--nijmegen-header-content-max-inline-size, 100%); /* stylelint-disable-line property-disallowed-list */
11
+ width: 100%; /* stylelint-disable-line property-disallowed-list */
12
+ writing-mode: horizontal-tb;
13
+ }
14
+
15
+ .nijmegen-header__content {
16
+ @include nijmegen-header-content;
17
+
18
+ @media (width <1024px) {
19
+ display: none;
20
+ }
21
+ }
22
+
23
+ .nijmegen-header__content--small {
24
+ &--inner {
25
+ border-block-end-width: var(--nijmegen-header-border-block-end-width, 0);
26
+ @include nijmegen-header-content;
27
+ }
28
+
29
+ @media (width >=1024px) {
30
+ display: none;
31
+ }
32
+ }
33
+
34
+ .nijmegen-header__mobile-menu {
35
+ display: none;
36
+
37
+ &--visible {
38
+ display: block;
39
+ }
40
+ }
41
+
42
+ .nijmegen-header__navigation,
43
+ .nijmegen-header__actions {
44
+ column-gap: var(--nijmegen-header-content-column-gap, 0);
45
+ display: flex;
46
+ flex-direction: row;
47
+ justify-content: space-between;
48
+ list-style: none;
49
+ padding-inline-start: 0;
50
+ }
51
+
52
+ .nijmegen-header__panel {
53
+ display: none;
54
+ left: 0; /* stylelint-disable-line property-disallowed-list */
55
+ padding-block-start: 1.5rem;
56
+ position: absolute;
57
+ width: 100%; /* stylelint-disable-line property-disallowed-list */
58
+ z-index: 1;
59
+ }
60
+
61
+ .nijmegen-header-item {
62
+ all: unset;
63
+ align-items: end;
64
+ color: var(--nijmegen-header-item-color, #000);
65
+ column-gap: var(--nijmegen-header-item-column-gap, 0);
66
+ cursor: pointer;
67
+ display: flex;
68
+ flex-direction: row;
69
+ font-family: var(--nijmegen-header-item-font-family, inherit);
70
+ font-size: var(--nijmegen-header-item-font-size, 1rem);
71
+ font-weight: var(--nijmegen-header-item-font-weight, 400);
72
+ justify-content: space-between;
73
+ line-height: var(--nijmegen-header-item-line-height, 1.5);
74
+ text-decoration: none;
75
+ user-select: none;
76
+
77
+ &[aria-expanded]::after {
78
+ @include nijmegen-header-icon-base;
79
+ }
80
+
81
+ &--active,
82
+ &[aria-expanded="true"] {
83
+ -webkit-text-stroke-width: 1px; // Instead of bold, to prevent text shifting
84
+ & + .nijmegen-header__panel {
85
+ display: block;
86
+ }
87
+ }
88
+
89
+ &[aria-expanded="false"]::after {
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-down"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>')
93
+ );
94
+ }
95
+
96
+ &[aria-expanded="true"]::after {
97
+ mask-image: var(
98
+ --nijmegen-header-item-open-icon-image,
99
+ 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-up"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 15l6 -6l6 6" /></svg>')
100
+ );
101
+ }
102
+
103
+ &[class*="nijmegen-header-item--icon-"] {
104
+ &::before {
105
+ @include nijmegen-header-icon-base;
106
+ }
107
+
108
+ &[aria-expanded]::after {
109
+ all: unset;
110
+ }
111
+
112
+ &[aria-expanded="true"]::before {
113
+ mask-image: var(
114
+ --nijmegen-header-item-close-icon-image,
115
+ 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-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 6l-12 12" /><path d="M6 6l12 12" /></svg>')
116
+ );
117
+ }
118
+ }
119
+
120
+ &--icon-search {
121
+ &::before {
122
+ mask-image: var(
123
+ --nijmegen-header-item-search-icon-image,
124
+ 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-search"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" /><path d="M21 21l-6 -6" /></svg>')
125
+ );
126
+ }
127
+ }
128
+
129
+ &--icon-user {
130
+ span {
131
+ @media (width <1280px) {
132
+ display: none;
133
+ }
134
+ }
135
+
136
+ &::before {
137
+ mask-image: var(
138
+ --nijmegen-header-item-search-icon-image,
139
+ 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-user"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0" /><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" /></svg>')
140
+ );
141
+ }
142
+ }
143
+
144
+ &:hover,
145
+ &--hover {
146
+ color: var(--nijmegen-header-item-hover-color, #000);
147
+ text-decoration: var(--nijmegen-header-item-hover-text-decoration, none);
148
+
149
+ &::before,
150
+ &::after {
151
+ background-color: var(--nijmegen-header-item-hover-color, #000);
152
+ }
153
+ }
154
+
155
+ &:active,
156
+ &--active {
157
+ color: var(--nijmegen-header-item-active-color, #000);
158
+ text-decoration: var(--nijmegen-header-item-active-text-decoration, none);
159
+ }
160
+
161
+ &:focus-visible,
162
+ &--focus-visible {
163
+ background-color: var(--nijmegen-header-item-focus-visible-background-color, #fff);
164
+ border: var(--nijmegen-header-item-focus-visible-border-line-width, 1px)
165
+ var(--nijmegen-header-item-focus-visible-border-line-style, dashed)
166
+ var(--nijmegen-header-item-focus-visible-border-color, #082d26);
167
+ color: var(--nijmegen-header-item-focus-visible-color, #000);
168
+ }
169
+ }
@@ -0,0 +1,108 @@
1
+ .nijmegen-hero {
2
+ background-color: var(--nijmegen-hero-background-color, #a80a2d);
3
+ color: var(--nijmegen-hero-color, white);
4
+ position: relative;
5
+
6
+ .utrecht-heading-1,
7
+ .utrecht-heading-2,
8
+ .utrecht-paragraph {
9
+ color: inherit;
10
+ }
11
+
12
+ &.nijmegen-hero--background-image {
13
+ position: relative;
14
+
15
+ &::before {
16
+ background: var(
17
+ --nijmegen-hero-background-gradient,
18
+ linear-gradient(90deg, #550517 0%, rgba(#550517, 0.8) 50%, rgba(#a80a2dcc, 0.8) 100%)
19
+ );
20
+ bottom: 0; /* stylelint-disable-line property-disallowed-list */
21
+ content: "";
22
+ left: 0; /* stylelint-disable-line property-disallowed-list */
23
+ position: absolute;
24
+ right: 0; /* stylelint-disable-line property-disallowed-list */
25
+ top: 0; /* stylelint-disable-line property-disallowed-list */
26
+ z-index: 1; /* stylelint-disable-line property-disallowed-list */
27
+ }
28
+
29
+ @media (width <1024px) {
30
+ &::before {
31
+ background: var(
32
+ --nijmegen-hero-background-mobile-gradient,
33
+ linear-gradient(180deg, #550517 0%, rgba(#550517, 0.8) 50%, rgba(#a80a2dcc, 0.8) 100%)
34
+ );
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ .nijmegen-hero__container {
41
+ display: grid;
42
+ grid-auto-flow: dense;
43
+ grid-template-columns: repeat(12, 1fr);
44
+ margin-inline-end: auto;
45
+ margin-inline-start: auto;
46
+ /* stylelint-disable property-disallowed-list */
47
+ max-width: var(--nijmegen-hero-category-large-vw-container-max-inline-size, 1024px);
48
+ /* stylelint-enable property-disallowed-list */
49
+ position: relative;
50
+ width: 100%; /* stylelint-disable-line property-disallowed-list */
51
+ }
52
+
53
+ .nijmegen-hero__content {
54
+ display: flex;
55
+ flex-direction: column;
56
+ gap: var(--nijmegen-hero-content-row-gap, 1.5rem);
57
+ grid-column-end: 13;
58
+ grid-column-start: 1;
59
+ padding-block-end: var(--nijmegen-hero-content-padding-block-end, 2rem);
60
+ padding-block-start: var(--nijmegen-hero-content-padding-block-start, 2rem);
61
+ padding-inline-end: var(--nijmegen-hero-content-padding-inline-end, 1rem);
62
+ padding-inline-start: var(--nijmegen-hero-content-padding-inline-start, 1rem);
63
+ position: relative;
64
+ z-index: 2;
65
+
66
+ @media (width >=1024px) {
67
+ padding-block-end: var(--nijmegen-hero-category-large-vw-padding-block-end, 4rem);
68
+ padding-block-start: var(--nijmegen-hero-category-large-vw-padding-block-start, 3rem);
69
+ padding-inline-end: var(--nijmegen-hero-category-large-vw-padding-inline-end, 1rem);
70
+ padding-inline-start: var(--nijmegen-hero-category-large-vw-padding-inline-start, 1rem);
71
+
72
+ .nijmegen-hero--home & {
73
+ grid-column-end: 7;
74
+ padding-block-end: var(--nijmegen-hero-home-large-vw-padding-block-end, 4rem);
75
+ padding-block-start: var(--nijmegen-hero-home-large-vw-padding-block-start, 3rem);
76
+ padding-inline-end: var(--nijmegen-hero-home-large-vw-padding-inline-end, 4rem);
77
+ padding-inline-start: var(--nijmegen-hero-home-large-vw-padding-inline-start, 1rem);
78
+ }
79
+ }
80
+ }
81
+
82
+ .nijmegen-hero__content--heading {
83
+ display: flex;
84
+ flex-direction: column;
85
+ gap: var(--nijmegen-hero-home-heading-row-gap, 0.5rem);
86
+ }
87
+
88
+ .nijmegen-hero__image {
89
+ height: 100%; /* stylelint-disable-line property-disallowed-list */
90
+ object-fit: cover;
91
+ object-position: center center;
92
+ pointer-events: none;
93
+ position: absolute;
94
+ right: 0; /* stylelint-disable-line property-disallowed-list */
95
+ top: 0; /* stylelint-disable-line property-disallowed-list */
96
+
97
+ .nijmegen-hero--background-image & {
98
+ width: 100%; /* stylelint-disable-line property-disallowed-list */
99
+ }
100
+
101
+ .nijmegen-hero--home & {
102
+ width: var(--nijmegen-hero-image-width, 50%); /* stylelint-disable-line property-disallowed-list */
103
+
104
+ @media (width <1024px) {
105
+ display: none;
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,17 @@
1
+ .nijmegen-image {
2
+ max-height: 100%; /* stylelint-disable-line property-disallowed-list */
3
+ max-width: 100%; /* stylelint-disable-line property-disallowed-list */
4
+ object-fit: cover;
5
+
6
+ &.nijmegen-image--aspect-16-9 {
7
+ aspect-ratio: 16/9;
8
+ }
9
+
10
+ &.nijmegen-image--aspect-1-1 {
11
+ aspect-ratio: 1/1;
12
+ }
13
+
14
+ &.nijmegen-image--aspect-4-3 {
15
+ aspect-ratio: 4/3;
16
+ }
17
+ }
@@ -0,0 +1,48 @@
1
+ .nijmegen-image-text-block {
2
+ display: flex;
3
+
4
+ /* stylelint-disable */
5
+ #storybook-root & {
6
+ max-width: 1000px;
7
+ }
8
+ /* stylelint-enable */
9
+
10
+ @media (width <992px) {
11
+ flex: 1;
12
+ flex-direction: column-reverse;
13
+ gap: var(--nijmegen-image-text-block-row-gap);
14
+ }
15
+
16
+ @media (width >=992px) {
17
+ align-items: center;
18
+ flex-direction: row-reverse;
19
+ gap: var(--nijmegen-image-text-block-large-vw-column-gap);
20
+ }
21
+ }
22
+
23
+ .nijmegen-image-text-block--reverse {
24
+ @media (width >=992px) {
25
+ flex-direction: row;
26
+ }
27
+ }
28
+
29
+ .nijmegen-image-text-block__content {
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: var(--nijmegen-image-text-block-content-row-gap);
33
+
34
+ @media (width >=992px) {
35
+ flex-shrink: 0;
36
+ width: 50%; /* stylelint-disable-line property-disallowed-list */
37
+ }
38
+ }
39
+
40
+ .nijmegen-image-text-block__message {
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: var(--nijmegen-image-text-block-message-row-gap);
44
+ }
45
+
46
+ .nijmegen-image-text-block__image {
47
+ display: flex;
48
+ }
package/index.scss CHANGED
@@ -1,2 +1,25 @@
1
+ @import "./header/index";
2
+ @import "./link/index";
3
+ @import "./toolbar-button/index";
4
+ @import "./mega-menu/index";
5
+ @import "./mobile-menu/index";
6
+ @import "./card/index";
1
7
  @import "./ordered-list/index";
2
8
  @import "./link-list/index";
9
+ @import "./hero/index";
10
+ @import "./footer/index";
11
+ @import "./breadcrumb/index";
12
+ @import "./accordion/index";
13
+ @import "./table/index";
14
+ @import "./pagination/index";
15
+ @import "./metadata/index";
16
+ @import "./skip-link/index";
17
+ @import "./listbox/index";
18
+ @import "./spacing/src/index";
19
+ @import "./table-of-contents/index";
20
+ @import "./action-card/index";
21
+ @import "./search-results/index";
22
+ @import "./search/index";
23
+ @import "./image/index";
24
+ @import "./steplist/index";
25
+ @import "./image-text-block/index";
package/link/index.scss CHANGED
@@ -1,12 +1,13 @@
1
- /**
2
- * @license EUPL-1.2
3
- * Copyright (c) 2021 Community for NL Design System
4
- */
5
-
6
1
  .utrecht-link {
7
- i {
8
- font-size: 1.5rem;
9
- inset-block-start: 0.15rem;
10
- position: relative;
2
+ .utrecht-icon {
3
+ inset-block-start: var(--utrecht-icon-inset-block-start, 0.35rem);
4
+
5
+ + span {
6
+ padding-inline-start: 0.25rem;
7
+ }
8
+ }
9
+
10
+ span + .utrecht-icon {
11
+ padding-inline-start: 0.25rem;
11
12
  }
12
13
  }
@@ -4,11 +4,12 @@
4
4
  all: unset;
5
5
  display: flex;
6
6
  flex-direction: column;
7
+ margin-block-end: var(--nijmegen-link-list-margin-block-end);
7
8
  row-gap: var(--nijmegen-link-list-row-gap, 0.5rem);
8
9
  }
9
10
 
10
11
  @mixin nijmegen-link-list__item {
11
- display: inline-block;
12
+ display: inline-flex;
12
13
  list-style: none;
13
14
  }
14
15
 
@@ -16,6 +17,7 @@
16
17
  background-color: var(--utrecht-link-color);
17
18
  content: "";
18
19
  display: inline-block;
20
+ flex-shrink: 0;
19
21
  height: var(--nijmegen-icon-functional-size-height, 0.875rem); /* stylelint-disable-line property-disallowed-list */
20
22
  mask-image: var(
21
23
  --nijmegen-link-list-icon,
@@ -24,11 +26,16 @@
24
26
  mask-position: center;
25
27
  mask-repeat: no-repeat;
26
28
  mask-size: 100%;
29
+ position: relative;
30
+ top: 2px; /* stylelint-disable-line property-disallowed-list */
27
31
  width: var(--nijmegen-icon-functional-size-width, 1.5rem); /* stylelint-disable-line property-disallowed-list */
28
32
  }
29
33
 
30
34
  @mixin nijmegen-link-list__link {
35
+ align-items: baseline;
31
36
  color: var(--utrecht-link-color);
37
+ display: inline-flex;
38
+ gap: var(--todo-link-list-item-column-gap); /* stylelint-disable-line custom-property-pattern */
32
39
  text-decoration: var(--nijmegen-link-list-item-text-decoration, none);
33
40
  &:active,
34
41
  &.nijmegen-link-list__link--active {
@@ -7,9 +7,22 @@
7
7
  @include nijmegen-link-list__item;
8
8
  }
9
9
 
10
- .nijmegen-link-list__link:any-link {
11
- @include nijmegen-link-list__link;
12
- &::before {
13
- @include nijmegen-link-list__link-before;
10
+ .nijmegen-link-list__link {
11
+ &:any-link {
12
+ @include nijmegen-link-list__link;
13
+ }
14
+
15
+ &.nijmegen-link-list__link--no-chevron {
16
+ align-items: center;
17
+
18
+ svg {
19
+ flex-shrink: 0;
20
+ }
21
+ }
22
+
23
+ &:not(.nijmegen-link-list__link--no-chevron) {
24
+ &::before {
25
+ @include nijmegen-link-list__link-before;
26
+ }
14
27
  }
15
28
  }
@@ -0,0 +1,81 @@
1
+ @import "~@utrecht/link-css/src/mixin";
2
+ @import "~@utrecht/focus-ring-css/src/mixin";
3
+ @import "~@utrecht/unordered-list-css/src/mixin";
4
+
5
+ .nijmegen-listbox {
6
+ background-color: var(--nijmegen-listbox-background-color);
7
+ border-color: var(--nijmegen-listbox-border-color);
8
+ border-radius: var(--nijmegen-listbox-border-radius);
9
+ border-style: solid;
10
+ border-width: var(--nijmegen-listbox-border-width);
11
+ box-sizing: border-box;
12
+ color: var(--nijmegen-listbox-color);
13
+ margin-block-end: var(--nijmegen-listbox-margin-block-end);
14
+ max-block-size: var(--nijmegen-listbox-max-block-size);
15
+ min-inline-size: var(--nijmegen-listbox-min-inline-size);
16
+ }
17
+
18
+ .nijmegen-listbox__list {
19
+ @include utrecht-unordered-list;
20
+
21
+ list-style: none;
22
+ padding-inline-start: 0;
23
+ }
24
+
25
+ .nijmegen-listbox__item {
26
+ align-items: center;
27
+ background-color: var(--nijmegen-listbox-item-background-color);
28
+ box-sizing: border-box;
29
+ color: var(--nijmegen-listbox-item-color);
30
+ display: flex;
31
+ font-family: var(--nijmegen-listbox-item-font-family);
32
+ font-size: var(--nijmegen-listbox-item-font-size);
33
+ font-weight: var(--nijmegen-listbox-item-font-weight);
34
+ gap: var(--nijmegen-listbox-item-column-gap);
35
+ line-height: var(--nijmegen-listbox-item-line-height);
36
+ min-block-size: var(--nijmegen-listbox-item-min-block-size);
37
+ padding-block-end: var(--nijmegen-listbox-item-padding-block-end);
38
+ padding-block-start: var(--nijmegen-listbox-item-padding-block-start);
39
+ padding-inline-end: var(--nijmegen-listbox-item-padding-inline-end);
40
+ padding-inline-start: var(--nijmegen-listbox-item-padding-inline-start);
41
+ text-decoration: none;
42
+
43
+ &::before {
44
+ background-color: currentColor;
45
+ content: "";
46
+ display: inline-block;
47
+ height: var(--nijmegen-icon-functional-size-height, 0.875rem); /* stylelint-disable-line property-disallowed-list */
48
+ mask-image: var(
49
+ --nijmegen-link-list-icon,
50
+ 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"><path d="M9 6l6 6l-6 6"></path></svg>')
51
+ );
52
+ mask-position: center;
53
+ mask-repeat: no-repeat;
54
+ mask-size: 100%;
55
+ width: var(--nijmegen-icon-functional-size-width, 1.5rem); /* stylelint-disable-line property-disallowed-list */
56
+ }
57
+
58
+ &:active,
59
+ &.nijmegen-listbox__item--active {
60
+ background-color: var(--nijmegen-listbox-item-active-background-color);
61
+ color: var(--nijmegen-listbox-item-active-color);
62
+ }
63
+
64
+ &:hover,
65
+ &.nijmegen-listbox__item--hover {
66
+ @include utrecht-link--hover;
67
+
68
+ background-color: var(--nijmegen-listbox-item-hover-background-color);
69
+ color: var(--nijmegen-listbox-item-hover-color);
70
+ cursor: pointer;
71
+ }
72
+
73
+ &:focus-visible,
74
+ &.nijmegen-listbox__item--focus-visible {
75
+ @include utrecht-link--focus;
76
+ @include utrecht-link--focus-visible;
77
+
78
+ background-color: var(--nijmegen-listbox-item-focus-visible-background-color);
79
+ color: var(--nijmegen-listbox-item-focus-visible-color);
80
+ }
81
+ }