@lucca-front/scss 21.2.2 → 21.3.0-rc.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.
Files changed (68) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +3 -3
  3. package/src/commons/config.scss +26 -4
  4. package/src/commons/utils/color.scss +2 -2
  5. package/src/commons/vars.scss +14 -0
  6. package/src/components/appLayout/mods.scss +2 -2
  7. package/src/components/avatar/component.scss +0 -2
  8. package/src/components/avatar/index.scss +31 -3
  9. package/src/components/avatar/mods.scss +28 -0
  10. package/src/components/button/mods.scss +8 -6
  11. package/src/components/callout/mods.scss +1 -1
  12. package/src/components/code/component.scss +1 -0
  13. package/src/components/comment/component.scss +1 -1
  14. package/src/components/dataTable/component.scss +6 -1
  15. package/src/components/dialog/component.scss +18 -3
  16. package/src/components/dialog/index.scss +4 -0
  17. package/src/components/dialog/mods.scss +9 -1
  18. package/src/components/dialog/vars.scss +4 -1
  19. package/src/components/fieldset/mods.scss +6 -0
  20. package/src/components/fieldset/vars.scss +1 -1
  21. package/src/components/fileEntry/component.scss +2 -2
  22. package/src/components/fileUpload/component.scss +1 -1
  23. package/src/components/filterPill/component.scss +29 -5
  24. package/src/components/filterPill/index.scss +14 -11
  25. package/src/components/filterPill/states.scss +7 -8
  26. package/src/components/filterPill/vars.scss +2 -1
  27. package/src/components/form/component.scss +6 -0
  28. package/src/components/form/mods.scss +1 -1
  29. package/src/components/form/vars.scss +1 -1
  30. package/src/components/grid/mods.scss +1 -1
  31. package/src/components/highlightText/component.scss +30 -0
  32. package/src/components/highlightText/exports.scss +4 -0
  33. package/src/components/highlightText/index.scss +8 -0
  34. package/src/components/highlightText/mods.scss +0 -0
  35. package/src/components/highlightText/states.scss +0 -0
  36. package/src/components/highlightText/vars.scss +9 -0
  37. package/src/components/horizontalNavigation/component.scss +23 -1
  38. package/src/components/horizontalNavigation/index.scss +19 -1
  39. package/src/components/horizontalNavigation/mods.scss +14 -0
  40. package/src/components/horizontalNavigation/vars.scss +7 -0
  41. package/src/components/impersonation/component.scss +59 -0
  42. package/src/components/impersonation/exports.scss +4 -0
  43. package/src/components/impersonation/index.scss +22 -0
  44. package/src/components/impersonation/mods.scss +0 -0
  45. package/src/components/impersonation/states.scss +18 -0
  46. package/src/components/impersonation/vars.scss +11 -0
  47. package/src/components/index.scss +2 -0
  48. package/src/components/indexTable/component.scss +4 -0
  49. package/src/components/inputFramed/states.scss +8 -1
  50. package/src/components/listboxOption/mods.scss +3 -3
  51. package/src/components/listing/component.scss +2 -2
  52. package/src/components/mobilePush/component.scss +1 -1
  53. package/src/components/multiSelect/component.scss +10 -0
  54. package/src/components/presentation/component.scss +1 -0
  55. package/src/components/resourceCard/mods.scss +4 -4
  56. package/src/components/resourceCard/vars.scss +1 -1
  57. package/src/components/simpleSelect/index.scss +1 -0
  58. package/src/components/softwareIcon/component.scss +67 -5
  59. package/src/components/softwareIcon/index.scss +58 -0
  60. package/src/components/softwareIcon/mods.scss +32 -0
  61. package/src/components/softwareIcon/states.scss +5 -0
  62. package/src/components/softwareIcon/vars.scss +17 -0
  63. package/src/components/tag/mods.scss +1 -1
  64. package/src/components/textFlow/component.scss +2 -0
  65. package/src/components/timepicker/component.scss +28 -4
  66. package/src/components/timepicker/mods.scss +24 -3
  67. package/src/components/timepicker/vars.scss +6 -3
  68. package/src/components/toast/component.scss +1 -0
@@ -5,6 +5,7 @@
5
5
 
6
6
  @mixin component($atRoot: namespace.$defaultAtRoot) {
7
7
  display: block;
8
+ max-inline-size: var(--components-form-maxWidth);
8
9
 
9
10
  .divider:not(.mod-vertical) {
10
11
  margin-block: var(--pr-t-spacings-300);
@@ -150,5 +151,10 @@
150
151
  }
151
152
  }
