@lucca-front/scss 22.0.0-rc.1 → 22.0.0-rc.3

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.
Files changed (42) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +5 -4
  3. package/src/commons/config.scss +18 -4
  4. package/src/commons/utils/color.scss +1 -0
  5. package/src/commons/utils/index.scss +102 -3
  6. package/src/commons/vars.scss +3 -3
  7. package/src/components/appLayout/mods.scss +2 -2
  8. package/src/components/avatar/component.scss +0 -2
  9. package/src/components/dialog/component.scss +15 -1
  10. package/src/components/dialog/mods.scss +5 -3
  11. package/src/components/dialog/vars.scss +3 -1
  12. package/src/components/fieldset/component.scss +7 -5
  13. package/src/components/fileEntry/component.scss +13 -5
  14. package/src/components/fileEntry/index.scss +18 -10
  15. package/src/components/fileEntry/mods.scss +21 -16
  16. package/src/components/fileEntry/states.scss +9 -4
  17. package/src/components/fileEntry/vars.scss +10 -13
  18. package/src/components/fileToolbar/component.scss +0 -2
  19. package/src/components/fileToolbar/index.scss +2 -2
  20. package/src/components/fileToolbar/mods.scss +13 -8
  21. package/src/components/fileUpload/component.scss +2 -1
  22. package/src/components/fileUpload/index.scss +2 -10
  23. package/src/components/fileUpload/mods.scss +25 -20
  24. package/src/components/fileUpload/states.scss +0 -9
  25. package/src/components/fileUpload/vars.scss +20 -17
  26. package/src/components/inputFramed/states.scss +8 -1
  27. package/src/components/listboxOption/mods.scss +3 -3
  28. package/src/components/loading/mods.scss +4 -0
  29. package/src/components/presentation/component.scss +2 -1
  30. package/src/components/presentation/index.scss +3 -0
  31. package/src/components/presentation/mods.scss +4 -0
  32. package/src/components/presentation/vars.scss +2 -0
  33. package/src/components/resourceCard/mods.scss +4 -4
  34. package/src/components/resourceCard/vars.scss +1 -1
  35. package/src/components/richText/component.scss +1 -0
  36. package/src/components/segmentedControl/component.scss +2 -2
  37. package/src/components/segmentedControl/states.scss +4 -6
  38. package/src/components/softwareIcon/component.scss +67 -5
  39. package/src/components/softwareIcon/index.scss +58 -0
  40. package/src/components/softwareIcon/mods.scss +32 -0
  41. package/src/components/softwareIcon/states.scss +5 -0
  42. package/src/components/softwareIcon/vars.scss +17 -0
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@lucca-front/scss",
3
- "version": "22.0.0-rc.1",
3
+ "version": "22.0.0-rc.3",
4
4
  "description": "A Sass framework for Lucca products.",
5
5
  "main": "src/main.scss",
6
6
  "scripts": {},
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/LuccaSA/lucca-front.git"
9
+ "url": "git+https://github.com/LuccaSA/lucca-front.git",
10
+ "directory": "packages/scss"
10
11
  },
11
12
  "keywords": [
12
13
  "lucca",
@@ -23,7 +24,7 @@
23
24
  "normalize.css": "^8.0.0"
24
25
  },
25
26
  "peerDependencies": {
26
- "@lucca-front/icons": "22.0.0-rc.1",
27
- "@lucca/prisme": "22.0.0-rc.1"
27
+ "@lucca-front/icons": "22.0.0-rc.3",
28
+ "@lucca/prisme": "22.0.0-rc.3"
28
29
  }
29
30
  }
@@ -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-350),
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),
@@ -116,7 +116,7 @@ $palettesDefault: 'brand', 'brandContrasted', 'neutral', 'navigation', 'AI';
116
116
  $palettesProduct: 'product';
117
117
  $palettesOtherProduct: () !default;
118
118
  $palettesDecorative: 'kiwi', 'cucumber', 'mint', 'lagoon', 'blueberry', 'lavender', 'watermelon', 'pumpkin' !default;
119
- $palettesDecorativeMandatory: 'pineapple', 'lime', 'grape', 'glacier';
119
+ $palettesDecorativeMandatory: 'pineapple', 'lime', 'grape', 'glacier', 'pineappleContrasted';
120
120
 
