@lucca-front/scss 21.0.0-rc.8 → 21.0.1
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 +2 -2
- package/src/commons/utils/index.scss +8 -0
- package/src/components/button/index.scss +6 -0
- package/src/components/button/mods.scss +22 -1
- package/src/components/button/vars.scss +1 -0
- package/src/components/checkboxField/component.scss +1 -3
- package/src/components/dataTable/index.scss +9 -4
- package/src/components/fancyBox/mods.scss +0 -1
- package/src/components/fancyBox/vars.scss +1 -1
- package/src/components/filterPill/component.scss +1 -3
- package/src/components/index.scss +1 -0
- package/src/components/resourceCard/component.scss +140 -0
- package/src/components/resourceCard/exports.scss +4 -0
- package/src/components/resourceCard/index.scss +104 -0
- package/src/components/resourceCard/mods.scss +89 -0
- package/src/components/resourceCard/states.scss +28 -0
- package/src/components/resourceCard/vars.scss +34 -0
- package/src/components/statusBadge/component.scss +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucca-front/scss",
|
|
3
|
-
"version": "21.0.
|
|
3
|
+
"version": "21.0.1",
|
|
4
4
|
"description": "A Sass framework for Lucca products.",
|
|
5
5
|
"main": "src/main.scss",
|
|
6
6
|
"scripts": {},
|
|
@@ -23,6 +23,6 @@
|
|
|
23
23
|
"normalize.css": "^8.0.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@lucca-front/icons": "21.0.
|
|
26
|
+
"@lucca-front/icons": "21.0.1"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -274,6 +274,10 @@
|
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
+
%placeItemsCenter {
|
|
278
|
+
place-items: center;
|
|
279
|
+
}
|
|
280
|
+
|
|
277
281
|
|
|
278
282
|
|
|
279
283
|
[data-content-before] {
|
|
@@ -438,6 +442,10 @@
|
|
|
438
442
|
@extend %focusVisible;
|
|
439
443
|
}
|
|
440
444
|
|
|
445
|
+
.pr-u-placeItemsCenter {
|
|
446
|
+
@extend %placeItemsCenter;
|
|
447
|
+
}
|
|
448
|
+
|
|
441
449
|
@include core.classes('float', core.$float);
|
|
442
450
|
@include core.classes('vertical-align', core.$verticalAlign);
|
|
443
451
|
@include core.classes('white-space', core.$whiteSpace);
|
|
@@ -8,8 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
@layer mods {
|
|
10
10
|
&.mod-AI {
|
|
11
|
+
&:not(.invert) {
|
|
11
12
|
@include AI;
|
|
12
13
|
|
|
14
|
+
&.mod-invert {
|
|
15
|
+
@include invertIA;
|
|
16
|
+
}
|
|
17
|
+
|
|
13
18
|
&.is-success {
|
|
14
19
|
@include successAI;
|
|
15
20
|
}
|
|
@@ -17,6 +22,7 @@
|
|
|
17
22
|
&.is-loading {
|
|
18
23
|
@include loadingAI;
|
|
19
24
|
}
|
|
25
|
+
}
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
&.mod-block {
|
|
@@ -253,8 +253,29 @@
|
|
|
253
253
|
&:not(:disabled) {
|
|
254
254
|
@include color.borderGradient(135deg, var(--palettes-brand-400), var(--palettes-AI-500));
|
|
255
255
|
|
|
256
|
-
.lucca-icon {
|
|
256
|
+
&:not(.mod-invert) .lucca-icon {
|
|
257
257
|
@include icons.AI;
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
|
+
|
|
262
|
+
@mixin invertIA {
|
|
263
|
+
--components-button-backgroundColor: transparent;
|
|
264
|
+
--components-button-color: var(--palettes-neutral-0);
|
|
265
|
+
|
|
266
|
+
background-image: linear-gradient(
|
|
267
|
+
-135deg,
|
|
268
|
+
color-mix(in srgb, var(--palettes-AI-500) var(--components-button-AI-background-opacity), transparent),
|
|
269
|
+
color-mix(in srgb, var(--palettes-brand-400) var(--components-button-AI-background-opacity), transparent)
|
|
270
|
+
);
|
|
271
|
+
|
|
272
|
+
&:hover,
|
|
273
|
+
&:focus-visible {
|
|
274
|
+
--components-button-AI-background-opacity: 15%;
|
|
275
|
+
--components-button-color: var(--palettes-neutral-0);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
&:active {
|
|
279
|
+
--components-button-AI-background-opacity: 5%;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));
|
|
20
20
|
--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));
|
|
21
21
|
--components-button-arrow-transform: none;
|
|
22
|
+
--components-button-AI-background-opacity: 25%;
|
|
22
23
|
|
|
23
24
|
// Deprecated
|
|
24
25
|
--components-button-font-size: var(--pr-t-font-body-M-fontSize);
|
|
@@ -56,9 +56,7 @@
|
|
|
56
56
|
font-weight: var(--pr-t-font-fontWeight-regular);
|
|
57
57
|
font-size: var(--component-checkboxField-icon-fontSize);
|
|
58
58
|
direction: ltr;
|
|
59
|
-
|
|
60
|
-
// stylelint-disable-next-line font-family-no-missing-generic-family-keyword -- This font is for icons and should not have fallback.
|
|
61
|
-
font-family: 'Lucca icons';
|
|
59
|
+
font-family: var(--icon-fontFamily);
|
|
62
60
|
font-feature-settings: 'liga';
|
|
63
61
|
font-style: normal;
|
|
64
62
|
letter-spacing: normal;
|
|
@@ -79,10 +79,6 @@
|
|
|
79
79
|
&:has([selectable]),
|
|
80
80
|
&.mod-selectable {
|
|
81
81
|
@include selectable;
|
|
82
|
-
|
|
83
|
-
&:has(input:checked) {
|
|
84
|
-
@include selected;
|
|
85
|
-
}
|
|
86
82
|
}
|
|
87
83
|
|
|
88
84
|
&.mod-draggable {
|
|
@@ -95,6 +91,15 @@
|
|
|
95
91
|
}
|
|
96
92
|
}
|
|
97
93
|
|
|
94
|
+
:is(.dataTable-body-row, .dataTable-foot-row) {
|
|
95
|
+
&:has([selectable]),
|
|
96
|
+
&.mod-selectable {
|
|
97
|
+
&:has(input:checked) {
|
|
98
|
+
@include selected;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
98
103
|
:is(.dataTable-head-row-cell, .dataTable-body-row-cell, .dataTable-foot-row-cell) {
|
|
99
104
|
&.mod-actions {
|
|
100
105
|
@include actions;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
--components-fancyBox-marginInline: auto;
|
|
4
4
|
|
|
5
5
|
// Content
|
|
6
|
-
--components-fancyBox-contentMinBlockSize:
|
|
6
|
+
--components-fancyBox-contentMinBlockSize: 7rem;
|
|
7
7
|
--components-fancyBox-contentMinInlineSize: min(22rem, 100%);
|
|
8
8
|
--components-fancyBox-contentPaddingBlock: var(--pr-t-spacings-300);
|
|
9
9
|
--components-fancyBox-contentPaddingInline: var(--pr-t-spacings-700);
|
|
@@ -181,9 +181,7 @@
|
|
|
181
181
|
font-weight: var(--pr-t-font-fontWeight-regular);
|
|
182
182
|
font-size: 1rem;
|
|
183
183
|
direction: ltr;
|
|
184
|
-
|
|
185
|
-
// stylelint-disable-next-line font-family-no-missing-generic-family-keyword -- This font is for icons and should not have fallback.
|
|
186
|
-
font-family: 'Lucca icons';
|
|
184
|
+
font-family: var(--icon-fontFamily);
|
|
187
185
|
font-feature-settings: 'liga';
|
|
188
186
|
font-style: normal;
|
|
189
187
|
letter-spacing: normal;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
2
|
+
@use '@lucca-front/scss/src/commons/utils/reset';
|
|
3
|
+
|
|
4
|
+
@mixin component($atRoot: namespace.$defaultAtRoot) {
|
|
5
|
+
border-radius: var(--components-resourceCard-borderRadius);
|
|
6
|
+
position: relative;
|
|
7
|
+
color: var(--components-resourceCard-color);
|
|
8
|
+
display: block;
|
|
9
|
+
align-self: stretch;
|
|
10
|
+
justify-self: stretch;
|
|
11
|
+
|
|
12
|
+
&::before {
|
|
13
|
+
content: '';
|
|
14
|
+
position: absolute;
|
|
15
|
+
inset: var(--components-resourceCard-before-inset);
|
|
16
|
+
background-color: var(--pr-t-elevation-surface-raised);
|
|
17
|
+
box-shadow: var(--components-resourceCard-before-boxShadow);
|
|
18
|
+
border-radius: var(--components-resourceCard-borderRadius);
|
|
19
|
+
transition-duration: var(--commons-animations-durations-fast);
|
|
20
|
+
transition-property: inset, box-shadow;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@at-root ($atRoot) {
|
|
24
|
+
.resourceCardWrapper {
|
|
25
|
+
grid-template-columns: repeat(auto-fill, minmax(var(--components-resourceCardWrapper-gridTemplateColumnsMin), 1fr));
|
|
26
|
+
display: var(--components-resourceCardWrapper-display);
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
gap: var(--pr-t-spacings-100);
|
|
29
|
+
background-color: var(--pr-t-elevation-surface-sunken);
|
|
30
|
+
padding: var(--pr-t-spacings-100);
|
|
31
|
+
border-radius: var(--components-resourceCardWrapper-borderRadius);
|
|
32
|
+
align-items: start;
|
|
33
|
+
justify-items: start;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.resourceCard-layout {
|
|
37
|
+
isolation: isolate;
|
|
38
|
+
padding: var(--pr-t-spacings-100);
|
|
39
|
+
display: grid;
|
|
40
|
+
grid-template: var(--components-resourceCard-layout-gridTemplate);
|
|
41
|
+
align-items: var(--components-resourceCard-layout-alignItems);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.resourceCard-layout-header {
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: var(--components-resourceCard-layout-header-alignItems);
|
|
47
|
+
flex-direction: var(--components-resourceCard-layout-header-flexDirection);
|
|
48
|
+
gap: var(--pr-t-spacings-50) var(--pr-t-spacings-100);
|
|
49
|
+
grid-area: header;
|
|
50
|
+
padding-block-start: var(--components-resourceCard-layout-header-paddingBlockStart);
|
|
51
|
+
padding-block-end: var(--components-resourceCard-layout-header-paddingBlockEnd);
|
|
52
|
+
padding-inline: var(--pr-t-spacings-100);
|
|
53
|
+
min-inline-size: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.resourceCard-layout-header-infos {
|
|
57
|
+
display: flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
gap: var(--pr-t-spacings-100);
|
|
60
|
+
|
|
61
|
+
&:empty {
|
|
62
|
+
display: none;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.resourceCard-layout-header-title {
|
|
67
|
+
font: var(--components-resourceCard-layout-header-title-font);
|
|
68
|
+
display: flex;
|
|
69
|
+
gap: var(--pr-t-spacings-100);
|
|
70
|
+
align-items: center;
|
|
71
|
+
min-inline-size: 0;
|
|
72
|
+
max-inline-size: 100%;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.resourceCard-layout-header-title-action {
|
|
76
|
+
@include reset.button;
|
|
77
|
+
|
|
78
|
+
color: var(--components-resourceCard-layout-header-title-action-color);
|
|
79
|
+
text-decoration: none;
|
|
80
|
+
outline: none;
|
|
81
|
+
cursor: var(--components-resourceCard-layout-header-title-action-cursor);
|
|
82
|
+
overflow: hidden;
|
|
83
|
+
white-space: nowrap;
|
|
84
|
+
text-overflow: ellipsis;
|
|
85
|
+
|
|
86
|
+
&::after {
|
|
87
|
+
content: '';
|
|
88
|
+
position: absolute;
|
|
89
|
+
inset: var(--components-resourceCard-layout-header-title-action-after-inset);
|
|
90
|
+
border-radius: var(--components-resourceCard-borderRadius);
|
|
91
|
+
transition-duration: var(--commons-animations-durations-fast);
|
|
92
|
+
transition-property: inset;
|
|
93
|
+
z-index: 1;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.resourceCard-layout-before {
|
|
98
|
+
grid-area: before;
|
|
99
|
+
display: flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.resourceCard-layout-before-illustration {
|
|
104
|
+
&:not(:empty) {
|
|
105
|
+
min-block-size: var(--components-resourceCard-layout-before-illustration-minSize);
|
|
106
|
+
min-inline-size: var(--components-resourceCard-layout-before-illustration-minSize);
|
|
107
|
+
margin: var(--pr-t-spacings-100) var(--pr-t-spacings-50) var(--pr-t-spacings-100) var(--pr-t-spacings-100);
|
|
108
|
+
display: grid;
|
|
109
|
+
place-items: center;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&:empty {
|
|
113
|
+
display: none;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.resourceCard-layout-after {
|
|
118
|
+
grid-area: after;
|
|
119
|
+
margin-block: var(--components-resourceCard-layout-after-marginBlock);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.resourceCard-layout-content {
|
|
123
|
+
grid-area: content;
|
|
124
|
+
font: var(--components-resourceCard-layout-content-font);
|
|
125
|
+
|
|
126
|
+
&:not(:empty) {
|
|
127
|
+
padding: var(--components-resourceCard-layout-content-paddingBlockStart) var(--pr-t-spacings-100) var(--pr-t-spacings-50);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.resourceCard-layout-content a,
|
|
132
|
+
.resourceCard-layout-content button,
|
|
133
|
+
.resourceCard-layout-content [tabindex],
|
|
134
|
+
.resourceCard-layout-before-button,
|
|
135
|
+
.resourceCard-layout-after {
|
|
136
|
+
position: relative;
|
|
137
|
+
z-index: 2;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
@use 'exports' as *;
|
|
2
|
+
|
|
3
|
+
.resourceCard {
|
|
4
|
+
@layer components {
|
|
5
|
+
@include vars;
|
|
6
|
+
@include component;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@layer mods {
|
|
10
|
+
&:hover {
|
|
11
|
+
@include hover;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&:has(.resourceCard-layout-header-title-action:focus-visible) {
|
|
15
|
+
@include focusVisible;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&:has(.resourceCard-layout-header-title-action:active) {
|
|
19
|
+
@include active;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&:has(.resourceCard-layout-header-title-action.is-disabled),
|
|
23
|
+
&:has(.resourceCard-layout-header-title-action:disabled) {
|
|
24
|
+
@include disabled;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&:has(.resourceCard-layout-before-button) {
|
|
28
|
+
@include hasDrag;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&:has(.resourceCard-layout-header-title .numericBadge) {
|
|
32
|
+
@include hasNumericBadge;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&:has(.resourceCard-layout-content:not(:empty)) {
|
|
36
|
+
&:not(.mod-grid),
|
|
37
|
+
&:not(.resourceCardWrapper.mod-grid &) {
|
|
38
|
+
@include hasContentNoGrid;
|
|
39
|
+
|
|
40
|
+
&:has(.resourceCard-layout-before-illustration:not(:empty)) {
|
|
41
|
+
@include hasContentNoGridHasIllustration;
|
|
42
|
+
|
|
43
|
+
&.mod-S {
|
|
44
|
+
@include hasContentNoGridHasIllustrationS;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&:has(.resourceCard-layout-content:empty),
|
|
51
|
+
&:not(:has(.resourceCard-layout-content)) {
|
|
52
|
+
&:has(.resourceCard-layout-before-illustration:not(:empty)) {
|
|
53
|
+
&:not(.mod-grid),
|
|
54
|
+
.resourceCardWrapper.mod-grid & {
|
|
55
|
+
@include hasNoContentHasIllustrationNoGrid;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:has(.resourceCard-layout-after:not(:empty)) {
|
|
61
|
+
@include hasAction;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&:has(.resourceCard-layout-before-illustration:not(:empty)) {
|
|
65
|
+
&.mod-grid,
|
|
66
|
+
.resourceCardWrapper.mod-grid & {
|
|
67
|
+
@include hasIllustrationGrid;
|
|
68
|
+
|
|
69
|
+
&.mod-S {
|
|
70
|
+
@include hasIllustrationGridS;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&.mod-S {
|
|
76
|
+
@include S;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&.mod-grid,
|
|
80
|
+
.resourceCardWrapper.mod-grid & {
|
|
81
|
+
@include grid;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.resourceCardWrapper {
|
|
87
|
+
@layer components {
|
|
88
|
+
@include varsWrapper;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@layer mods {
|
|
92
|
+
.resourceCard {
|
|
93
|
+
@include wrapped;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&.mod-grid {
|
|
97
|
+
@include gridWrapper;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&:has(> .button) {
|
|
101
|
+
@include add;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
@use '@lucca-front/scss/src/commons/utils/color';
|
|
2
|
+
@use '@lucca-front/scss/src/components/button/exports' as button;
|
|
3
|
+
@use '@lucca-front/scss/src/components/numericBadge/exports' as numericBadge;
|
|
4
|
+
|
|
5
|
+
@mixin gridWrapper {
|
|
6
|
+
--components-resourceCardWrapper-display: grid;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@mixin grid {
|
|
10
|
+
--components-resourceCard-layout-content-paddingBlockStart: var(--pr-t-spacings-50);
|
|
11
|
+
--components-resourceCard-layout-header-alignItems: start;
|
|
12
|
+
--components-resourceCard-layout-header-flexDirection: column;
|
|
13
|
+
--components-resourceCard-layout-gridTemplate: "before header after" auto
|
|
14
|
+
"content content content" auto
|
|
15
|
+
/auto 1fr auto;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@mixin wrapped {
|
|
19
|
+
--components-resourceCard-borderRadius: var(--pr-t-border-radius-default);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@mixin S {
|
|
23
|
+
--components-resourceCard-layout-content-font: var(--pr-t-font-body-S);
|
|
24
|
+
--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-4);
|
|
25
|
+
--components-resourceCard-layout-before-illustration-minSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@mixin hasIllustrationGridS {
|
|
29
|
+
--components-resourceCard-layout-header-paddingBlockStart: 0;
|
|
30
|
+
--components-resourceCard-layout-header-paddingBlockEnd: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@mixin hasNoContentHasIllustrationNoGrid {
|
|
34
|
+
--components-resourceCard-layout-alignItems: center;
|
|
35
|
+
--components-resourceCard-layout-gridTemplate: "before header after" 1fr
|
|
36
|
+
/auto 1fr auto;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@mixin hasContentNoGridHasIllustration {
|
|
40
|
+
--components-resourceCard-layout-after-marginBlock: var(--pr-t-spacings-150);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@mixin hasIllustrationGrid {
|
|
44
|
+
--components-resourceCard-layout-alignItems: center;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@mixin hasContentNoGridHasIllustrationS {
|
|
48
|
+
--components-resourceCard-layout-after-marginBlock: 0.625rem;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@mixin hasContentNoGrid {
|
|
52
|
+
--components-resourceCard-layout-header-paddingBlockEnd: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@mixin hasAction {
|
|
56
|
+
.resourceCard-layout-after .button {
|
|
57
|
+
@include button.S;
|
|
58
|
+
@include button.ghost;
|
|
59
|
+
|
|
60
|
+
&:has(> lu-icon:only-child, > .lucca-icon:only-child, > .lucca-icon:first-child + .pr-u-mask:last-child) {
|
|
61
|
+
@include button.onlyIcon;
|
|
62
|
+
@include button.onlyIconS;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@mixin hasDrag {
|
|
68
|
+
.resourceCard-layout-before-button.button {
|
|
69
|
+
@include button.S;
|
|
70
|
+
@include button.ghost;
|
|
71
|
+
@include button.onlyIcon;
|
|
72
|
+
@include button.onlyIconS;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@mixin hasNumericBadge {
|
|
77
|
+
.resourceCard-layout-header-title {
|
|
78
|
+
.numericBadge {
|
|
79
|
+
@include numericBadge.S;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@mixin add {
|
|
85
|
+
> .button {
|
|
86
|
+
@include button.outlined;
|
|
87
|
+
@include color.palette('product');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@use '@lucca-front/scss/src/components/button/exports' as button;
|
|
2
|
+
@use '@lucca-front/scss/src/commons/utils/a11y';
|
|
3
|
+
|
|
4
|
+
@mixin hover {
|
|
5
|
+
--components-resourceCard-before-inset: -4px;
|
|
6
|
+
--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-overlay);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@mixin focusVisible {
|
|
10
|
+
.resourceCard-layout-header-title-action {
|
|
11
|
+
&::after {
|
|
12
|
+
@include a11y.focusVisible;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@mixin disabled {
|
|
18
|
+
--components-resourceCard-layout-header-title-action-cursor: default;
|
|
19
|
+
--components-resourceCard-before-inset: 0;
|
|
20
|
+
--components-resourceCard-color: var(--palettes-neutral-500);
|
|
21
|
+
--components-resourceCard-layout-header-title-action-color: var(--palettes-neutral-500);
|
|
22
|
+
--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-neutral-50);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@mixin active {
|
|
26
|
+
--components-resourceCard-layout-header-title-action-color: var(--palettes-product-700);
|
|
27
|
+
--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-product-400);
|
|
28
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@mixin vars {
|
|
2
|
+
--components-resourceCard-color: inherit;
|
|
3
|
+
--components-resourceCard-borderRadius: var(--pr-t-border-radius-structure);
|
|
4
|
+
|
|
5
|
+
--components-resourceCard-before-inset: 0;
|
|
6
|
+
--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-raised);
|
|
7
|
+
|
|
8
|
+
--components-resourceCard-layout-alignItems: start;
|
|
9
|
+
--components-resourceCard-layout-content-font: var(--pr-t-font-body-M);
|
|
10
|
+
--components-resourceCard-layout-content-paddingBlockStart: 0;
|
|
11
|
+
|
|
12
|
+
--components-resourceCard-layout-before-illustration-minSize: var(--pr-t-spacings-500);
|
|
13
|
+
|
|
14
|
+
--components-resourceCard-layout-after-marginBlock: 0;
|
|
15
|
+
|
|
16
|
+
--components-resourceCard-layout-header-title-action-cursor: pointer;
|
|
17
|
+
--components-resourceCard-layout-header-title-action-color: inherit;
|
|
18
|
+
--components-resourceCard-layout-header-title-action-after-inset: var(--components-resourceCard-before-inset);
|
|
19
|
+
--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-3);
|
|
20
|
+
--components-resourceCard-layout-header-alignItems: center;
|
|
21
|
+
--components-resourceCard-layout-header-flexDirection: row;
|
|
22
|
+
--components-resourceCard-layout-header-paddingBlockStart: var(--pr-t-spacings-50);
|
|
23
|
+
--components-resourceCard-layout-header-paddingBlockEnd: var(--pr-t-spacings-50);
|
|
24
|
+
|
|
25
|
+
--components-resourceCard-layout-gridTemplate: "before header after" auto
|
|
26
|
+
"before content after" 1fr
|
|
27
|
+
/ auto 1fr auto;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@mixin varsWrapper {
|
|
31
|
+
--components-resourceCardWrapper-gridTemplateColumnsMin: 20rem;
|
|
32
|
+
--components-resourceCardWrapper-display: flex;
|
|
33
|
+
--components-resourceCardWrapper-borderRadius: var(--pr-t-border-radius-structure);
|
|
34
|
+
}
|