@funidata/fudis-core 2.3.4 → 3.1.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/package.json +15 -11
- package/src/components/alert/alert.scss +1 -0
- package/src/components/button/button.scss +5 -1
- package/src/components/fieldset/fieldset.scss +1 -2
- package/src/components/guidance/guidance.scss +3 -3
- package/src/components/icon/icon.scss +3 -3
- package/src/components/radio-button/radio-button.scss +12 -12
- package/src/components/tab-navigation/tab-navigation.scss +2 -2
- package/src/components/table/table-mixins.scss +1 -1
- package/src/foundations/grid/mixins.scss +0 -5
- package/src/foundations/typography/mixins.scss +12 -2
- package/src/foundations/utilities/classes.scss +4 -0
- package/src/foundations/utilities/mixins.scss +1 -1
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funidata/fudis-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Core styles and foundations for Fudis Design System",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
7
7
|
"./_index.scss",
|
|
8
8
|
"./_styles.scss"
|
|
9
9
|
],
|
|
10
|
+
"type": "module",
|
|
10
11
|
"scripts": {
|
|
11
12
|
"start": "storybook dev -p 6007",
|
|
12
13
|
"build:storybook": "storybook build",
|
|
@@ -30,16 +31,19 @@
|
|
|
30
31
|
"url": "https://github.com/funidata/fudis-core/issues"
|
|
31
32
|
},
|
|
32
33
|
"homepage": "https://github.com/funidata/fudis-core#readme",
|
|
34
|
+
"optionalDependencies": {
|
|
35
|
+
"@rolldown/binding-linux-x64-gnu": "1.0.1",
|
|
36
|
+
"lightningcss-linux-x64-gnu": "1.32.0"
|
|
37
|
+
},
|
|
33
38
|
"devDependencies": {
|
|
34
|
-
"@storybook/addon-a11y": "
|
|
35
|
-
"@storybook/addon-
|
|
36
|
-
"@storybook/
|
|
37
|
-
"@storybook
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"storybook": "^8.6.12"
|
|
39
|
+
"@storybook/addon-a11y": "10.4.0",
|
|
40
|
+
"@storybook/addon-docs": "10.4.0",
|
|
41
|
+
"@storybook/html-vite": "10.4.0",
|
|
42
|
+
"@whitespace/storybook-addon-html": "^9.0.0",
|
|
43
|
+
"nodemon": "^3.1.14",
|
|
44
|
+
"prettier2": "npm:prettier@2.8.8",
|
|
45
|
+
"sass-embedded": "^1.99.0",
|
|
46
|
+
"storybook": "10.4.0",
|
|
47
|
+
"vite": "^8.0.12"
|
|
44
48
|
}
|
|
45
49
|
}
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
display: inline-flex;
|
|
16
16
|
align-items: center;
|
|
17
17
|
justify-content: center;
|
|
18
|
-
cursor: pointer;
|
|
19
18
|
padding: 0 spacing.$spacing-xs;
|
|
20
19
|
min-width: spacing.$spacing-xxl;
|
|
21
20
|
vertical-align: middle;
|
|
21
|
+
text-align: left;
|
|
22
|
+
cursor: pointer;
|
|
22
23
|
|
|
23
24
|
&:focus {
|
|
24
25
|
@include focus.focus-generic;
|
|
@@ -56,10 +57,13 @@
|
|
|
56
57
|
|
|
57
58
|
&__size {
|
|
58
59
|
&__small {
|
|
60
|
+
padding-top: calc(spacing.$spacing-xxs / 2);
|
|
61
|
+
padding-bottom: calc(spacing.$spacing-xxs / 2);
|
|
59
62
|
min-height: spacing.$spacing-md;
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
&__medium {
|
|
66
|
+
padding: calc(spacing.$spacing-md / 4) spacing.$spacing-xs;
|
|
63
67
|
min-height: spacing.$spacing-lg;
|
|
64
68
|
}
|
|
65
69
|
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
display: flex;
|
|
20
20
|
transform: translateX(
|
|
21
21
|
/* stylelint-disable unit-disallowed-list */
|
|
22
|
-
|
|
22
|
+
calc(-1 * calc(0.4rem / var(--fudis-rem-multiplier)))
|
|
23
23
|
);
|
|
24
|
-
opacity: 0;
|
|
25
|
-
height: spacing.$spacing-xs;
|
|
26
24
|
animation-name: delay-appearance;
|
|
27
25
|
animation-delay: 0.2s;
|
|
28
26
|
animation-iteration-count: 1;
|
|
29
27
|
animation-fill-mode: forwards;
|
|
28
|
+
opacity: 0;
|
|
29
|
+
height: spacing.$spacing-xs;
|
|
30
30
|
|
|
31
31
|
&__list {
|
|
32
32
|
min-height: spacing.$spacing-xs;
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
|
|
4
4
|
/* Only for internal use for this icon class */
|
|
5
5
|
@mixin icon-mask-base() {
|
|
6
|
+
mask-size: contain;
|
|
7
|
+
mask-position: center;
|
|
8
|
+
mask-repeat: no-repeat;
|
|
6
9
|
/* stylelint-disable property-disallowed-list */
|
|
7
10
|
background-color: currentcolor;
|
|
8
11
|
width: var(--icon-size);
|
|
9
12
|
height: var(--icon-size);
|
|
10
13
|
content: '';
|
|
11
|
-
mask-repeat: no-repeat;
|
|
12
|
-
mask-position: center;
|
|
13
|
-
mask-size: contain;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
/* Only for internal use in creating white background for large fill icons */
|
|
@@ -13,11 +13,11 @@ $radio-indicator-size: calc(0.75rem / var(--fudis-rem-multiplier));
|
|
|
13
13
|
@include typography.body-text-md-regular;
|
|
14
14
|
@include colorMixin.text-color('gray-dark');
|
|
15
15
|
|
|
16
|
-
display:
|
|
16
|
+
display: flex;
|
|
17
17
|
position: relative;
|
|
18
18
|
align-items: center;
|
|
19
19
|
margin-bottom: 0;
|
|
20
|
-
width:
|
|
20
|
+
width: fit-content;
|
|
21
21
|
min-height: spacing.$spacing-lg;
|
|
22
22
|
|
|
23
23
|
&__label {
|
|
@@ -26,13 +26,18 @@ $radio-indicator-size: calc(0.75rem / var(--fudis-rem-multiplier));
|
|
|
26
26
|
padding-left: spacing.$spacing-xs;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
/* Radio button circle */
|
|
30
29
|
&__content {
|
|
31
30
|
display: flex;
|
|
32
31
|
align-items: center;
|
|
33
32
|
transform: translateX(calc(-0.1rem / var(--fudis-rem-multiplier)));
|
|
34
33
|
padding-left: 0;
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
|
|
36
|
+
&--disabled {
|
|
37
|
+
cursor: default;
|
|
38
|
+
}
|
|
35
39
|
|
|
40
|
+
/* Radio button circle */
|
|
36
41
|
&-wrapper {
|
|
37
42
|
display: flex;
|
|
38
43
|
align-items: center;
|
|
@@ -69,15 +74,15 @@ $radio-indicator-size: calc(0.75rem / var(--fudis-rem-multiplier));
|
|
|
69
74
|
&__indicator {
|
|
70
75
|
&::after {
|
|
71
76
|
display: block;
|
|
77
|
+
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%2012'%20width='12'%20height='12'%3E%3Ccircle%20cx='6'%20cy='6'%20r='6'/%3E%3C/svg%3E");
|
|
78
|
+
mask-size: contain;
|
|
79
|
+
mask-position: center;
|
|
80
|
+
mask-repeat: no-repeat;
|
|
72
81
|
/* stylelint-disable property-disallowed-list */
|
|
73
82
|
background-color: currentcolor;
|
|
74
83
|
width: $radio-indicator-size;
|
|
75
84
|
height: $radio-indicator-size;
|
|
76
85
|
content: '';
|
|
77
|
-
mask-repeat: no-repeat;
|
|
78
|
-
mask-position: center;
|
|
79
|
-
mask-size: contain;
|
|
80
|
-
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%2012'%20width='12'%20height='12'%3E%3Ccircle%20cx='6'%20cy='6'%20r='6'/%3E%3C/svg%3E");
|
|
81
86
|
}
|
|
82
87
|
}
|
|
83
88
|
}
|
|
@@ -88,14 +93,9 @@ $radio-indicator-size: calc(0.75rem / var(--fudis-rem-multiplier));
|
|
|
88
93
|
left: 0;
|
|
89
94
|
opacity: 0;
|
|
90
95
|
margin: 0;
|
|
91
|
-
cursor: pointer;
|
|
92
96
|
width: 100%;
|
|
93
97
|
height: 100%;
|
|
94
98
|
|
|
95
|
-
&--disabled {
|
|
96
|
-
cursor: default;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
99
|
/* stylelint-disable-next-line */
|
|
100
100
|
&:focus
|
|
101
101
|
/* stylelint-disable selector-class-pattern */
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
top: 50%;
|
|
42
42
|
transform: translate(0, -50%);
|
|
43
43
|
border-style: none;
|
|
44
|
-
cursor: pointer;
|
|
45
44
|
padding: 0;
|
|
45
|
+
cursor: pointer;
|
|
46
46
|
|
|
47
47
|
&:focus {
|
|
48
48
|
@include focus.focus-generic;
|
|
@@ -102,10 +102,10 @@
|
|
|
102
102
|
box-sizing: border-box;
|
|
103
103
|
display: flex;
|
|
104
104
|
align-items: center;
|
|
105
|
-
cursor: pointer;
|
|
106
105
|
padding-right: spacing.$spacing-sm;
|
|
107
106
|
padding-left: spacing.$spacing-sm;
|
|
108
107
|
text-decoration: none;
|
|
108
|
+
cursor: pointer;
|
|
109
109
|
|
|
110
110
|
&:focus-visible {
|
|
111
111
|
@include focus.focus-generic;
|
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
font-family: tokens.$font-family;
|
|
16
16
|
font-size: tokens.$body-text-lg-font-size;
|
|
17
17
|
font-weight: tokens.$font-weight-light;
|
|
18
|
+
|
|
19
|
+
@include breakpoints.breakpoint-max('sm') {
|
|
20
|
+
line-height: tokens.$body-text-md-line-height;
|
|
21
|
+
font-size: tokens.$body-text-md-font-size;
|
|
22
|
+
}
|
|
18
23
|
}
|
|
19
24
|
|
|
20
25
|
@mixin body-text-lg-regular {
|
|
@@ -23,6 +28,11 @@
|
|
|
23
28
|
font-family: tokens.$font-family;
|
|
24
29
|
font-size: tokens.$body-text-lg-font-size;
|
|
25
30
|
font-weight: tokens.$font-weight-regular;
|
|
31
|
+
|
|
32
|
+
@include breakpoints.breakpoint-max('sm') {
|
|
33
|
+
line-height: tokens.$body-text-md-line-height;
|
|
34
|
+
font-size: tokens.$body-text-md-font-size;
|
|
35
|
+
}
|
|
26
36
|
}
|
|
27
37
|
|
|
28
38
|
@mixin body-text-md-light {
|
|
@@ -266,8 +276,8 @@
|
|
|
266
276
|
display: inline-block;
|
|
267
277
|
position: relative;
|
|
268
278
|
text-decoration: underline;
|
|
269
|
-
font-family: tokens.$font-family;
|
|
270
279
|
overflow-wrap: anywhere;
|
|
280
|
+
font-family: tokens.$font-family;
|
|
271
281
|
|
|
272
282
|
&:focus {
|
|
273
283
|
@include focus.focus-generic;
|
|
@@ -298,10 +308,10 @@
|
|
|
298
308
|
// Tab component
|
|
299
309
|
|
|
300
310
|
@mixin tab-text {
|
|
311
|
+
text-wrap: nowrap;
|
|
301
312
|
font-family: tokens.$font-family;
|
|
302
313
|
font-size: tokens.$body-text-md-font-size;
|
|
303
314
|
font-weight: tokens.$font-weight-medium;
|
|
304
|
-
text-wrap: nowrap;
|
|
305
315
|
}
|
|
306
316
|
|
|
307
317
|
// Empty state
|