@lucca-front/scss 21.2.1 → 21.2.3-rc.4
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/dist/lucca-front.min.css +1 -1
- package/package.json +3 -3
- package/src/commons/config.scss +3 -3
- package/src/commons/utils/index.scss +102 -3
- package/src/components/appLayout/mods.scss +2 -2
- package/src/components/avatar/component.scss +0 -2
- package/src/components/dialog/component.scss +15 -1
- package/src/components/dialog/mods.scss +5 -3
- package/src/components/dialog/vars.scss +3 -1
- package/src/components/fieldset/component.scss +7 -5
- package/src/components/inputFramed/states.scss +8 -1
- package/src/components/listboxOption/mods.scss +3 -3
- package/src/components/resourceCard/mods.scss +4 -4
- package/src/components/resourceCard/vars.scss +1 -1
- package/src/components/richText/component.scss +1 -0
- package/src/components/segmentedControl/component.scss +2 -2
- package/src/components/segmentedControl/states.scss +4 -6
- package/src/components/softwareIcon/component.scss +67 -5
- package/src/components/softwareIcon/index.scss +58 -0
- package/src/components/softwareIcon/mods.scss +32 -0
- package/src/components/softwareIcon/states.scss +5 -0
- package/src/components/softwareIcon/vars.scss +17 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucca-front/scss",
|
|
3
|
-
"version": "21.2.
|
|
3
|
+
"version": "21.2.3-rc.4",
|
|
4
4
|
"description": "A Sass framework for Lucca products.",
|
|
5
5
|
"main": "src/main.scss",
|
|
6
6
|
"scripts": {},
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"normalize.css": "^8.0.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@lucca-front/icons": "21.2.
|
|
27
|
-
"@lucca/prisme": "21.2.
|
|
26
|
+
"@lucca-front/icons": "21.2.3-rc.4",
|
|
27
|
+
"@lucca/prisme": "21.2.3-rc.4"
|
|
28
28
|
}
|
|
29
29
|
}
|
package/src/commons/config.scss
CHANGED
|
@@ -73,7 +73,7 @@ $fontTokens: (
|
|
|
73
73
|
highlight-XXL-lineHeight: var(--pr-t-font-lineHeight-400),
|
|
74
74
|
highlight-XXL-fontWeight: var(--pr-t-font-fontWeight-black),
|
|
75
75
|
highlight-XL-fontSize: var(--pr-t-font-fontSize-275),
|
|
76
|
-
highlight-XL-lineHeight: var(--pr-t-font-lineHeight-
|
|
76
|
+
highlight-XL-lineHeight: var(--pr-t-font-lineHeight-300),
|
|
77
77
|
highlight-XL-fontWeight: var(--pr-t-font-fontWeight-bold),
|
|
78
78
|
highlight-L-fontSize: var(--pr-t-font-fontSize-225),
|
|
79
79
|
highlight-L-lineHeight: var(--pr-t-font-lineHeight-300),
|
|
@@ -378,7 +378,7 @@ $critical: (
|
|
|
378
378
|
text: #ffffff,
|
|
379
379
|
0: #ffffff,
|
|
380
380
|
50: #ffebec,
|
|
381
|
-
100: #
|
|
381
|
+
100: #ffd2d4,
|
|
382
382
|
200: #fdbebe,
|
|
383
383
|
300: #faa3a3,
|
|
384
384
|
400: #fa8989,
|
|
@@ -492,7 +492,7 @@ $lavender: (
|
|
|
492
492
|
600: #9165d2,
|
|
493
493
|
700: #7647bd,
|
|
494
494
|
800: #5f369b,
|
|
495
|
-
900: #
|
|
495
|
+
900: #24075a,
|
|
496
496
|
) !default;
|
|
497
497
|
|
|
498
498
|
$grape: (
|
|
@@ -13,10 +13,109 @@
|
|
|
13
13
|
@use '@lucca-front/scss/src/commons/utils/container';
|
|
14
14
|
@use '@lucca-front/scss/src/components/title/exports' as title;
|
|
15
15
|
|
|
16
|
+
@mixin animated {
|
|
17
|
+
&FadeIn {
|
|
18
|
+
@extend %animatedFadeIn;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&ScaleIn {
|
|
22
|
+
@extend %animatedScaleIn;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&ScaleOut {
|
|
26
|
+
@extend %animatedScaleOut;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&ScaleInTop {
|
|
30
|
+
@extend %animatedScaleInTop;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&ScaleOutTop {
|
|
34
|
+
@extend %animatedScaleOutTop;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&ScaleInRight {
|
|
38
|
+
@extend %animatedScaleInRight;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&ScaleOutRight {
|
|
42
|
+
@extend %animatedScaleOutRight;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&ScaleInBottom {
|
|
46
|
+
@extend %animatedScaleInBottom;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&ScaleOutBottom {
|
|
50
|
+
@extend %animatedScaleOutBottom;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&ScaleInLeft {
|
|
54
|
+
@extend %animatedScaleInLeft;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&ScaleOutLeft {
|
|
58
|
+
@extend %animatedScaleOutLeft;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&SlideIn {
|
|
62
|
+
@extend %animatedSlideIn;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&SlideInTop {
|
|
66
|
+
@extend %animatedSlideInTop;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&SlideOut {
|
|
70
|
+
@extend %animatedSlideOut;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&SlideOutTop {
|
|
74
|
+
@extend %animatedSlideOutTop;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&SlideInRight {
|
|
78
|
+
@extend %animatedSlideInRight;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&SlideOutRight {
|
|
82
|
+
@extend %animatedSlideOutRight;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&SlideInBottom {
|
|
86
|
+
@extend %animatedSlideInBottom;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
&SlideOutBottom {
|
|
90
|
+
@extend %animatedSlideOutBottom;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&SlideInLeft {
|
|
94
|
+
@extend %animatedSlideInLeft;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&SlideOutLeft {
|
|
98
|
+
@extend %animatedSlideOutLeft;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&Shake {
|
|
102
|
+
@extend %animatedShake;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&Pulse {
|
|
106
|
+
@extend %animatedPulse;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
&FadeOut {
|
|
110
|
+
@extend %animatedFadeOut;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
16
114
|
@layer utils {
|
|
17
115
|
%animatedAll {
|
|
18
116
|
animation-duration: var(--commons-animations-duration, var(--commons-animations-durations-standard));
|
|
19
117
|
animation-timing-function: var(--commons-animations-function);
|
|
118
|
+
animation-fill-mode: both;
|
|
20
119
|
|
|
21
120
|
&.mod-animation-duration-fast {
|
|
22
121
|
--commons-animations-duration: var(--commons-animations-durations-fast);
|
|
@@ -46,7 +145,7 @@
|
|
|
46
145
|
&ScaleOutTop {
|
|
47
146
|
animation-name: scaleInTop;
|
|
48
147
|
|
|
49
|
-
@include keyframe.
|
|
148
|
+
@include keyframe.scaleInTop;
|
|
50
149
|
}
|
|
51
150
|
|
|
52
151
|
&ScaleInRight,
|
|
@@ -296,7 +395,7 @@
|
|
|
296
395
|
}
|
|
297
396
|
|
|
298
397
|
.pr-u-animated {
|
|
299
|
-
@
|
|
398
|
+
@include animated;
|
|
300
399
|
}
|
|
301
400
|
|
|
302
401
|
.pr-u-mask {
|
|
@@ -575,7 +674,7 @@
|
|
|
575
674
|
}
|
|
576
675
|
|
|
577
676
|
.u-animated {
|
|
578
|
-
@
|
|
677
|
+
@include animated;
|
|
579
678
|
}
|
|
580
679
|
|
|
581
680
|
.u-mask {
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
--components-appLayout-gridTemplate:
|
|
3
3
|
'banner banner' var(--commons-banner-height)
|
|
4
4
|
'navSide main ' 1fr
|
|
5
|
-
/ auto
|
|
5
|
+
/ auto 1fr;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
@mixin mobileNavSideBottom {
|
|
9
9
|
--components-appLayout-gridTemplate:
|
|
10
10
|
'banner ' var(--commons-banner-height)
|
|
11
|
-
'main'
|
|
11
|
+
'main' 1fr
|
|
12
12
|
'navSide' auto;
|
|
13
13
|
--components-appLayout-navSide-overflowX: visible;
|
|
14
14
|
--components-appLayout-navSide-overflowY: visible;
|
|
@@ -74,11 +74,9 @@
|
|
|
74
74
|
|
|
75
75
|
.avatarWrapper-item-action-more {
|
|
76
76
|
box-shadow: 0 0 0 var(--components-avatar-border) var(--components-avatar-background);
|
|
77
|
-
border-radius: var(--pr-t-border-radius-full);
|
|
78
77
|
display: flex;
|
|
79
78
|
align-items: center;
|
|
80
79
|
justify-content: center;
|
|
81
|
-
background-color: var(--palettes-neutral-200);
|
|
82
80
|
inline-size: var(--components-avatar-size);
|
|
83
81
|
block-size: var(--components-avatar-size);
|
|
84
82
|
font-size: var(--components-avatarWrapper-fontSize);
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
grid-template-areas: var(--components-dialog-insideHeaderAreas);
|
|
131
131
|
grid-template-columns: var(--components-dialog-insideHeaderColumns);
|
|
132
132
|
box-shadow: var(--components-dialog-inside-header-boxShadow);
|
|
133
|
-
gap: var(--pr-t-spacings-200);
|
|
133
|
+
gap: 0 var(--pr-t-spacings-200);
|
|
134
134
|
position: var(--components-dialog-inside-header-position);
|
|
135
135
|
z-index: 1;
|
|
136
136
|
grid-area: header;
|
|
@@ -142,6 +142,14 @@
|
|
|
142
142
|
inset-inline-end: var(--components-dialog-inside-header-button-insetInlineEnd);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
+
.dialog-inside-header-content {
|
|
146
|
+
grid-area: content;
|
|
147
|
+
|
|
148
|
+
&:empty {
|
|
149
|
+
display: none;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
145
153
|
.dialog-inside-content {
|
|
146
154
|
background-color: var(--components-dialog-insideContent-background);
|
|
147
155
|
padding-block: var(--components-dialog-insideContent-paddingBlock);
|
|
@@ -163,6 +171,12 @@
|
|
|
163
171
|
overflow-wrap: anywhere;
|
|
164
172
|
}
|
|
165
173
|
|
|
174
|
+
.dialog-inside-header-container-subtitle {
|
|
175
|
+
font: var(--pr-t-font-body-S);
|
|
176
|
+
color: var(--palettes-neutral-700);
|
|
177
|
+
text-align: var(--components-dialog-insideHeaderTitleAlign);
|
|
178
|
+
}
|
|
179
|
+
|
|
166
180
|
.dialog_backdrop {
|
|
167
181
|
background-color: var(--palettes-neutral-900);
|
|
168
182
|
position: fixed;
|
|
@@ -91,14 +91,16 @@
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
@mixin withAction {
|
|
94
|
-
--components-dialog-insideHeaderAreas:
|
|
94
|
+
--components-dialog-insideHeaderAreas:
|
|
95
|
+
'container action close'
|
|
96
|
+
'content content content';
|
|
95
97
|
--components-dialog-insideHeaderColumns: 1fr auto auto;
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
@mixin fancy {
|
|
99
101
|
// padding and minimum height are in pixels because they correspond to the size of the image
|
|
100
102
|
--components-dialog-inside-paddingInlineEnd: 224px;
|
|
101
|
-
--components-dialog-minBlockSize: calc(288px + var(--pr-t-spacings-
|
|
103
|
+
--components-dialog-minBlockSize: calc(288px + var(--pr-t-spacings-200));
|
|
102
104
|
--components-dialog-inside-gridTemplateRows: auto auto auto;
|
|
103
105
|
--components-dialog-inside-alignContent: center;
|
|
104
106
|
--components-dialog-inside-header-boxShadow: none;
|
|
@@ -132,7 +134,7 @@
|
|
|
132
134
|
@mixin fancySmall {
|
|
133
135
|
// padding and minimum height are in pixels because they correspond to the size of the image
|
|
134
136
|
--components-dialog-inside-paddingInlineEnd: 168px;
|
|
135
|
-
--components-dialog-minBlockSize: calc(216px + var(--pr-t-spacings-
|
|
137
|
+
--components-dialog-minBlockSize: calc(216px + var(--pr-t-spacings-200));
|
|
136
138
|
}
|
|
137
139
|
|
|
138
140
|
@mixin fancyNarrow {
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
--components-dialog-borderRadius: var(--pr-t-border-radius-structure);
|
|
9
9
|
--components-dialog-inset: 0 var(--commons-pushPanel-inlineSize) 0 0;
|
|
10
10
|
--components-dialog-animationOpening: scaleIn;
|
|
11
|
-
--components-dialog-insideHeaderAreas:
|
|
11
|
+
--components-dialog-insideHeaderAreas:
|
|
12
|
+
'container close'
|
|
13
|
+
'content content';
|
|
12
14
|
--components-dialog-insideHeaderTitleAlign: left;
|
|
13
15
|
--components-dialog-insideHeaderTitlePadding: calc(var(--pr-t-spacings-50) / 2) 0;
|
|
14
16
|
--components-dialog-insideHeaderButtonDisplay: flex;
|
|
@@ -37,11 +37,13 @@
|
|
|
37
37
|
gap: var(--components-fieldset-gap);
|
|
38
38
|
max-inline-size: var(--components-fieldset-contentMaxWidth);
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
&[aria-expanded] {
|
|
41
|
+
.icon-arrowChevronBottom {
|
|
42
|
+
transform: rotate(var(--components-fieldset-title-iconRotation));
|
|
43
|
+
transition-property: transform;
|
|
44
|
+
transition-duration: var(--commons-animations-durations-fast);
|
|
45
|
+
color: var(--palettes-neutral-700);
|
|
46
|
+
}
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
|
|
@@ -3,10 +3,17 @@
|
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
@mixin disabled {
|
|
6
|
-
|
|
7
6
|
--components-inputFramed-header-borderColor: var(--palettes-neutral-50);
|
|
8
7
|
--components-inputFramed-borderColor: var(--palettes-neutral-300);
|
|
9
8
|
--components-inputFramed-header-info-color: var(--pr-t-color-input-text-disabled);
|
|
9
|
+
|
|
10
|
+
.inputFramed-header-label {
|
|
11
|
+
--components-formLabel-color: var(--pr-t-color-text-disabled);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.inlineMessage {
|
|
15
|
+
--components-inlineMessage-color: var(--pr-t-color-text-disabled);
|
|
16
|
+
}
|
|
10
17
|
}
|
|
11
18
|
|
|
12
19
|
@mixin checked {
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
--components-listboxOption-content-insetBlockStart: var(--pr-t-spacings-50);
|
|
29
29
|
--components-listboxOption-content-boxShadow:
|
|
30
30
|
calc(var(--pr-t-spacings-100) * -1) 0 0 0 var(--pr-t-elevation-surface-raised),
|
|
31
|
-
calc(var(--pr-t-spacings-100) * 1)
|
|
31
|
+
calc(var(--pr-t-spacings-100) * 1) 0 0 0 var(--pr-t-elevation-surface-raised),
|
|
32
32
|
calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1) 0 0 var(--pr-t-elevation-surface-raised),
|
|
33
|
-
calc(var(--pr-t-spacings-100) * 1)
|
|
33
|
+
calc(var(--pr-t-spacings-100) * 1) calc(var(--pr-t-spacings-100) * -1) 0 0 var(--pr-t-elevation-surface-raised);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
.listboxOptionWrapper {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
--components-listboxOption-content-fontWeight: var(--pr-t-font-fontWeight-semibold);
|
|
49
49
|
--components-listboxOption-content-marginBlockStart: var(--pr-t-spacings-100);
|
|
50
50
|
--components-listboxOption-content-boxShadow:
|
|
51
|
-
calc(var(--pr-t-spacings-50) * 1)
|
|
51
|
+
calc(var(--pr-t-spacings-50) * 1) 0 0 var(--pr-t-spacings-50) var(--pr-t-elevation-surface-raised),
|
|
52
52
|
calc(var(--pr-t-spacings-50) * -1) 0 0 var(--pr-t-spacings-50) var(--pr-t-elevation-surface-raised);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
--components-resourceCard-layout-header-alignItems: start;
|
|
14
14
|
--components-resourceCard-layout-header-flexDirection: column;
|
|
15
15
|
--components-resourceCard-layout-gridTemplate:
|
|
16
|
-
'before header after'
|
|
16
|
+
'before header after' auto
|
|
17
17
|
'content content content' auto
|
|
18
|
-
/auto
|
|
18
|
+
/auto 1fr auto;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
@mixin wrapped {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
@mixin hasNoContentHasIllustrationNoGrid {
|
|
45
45
|
--components-resourceCard-layout-alignItems: center;
|
|
46
46
|
--components-resourceCard-layout-gridTemplate:
|
|
47
|
-
'before header after'
|
|
48
|
-
/auto
|
|
47
|
+
'before header after' 1fr
|
|
48
|
+
/auto 1fr auto;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
@mixin hasContentNoGridHasIllustration {
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
border-style: solid;
|
|
13
13
|
border-width: 1px;
|
|
14
14
|
border-radius: var(--pr-t-border-radius-input);
|
|
15
|
+
overflow: auto;
|
|
15
16
|
|
|
16
17
|
&:has(.richTextField-toolbar-formatting):has(.richTextField-toolbar-chips) {
|
|
17
18
|
min-block-size: calc(var(--components-richTextField-minHeight) + var(--pr-t-spacings-800) + var(--pr-t-spacings-25) + var(--pr-t-spacings-600));
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
|
|
86
86
|
&:hover {
|
|
87
87
|
--components-segmentedControl-shadow:
|
|
88
|
-
0 0 0 var(--commons-divider-width) var(--palettes-product-400),
|
|
88
|
+
0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-product-400)),
|
|
89
89
|
var(--pr-t-elevation-shadow-raised);
|
|
90
90
|
--components-segmentedControl-zIndex: 1;
|
|
91
91
|
}
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
&:active {
|
|
94
94
|
--components-segmentedControl-background: var(--palettes-neutral-0);
|
|
95
95
|
--components-segmentedControl-shadow:
|
|
96
|
-
0 0 0 var(--commons-divider-width) var(--palettes-product-500),
|
|
96
|
+
0 0 0 var(--commons-divider-width) var(--palettes-500, var(--palettes-product-500)),
|
|
97
97
|
var(--pr-t-elevation-shadow-raised);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
@use '@lucca-front/scss/src/components/numericBadge/exports' as numericBadge;
|
|
2
2
|
|
|
3
3
|
@mixin selected {
|
|
4
|
-
--components-segmentedControl-background: var(--palettes-product-50);
|
|
5
|
-
--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500);
|
|
6
|
-
--components-segmentedControl-color: var(--palettes-product-800);
|
|
4
|
+
--components-segmentedControl-background: var(--palettes-50, var(--palettes-product-50));
|
|
5
|
+
--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-500, var(--palettes-product-500));
|
|
6
|
+
--components-segmentedControl-color: var(--palettes-800, var(--palettes-product-800));
|
|
7
7
|
--components-segmentedControl-cursor: default;
|
|
8
8
|
--components-segmentedControl-backgroundContent: none;
|
|
9
9
|
--components-segmentedControl-zIndex: 1;
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
@include numericBadge.inherit;
|
|
13
13
|
|
|
14
14
|
&.is-loading {
|
|
15
|
-
|
|
16
|
-
--components-numericBadge-loadingColor: var(--palettes-product-500);
|
|
15
|
+
--components-numericBadge-loadingColor: var(--palettes-500, var(--palettes-product-500));
|
|
17
16
|
--components-numericBadge-color: transparent;
|
|
18
17
|
}
|
|
19
18
|
}
|
|
@@ -29,7 +28,6 @@
|
|
|
29
28
|
@include numericBadge.disabled;
|
|
30
29
|
|
|
31
30
|
&.is-loading {
|
|
32
|
-
// Might be deletable after layers implementation
|
|
33
31
|
--components-numericBadge-color: transparent;
|
|
34
32
|
}
|
|
35
33
|
}
|
|
@@ -1,17 +1,79 @@
|
|
|
1
1
|
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
2
|
+
@use '@lucca-front/scss/src/commons/utils/reset';
|
|
3
|
+
@use '@lucca-front/scss/src/commons/utils/a11y';
|
|
2
4
|
|
|
3
5
|
@mixin component($atRoot: namespace.$defaultAtRoot) {
|
|
4
|
-
display:
|
|
6
|
+
display: var(--components-softwareIcon-display);
|
|
5
7
|
inline-size: var(--components-softwareIcon-size);
|
|
6
8
|
block-size: var(--components-softwareIcon-size);
|
|
9
|
+
z-index: var(--components-softwareIcon-zIndex);
|
|
10
|
+
position: relative;
|
|
11
|
+
transform: scale(var(--components-softwareIcon-transformScale));
|
|
12
|
+
transition-property: transform;
|
|
13
|
+
transition-duration: var(--commons-animations-durations-fast);
|
|
7
14
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
inline-size: 100%;
|
|
11
|
-
block-size: 100%;
|
|
15
|
+
&:focus-visible {
|
|
16
|
+
outline: none;
|
|
12
17
|
}
|
|
13
18
|
|
|
14
19
|
@at-root ($atRoot) {
|
|
20
|
+
.softwareIcon-illustration {
|
|
21
|
+
overflow: visible;
|
|
22
|
+
}
|
|
15
23
|
|
|
24
|
+
.softwareIcon-illustration-bubble {
|
|
25
|
+
stroke: var(--components-softwareIcon-illustration-bubble-stroke);
|
|
26
|
+
stroke-width: var(--components-softwareIcon-illustration-bubble-strokeWidth);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.softwareIconWrapper {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-wrap: wrap;
|
|
32
|
+
align-items: center;
|
|
33
|
+
gap: var(--pr-t-spacings-25) 0;
|
|
34
|
+
padding-inline-start: calc(var(--components-softwareIconWrapper-list-item-marginInlineStart) * -1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.softwareIconWrapper-list {
|
|
38
|
+
@include reset.list;
|
|
39
|
+
|
|
40
|
+
display: contents;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.softwareIconWrapper-list-item {
|
|
44
|
+
margin-inline-start: var(--components-softwareIconWrapper-list-item-marginInlineStart);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.softwareIconWrapper-action {
|
|
48
|
+
@include reset.button;
|
|
49
|
+
|
|
50
|
+
border-radius: 68% 35% 45% 55% / 40% 40% 64% 60%;
|
|
51
|
+
background-color: var(--palettes-neutral-200);
|
|
52
|
+
inline-size: var(--components-softwareIcon-size);
|
|
53
|
+
block-size: var(--components-softwareIcon-size);
|
|
54
|
+
transform: scale(var(--components-softwareIcon-transformScale));
|
|
55
|
+
transition-property: transform;
|
|
56
|
+
transition-duration: var(--commons-animations-durations-fast);
|
|
57
|
+
box-shadow: 0 0 0 var(--components-softwareIcon-action-boxShadowSpread) var(--palettes-neutral-0);
|
|
58
|
+
margin-inline-start: var(--components-softwareIconWrapper-list-item-marginInlineStart);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.softwareIconWrapper-action-more {
|
|
62
|
+
display: grid;
|
|
63
|
+
place-items: center;
|
|
64
|
+
font-family: var(--pr-t-font-family-brand);
|
|
65
|
+
font-size: var(--components-softwareIconWrapper-action-more-fontSize);
|
|
66
|
+
font-weight: var(--pr-t-font-fontWeight-semibold);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.softwareIconWrapper_popover {
|
|
70
|
+
@include reset.list;
|
|
71
|
+
|
|
72
|
+
display: grid;
|
|
73
|
+
max-inline-size: calc((var(--components-softwareIcon-size) * 8) + (var(--pr-t-spacings-50) * 7));
|
|
74
|
+
box-sizing: content-box;
|
|
75
|
+
gap: var(--pr-t-spacings-50);
|
|
76
|
+
grid-template-columns: repeat(auto-fit, minmax(var(--components-softwareIcon-size), 1fr));
|
|
77
|
+
}
|
|
16
78
|
}
|
|
17
79
|
}
|
|
@@ -28,3 +28,61 @@
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
.softwareIconWrapper {
|
|
33
|
+
@layer components {
|
|
34
|
+
@include varsWrapper;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@layer mods {
|
|
38
|
+
&.mod-XS {
|
|
39
|
+
@include wrapperXS;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&.mod-S {
|
|
43
|
+
@include wrapperS;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.softwareIcon,
|
|
47
|
+
.softwareIconWrapper-action {
|
|
48
|
+
@include insideWrapper;
|
|
49
|
+
|
|
50
|
+
&:hover,
|
|
51
|
+
&:focus {
|
|
52
|
+
@include insideWrapperHover;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.softwareIconWrapper_popover {
|
|
59
|
+
@layer components {
|
|
60
|
+
@include varsPopover;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@layer mods {
|
|
64
|
+
.softwareIcon,
|
|
65
|
+
.softwareIconWrapper-action {
|
|
66
|
+
@include block;
|
|
67
|
+
|
|
68
|
+
&:hover,
|
|
69
|
+
&:focus {
|
|
70
|
+
@include insideWrapperHover;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&.mod-XS {
|
|
75
|
+
&,
|
|
76
|
+
.softwareIcon {
|
|
77
|
+
@include XS;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&.mod-S {
|
|
82
|
+
&,
|
|
83
|
+
.softwareIcon {
|
|
84
|
+
@include S;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -13,3 +13,35 @@
|
|
|
13
13
|
@mixin L {
|
|
14
14
|
--components-softwareIcon-size: var(--pr-t-spacings-600);
|
|
15
15
|
}
|
|
16
|
+
|
|
17
|
+
@mixin wrapperXS {
|
|
18
|
+
--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-150);
|
|
19
|
+
--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1);
|
|
20
|
+
--components-softwareIcon-action-boxShadowSpread: 1px;
|
|
21
|
+
|
|
22
|
+
&,
|
|
23
|
+
.softwareIcon {
|
|
24
|
+
@include XS;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@mixin wrapperS {
|
|
29
|
+
--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-200);
|
|
30
|
+
--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1);
|
|
31
|
+
|
|
32
|
+
&,
|
|
33
|
+
.softwareIcon {
|
|
34
|
+
@include S;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@mixin insideWrapper {
|
|
39
|
+
--components-softwareIcon-illustration-bubble-stroke: var(--palettes-neutral-0);
|
|
40
|
+
--components-softwareIcon-illustration-bubble-strokeWidth: 4px;
|
|
41
|
+
|
|
42
|
+
@include block;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@mixin block {
|
|
46
|
+
--components-softwareIcon-display: block;
|
|
47
|
+
}
|
|
@@ -6,3 +6,8 @@
|
|
|
6
6
|
--components-softwareIcon-disabled-500: var(--palettes-neutral-500);
|
|
7
7
|
--components-softwareIcon-disabled-600: var(--palettes-neutral-600);
|
|
8
8
|
}
|
|
9
|
+
|
|
10
|
+
@mixin insideWrapperHover {
|
|
11
|
+
--components-softwareIcon-transformScale: 1.1;
|
|
12
|
+
--components-softwareIcon-zIndex: 1;
|
|
13
|
+
}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
@mixin vars {
|
|
2
2
|
--components-softwareIcon-size: var(--pr-t-spacings-500);
|
|
3
|
+
--components-softwareIcon-illustration-bubble-stroke: transparent;
|
|
4
|
+
--components-softwareIcon-illustration-bubble-strokeWidth: 0px;
|
|
5
|
+
--components-softwareIcon-display: inline-block;
|
|
6
|
+
--components-softwareIcon-action-boxShadowSpread: 2px;
|
|
7
|
+
--components-softwareIcon-zIndex: auto;
|
|
8
|
+
--components-softwareIcon-transformScale: 1;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@mixin varsWrapper {
|
|
12
|
+
@include vars;
|
|
13
|
+
|
|
14
|
+
--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-75) * -1);
|
|
15
|
+
--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-225);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@mixin varsPopover {
|
|
19
|
+
--components-softwareIcon-size: var(--pr-t-spacings-500);
|
|
3
20
|
}
|