152
153
  }
154
+
155
+ .option-additional {
156
+ font: var(--pr-t-font-body-S);
157
+ color: var(--pr-t-color-text-subtle);
158
+ }
153
159
  }
154
160
  }
@@ -15,7 +15,7 @@
15
15
  @use '@lucca-front/scss/src/components/color/exports' as color;
16
16
 
17
17
  @mixin maxWidth {
18
- max-inline-size: var(--components-form-maxWidth);
18
+ --components-form-maxWidth: 50rem;
19
19
  }
20
20
 
21
21
  @mixin inline {
@@ -1,5 +1,5 @@
1
1
  @mixin vars {
2
- --components-form-maxWidth: 40rem;
2
+ --components-form-maxWidth: none;
3
3
  --components-form-group-margin-bottom: 1.2rem;
4
4
  --components-form-field-margin-bottom: var(--pr-t-spacings-200);
5
5
  --components-form-field-width: auto;
@@ -14,7 +14,7 @@
14
14
 
15
15
  @mixin form {
16
16
  --grid-columns: 4;
17
- --grid-maxWidth: 50rem;
17
+ --grid-maxWidth: var(--components-form-maxWidth, 50rem);
18
18
  }
19
19
 
20
20
  @mixin dense {
@@ -0,0 +1,30 @@
1
+ @use '@lucca-front/scss/src/commons/utils/namespace';
2
+
3
+ @mixin component($atRoot: namespace.$defaultAtRoot) {
4
+ padding-inline: 0.125em;
5
+ margin-inline: -0.125em;
6
+ background-repeat: no-repeat;
7
+ box-decoration-break: clone;
8
+ font-weight: inherit;
9
+ background-image:
10
+ linear-gradient(var(--components-highlightText-backgroundColor)),
11
+ linear-gradient(var(--components-highlightText-backgroundColor)),
12
+ radial-gradient(var(--components-highlightText-backgroundDiameter) circle at var(--components-highlightText-backgroundStart) var(--components-highlightText-backgroundEnd), var(--components-highlightText-backgroundColor) calc(50% - 1px), transparent 50%),
13
+ radial-gradient(var(--components-highlightText-backgroundDiameter) circle at var(--components-highlightText-backgroundEnd) var(--components-highlightText-backgroundEnd), var(--components-highlightText-backgroundColor) calc(50% - 1px), transparent 50%),
14
+ radial-gradient(var(--components-highlightText-backgroundDiameter) circle at var(--components-highlightText-backgroundStart) calc(100% - var(--components-highlightText-backgroundBlockSize) + var(--components-highlightText-backgroundRadius)), var(--components-highlightText-backgroundColor) calc(50% - 1px), transparent 50%),
15
+ radial-gradient(var(--components-highlightText-backgroundDiameter) circle at var(--components-highlightText-backgroundEnd) calc(100% - var(--components-highlightText-backgroundBlockSize) + var(--components-highlightText-backgroundRadius)), var(--components-highlightText-backgroundColor) calc(50% - 1px), transparent 50%);
16
+ background-size:
17
+ 100% calc(var(--components-highlightText-backgroundBlockSize) - var(--components-highlightText-backgroundDiameter)),
18
+ calc(100% - var(--components-highlightText-backgroundDiameter)) var(--components-highlightText-backgroundBlockSize),
19
+ 100% 100%,
20
+ 100% 100%,
21
+ 100% 100%,
22
+ 100% 100%;
23
+ background-position:
24
+ 50% calc(100% - var(--components-highlightText-backgroundRadius)),
25
+ 50% 100%,
26
+ 0 0,
27
+ 0 0,
28
+ 0 0,
29
+ 0 0;
30
+ }
@@ -0,0 +1,4 @@
1
+ @forward 'vars';
2
+ @forward 'mods';
3
+ @forward 'states';
4
+ @forward 'component';
@@ -0,0 +1,8 @@
1
+ @use 'exports' as *;
2
+
3
+ .highlightText {
4
+ @layer components {
5
+ @include vars;
6
+ @include component;
7
+ }
8
+ }
File without changes
File without changes
@@ -0,0 +1,9 @@
1
+ @mixin vars {
2
+ --components-highlightText-backgroundColor: var(--palettes-300, var(--palettes-product-300));
3
+ --components-highlightText-backgroundDiameter: 0.25em;
4
+ --components-highlightText-backgroundBlockSize: 0.5em;
5
+
6
+ --components-highlightText-backgroundRadius: calc(var(--components-highlightText-backgroundDiameter) / 2);
7
+ --components-highlightText-backgroundStart: var(--components-highlightText-backgroundRadius);
8
+ --components-highlightText-backgroundEnd: calc(100% - var(--components-highlightText-backgroundRadius));
9
+ }
@@ -28,11 +28,18 @@
28
28
  }
29
29
 
30
30
  @at-root ($atRoot) {
31
+ .horizontalNavigationWrapper {
32
+ grid-area: overflow;
33
+ min-block-size: 0;
34
+ display: flex;
35
+ flex-direction: column;
36
+ }
37
+
31
38
  // stylelint-disable-next-line selector-disallowed-list -- .menu-containerOptional is deprecated
32
39
  .menu-containerOptional,
33
40
  .horizontalNavigation-containerOptional {
34
41
  max-inline-size: var(--commons-container-maxWidth);
35
- padding: var(--commons-container-padding);
42
+ padding: var(--components-horizontalNavigation-containerOptional-padding);
36
43
  }
37
44
 
38
45
  // stylelint-disable-next-line selector-disallowed-list -- .menu-list is deprecated
@@ -138,5 +145,20 @@
138
145
  font-weight: var(--pr-t-font-fontWeight-semibold);
139
146
  }
140
147
  }
148
+
149
+ .horizontalNavigation_panel {
150
+ display: var(--components-horizontalNavigation-panel-display);
151
+ overflow: var(--components-horizontalNavigation-panel-overflow);
152
+ min-height: 0;
153
+ flex-direction: column;
154
+
155
+ &:focus-visible {
156
+ @include a11y.focusVisible($offset: -2px, $borderRadius: var(--pr-t-border-radius-small));
157
+ }
158
+
159
+ &:not(.is-active) {
160
+ display: none;
161
+ }
162
+ }
141
163
  }
