@lucca-front/scss 21.2.2 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/scss",
3
- "version": "21.2.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.2",
27
- "@lucca/prisme": "21.2.2"
26
+ "@lucca-front/icons": "21.2.3-rc.4",
27
+ "@lucca/prisme": "21.2.3-rc.4"
28
28
  }
29
29
  }
@@ -2,13 +2,13 @@
2
2
  --components-appLayout-gridTemplate:
3
3
  'banner banner' var(--commons-banner-height)
4
4
  'navSide main ' 1fr
5
- / auto 1fr;
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' 1fr
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,7 +91,9 @@
91
91
  }
92
92
 
93
93
  @mixin withAction {
94
- --components-dialog-insideHeaderAreas: 'container action close';
94
+ --components-dialog-insideHeaderAreas:
95
+ 'container action close'
96
+ 'content content content';
95
97
  --components-dialog-insideHeaderColumns: 1fr auto auto;
96
98
  }
97
99
 
@@ -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: 'container close';
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;
@@ -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) 0 0 0 var(--pr-t-elevation-surface-raised),
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) calc(var(--pr-t-spacings-100) * -1) 0 0 var(--pr-t-elevation-surface-raised);
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) 0 0 var(--pr-t-spacings-50) var(--pr-t-elevation-surface-raised),
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' auto
16
+ 'before header after' auto
17
17
  'content content content' auto
18
- /auto 1fr 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' 1fr
48
- /auto 1fr auto;
47
+ 'before header after' 1fr
48
+ /auto 1fr auto;
49
49
  }
50
50
 
51
51
  @mixin hasContentNoGridHasIllustration {
@@ -25,7 +25,7 @@
25
25
  --components-resourceCard-layout-gridTemplate:
26
26
  'before header after' auto
27
27
  'before content after' 1fr
28
- / auto 1fr auto;
28
+ / auto 1fr auto;
29
29
  }
30
30
 
31
31
  @mixin varsWrapper {
@@ -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: inline-block;
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
- svg {
9
- display: block;
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
  }