121
121
  // pineapple, lime, grape, glacier
122
122
  $palettesDeprecated: ('lucca', 'grey', 'primary', 'secondary') !default;
@@ -378,7 +378,7 @@ $critical: (
378
378
  text: #ffffff,
379
379
  0: #ffffff,
380
380
  50: #ffebec,
381
- 100: #ffd6d8,
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: #4a2a79,
495
+ 900: #24075a,
496
496
  ) !default;
497
497
 
498
498
  $grape: (
@@ -547,6 +547,19 @@ $pineapple: (
547
547
  900: #665400,
548
548
  ) !default;
549
549
 
550
+ $pineappleContrasted: (
551
+ 50: #fef7d7,
552
+ 100: #fbf1b6,
553
+ 200: #fae999,
554
+ 300: #f9e16c,
555
+ 400: #f8dc4f,
556
+ 500: #e7c623,
557
+ 600: #b89600,
558
+ 700: #8f7500,
559
+ 800: #7b6500,
560
+ 900: #665400,
561
+ ) !default;
562
+
550
563
  // https://sass-lang.com/documentation/variables/#advanced-variable-functions
551
564
  $productsInterpolation: (
552
565
  'brand': $brand,
@@ -587,6 +600,7 @@ $palettesInterpolation: (
587
600
  'watermelon': $watermelon,
588
601
  'pumpkin': $pumpkin,
589
602
  'pineapple': $pineapple,
603
+ 'pineappleContrasted': $pineappleContrasted,
590
604
  'pagga': $pagga,
591
605
  'poplee': $poplee,
592
606
  'coreHR': $coreHR,
@@ -29,6 +29,7 @@
29
29
  @include core.rosetta('--palettes-brand', '--palettes-brandContrasted', config.$palettesShades);
30
30
  @include core.rosetta('--palettes-success', '--palettes-successContrasted', config.$palettesShades);
31
31
  @include core.rosetta('--palettes-warning', '--palettes-warningContrasted', config.$palettesShades);
32
+ @include core.rosetta('--palettes-pineapple', '--palettes-pineappleContrasted', config.$palettesShades);
32
33
  }
33
34
 
34
35
  @mixin borderGradient($angle: 0, $color1: var(--palettes-neutral-0) , $color2: var(--palettes-neutral-900), $radius: var(--pr-t-border-radius-default), $width: var(--commons-divider-width)) {
@@ -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.scaleIn;
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
- @extend %animated;
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
- @extend %animated;
677
+ @include animated;
579
678
  }
580
679
 
581
680
  .u-mask {
@@ -69,9 +69,9 @@
69
69
  }
70
70
 
71
71
  // stylelint-disable custom-property-pattern
72
- --palettes-assets-primary-lighter: var(--palettes-#{config.$product}-50);
73
- --palettes-assets-primary-light: var(--palettes-#{config.$product}-100);
74
- --palettes-assets-primary-dark: var(--palettes-#{config.$product}-200);
72
+ --palettes-assets-primary-lighter: var(--palettes-#{config.$product}-50, var(--palettes-50));
73
+ --palettes-assets-primary-light: var(--palettes-#{config.$product}-100, var(--palettes-100));
74
+ --palettes-assets-primary-dark: var(--palettes-#{config.$product}-200, var(--palettes-200));
75
75
  --palettes-assets-brand-lighter: var(--palettes-#{map.get(map.get(config.$palettesAssets, config.$product), 'brand')}-50);
76
76
  --palettes-assets-brand-light: var(--palettes-#{map.get(map.get(config.$palettesAssets, config.$product), 'brand')}-100);
77
77
  --palettes-assets-brand-dark: var(--palettes-#{map.get(map.get(config.$palettesAssets, config.$product), 'brand')}-200);
@@ -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,14 +91,16 @@
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
 
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-400));
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-400));
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: '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;
@@ -37,11 +37,13 @@
37
37
  gap: var(--components-fieldset-gap);
38
38
  max-inline-size: var(--components-fieldset-contentMaxWidth);
39
39
 
40
- .lucca-icon {
41
- transform: rotate(var(--components-fieldset-title-iconRotation));
42
- transition-property: transform;
43
- transition-duration: var(--commons-animations-durations-fast);
44
- color: var(--palettes-neutral-700);
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,13 +3,14 @@
3
3
  @use '@lucca-front/scss/src/commons/utils/a11y';
4
4
  @use '@lucca-front/scss/src/commons/utils/text';
5
5
 
6
+ @use '@lucca-front/scss/src/components/loading/exports' as loading;
6
7
  @use '@lucca-front/icons/src/icon/exports' as icon;
7
8
 
8
9
  @mixin component($atRoot: namespace.$defaultAtRoot) {
9
10
  border: 1px solid var(--components-fileEntry-borderColor);
10
11
  padding: var(--components-fileEntry-padding);
11
12
  margin: 0;
12
- border-radius: var(--pr-t-border-radius-default);
13
+ border-radius: var(--components-fileEntry-borderRadius);
13
14
  background-color: var(--pr-t-elevation-surface-raised);
14
15
  gap: 0 var(--components-fileEntry-gapInline);
15
16
  position: relative;
@@ -31,6 +32,12 @@
31
32
  }
32
33
 
33
34
  @at-root ($atRoot) {
35
+ .fileEntry-status-content-inside-icon {
36
+ color: var(--palettes-critical-700);
37
+
38
+ @include icon.S;
39
+ }
40
+
34
41
  .fileEntryDisplayWrapper {
35
42
  display: grid;
36
43
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
@@ -78,14 +85,11 @@
78
85
  inline-size: 100%;
79
86
  }
80
87
 
81
- .fileEntry-status-content-inside-icon {
82
- color: var(--palettes-critical-700);
83
- }
84
-
85
88
  .fileEntry-status-content-inlineMessage.inlineMessage {
86
89
  flex-direction: column;
87
90
  align-items: center;
88
91
  text-align: center;
92
+ padding: var(--pr-t-spacings-100);
89
93
 
90
94
  .inlineMessage-statusIcon:first-child {
91
95
  @include icon.M;
@@ -194,5 +198,9 @@
194
198
  flex-basis: 0;
195
199
  min-inline-size: fit-content;
196
200
  }
201
+
202
+ .fileEntry-status-content-inside-loading.loading {
203
+ @include loading.S;
204
+ }
197
205
  }
198
206
  }
@@ -7,38 +7,46 @@
7
7
  }
8
8
 
9
9
  @layer mods {
10
- &.mod-S {
11
- @include S;
10
+ &.mod-L {
11
+ @include L;
12
+
13
+ &.mod-structure {
14
+ @include structure;
15
+ }
12
16
  }
13
17
 
14
18
  &.mod-media {
15
19
  @include media;
16
20
 
17
- &.mod-S {
18
- @include mediaS;
21
+ &.mod-L {
22
+ @include mediaL;
19
23
  }
20
24
  }
21
25
 
22
26
  &.is-error {
23
27
  @include error;
24
28
 
25
- &.mod-S {
26
- @include errorS;
29
+ &.mod-L {
30
+ @include errorL;
31
+
32
+ &.mod-media {
33
+ @include mediaErrorL;
34
+ }
27
35
  }
28
36
  }
29
37
 
30
38
  &.is-loading {
31
39
  @include loading;
32
40
 
33
- &.mod-S {
34
- @include loadingS;
41
+ &.mod-L {
42
+ @include loadingL;
35
43
  }
36
44
  }
37
45
  }
38
46
  }
39
47
 
40
- .fileEntry-description-divider.divider.mod-vertical {
41
- @layer mods {
48
+ @layer mods {
49
+ .fileEntry-description-divider.divider.mod-vertical {
42
50
  @include divider;
43
51
  }
44
52
  }
@@ -1,42 +1,47 @@
1
1
  @use '@lucca-front/icons/src/icon/exports' as icon;
2
2
 
3
- @mixin S {
4
- --components-fileEntry-padding: var(--pr-t-spacings-50);
5
- --components-fileEntry-status-inlineSize: 32px;
6
- --components-fileEntry-description-display: none;
7
- --components-fileEntry-gridTemplateAreas: 'picture title title toolbar';
8
- --components-fileEntry-filename-alignSelf: center;
9
- --components-fileEntry-gapInline: var(--pr-t-spacings-75);
10
- --components-fileEntry-status-content-svg-margin: calc(var(--pr-t-spacings-100) * -1);
3
+ @mixin L {
4
+ --components-fileEntry-padding: var(--pr-t-spacings-150);
5
+ --components-fileEntry-status-inlineSize: 48px;
6
+ --components-fileEntry-description-display: flex;
7
+ --components-fileEntry-gridTemplateAreas: 'picture title toolbar' 'picture description toolbar';
8
+ --components-fileEntry-filename-alignSelf: end;
9
+ --components-fileEntry-gapInline: var(--components-fileEntry-padding);
10
+ --components-fileEntry-status-content-svg-margin: 0;
11
+ --components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);
11
12
 
12
13
  .fileEntry-status-content-inside-icon {
13
- @include icon.S;
14
+ @include icon.M;
14
15
  }
15
16
  }
16
17
 
17
18
  @mixin media {
18
19
  --components-fileEntry-padding: var(--pr-t-spacings-75);
19
- --components-fileEntry-status-aspectRatio: auto;
20
20
  --components-fileEntry-status-inlineSize: 100%;
21
- --components-fileEntry-status-blockSize: calc(21.5rem - 1rem + 2px);
22
21
  --components-fileEntry-description-display: none;
23
22
  --components-fileEntry-display: block;
24
- --components-fileEntry-gridColumn: 1 / -1;
25
23
  --components-fileEntry-status-content-svg-width: 72px;
24
+ --components-fileEntry-gridColumn: auto;
25
+ --components-fileEntry-status-blockSize: auto;
26
+ --components-fileEntry-status-aspectRatio: 1;
26
27
 
27
28
  &:has(.fileEntry-status-content-fileName) {
28
29
  --components-fileEntry-status-content-inside-insetBlockEnd: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-25));
29
30
  }
30
31
  }
31
32
 
32
- @mixin mediaS {
33
+ @mixin mediaL {
33
34
  --components-fileEntry-minHeight: calc(5rem + 2px);
34
- --components-fileEntry-gridColumn: auto;
35
- --components-fileEntry-status-blockSize: auto;
36
- --components-fileEntry-status-aspectRatio: 1;
35
+ --components-fileEntry-gridColumn: 1 / -1;
36
+ --components-fileEntry-status-blockSize: calc(21.5rem - 1rem + 2px);
37
+ --components-fileEntry-status-aspectRatio: auto;
37
38
  }
38
39
 
39
40
  @mixin divider {
40
41
  --components-divider-marginBlock: var(--pr-t-spacings-25);
41
42
  --components-divider-marginInline: 0;
42
43
  }
44
+
45
+ @mixin structure {
46
+ --components-fileEntry-borderRadius: var(--pr-t-border-radius-structure);
47
+ }
@@ -5,18 +5,23 @@
5
5
  --components-fileEntry-gridTemplateAreas: 'picture title toolbar' 'picture description toolbar';
6
6
  --components-fileEntry-status-content-inside-backgroundColor: var(--palettes-critical-50);
7
7
  --components-fileEntry-minHeight: 3.75rem;
8
+ --components-fileEntry-description-display: flex;
8
9
  }
9
10
 
10
11
  @mixin loading {
11
12
  --components-fileEntry-status-content-img-opacity: 0.08;
12
13
  }
13
14
 
14
- @mixin loadingS {
15
+ @mixin loadingL {
15
16
  .fileEntry-status-content-inside-loading.loading {
16
- @include loading.S;
17
+ @include loading.M;
17
18
  }
18
19
  }
19
20
 
20
- @mixin errorS {
21
- --components-fileEntry-status-blockSize: 100%;
21
+ @mixin errorL {
22
+ --components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);
23
+ }
24
+
25
+ @mixin mediaErrorL {
26
+ --components-fileEntry-status-blockSize: calc(21.5rem - 1rem + 2px);
22
27
  }
@@ -1,26 +1,23 @@
1
1
  @mixin vars {
2
- --components-fileEntry-padding: var(--pr-t-spacings-150);
3
- --components-fileEntry-gapInline: var(--components-fileEntry-padding);
2
+ --components-fileEntry-borderRadius: var(--pr-t-border-radius-default);
4
3
  --components-fileEntry-gridColumn: 1 / -1;
5
4
  --components-fileEntry-borderColor: var(--palettes-neutral-100);
6
5
  --components-fileEntry-minHeight: auto;
7
- --components-fileEntry-gridTemplateAreas: 'picture title toolbar' 'picture description toolbar';
8
-
9
6
  --components-fileEntry-status-content-inside-backgroundColor: var(--palettes-neutral-25);
10
-
11
7
  --components-fileEntry-status-content-img-opacity: 1;
12
8
  --components-fileEntry-status-content-svg-width: 48px;
13
9
  --components-fileEntry-status-content-svg-height: var(--components-fileEntry-status-content-svg-width);
14
- --components-fileEntry-status-content-svg-margin: 0;
15
-
16
- --components-fileEntry-filename-alignSelf: end;
17
-
18
- --components-fileEntry-status-inlineSize: 48px;
19
- --components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);
10
+ --components-fileEntry-status-blockSize: 100%;
20
11
  --components-fileEntry-status-margin: 0;
21
- --components-fileEntry-description-display: flex;
22
12
  --components-fileEntry-display: grid;
23
13
  --components-fileEntry-status-content-padding: 0;
24
-
25
14
  --components-fileEntry-status-content-inside-insetBlockEnd: 0;
15
+
16
+ --components-fileEntry-padding: var(--pr-t-spacings-50);
17
+ --components-fileEntry-status-inlineSize: 32px;
18
+ --components-fileEntry-description-display: none;
19
+ --components-fileEntry-gridTemplateAreas: 'picture title title toolbar';
20
+ --components-fileEntry-filename-alignSelf: center;
21
+ --components-fileEntry-gapInline: var(--pr-t-spacings-75);
22
+ --components-fileEntry-status-content-svg-margin: calc(var(--pr-t-spacings-100) * -1);
26
23
  }
@@ -1,8 +1,6 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/namespace';
2
2
  @use '@lucca-front/scss/src/commons/utils/reset';
3
3
 
4
- @use '@lucca-front/icons/src/icon/exports' as icon;
5
-
6
4
  @mixin component($atRoot: namespace.$defaultAtRoot) {
7
5
  border-radius: var(--pr-t-border-radius-default);
8
6
  position: absolute;
@@ -10,8 +10,8 @@
10
10
  &.mod-disablePositioning {
11
11
  @include disablePositioning;
12
12
 
13
- &.mod-S {
14
- @include disablePositioningS;
13
+ &.mod-L {
14
+ @include disablePositioningL;
15
15
  }
16
16
  }
17
17
  }
@@ -1,17 +1,22 @@
1
1
  @use '@lucca-front/scss/src/components/button/exports' as button;
2
2
 
3
- @mixin disablePositioning {
4
- --components-fileToolbar-display: contents;
5
- }
6
-
7
- @mixin disablePositioningS {
8
- --components-fileToolbar-list-padding: 0;
9
- }
10
-
11
3
  @mixin button {
12
4
  @include button.ghost;
13
5
  @include button.S;
14
6
 
15
7
  --components-button-borderRadius: 4px;
16
8
  --components-button-padding: var(--pr-t-spacings-75);
9
+
10
+ &:has(.icon-trashDelete) {
11
+ @include button.critical;
12
+ }
13
+ }
14
+
15
+ @mixin disablePositioning {
16
+ --components-fileToolbar-display: contents;
17
+ --components-fileToolbar-list-padding: 0;
18
+ }
19
+
20
+ @mixin disablePositioningL {
21
+ --components-fileToolbar-list-padding: var(--pr-t-spacings-50);
17
22
  }
@@ -5,7 +5,8 @@
5
5
  @use '@lucca-front/scss/src/components/button/exports' as button;
6
6
 
7
7
  @mixin component($atRoot: namespace.$defaultAtRoot) {
8
- position: relative;
8
+ position: var(--components-fileUpload-position);
9
+ inset: var(--components-fileUpload-inset);
9
10
  border: 1px var(--components-fileUpload-borderStyle) var(--components-fileUpload-borderColor);
10
11
  overflow: hidden;
11
12
  border-radius: var(--components-fileUpload-borderRadius);