142
164
  }
@@ -21,6 +21,10 @@
21
21
  @include noBorder;
22
22
  }
23
23
 
24
+ .dialog & {
25
+ @include insideDialog;
26
+ }
27
+
24
28
  &.mod-vertical {
25
29
  @include vertical;
26
30
 
@@ -28,6 +32,7 @@
28
32
  .menu-list-item-action,
29
33
  .horizontalNavigation-list-item-action {
30
34
  &[aria-current='page'],
35
+ &[aria-selected='true'],
31
36
  &.is-active {
32
37
  @include activeVertical;
33
38
  }
@@ -40,6 +45,18 @@
40
45
  }
41
46
  }
42
47
 
48
+ .horizontalNavigation_panel {
49
+ @layer components {
50
+ @include varsPanel;
51
+ }
52
+
53
+ @layer mods {
54
+ .dialog & {
55
+ @include insideDialogPanel;
56
+ }
57
+ }
58
+ }
59
+
43
60
  .menu-link, // stylelint-disable-line selector-disallowed-list -- .menu-link is deprecated
44
61
  .menu-list-item-action, // stylelint-disable-line selector-disallowed-list -- .menu-list-item-action is deprecated
45
62
  .horizontalNavigation-list-item-action {
@@ -47,12 +64,13 @@
47
64
  // .active is deprecated
48
65
  &.active,
49
66
  &[aria-current='page'],
67
+ &[aria-selected='true'],
50
68
  &.is-active {
51
69
  @include active;
52
70
  }
53
71
 
54
72
  &.disabled, // .disabled is deprecated
55
- &[disabled], // [disabled] is deprecated
73
+ &[disabled],
56
74
  &.is-disabled {
57
75
  @include disabled;
58
76
  }
@@ -1,4 +1,5 @@
1
1
  @use '@lucca-front/scss/src/components/numericBadge/exports' as numericBadge;
2
+ @use '@lucca-front/scss/src/commons/utils/a11y';
2
3
 
3
4
  @mixin header {
4
5
  --components-horizontalNavigation-listPadding: 0 var(--pr-t-spacings-500);
@@ -106,3 +107,16 @@
106
107
  }
107
108
  }
108
109
  }
110
+
111
+ @mixin insideDialog {
112
+ --components-horizontalNavigation-containerOptional-padding: 0 var(--components-dialog-insideContent-paddingInline);
113
+ }
114
+
115
+ @mixin insideDialogPanel {
116
+ --components-horizontalNavigation-panel-display: flex;
117
+ --components-horizontalNavigation-panel-overflow: auto;
118
+
119
+ &:focus-visible {
120
+ @include a11y.focusVisible($offset: -4px, $borderRadius: var(--pr-t-border-radius-structure));
121
+ }
122
+ }
@@ -18,4 +18,11 @@
18
18
  --components-horizontalNavigation-listItemActionRadius: var(--pr-t-border-radius-default) var(--pr-t-border-radius-default) 0 0;
