@funidata/fudis-core 2.0.0 → 2.2.0-rc.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/_styles.scss +4 -0
- package/package.json +1 -1
- package/src/components/breadcrumbs/breadcrumbs.scss +24 -0
- package/src/components/button/button.scss +2 -8
- package/src/components/checkbox/checkbox.scss +1 -0
- package/src/components/description-list/description-list.scss +95 -0
- package/src/components/error-summary/error-summary.scss +2 -0
- package/src/components/icon/icon.scss +616 -26
- package/src/components/link/link.scss +11 -0
- package/src/components/radio-button/radio-button.scss +1 -0
- package/src/components/tab-navigation/tab-navigation.scss +49 -0
- package/src/components/table/table-mixins.scss +153 -0
- package/src/components/table/table.scss +10 -0
- package/src/foundations/typography/mixins.scss +22 -3
- package/src/foundations/typography/tokens.scss +2 -0
|
@@ -9,6 +9,55 @@
|
|
|
9
9
|
.fudis-tab-navigation-bar {
|
|
10
10
|
position: relative;
|
|
11
11
|
|
|
12
|
+
&__button-container {
|
|
13
|
+
@include colorMixin.bg-color('white');
|
|
14
|
+
|
|
15
|
+
&--right {
|
|
16
|
+
display: flex;
|
|
17
|
+
position: absolute;
|
|
18
|
+
top: 0;
|
|
19
|
+
right: 0;
|
|
20
|
+
align-items: flex-start;
|
|
21
|
+
justify-content: flex-end;
|
|
22
|
+
width: spacing.$spacing-xl;
|
|
23
|
+
height: spacing.$tab-navigation-button-height;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&--left {
|
|
27
|
+
display: flex;
|
|
28
|
+
position: absolute;
|
|
29
|
+
top: 0;
|
|
30
|
+
left: 0;
|
|
31
|
+
align-items: flex-start;
|
|
32
|
+
justify-content: flex-start;
|
|
33
|
+
width: spacing.$spacing-xl;
|
|
34
|
+
height: spacing.$tab-navigation-button-height;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&__button {
|
|
38
|
+
@include colorMixin.bg-color('white');
|
|
39
|
+
|
|
40
|
+
position: absolute;
|
|
41
|
+
top: 50%;
|
|
42
|
+
transform: translate(0, -50%);
|
|
43
|
+
border-style: none;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
padding: 0;
|
|
46
|
+
|
|
47
|
+
&:focus {
|
|
48
|
+
@include focus.focus-generic;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&--right {
|
|
52
|
+
right: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&--left {
|
|
56
|
+
left: 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
12
61
|
&__wrapper {
|
|
13
62
|
&--primary {
|
|
14
63
|
border-bottom: solid spacing.$pixel-1 color.$color-gray-dark;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
@use '../../foundations/typography/mixins.scss' as typography;
|
|
2
|
+
@use '../../foundations/spacing/tokens' as spacing;
|
|
3
|
+
@use '../../foundations/colors/tokens' as color;
|
|
4
|
+
|
|
5
|
+
@mixin fudis-table-default {
|
|
6
|
+
width: 100%;
|
|
7
|
+
border-collapse: collapse;
|
|
8
|
+
|
|
9
|
+
&__caption {
|
|
10
|
+
@include typography.table-caption;
|
|
11
|
+
|
|
12
|
+
padding-bottom: spacing.$spacing-xs;
|
|
13
|
+
caption-side: top;
|
|
14
|
+
text-align: left;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&__header {
|
|
18
|
+
@include typography.table-header;
|
|
19
|
+
|
|
20
|
+
border-bottom: spacing.$pixel-2 solid color.$color-gray-light;
|
|
21
|
+
padding: spacing.$spacing-sm;
|
|
22
|
+
vertical-align: bottom;
|
|
23
|
+
|
|
24
|
+
&__align {
|
|
25
|
+
&__left {
|
|
26
|
+
text-align: left;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&__center {
|
|
30
|
+
text-align: center;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&__right {
|
|
34
|
+
text-align: right;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&__cell {
|
|
40
|
+
@include typography.table-cell-default;
|
|
41
|
+
|
|
42
|
+
border-bottom: spacing.$pixel-1 solid color.$color-gray-light;
|
|
43
|
+
padding: spacing.$spacing-sm;
|
|
44
|
+
|
|
45
|
+
&__align {
|
|
46
|
+
&__left {
|
|
47
|
+
text-align: left;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&__center {
|
|
51
|
+
text-align: center;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&__right {
|
|
55
|
+
text-align: right;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&__vertical-align {
|
|
60
|
+
&__top {
|
|
61
|
+
align-content: start;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&__center {
|
|
65
|
+
align-content: center;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&__bottom {
|
|
69
|
+
align-content: end;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* Checkbox needs different padding-top since its clickable area expands out of visible component outlines */
|
|
74
|
+
&__checkbox {
|
|
75
|
+
padding-top: calc(spacing.$spacing-xs + spacing.$spacing-xxs);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@mixin fudis-table-mobile {
|
|
81
|
+
width: 100%;
|
|
82
|
+
border-collapse: collapse;
|
|
83
|
+
|
|
84
|
+
&__caption {
|
|
85
|
+
@include typography.table-caption;
|
|
86
|
+
|
|
87
|
+
padding-bottom: spacing.$spacing-xs;
|
|
88
|
+
caption-side: top;
|
|
89
|
+
text-align: left;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&__header {
|
|
93
|
+
@include typography.table-header;
|
|
94
|
+
|
|
95
|
+
border-bottom: spacing.$pixel-2 solid color.$color-gray-light;
|
|
96
|
+
padding: spacing.$spacing-xs;
|
|
97
|
+
vertical-align: bottom;
|
|
98
|
+
|
|
99
|
+
&__align {
|
|
100
|
+
&__left {
|
|
101
|
+
text-align: left;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&__center {
|
|
105
|
+
text-align: center;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
&__right {
|
|
109
|
+
text-align: right;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&__cell {
|
|
115
|
+
@include typography.table-cell-mobile;
|
|
116
|
+
|
|
117
|
+
border-bottom: spacing.$pixel-1 solid color.$color-gray-light;
|
|
118
|
+
padding: spacing.$spacing-xs;
|
|
119
|
+
|
|
120
|
+
&__align {
|
|
121
|
+
&__left {
|
|
122
|
+
text-align: left;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&__center {
|
|
126
|
+
text-align: center;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
&__right {
|
|
130
|
+
text-align: right;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
&__vertical-align {
|
|
135
|
+
&__top {
|
|
136
|
+
align-content: start;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
&__center {
|
|
140
|
+
align-content: center;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
&__bottom {
|
|
144
|
+
align-content: end;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* Checkbox needs different padding-top since its clickable area expands out of visible component outlines */
|
|
149
|
+
&__checkbox {
|
|
150
|
+
padding-top: spacing.$spacing-xxs;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
@@ -127,18 +127,37 @@
|
|
|
127
127
|
font-weight: tokens.$font-weight-bold;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
// Table
|
|
130
|
+
// Table styles
|
|
131
131
|
|
|
132
132
|
@mixin table-caption {
|
|
133
133
|
@include colorMixin.text-color('gray-dark');
|
|
134
134
|
|
|
135
|
+
line-height: tokens.$table-caption-line-height;
|
|
136
|
+
font-family: tokens.$font-family;
|
|
137
|
+
font-size: tokens.$heading-sm-font-size;
|
|
138
|
+
font-weight: tokens.$font-weight-medium;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@mixin table-header {
|
|
142
|
+
@include colorMixin.text-color('gray-dark');
|
|
143
|
+
|
|
135
144
|
text-transform: uppercase;
|
|
136
|
-
line-height: tokens.$
|
|
145
|
+
line-height: tokens.$table-header-line-height;
|
|
137
146
|
font-family: tokens.$font-family;
|
|
138
147
|
font-size: tokens.$body-text-md-font-size;
|
|
139
148
|
font-weight: tokens.$font-weight-regular;
|
|
140
149
|
}
|
|
141
150
|
|
|
151
|
+
@mixin table-cell-default {
|
|
152
|
+
@include colorMixin.text-color('gray-dark');
|
|
153
|
+
@include body-text-lg-light;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@mixin table-cell-mobile {
|
|
157
|
+
@include colorMixin.text-color('gray-dark');
|
|
158
|
+
@include body-text-md-light;
|
|
159
|
+
}
|
|
160
|
+
|
|
142
161
|
// Other UI styles
|
|
143
162
|
|
|
144
163
|
// Text-input, text-area, dropdown, legend components
|
|
@@ -247,7 +266,7 @@
|
|
|
247
266
|
|
|
248
267
|
display: inline-block;
|
|
249
268
|
position: relative;
|
|
250
|
-
text-decoration: underline
|
|
269
|
+
text-decoration: underline;
|
|
251
270
|
font-family: tokens.$font-family;
|
|
252
271
|
overflow-wrap: anywhere;
|
|
253
272
|
|
|
@@ -30,6 +30,8 @@ $heading-sm-line-height: calc(1.125rem / var(--fudis-rem-multiplier));
|
|
|
30
30
|
$text-input-line-height: calc(1.25rem / var(--fudis-rem-multiplier));
|
|
31
31
|
$form-label-line-height: calc(1.5rem / var(--fudis-rem-multiplier));
|
|
32
32
|
$badge-line-height: calc(0.875rem / var(--fudis-rem-multiplier));
|
|
33
|
+
$table-caption-line-height: calc(1.125rem / var(--fudis-rem-multiplier));
|
|
34
|
+
$table-header-line-height: calc(1.5rem / var(--fudis-rem-multiplier));
|
|
33
35
|
|
|
34
36
|
// Font weight
|
|
35
37
|
$font-weight-light: 300;
|