@lucca-front/scss 19.3.0-rc.2 → 19.3.0-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 +2 -2
- package/src/commons/base.scss +11 -3
- package/src/commons/config.scss +11 -1
- package/src/commons/core.scss +25 -13
- package/src/commons/utils/color.scss +2 -0
- package/src/commons/utils/index.scss +6 -2
- package/src/commons/utils/keyframe.scss +1 -0
- package/src/commons/utils/loading.scss +1 -1
- package/src/commons/utils/media.scss +4 -0
- package/src/commons/utils/reset.scss +1 -1
- package/src/commons/vars.scss +8 -0
- package/src/components/_sample/component.scss +3 -3
- package/src/components/avatar/component.scss +0 -1
- package/src/components/avatar/mods.scss +1 -0
- package/src/components/box/index.scss +4 -0
- package/src/components/box/mods.scss +5 -0
- package/src/components/button/component.scss +2 -2
- package/src/components/calendar/component.scss +2 -0
- package/src/components/calendar/states.scss +3 -1
- package/src/components/callout/component.scss +1 -1
- package/src/components/calloutAccordion/component.scss +1 -1
- package/src/components/calloutAccordion/mods.scss +0 -4
- package/src/components/calloutDisclosure/component.scss +1 -1
- package/src/components/calloutPopover/component.scss +2 -1
- package/src/components/card/mods.scss +1 -1
- package/src/components/checkbox/mods.scss +1 -0
- package/src/components/checkboxField/component.scss +2 -1
- package/src/components/checkboxField/states.scss +1 -8
- package/src/components/clear/component.scss +1 -1
- package/src/components/comment/component.scss +2 -5
- package/src/components/dataTable/mods.scss +0 -7
- package/src/components/dataTableSticked/mods.scss +12 -15
- package/src/components/dateRangeField/vars.scss +1 -1
- package/src/components/dialog/mods.scss +0 -1
- package/src/components/divider/component.scss +2 -5
- package/src/components/dropdown/component.scss +2 -1
- package/src/components/emptyState/component.scss +1 -0
- package/src/components/errorPage/component.scss +2 -0
- package/src/components/fancyBox/component.scss +2 -0
- package/src/components/fileEntry/component.scss +199 -0
- package/src/components/fileEntry/exports.scss +4 -0
- package/src/components/fileEntry/index.scss +34 -0
- package/src/components/fileEntry/mods.scss +39 -0
- package/src/components/fileEntry/states.scss +22 -0
- package/src/components/fileEntry/vars.scss +27 -0
- package/src/components/fileToolbar/component.scss +35 -0
- package/src/components/fileToolbar/exports.scss +4 -0
- package/src/components/fileToolbar/index.scss +14 -0
- package/src/components/fileToolbar/mods.scss +9 -0
- package/src/components/fileToolbar/states.scss +0 -0
- package/src/components/fileToolbar/vars.scss +5 -0
- package/src/components/fileUpload/component.scss +103 -0
- package/src/components/fileUpload/exports.scss +4 -0
- package/src/components/fileUpload/index.scss +46 -0
- package/src/components/fileUpload/mods.scss +24 -0
- package/src/components/fileUpload/states.scss +37 -0
- package/src/components/fileUpload/vars.scss +26 -0
- package/src/components/filterBar/mods.scss +2 -2
- package/src/components/filterBarDeprecated/component.scss +3 -0
- package/src/components/filterPill/component.scss +2 -1
- package/src/components/filterPill/states.scss +2 -3
- package/src/components/footer/component.scss +1 -0
- package/src/components/form/index.scss +2 -0
- package/src/components/form/mods.scss +0 -1
- package/src/components/grid/component.scss +2 -3
- package/src/components/grid/mods.scss +1 -0
- package/src/components/highlightData/component.scss +5 -3
- package/src/components/highlightData/mods.scss +1 -0
- package/src/components/horizontalNavigation/component.scss +1 -3
- package/src/components/horizontalNavigation/index.scss +1 -0
- package/src/components/horizontalNavigation/mods.scss +2 -2
- package/src/components/index.scss +3 -0
- package/src/components/indexTable/component.scss +6 -9
- package/src/components/indexTable/index.scss +2 -1
- package/src/components/indexTable/mods.scss +41 -16
- package/src/components/indexTable/states.scss +5 -0
- package/src/components/indexTable/vars.scss +3 -0
- package/src/components/inlineMessage/component.scss +16 -3
- package/src/components/link/mods.scss +8 -8
- package/src/components/list/mods.scss +1 -0
- package/src/components/loading/component.scss +1 -1
- package/src/components/loading/mods.scss +4 -0
- package/src/components/mobileNavigation/component.scss +3 -1
- package/src/components/multiSelect/component.scss +1 -0
- package/src/components/multiSelect/mods.scss +4 -1
- package/src/components/multiSelect/states.scss +1 -0
- package/src/components/navside/component.scss +0 -2
- package/src/components/notchBox/component.scss +2 -0
- package/src/components/notchBox/mods.scss +3 -0
- package/src/components/numericBadge/component.scss +1 -2
- package/src/components/pagination/component.scss +1 -1
- package/src/components/popover/component.scss +1 -0
- package/src/components/radio/component.scss +1 -1
- package/src/components/radioButtons/component.scss +9 -11
- package/src/components/radioField/component.scss +1 -0
- package/src/components/radioField/states.scss +1 -8
- package/src/components/segmentedControl/component.scss +3 -3
- package/src/components/simpleSelect/component.scss +1 -0
- package/src/components/skeleton/component.scss +1 -0
- package/src/components/skeleton/states.scss +3 -0
- package/src/components/sortableList/component.scss +1 -0
- package/src/components/statusBadge/component.scss +1 -1
- package/src/components/switchField/component.scss +3 -1
- package/src/components/table/mods.scss +0 -14
- package/src/components/tableSortable/mods.scss +4 -2
- package/src/components/tableSortable/states.scss +2 -2
- package/src/components/tableSticked/index.scss +2 -2
- package/src/components/tableSticked/mods.scss +16 -6
- package/src/components/tag/component.scss +0 -2
- package/src/components/textField/component.scss +1 -0
- package/src/components/textfields/component.scss +1 -1
- package/src/components/textfields/index.scss +2 -2
- package/src/components/textfields/mods.scss +3 -2
- package/src/components/textfields/states.scss +3 -4
- package/src/components/timeline/component.scss +3 -2
- package/src/components/timeline/index.scss +13 -3
- package/src/components/timeline/mods.scss +22 -8
- package/src/components/timepicker/component.scss +0 -1
- package/src/components/timepickerDeprecated/component.scss +3 -2
- package/src/components/title/component.scss +1 -0
- package/src/components/tooltip/component.scss +1 -0
- package/src/components/verticalNavigation/component.scss +5 -1
- package/src/components/verticalNavigation/states.scss +2 -0
|
@@ -51,14 +51,17 @@
|
|
|
51
51
|
display: none;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
|
|
54
55
|
&[aria-expanded='true'] {
|
|
55
56
|
.filterBarDeprecated-footer-toggleButton-label {
|
|
56
57
|
@include a11y.mask;
|
|
57
58
|
}
|
|
59
|
+
|
|
58
60
|
.lucca-icon {
|
|
59
61
|
transform: rotate(180deg);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
64
|
+
|
|
62
65
|
.lucca-icon {
|
|
63
66
|
transition: transform var(--commons-animations-durations-standard);
|
|
64
67
|
}
|
|
@@ -121,7 +121,6 @@
|
|
|
121
121
|
overflow: hidden;
|
|
122
122
|
text-overflow: ellipsis;
|
|
123
123
|
cursor: var(--components-filterPill-label-cursor);
|
|
124
|
-
|
|
125
124
|
display: flex;
|
|
126
125
|
align-items: center;
|
|
127
126
|
gap: var(--pr-t-spacings-50);
|
|
@@ -183,6 +182,8 @@
|
|
|
183
182
|
font-weight: 400;
|
|
184
183
|
font-size: 1rem;
|
|
185
184
|
direction: ltr;
|
|
185
|
+
|
|
186
|
+
// stylelint-disable-next-line font-family-no-missing-generic-family-keyword -- This font is for icons and should not have fallback.
|
|
186
187
|
font-family: 'Lucca icons';
|
|
187
188
|
font-feature-settings: 'liga';
|
|
188
189
|
font-style: normal;
|
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
--components-filterPill-borderColor: var(--palettes-product-300);
|
|
5
5
|
--components-filterPill-backgroundColor: var(--palettes-product-50);
|
|
6
6
|
--components-filterPill-color: var(--palettes-product-800);
|
|
7
|
-
|
|
8
7
|
--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700);
|
|
9
8
|
--components-filterPill-checkbox-borderColor: var(--palettes-product-700);
|
|
10
9
|
--components-filterPill-checkbox-icon-scale: 1;
|
|
11
10
|
--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(0.5, 1, 0.5, 1.5);
|
|
12
|
-
|
|
13
11
|
--components-filterPill-label-fontWeight: var(--components-filterPill-label-fontWeightChecked);
|
|
14
12
|
}
|
|
15
13
|
|
|
@@ -25,6 +23,7 @@
|
|
|
25
23
|
|
|
26
24
|
@mixin active {
|
|
27
25
|
--components-filterPill-backgroundColor: var(--palettes-neutral-0);
|
|
26
|
+
|
|
28
27
|
box-shadow:
|
|
29
28
|
0 0 0 1px var(--palettes-product-500),
|
|
30
29
|
var(--pr-t-elevation-shadow-raised);
|
|
@@ -104,7 +103,7 @@
|
|
|
104
103
|
box-shadow: var(--components-filterPill-shadow);
|
|
105
104
|
|
|
106
105
|
// TODO
|
|
107
|
-
|
|
106
|
+
// --components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);
|
|
108
107
|
}
|
|
109
108
|
|
|
110
109
|
@mixin hidden {
|
|
@@ -24,13 +24,10 @@
|
|
|
24
24
|
.grid-column {
|
|
25
25
|
align-self: var(--grid-align, var(--grid-column-align));
|
|
26
26
|
justify-self: var(--grid-justify, var(--grid-column-justify));
|
|
27
|
-
|
|
28
27
|
grid-column-start: var(--grid-column, var(--grid-column-start));
|
|
29
28
|
grid-row-start: var(--grid-row, var(--grid-row-start));
|
|
30
|
-
|
|
31
29
|
grid-column-end: span var(--grid-colspan, var(--grid-column-end));
|
|
32
30
|
grid-row-end: span var(--grid-rowspan, var(--grid-row-end));
|
|
33
|
-
|
|
34
31
|
min-inline-size: 0;
|
|
35
32
|
|
|
36
33
|
@each $breakpoint, $value in config.$breakpoints {
|
|
@@ -51,6 +48,7 @@
|
|
|
51
48
|
grid-row-start: var(--grid-rowAtMediaMin#{$breakpoint});
|
|
52
49
|
}
|
|
53
50
|
|
|
51
|
+
// stylelint-disable custom-property-pattern -- TODO Make PR to Stylelint to take SCSS function within CSS variable into consideration.
|
|
54
52
|
// workaround for Angular replacing CamelCase by kebab-case
|
|
55
53
|
&[style*='grid-colspan-at-media-min-#{string.to-lower-case($breakpoint)}'] {
|
|
56
54
|
grid-column-end: span var(--grid-colspan-at-media-min-#{string.to-lower-case($breakpoint)});
|
|
@@ -108,6 +106,7 @@
|
|
|
108
106
|
&[style*='grid-row-at-container-min-#{string.to-lower-case($breakpoint)}'] {
|
|
109
107
|
grid-row-start: var(--grid-row-at-container-min-#{string.to-lower-case($breakpoint)});
|
|
110
108
|
}
|
|
109
|
+
// stylelint-enable
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
112
|
}
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
position: relative;
|
|
13
13
|
|
|
14
14
|
@at-root ($atRoot) {
|
|
15
|
-
|
|
16
15
|
.highlightData-content {
|
|
17
16
|
@include reset.list($list: 'dl');
|
|
17
|
+
|
|
18
18
|
display: var(--components-highlightData-display);
|
|
19
19
|
grid-template-columns: 1fr auto;
|
|
20
20
|
grid-template-areas:
|
|
@@ -34,8 +34,10 @@
|
|
|
34
34
|
|
|
35
35
|
.highlightData-content-value {
|
|
36
36
|
grid-area: value;
|
|
37
|
+
|
|
37
38
|
@include title.component;
|
|
38
39
|
@include title.h1;
|
|
40
|
+
|
|
39
41
|
order: var(--components-highlightData-value-order);
|
|
40
42
|
}
|
|
41
43
|
|
|
@@ -49,14 +51,14 @@
|
|
|
49
51
|
.highlightData-content-action {
|
|
50
52
|
grid-area: action;
|
|
51
53
|
padding-block-start: var(--components-highlightData-action-padding);
|
|
52
|
-
|
|
54
|
+
|
|
53
55
|
&:empty {
|
|
54
56
|
display: none;
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
.link {
|
|
58
60
|
--commons-text-link-color: var(--palettes-700, var(--palettes-product-700));
|
|
59
|
-
--commons-text-link-hover: var(--palettes-
|
|
61
|
+
--commons-text-link-hover: var(--palettes-800, var(--palettes-product-800));
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
.button {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
--components-highlightData-display: flex;
|
|
35
35
|
--components-highlightData-alignItem: start;
|
|
36
36
|
--components-highlightData-action-padding: var(--pr-t-spacings-150);
|
|
37
|
+
|
|
37
38
|
padding-inline-end: calc(var(--components-highlightData-illustrations-width) + var(--components-highlightData-padding-inline));
|
|
38
39
|
}
|
|
39
40
|
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
4
4
|
|
|
5
5
|
@mixin component($atRoot: namespace.$defaultAtRoot) {
|
|
6
|
-
position: relative;
|
|
7
6
|
column-gap: var(--pr-t-spacings-400);
|
|
8
7
|
align-items: center;
|
|
9
8
|
display: flex;
|
|
@@ -77,7 +76,7 @@
|
|
|
77
76
|
z-index: 1;
|
|
78
77
|
scroll-margin-inline: var(--pr-t-spacings-200);
|
|
79
78
|
|
|
80
|
-
|
|
79
|
+
&::before {
|
|
81
80
|
content: '';
|
|
82
81
|
position: absolute;
|
|
83
82
|
inset-block: calc(var(--components-horizontalNavigation-listItemActionPaddingBlock) - var(--pr-t-spacings-25));
|
|
@@ -136,7 +135,6 @@
|
|
|
136
135
|
.menu-link-placeholder {
|
|
137
136
|
&::after {
|
|
138
137
|
content: attr(data-content-after);
|
|
139
|
-
|
|
140
138
|
display: block;
|
|
141
139
|
block-size: 0;
|
|
142
140
|
overflow: hidden;
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
--components-horizontalNavigation-listItemActionPadding: var(--pr-t-spacings-50) var(--pr-t-spacings-200);
|
|
62
62
|
--components-horizontalNavigation-listItemActionAlign: left;
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
&::before {
|
|
65
65
|
inset-block: calc(
|
|
66
66
|
var(--components-horizontalNavigation-listItemActionPaddingBlock) - var(--pr-t-spacings-150) - var(--pr-t-spacings-25)
|
|
67
67
|
);
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
.menu-list-item-action {
|
|
96
96
|
--components-horizontalNavigation-listItemActionPadding: var(--pr-t-spacings-50) var(--pr-t-spacings-150);
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
&::before {
|
|
99
99
|
inset-block: calc(
|
|
100
100
|
var(--components-horizontalNavigation-listItemActionPaddingBlock) - var(--pr-t-spacings-150) - var(--pr-t-spacings-25)
|
|
101
101
|
);
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
display: table-row-group;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
//There might be more than one footer
|
|
30
|
+
// There might be more than one footer
|
|
31
31
|
.indexTable-foot {
|
|
32
32
|
display: table-row-group;
|
|
33
33
|
|
|
@@ -42,10 +42,6 @@
|
|
|
42
42
|
display: table-row;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
.indexTable-body-row {
|
|
46
|
-
border-radius: var(--commons-borderRadius-L);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
45
|
.indexTable-head-row-transparentCell,
|
|
50
46
|
.indexTable-body-row-transparentCell,
|
|
51
47
|
.indexTable-head-row-cell,
|
|
@@ -78,6 +74,8 @@
|
|
|
78
74
|
}
|
|
79
75
|
|
|
80
76
|
.indexTable-body-row {
|
|
77
|
+
border-radius: var(--commons-borderRadius-L);
|
|
78
|
+
|
|
81
79
|
&:has(.indexTable-body-row-cell-link) {
|
|
82
80
|
.indexTable-body-row-cell {
|
|
83
81
|
&:not(:has(button, a, input, textarea, select, details, [tabindex='0']), .mod-allowTextSelection) {
|
|
@@ -98,6 +96,7 @@
|
|
|
98
96
|
}
|
|
99
97
|
|
|
100
98
|
.indexTable-foot-row-cell {
|
|
99
|
+
text-align: end;
|
|
101
100
|
padding-block: var(--pr-t-spacings-50);
|
|
102
101
|
}
|
|
103
102
|
|
|
@@ -149,6 +148,7 @@
|
|
|
149
148
|
border-radius: var(--components-indexTable-cell-border-radius-left) var(--components-indexTable-cell-border-radius-right)
|
|
150
149
|
var(--components-indexTable-cell-border-radius-right) var(--components-indexTable-cell-border-radius-left);
|
|
151
150
|
background-color: var(--components-indexTable-cell-background-color, var(--components-indexTable-cell-background-color-default));
|
|
151
|
+
|
|
152
152
|
// shadow-mask : since the card apparence is put on every cell (du to a Safari bug), we need to hide the left part of the box shadow for everycell exept the first one.
|
|
153
153
|
// We do this with a rectangular white box-shadow above it.
|
|
154
154
|
box-shadow: var(--components-indexTable-shadow-mask, 0 0 0 0),
|
|
@@ -199,6 +199,7 @@
|
|
|
199
199
|
content: '';
|
|
200
200
|
position: absolute;
|
|
201
201
|
inset: 0 -9999px;
|
|
202
|
+
z-index: -1;
|
|
202
203
|
}
|
|
203
204
|
|
|
204
205
|
&,
|
|
@@ -246,10 +247,6 @@
|
|
|
246
247
|
font-weight: 600;
|
|
247
248
|
}
|
|
248
249
|
|
|
249
|
-
.indexTable-foot-row-cell {
|
|
250
|
-
text-align: end;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
250
|
// A wrapper is needed for pagination
|
|
254
251
|
.indexTableWrapper {
|
|
255
252
|
@include vars;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
&.mod-selectable {
|
|
9
9
|
@include selectable;
|
|
10
|
+
|
|
10
11
|
// Selectable states
|
|
11
12
|
@include selectableSelectedRow;
|
|
12
13
|
@include selectableHoveredRow;
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
@include massSelection;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
.indexTable-body-row-cell.mod-actions {
|
|
33
|
+
:where(.indexTable-body-row-cell.mod-actions) {
|
|
33
34
|
@include actions;
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -41,11 +41,12 @@
|
|
|
41
41
|
.indexTable-body-row-cell {
|
|
42
42
|
// because we can't set an individual spacing for each row, transparent border are used for this
|
|
43
43
|
border-block-end: var(--components-indexTable-row-stack-border-bottom) solid transparent;
|
|
44
|
+
|
|
44
45
|
// stack apparence
|
|
45
|
-
background-image:
|
|
46
|
-
var(--components-indexTable-row-
|
|
47
|
-
background-position:
|
|
48
|
-
var(--components-indexTable-row-
|
|
46
|
+
background-image: var(--components-indexTable-row-stack2-background-image, none),
|
|
47
|
+
var(--components-indexTable-row-stack3-background-image, none);
|
|
48
|
+
background-position: var(--components-indexTable-row-stack2-background-position, 0 0),
|
|
49
|
+
var(--components-indexTable-row-stack3-background-position, 0 0);
|
|
49
50
|
background-repeat: no-repeat, no-repeat;
|
|
50
51
|
transition-property: background-image, background-position;
|
|
51
52
|
transition-duration: var(--commons-animations-durations-fast);
|
|
@@ -80,9 +81,10 @@
|
|
|
80
81
|
z-index: 3;
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
//hide box-shadow from underneath rows that slighly appear on edges of the sticky header when scrolling
|
|
84
|
+
// hide box-shadow from underneath rows that slighly appear on edges of the sticky header when scrolling
|
|
84
85
|
.indexTable-head-row-cell {
|
|
85
86
|
position: relative;
|
|
87
|
+
|
|
86
88
|
&::before,
|
|
87
89
|
&::after {
|
|
88
90
|
content: '';
|
|
@@ -90,15 +92,19 @@
|
|
|
90
92
|
inset: calc(var(--components-indexTable-row-spacing) * -1) calc(var(--components-indexTable-padding) * -1) 0;
|
|
91
93
|
z-index: -1;
|
|
92
94
|
}
|
|
95
|
+
|
|
93
96
|
&::before {
|
|
94
97
|
background-color: var(--commons-background-base);
|
|
95
98
|
}
|
|
99
|
+
|
|
96
100
|
&::after {
|
|
97
101
|
background-color: var(--components-indexTable-background-color);
|
|
98
102
|
}
|
|
103
|
+
|
|
99
104
|
&:first-child::after {
|
|
100
105
|
border-start-start-radius: var(--components-indexTable-border-radius);
|
|
101
106
|
}
|
|
107
|
+
|
|
102
108
|
&:last-child::after {
|
|
103
109
|
border-start-end-radius: var(--components-indexTable-border-radius);
|
|
104
110
|
}
|
|
@@ -124,6 +130,7 @@
|
|
|
124
130
|
.indexTable-foot-row {
|
|
125
131
|
position: relative;
|
|
126
132
|
display: grid;
|
|
133
|
+
|
|
127
134
|
// Grid layout by default is a basic one column template.
|
|
128
135
|
// The user can override this and build a specific layout by using --components-indexTable-row-responsive-grid-template-columns, --components-indexTable-row-responsive-grid-template-rows and --components-indexTable-row-responsive-grid-template-areas
|
|
129
136
|
grid-template-columns: var(--components-indexTable-row-responsive-grid-template-columns, 1fr);
|
|
@@ -134,11 +141,13 @@
|
|
|
134
141
|
padding-block: var(--components-indexTable-row-spacing-responsive);
|
|
135
142
|
padding-inline: 0;
|
|
136
143
|
margin-block-end: var(--components-indexTable-row-spacing-responsive);
|
|
144
|
+
|
|
137
145
|
// "Title" lines that do not contain "card" cells are smaller
|
|
138
146
|
&:not(:has(.indexTable-body-row-cell)) {
|
|
139
147
|
padding: 0;
|
|
140
148
|
margin-block-end: 0;
|
|
141
149
|
}
|
|
150
|
+
|
|
142
151
|
&:last-child {
|
|
143
152
|
margin-block-end: 0;
|
|
144
153
|
}
|
|
@@ -160,12 +169,14 @@
|
|
|
160
169
|
--components-indexTable-cell-border-radius-left: var(--components-indexTable-cell-border-radius);
|
|
161
170
|
--components-indexTable-cell-border-radius-right: var(--components-indexTable-cell-border-radius);
|
|
162
171
|
}
|
|
172
|
+
|
|
163
173
|
&::after {
|
|
164
174
|
--components-indexTable-outline-border-width-left: var(--components-indexTable-outline-border-width);
|
|
165
175
|
--components-indexTable-outline-border-width-right: var(--components-indexTable-outline-border-width);
|
|
166
176
|
--components-indexTable-outline-border-radius-left: var(--components-indexTable-outline-border-radius);
|
|
167
177
|
--components-indexTable-outline-border-radius-right: var(--components-indexTable-outline-border-radius);
|
|
168
178
|
}
|
|
179
|
+
|
|
169
180
|
~ .indexTable-body-row-cell {
|
|
170
181
|
&::before,
|
|
171
182
|
&::after {
|
|
@@ -198,15 +209,19 @@
|
|
|
198
209
|
1fr
|
|
199
210
|
);
|
|
200
211
|
}
|
|
212
|
+
|
|
201
213
|
.indexTable-body-row-transparentCell {
|
|
202
214
|
inline-size: auto;
|
|
215
|
+
|
|
203
216
|
// we add a padding-inline-start to keep a correct indent between lvl 1 and lvl 2 titles in nested tables. * .75 is just for cosmetic
|
|
204
217
|
&:first-child[colspan='2'] + .indexTable-body-row-transparentCell {
|
|
205
218
|
padding-inline-start: calc(var(--components-indexTable-row-cell-transparent-width) * 0.75);
|
|
206
219
|
}
|
|
207
220
|
}
|
|
221
|
+
|
|
208
222
|
.indexTable-body-row-cell {
|
|
209
223
|
--components-indexTable-cell-inset-x-left: var(--components-indexTable-row-cell-transparent-width);
|
|
224
|
+
|
|
210
225
|
grid-column-start: 2;
|
|
211
226
|
}
|
|
212
227
|
}
|
|
@@ -224,33 +239,39 @@
|
|
|
224
239
|
border-block-end-width: var(--components-indexTable-row-stack-border-bottom);
|
|
225
240
|
border-style: solid;
|
|
226
241
|
border-color: transparent;
|
|
242
|
+
|
|
227
243
|
&::before,
|
|
228
244
|
&::after {
|
|
229
245
|
content: '';
|
|
230
246
|
position: absolute;
|
|
231
247
|
inset-block-start: 0;
|
|
232
248
|
inset-block-end: calc((var(--components-indexTable-row-spacing-responsive) + var(--components-indexTable-stack3-row-spacing)) * -1);
|
|
233
|
-
background-image:
|
|
234
|
-
var(--components-indexTable-row-
|
|
235
|
-
background-position:
|
|
236
|
-
var(--components-indexTable-row-
|
|
249
|
+
background-image: var(--components-indexTable-row-stack2-background-image, none),
|
|
250
|
+
var(--components-indexTable-row-stack3-background-image, none);
|
|
251
|
+
background-position: var(--components-indexTable-row-stack2-background-position, 0 0),
|
|
252
|
+
var(--components-indexTable-row-stack3-background-position, 0 0);
|
|
237
253
|
background-repeat: no-repeat, no-repeat;
|
|
238
254
|
transition-property: background-image, background-position;
|
|
239
255
|
transition-duration: var(--commons-animations-durations-fast);
|
|
240
256
|
}
|
|
257
|
+
|
|
241
258
|
&::before {
|
|
242
259
|
inset-inline-start: var(--components-indexTable-cell-inset-x-left, 0);
|
|
243
260
|
inset-inline-end: 50%;
|
|
261
|
+
|
|
244
262
|
--components-indexTable-row-stack2-background-position: left -2px bottom 6px;
|
|
245
263
|
--components-indexTable-row-stack3-background-position: left 1px bottom 2px;
|
|
246
264
|
}
|
|
265
|
+
|
|
247
266
|
&::after {
|
|
248
267
|
inset-inline-start: 50%;
|
|
249
268
|
inset-inline-end: 0;
|
|
269
|
+
|
|
250
270
|
--components-indexTable-row-stack2-background-position: right -2px bottom 6px;
|
|
251
271
|
--components-indexTable-row-stack3-background-position: right 1px bottom 2px;
|
|
252
272
|
}
|
|
253
273
|
}
|
|
274
|
+
|
|
254
275
|
.indexTable-body-row-cell {
|
|
255
276
|
border-block-end: 0;
|
|
256
277
|
background-image: none;
|
|
@@ -263,7 +284,7 @@
|
|
|
263
284
|
padding: var(--pr-t-spacings-50);
|
|
264
285
|
white-space: nowrap;
|
|
265
286
|
|
|
266
|
-
.button {
|
|
287
|
+
:where(.button) {
|
|
267
288
|
@include button.S;
|
|
268
289
|
@include button.text;
|
|
269
290
|
@include button.onlyIconS;
|
|
@@ -277,7 +298,7 @@
|
|
|
277
298
|
transition: opacity ease var(--commons-animations-durations-fast);
|
|
278
299
|
}
|
|
279
300
|
|
|
280
|
-
//If there are 4 actions or more, the buttons are hidden (not on touch device) and replaced should be replaced with a dropdown
|
|
301
|
+
// If there are 4 actions or more, the buttons are hidden (not on touch device) and replaced should be replaced with a dropdown
|
|
281
302
|
&:has(.indexTable-body-row-cell-subActionDropdownTrigger) {
|
|
282
303
|
.indexTable-body-row-cell-subAction {
|
|
283
304
|
display: none;
|
|
@@ -294,21 +315,24 @@
|
|
|
294
315
|
}
|
|
295
316
|
|
|
296
317
|
@mixin layoutFixed {
|
|
297
|
-
table-layout: fixed;
|
|
298
|
-
|
|
299
318
|
[class*='row-cell'] {
|
|
300
319
|
--cell-width: calc(var(--components-indexTable-cell-fixed-width, var(--components-index-table-cell-fixed-width)) * 1rem);
|
|
301
320
|
}
|
|
302
321
|
|
|
303
|
-
&.mod-layoutFixed
|
|
304
|
-
|
|
322
|
+
&.mod-layoutFixed {
|
|
323
|
+
table-layout: fixed;
|
|
324
|
+
|
|
325
|
+
[class*='row-cell'] {
|
|
326
|
+
@include cellFixedWidth;
|
|
327
|
+
}
|
|
305
328
|
}
|
|
306
329
|
|
|
307
|
-
//Layout fixed at breakpoint
|
|
330
|
+
// Layout fixed at breakpoint
|
|
308
331
|
@each $breakpoint, $value in config.$breakpoints {
|
|
309
332
|
@include media.min($breakpoint) {
|
|
310
333
|
&.mod-layoutFixedAtMediaMin#{$breakpoint} {
|
|
311
334
|
table-layout: fixed;
|
|
335
|
+
|
|
312
336
|
[class*='row-cell'] {
|
|
313
337
|
@include cellFixedWidth;
|
|
314
338
|
}
|
|
@@ -327,6 +351,7 @@
|
|
|
327
351
|
.indexTable-head-row-cell {
|
|
328
352
|
padding: 0;
|
|
329
353
|
}
|
|
354
|
+
|
|
330
355
|
.indexTable-head-row-cell-massSelection {
|
|
331
356
|
display: flex;
|
|
332
357
|
align-items: center;
|
|
@@ -7,9 +7,11 @@
|
|
|
7
7
|
display: none;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
+
|
|
10
11
|
.indexTable-body-row-cellTitle-button[aria-expanded='false'] .lucca-icon {
|
|
11
12
|
transform: rotate(180deg);
|
|
12
13
|
}
|
|
14
|
+
|
|
13
15
|
// subTotal in header are not displayed when the row is open
|
|
14
16
|
.indexTable-body-row:has(.indexTable-body-row-cellTitle-button[aria-expanded='true']) {
|
|
15
17
|
.indexTable-body-row-subTotal {
|
|
@@ -28,6 +30,7 @@
|
|
|
28
30
|
) {
|
|
29
31
|
--components-indexTable-cell-subAction-opacity: 1;
|
|
30
32
|
}
|
|
33
|
+
|
|
31
34
|
&:has(.indexTable-body-row-cell-action:focus-visible, .indexTable-body-row-cell-link:focus-visible) {
|
|
32
35
|
--components-indexTable-outline-opacity: 1;
|
|
33
36
|
}
|
|
@@ -62,8 +65,10 @@
|
|
|
62
65
|
@mixin selectedCells {
|
|
63
66
|
// !important here for overriding a potential overrided non blank row background color
|
|
64
67
|
--components-indexTable-cell-background-color: var(--components-indexTable-cell-background-color-selected) !important;
|
|
68
|
+
|
|
65
69
|
// !important here if for overriding a potential selectableHoveredRow reset
|
|
66
70
|
--components-indexTable-cell-shadow: var(--components-indexTable-cell-shadow-selected) !important;
|
|
71
|
+
|
|
67
72
|
// if selected stackable row : we also change the stacks background color
|
|
68
73
|
--components-indexTable-stack-svg: var(--components-indexTable-stack-svg-selected);
|
|
69
74
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
--components-indexTable-border-radius: 12px;
|
|
4
4
|
--components-indexTable-background-color: var(--palettes-neutral-50);
|
|
5
5
|
--components-indexTable-row-spacing: 4px;
|
|
6
|
+
|
|
6
7
|
// on responsive, row spacing is increased
|
|
7
8
|
--components-indexTable-row-spacing-responsive: 8px;
|
|
8
9
|
|
|
@@ -10,6 +11,7 @@
|
|
|
10
11
|
--components-indexTable-cell-paddingBlock: var(--pr-t-spacings-100);
|
|
11
12
|
--components-indexTable-cell-border-radius: var(--commons-borderRadius-L);
|
|
12
13
|
--components-indexTable-cell-background-color-default: var(--palettes-neutral-0);
|
|
14
|
+
|
|
13
15
|
// shadows
|
|
14
16
|
--components-indexTable-cell-shadow-default: var(--pr-t-elevation-shadow-raised);
|
|
15
17
|
--components-indexTable-cell-background-color-selected: var(--palettes-product-50);
|
|
@@ -25,6 +27,7 @@
|
|
|
25
27
|
|
|
26
28
|
// rows stacks apparence is an url encoded svg
|
|
27
29
|
--components-indexTable-stack-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2008' height='48' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Crect width='2000' height='40' x='4' y='2' fill='%23fff' rx='8'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='2008' height='48' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='2'/%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.67451 0 0 0 0 0.733333 0 0 0 0 0.843137 0 0 0 0.2 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_1214_48875'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='1'/%3E%3CfeColorMatrix values='0 0 0 0 0.67451 0 0 0 0 0.733333 0 0 0 0 0.843137 0 0 0 0.4 0'/%3E%3CfeBlend in2='effect1_dropShadow_1214_48875' mode='multiply' result='effect2_dropShadow_1214_48875'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeMorphology in='SourceAlpha' operator='dilate' radius='1' result='effect3_dropShadow_1214_48875'/%3E%3CfeOffset/%3E%3CfeColorMatrix values='0 0 0 0 0.67451 0 0 0 0 0.733333 0 0 0 0 0.843137 0 0 0 0.08 0'/%3E%3CfeBlend in2='effect2_dropShadow_1214_48875' result='effect3_dropShadow_1214_48875'/%3E%3CfeBlend in='SourceGraphic' in2='effect3_dropShadow_1214_48875' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E%0A");
|
|
30
|
+
|
|
28
31
|
// selected rows stacks apparence. Inline svg can't use css vars for coloring or fill :(
|
|
29
32
|
--components-indexTable-stack-svg-selected: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2008' height='48' fill='none' viewBox='0 0 2008 48'%3E%3Crect width='2000' height='40' x='4' y='2' fill='%23FFF1EB' stroke='%23FF9361' rx='8'/%3E%3C/svg%3E%0A");
|
|
30
33
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
@use '@lucca-front/icons/src/icon/exports' as icon;
|
|
2
2
|
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
3
3
|
|
|
4
|
+
@use '@lucca-front/scss/src/commons/utils/a11y';
|
|
5
|
+
|
|
4
6
|
@mixin component($atRoot: namespace.$defaultAtRoot) {
|
|
5
7
|
display: flex;
|
|
6
8
|
gap: var(--components-inlineMessage-gap);
|
|
@@ -8,12 +10,23 @@
|
|
|
8
10
|
font-size: var(--components-inlineMessage-fontSize);
|
|
9
11
|
line-height: var(--components-inlineMessage-lineHeight);
|
|
10
12
|
color: var(--components-inlineMessage-color);
|
|
13
|
+
border-radius: var(--commons-borderRadius-M);
|
|
14
|
+
|
|
15
|
+
&:has(.inlineMessage-content:focus-visible) {
|
|
16
|
+
@include a11y.focusVisible;
|
|
17
|
+
}
|
|
11
18
|
|
|
12
19
|
@at-root ($atRoot) {
|
|
13
20
|
.inlineMessage-content {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
&:not(p) {
|
|
22
|
+
display: flex;
|
|
23
|
+
gap: var(--components-inlineMessage-gap);
|
|
24
|
+
margin: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&:is(p) {
|
|
28
|
+
outline: none;
|
|
29
|
+
}
|
|
17
30
|
}
|
|
18
31
|
|
|
19
32
|
// .lucca-icon:first-child is deprecated
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
2
2
|
|
|
3
3
|
@mixin icon($atRoot: namespace.$defaultAtRoot) {
|
|
4
|
+
.lucca-icon {
|
|
5
|
+
text-decoration: none;
|
|
6
|
+
font-size: 1em;
|
|
7
|
+
line-height: 1lh;
|
|
8
|
+
vertical-align: bottom;
|
|
9
|
+
}
|
|
10
|
+
|
|
4
11
|
&:has(.link-text) {
|
|
5
12
|
text-decoration: none;
|
|
6
13
|
}
|
|
@@ -11,13 +18,6 @@
|
|
|
11
18
|
}
|
|
12
19
|
}
|
|
13
20
|
|
|
14
|
-
.lucca-icon {
|
|
15
|
-
text-decoration: none;
|
|
16
|
-
font-size: 1em;
|
|
17
|
-
line-height: 1lh;
|
|
18
|
-
vertical-align: bottom;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
21
|
@at-root ($atRoot) {
|
|
22
22
|
.link-text {
|
|
23
23
|
text-decoration: underline;
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
|
|
57
57
|
@mixin brand {
|
|
58
58
|
--commons-text-link-color: var(--palettes-brand-700);
|
|
59
|
-
--commons-text-link-hover: var(--palettes-brand-
|
|
59
|
+
--commons-text-link-hover: var(--palettes-brand-800);
|
|
60
60
|
}
|