19
19
  --components-horizontalNavigation-listItemActionRadiusWidth: auto;
20
20
  --components-horizontalNavigation-listItemActionRadiusHeight: var(--components-horizontalNavigation-listItemActionSize);
21
+
22
+ --components-horizontalNavigation-containerOptional-padding: var(--commons-container-padding);
23
+ }
24
+
25
+ @mixin varsPanel {
26
+ --components-horizontalNavigation-panel-display: block;
27
+ --components-horizontalNavigation-panel-overflow: visible;
21
28
  }
@@ -0,0 +1,59 @@
1
+ @use '@lucca-front/scss/src/commons/config';
2
+ @use '@lucca-front/scss/src/commons/utils/namespace';
3
+ @use '@lucca-front/scss/src/commons/utils/reset';
4
+ @use '@lucca-front/scss/src/components/clear/exports' as clear;
5
+
6
+ @mixin component($atRoot: namespace.$defaultAtRoot) {
7
+ position: relative;
8
+ inline-size: fit-content;
9
+ display: block;
10
+
11
+ @at-root ($atRoot) {
12
+ .impersonation-trigger {
13
+ @include reset.button;
14
+
15
+ border: 1px solid var(--components-impersonation-trigger-borderColor);
16
+ background-color: var(--components-impersonation-trigger-backgroundColor);
17
+ border-radius: var(--pr-t-border-radius-200);
18
+ inline-size: fit-content;
19
+ display: flex;
20
+ align-items: center;
21
+ gap: var(--pr-t-spacings-100);
22
+ padding: var(--pr-t-spacings-50);
23
+ padding-inline-end: var(--pr-t-spacings-100);
24
+ min-block-size: var(--pr-t-spacings-500);
25
+ font-weight: var(--components-impersonation-trigger-fontWeight);
26
+ color: var(--components-impersonation-trigger-color);
27
+ box-shadow: var(--components-impersonation-trigger-boxShadow);
28
+ transition-property: box-shadow, border-color;
29
+ transition-duration: var(--commons-animations-durations-fast);
30
+ }
31
+
32
+ .impersonation-trigger-icon {
33
+ color: var(--components-impersonation-trigger-icon-color);
34
+ rotate: var(--components-impersonation-trigger-icon-rotate);
35
+ transition-property: rotate;
36
+ transition-duration: var(--commons-animations-durations-fast);
37
+ margin-inline-start: var(--components-impersonation-trigger-icon-marginInlineStart);
38
+ }
39
+
40
+ .impersonation-clear.clear {
41
+ position: absolute;
42
+ z-index: 1;
43
+ inset-inline-end: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-75));
44
+ inset-block-start: calc(var(--pr-t-spacings-150) + 1px);
45
+ display: var(--components-impersonation-clear-display);
46
+
47
+ @include clear.product;
48
+ }
49
+
50
+ .impersonation_popover-content-option {
51
+ display: flex;
52
+ color: var(--pr-t-color-text);
53
+
54
+ &.mod-me {
55
+ font-weight: var(--pr-t-font-fontWeight-semibold);
56
+ }
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,4 @@
1
+ @forward 'vars';
2
+ @forward 'mods';
3
+ @forward 'states';
4
+ @forward 'component';
@@ -0,0 +1,22 @@
1
+ @use 'exports' as *;
2
+
3
+ .impersonation {
4
+ @layer components {
5
+ @include vars;
6
+ @include component;
7
+ }
8
+
9
+ @layer mods {
10
+ &:has(.impersonation-trigger.is-active) {
11
+ @include triggerActive;
12
+ }
13
+
14
+ &:has(.impersonation-trigger:hover) {
15
+ @include triggerHover;
16
+ }
17
+
18
+ &:has(.impersonation-trigger[aria-expanded='true']) {
19
+ @include triggerExpanded;
20
+ }
21
+ }
22
+ }
File without changes
@@ -0,0 +1,18 @@
1
+ @mixin triggerHover {
2
+ --components-impersonation-trigger-borderColor: var(--palettes-product-400);
3
+ --components-impersonation-trigger-shadow: var(--pr-t-elevation-shadow-button);
4
+ }
5
+
6
+ @mixin triggerExpanded {
7
+ --components-impersonation-trigger-icon-rotate: 180deg;
8
+ }
9
+
10
+ @mixin triggerActive {
11
+ --components-impersonation-trigger-backgroundColor: var(--palettes-product-50);
12
+ --components-impersonation-trigger-borderColor: var(--palettes-product-200);
13
+ --components-impersonation-trigger-fontWeight: var(--pr-t-font-fontWeight-semibold);
14
+ --components-impersonation-trigger-color: var(--palettes-product-800);
15
+ --components-impersonation-trigger-icon-color: var(--palettes-product-700);
16
+ --components-impersonation-clear-display: grid;
17
+ --components-impersonation-trigger-icon-marginInlineStart: var(--pr-t-spacings-250);
18
+ }
@@ -0,0 +1,11 @@
1
+ @mixin vars {
2
+ --components-impersonation-trigger-borderColor: var(--palettes-neutral-100);
3
+ --components-impersonation-trigger-icon-rotate: 0deg;
4
+ --components-impersonation-trigger-backgroundColor: var(--palettes-neutral-0);
5
+ --components-impersonation-trigger-fontWeight: var(--pr-t-font-fontWeight-regular);
6
+ --components-impersonation-trigger-color: var(--pr-t-color-text);
7
+ --components-impersonation-trigger-icon-color: var(--pr-t-color-text-subtle);
8
+ --components-impersonation-trigger-boxShadow: none;
9
+ --components-impersonation-clear-display: none;
10
+ --components-impersonation-trigger-icon-marginInlineStart: auto;
11
+ }
@@ -117,6 +117,8 @@
117
117
  @forward 'softwareIcon';
118
118
  @forward 'progressStepper';
119
119
  @forward 'activityFeed';
120
+ @forward 'impersonation';
121
+ @forward 'highlightText';
120
122
 
121
123
  @forward 'filterBarDeprecated';
122
124
  @forward 'tableFixedDeprecated';
@@ -265,6 +265,10 @@
265
265
  }
266
266
 
267
267
  .indexTableWrapper-pagination {
268
+ position: sticky;
269
+ inset-inline-end: 0;
270
+ align-self: flex-end;
271
+
268
272
  &:empty {
269
273
  display: none;
270
274
  }
@@ -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
  }
@@ -30,7 +30,7 @@
30
30
  &::before {
31
31
  content: var(--components-listing-item-before-content);
32
32
  border-inline-start: var(--commons-divider-border);
33
- height: 0.75lh;
33
+ block-size: 0.75lh;
34
34
  align-self: center;
35
35
  }
36
36
  }
@@ -59,7 +59,7 @@
59
59
  .listing-item-icon {
60
60
  inline-size: var(--pr-t-spacings-250);
61
61
  aspect-ratio: 1;
62
- margin-top: var(--pr-t-spacings-25);
62
+ margin-block-start: var(--pr-t-spacings-25);
63
63
  background-color: var(--components-listing-item-icon-backgroundColor);
64
64
  color: var(--palettes-700, var(--palettes-neutral-700));
65
65
  border-radius: var(--pr-t-border-radius-full);
@@ -58,7 +58,7 @@
58
58
 
59
59
  .mobilePush-content-downloadApps-link-badge {
60
60
  display: block;
61
- height: 1.75rem;
61
+ block-size: 1.75rem;
62
62
  }
63
63
  }
64
64
  }
@@ -32,6 +32,12 @@
32
32
  flex: 1;
33
33
  }
34
34
 
35
+ .multipleSelect-displayer-value {
36
+ display: flex;
37
+ gap: var(--pr-t-spacings-50);
38
+ flex-wrap: wrap;
39
+ }
40
+
35
41
  .multipleSelect-displayer-chip.chip {
36
42
  min-inline-size: 0;
37
43
 
@@ -92,5 +98,9 @@
92
98
  .multipleSelect-pill-displayer-label {
93
99
  font-weight: var(--pr-t-font-fontWeight-semibold);
94
100
  }
101
+
102
+ .multiSelect-field-icon {
103
+ order: 1;
104
+ }
95
105
  }
96
106
  }
@@ -46,6 +46,7 @@
46
46
  .presentation-definition {
47
47
  margin: 0;
48
48
  color: var(--pr-t-color-text);
49
+ overflow-wrap: anywhere;
49
50
 
50
51
  > *:not(:has(.lucca-icon), .presentation-definition-link) {
51
52
  color: var(--pr-t-color-text);
@@ -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 {
@@ -40,6 +40,7 @@
40
40
  @include XS;
41
41
  }
42
42
 
43
+ &.mod-impersonation,
43
44
  &.mod-filterPill {
44
45
  @include filterPill;
45
46
  }
@@ -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
  }