@lucca-front/scss 20.4.0-rc.1 → 21.0.0-rc.2

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 (83) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/config.scss +3 -3
  4. package/src/components/breadcrumbs/component.scss +2 -1
  5. package/src/components/breadcrumbs/index.scss +2 -1
  6. package/src/components/breadcrumbs/mods.scss +2 -1
  7. package/src/components/button/index.scss +0 -6
  8. package/src/components/button/mods.scss +1 -22
  9. package/src/components/button/vars.scss +0 -1
  10. package/src/components/calendar/component.scss +5 -9
  11. package/src/components/calendar/index.scss +8 -0
  12. package/src/components/calendar/states.scss +7 -1
  13. package/src/components/calendar/vars.scss +3 -1
  14. package/src/components/callout/component.scss +0 -1
  15. package/src/components/calloutPopover/component.scss +13 -10
  16. package/src/components/calloutPopover/mods.scss +2 -5
  17. package/src/components/calloutPopover/vars.scss +0 -1
  18. package/src/components/checkboxField/component.scss +3 -1
  19. package/src/components/chip/component.scss +18 -7
  20. package/src/components/chip/index.scss +4 -6
  21. package/src/components/chip/mods.scss +6 -20
  22. package/src/components/chip/states.scss +2 -2
  23. package/src/components/chip/vars.scss +4 -2
  24. package/src/components/clear/component.scss +4 -4
  25. package/src/components/clear/index.scss +15 -12
  26. package/src/components/clear/mods.scss +7 -20
  27. package/src/components/clear/states.scss +10 -1
  28. package/src/components/clear/vars.scss +3 -2
  29. package/src/components/dataTable/component.scss +12 -1
  30. package/src/components/dataTable/index.scss +16 -7
  31. package/src/components/dataTable/mods.scss +16 -3
  32. package/src/components/dataTable/vars.scss +0 -1
  33. package/src/components/dataTableSticked/index.scss +15 -0
  34. package/src/components/dataTableSticked/mods.scss +9 -9
  35. package/src/components/dataTableSticked/states.scss +7 -0
  36. package/src/components/dataTableSticked/vars.scss +3 -0
  37. package/src/components/fancyBox/component.scss +15 -20
  38. package/src/components/fancyBox/index.scss +4 -0
  39. package/src/components/fancyBox/mods.scss +11 -0
  40. package/src/components/fancyBox/vars.scss +10 -0
  41. package/src/components/fieldset/component.scss +4 -0
  42. package/src/components/fieldset/index.scss +4 -0
  43. package/src/components/fieldset/mods.scss +10 -0
  44. package/src/components/fieldset/vars.scss +1 -1
  45. package/src/components/filterBar/component.scss +1 -1
  46. package/src/components/filterBar/mods.scss +6 -2
  47. package/src/components/filterBar/vars.scss +0 -1
  48. package/src/components/filterPill/component.scss +3 -2
  49. package/src/components/filterPill/states.scss +3 -2
  50. package/src/components/filterPill/vars.scss +0 -1
  51. package/src/components/form/component.scss +4 -2
  52. package/src/components/indexTable/component.scss +11 -28
  53. package/src/components/indexTable/index.scss +34 -3
  54. package/src/components/indexTable/mods.scss +45 -10
  55. package/src/components/indexTable/states.scss +5 -1
  56. package/src/components/indexTable/vars.scss +1 -0
  57. package/src/components/inputFramed/component.scss +8 -9
  58. package/src/components/inputFramed/index.scss +13 -3
  59. package/src/components/inputFramed/mods.scss +14 -0
  60. package/src/components/inputFramed/vars.scss +9 -2
  61. package/src/components/link/mods.scss +3 -2
  62. package/src/components/listing/component.scss +20 -2
  63. package/src/components/listing/index.scss +10 -0
  64. package/src/components/listing/mods.scss +49 -0
  65. package/src/components/listing/vars.scss +16 -2
  66. package/src/components/multiSelect/component.scss +3 -0
  67. package/src/components/multiSelect/index.scss +4 -14
  68. package/src/components/multiSelect/mods.scss +0 -28
  69. package/src/components/multiSelect/states.scss +5 -16
  70. package/src/components/plgPush/component.scss +4 -0
  71. package/src/components/popover/component.scss +1 -0
  72. package/src/components/popover/vars.scss +1 -0
  73. package/src/components/richText/component.scss +5 -6
  74. package/src/components/scrollBox/component.scss +4 -0
  75. package/src/components/simpleSelect/component.scss +10 -3
  76. package/src/components/sortableList/component.scss +23 -4
  77. package/src/components/sortableList/index.scss +13 -0
  78. package/src/components/sortableList/mods.scss +6 -0
  79. package/src/components/tableFixed/mods.scss +3 -3
  80. package/src/components/tableOfContent/component.scss +2 -1
  81. package/src/components/tableOfContent/index.scss +2 -1
  82. package/src/components/textfields/index.scss +3 -3
  83. package/src/components/textfields/states.scss +3 -3
@@ -75,18 +75,18 @@
75
75
  &:has([selectable]),
76
76
  &.mod-selectable {
77
77
  @include selectable;
78
+
79
+ &:has(input:checked) {
80
+ @include selected;
81
+ }
78
82
  }
79
83
 
80
84
  &.mod-draggable {
81
85
  @include draggable;
82
- }
83
- }
84
86
 
85
- :is(.dataTable-body-row, .dataTable-foot-row) {
86
- &:has([selectable]),
87
- &.mod-selectable {
88
- &:has(input:checked) {
89
- @include selected;
87
+ &:has([selectable]),
88
+ &.mod-selectable {
89
+ @include selectableDraggable;
90
90
  }
91
91
  }
92
92
  }
@@ -138,3 +138,12 @@
138
138
  }
139
139
  }
140
140
  }
141
+
142
+ // drag and drop preview
143
+ :not(.dataTable-body) {
144
+ > .dataTable-body-row {
145
+ @layer components {
146
+ @include vars;
147
+ }
148
+ }
149
+ }
@@ -79,6 +79,19 @@
79
79
  }
80
80
  }
81
81
 
82
+ @mixin selectableDraggable {
83
+ .dataTable-head-row-cell,
84
+ .dataTable-body-row-cell,
85
+ .dataTable-foot-row-cell {
86
+ &:nth-child(2) {
87
+ --components-dataTable-cellFirst-width: 2.625rem;
88
+
89
+ inline-size: var(--components-dataTable-cellFirst-width);
90
+ max-inline-size: var(--components-dataTable-cellFirst-width);
91
+ }
92
+ }
93
+ }
94
+
82
95
  @mixin tree {
83
96
  @include buttonExpand;
84
97
 
@@ -142,7 +155,7 @@
142
155
  }
143
156
  }
144
157
 
145
- @mixin cellFixedWidth {
158
+ @mixin cellInlineSize {
146
159
  min-inline-size: var(--dataTable-layoutFixed-width, auto);
147
160
  inline-size: var(--dataTable-layoutFixed-width, auto);
148
161
  }
@@ -152,7 +165,7 @@
152
165
  .dataTable-head-row-cell,
153
166
  .dataTable-body-row-cell,
154
167
  .dataTable-foot-row-cell {
155
- @include cellFixedWidth;
168
+ @include cellInlineSize;
156
169
  }
157
170
  }
158
171
 
@@ -162,7 +175,7 @@
162
175
  .dataTable-head-row-cell,
163
176
  .dataTable-body-row-cell,
164
177
  .dataTable-foot-row-cell {
165
- @include cellFixedWidth;
178
+ @include cellInlineSize;
166
179
  }
167
180
  }
168
181
  }
@@ -11,7 +11,6 @@
11
11
  --components-dataTable-tableLayout: auto;
12
12
  --components-dataTable-cellFirst-width: auto;
13
13
  --components-dataTable-row-display: table-row;
14
- --components-dataTable-overflow: hidden;
15
14
  --components-dataTable-expand-rotation: 180deg;
16
15
  --components-dataTable-borderRadius: var(--pr-t-border-radius-structure);
17
16
  }
@@ -10,12 +10,15 @@
10
10
  @layer mods {
11
11
  &:has(.dataTable.mod-stickyHeader, .dataTable-head.mod-sticky) {
12
12
  @include stickyHeader;
13
+ @include firstRowVisible;
13
14
  }
14
15
 
16
+ &:has(.dataTableShadows),
15
17
  &:has(.dataTable.mod-columnsOverflow) {
16
18
  @include columnsOverflow;
17
19
  }
18
20
 
21
+ &:has(.dataTableShadows),
19
22
  &:has(.dataTable.mod-rowsOverflow) {
20
23
  @include rowsOverflow;
21
24
  }
@@ -43,6 +46,18 @@
43
46
  @include stickyColumnBorder;
44
47
  }
45
48
  }
49
+
50
+ &:has(.dataTable.is-firstColumnVisibleAfterColsStart) {
51
+ @include firstColumnVisibleAfterColsStart;
52
+ }
53
+
54
+ &:has(.dataTable.is-lastColumnVisibleBeforeColsEnd) {
55
+ @include lastColumnVisibleBeforeColsEnd;
56
+ }
57
+
58
+ &:has(.dataTableWrapper-pagination:not(:empty)) {
59
+ @include pagination;
60
+ }
46
61
  }
47
62
 
48
63
  &:has(.dataTable-head.is-firstBodyRowVisible) {
@@ -1,8 +1,6 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/color';
2
2
 
3
3
  @mixin stickyHeader {
4
- --components-dataTable-overflow: auto;
5
-
6
4
  .dataTable-head {
7
5
  position: sticky;
8
6
  inset-block-start: -1px;
@@ -22,8 +20,6 @@
22
20
  }
23
21
 
24
22
  @mixin columnsOverflow {
25
- --components-dataTable-overflow: auto;
26
-
27
23
  display: flex;
28
24
 
29
25
  &::before,
@@ -52,11 +48,10 @@
52
48
  }
53
49
 
54
50
  @mixin rowsOverflow {
55
- --components-dataTable-overflow: auto;
56
-
57
51
  .dataTableShadows {
58
52
  display: flex;
59
53
  flex-direction: column;
54
+ flex-grow: 1;
60
55
 
61
56
  &::before,
62
57
  &::after {
@@ -77,7 +72,7 @@
77
72
  }
78
73
 
79
74
  &::after {
80
- inset-block-end: 0;
75
+ inset-block-end: var(--components-dataTable-shadow-lastRowInsetBlockEnd);
81
76
  transform: scaleY(-1);
82
77
  opacity: var(--components-dataTable-shadow-lastRowOpacity);
83
78
  }
@@ -85,8 +80,6 @@
85
80
  }
86
81
 
87
82
  @mixin stickyColumn {
88
- --components-dataTable-overflow: auto;
89
-
90
83
  %addShadow {
91
84
  content: '';
92
85
  position: absolute;
@@ -130,6 +123,8 @@
130
123
  &:not(:has(+ :is(.dataTable-head-row-cell, .dataTable-body-row-cell, .dataTable-foot-row-cell).mod-stickyColumn)) {
131
124
  &::after {
132
125
  @extend %addShadow;
126
+
127
+ opacity: var(--components-dataTable-shadow-colsStart-opacity);
133
128
  }
134
129
  }
135
130
  }
@@ -143,6 +138,7 @@
143
138
  inset-inline-start: auto;
144
139
  inset-inline-end: 100%;
145
140
  transform: scaleX(-1);
141
+ opacity: var(--components-dataTable-shadow-colsEnd-opacity);
146
142
  }
147
143
 
148
144
  & ~ :is(.dataTable-head-row-cell, .dataTable-body-row-cell, .dataTable-foot-row-cell).mod-stickyColumn {
@@ -173,3 +169,7 @@
173
169
  }
174
170
  }
175
171
  }
172
+
173
+ @mixin pagination {
174
+ --components-dataTable-shadow-lastRowInsetBlockEnd: var(--pr-t-spacings-600);
175
+ }
@@ -18,3 +18,10 @@
18
18
  --components-dataTable-header-shadow-opacity: 0;
19
19
  }
20
20
 
21
+ @mixin firstColumnVisibleAfterColsStart {
22
+ --components-dataTable-shadow-colsStart-opacity: 0;
23
+ }
24
+
25
+ @mixin lastColumnVisibleBeforeColsEnd {
26
+ --components-dataTable-shadow-colsEnd-opacity: 0;
27
+ }
@@ -4,4 +4,7 @@
4
4
  --components-dataTable-shadow-firstRowOpacity: 1;
5
5
  --components-dataTable-shadow-lastRowOpacity: 1;
6
6
  --components-dataTable-header-shadow-opacity: 1;
7
+ --components-dataTable-shadow-colsStart-opacity: 1;
8
+ --components-dataTable-shadow-colsEnd-opacity: 1;
9
+ --components-dataTable-shadow-lastRowInsetBlockEnd: 0;
7
10
  }
@@ -1,29 +1,22 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/namespace';
2
2
 
3
3
  @mixin component($atRoot: namespace.$defaultAtRoot) {
4
- overflow: hidden;
5
- padding-inline: var(--pr-t-spacings-200);
6
- display: block;
7
- position: relative;
8
- z-index: 0;
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ align-items: center;
8
+ padding-inline: var(--components-fancyBox-paddingInline);
9
+ margin-inline: var(--components-fancyBox-marginInline);
10
+ contain: layout;
9
11
 
10
12
  @at-root ($atRoot) {
11
13
  .fancyBox-content {
12
- display: flex;
13
- flex-direction: column;
14
- margin-block: 0;
15
- margin-inline: auto;
16
- min-block-size: 10rem;
17
- min-inline-size: min(20rem, 100%);
18
- padding-block: var(--pr-t-spacings-300);
19
- inline-size: fit-content;
20
- position: relative;
21
- }
22
-
23
- .fancyBox-content-box {
24
14
  position: relative;
25
- padding-block: var(--pr-t-spacings-300);
26
- padding-inline: var(--pr-t-spacings-700);
15
+ min-block-size: var(--components-fancyBox-contentMinBlockSize);
16
+ min-inline-size: var(--components-fancyBox-contentMinInlineSize);
17
+ max-inline-size: 100%;
18
+ padding-block: var(--components-fancyBox-contentPaddingBlock);
19
+ padding-inline: var(--components-fancyBox-contentPaddingInline);
27
20
  background-color: var(--pr-t-elevation-surface-raised);
28
21
  border-radius: var(--pr-t-border-radius-structure);
29
22
  flex-grow: 1;
@@ -42,6 +35,7 @@
42
35
  background-repeat: no-repeat;
43
36
  background-size: contain;
44
37
  transition-duration: var(--commons-animations-durations-slow);
38
+ pointer-events: none;
45
39
  }
46
40
 
47
41
  &::before {
@@ -59,7 +53,7 @@
59
53
  }
60
54
  }
61
55
 
62
- .fancyBox-content-box-foreground {
56
+ .fancyBox-content-foreground {
63
57
  position: absolute;
64
58
  inline-size: var(--components-fancyBox-imageWidth);
65
59
  block-size: var(--components-fancyBox-imageHeight);
@@ -70,6 +64,7 @@
70
64
  background-size: contain;
71
65
  transition-property: width, height, top, right;
72
66
  transition-duration: var(--commons-animations-durations-slow);
67
+ pointer-events: none;
73
68
  }
74
69
  }
75
70
  }
@@ -12,4 +12,8 @@
12
12
  @include narrow;
13
13
  }
14
14
  }
15
+
16
+ &.mod-S {
17
+ @include S;
18
+ }
15
19
  }
@@ -4,3 +4,14 @@
4
4
  --components-fancyBox-offsetInline: -8.75rem;
5
5
  --components-fancyBox-offsetBlock: -0.5rem;
6
6
  }
7
+
8
+ @mixin S {
9
+ --components-fancyBox-contentMinBlockSize: 9.75rem;
10
+ --components-fancyBox-offsetInline: -9rem;
11
+ --components-fancyBox-offsetBlock: -0.75rem;
12
+ --components-fancyBox-imageWidth: 9.375rem;
13
+ --components-fancyBox-imageHeight: 7.5rem;
14
+ --components-fancyBox-contentMinInlineSize: min(17rem, 100%);
15
+ --components-fancyBox-contentPaddingBlock: var(--pr-t-spacings-150);
16
+ --components-fancyBox-contentPaddingInline: var(--pr-t-spacings-200);
17
+ }
@@ -1,4 +1,14 @@
1
1
  @mixin vars {
2
+ --components-fancyBox-paddingInline: var(--pr-t-spacings-200);
3
+ --components-fancyBox-marginInline: auto;
4
+
5
+ // Content
6
+ --components-fancyBox-contentMinBlockSize: 11.25rem;
7
+ --components-fancyBox-contentMinInlineSize: min(22rem, 100%);
8
+ --components-fancyBox-contentPaddingBlock: var(--pr-t-spacings-300);
9
+ --components-fancyBox-contentPaddingInline: var(--pr-t-spacings-700);
10
+
11
+ // Visuals
2
12
  --components-fancyBox-background-left: none;
3
13
  --components-fancyBox-background-right: none;
4
14
  --components-fancyBox-foreground: none;
@@ -40,6 +40,10 @@
40
40
  }
41
41
  }
42
42
 
43
+ .fieldset-title-content-text {
44
+ padding-block: var(--pr-t-spacings-50);
45
+ }
46
+
43
47
  .fieldset-title-content-text-helper {
44
48
  font: var(--pr-t-font-body-S);
45
49
  font-weight: var(--pr-t-font-fontWeight-regular);
@@ -22,5 +22,9 @@
22
22
  &:has(.fieldset-title-content[aria-expanded='true']) {
23
23
  @include expanded;
24
24
  }
25
+
26
+ &:has(.fieldset-title-content-action:not(:empty)) {
27
+ @include withAction;
28
+ }
25
29
  }
26
30
  }
@@ -1,4 +1,5 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/a11y';
2
+ @use '@lucca-front/scss/src/components/button/exports' as button;
2
3
 
3
4
  @mixin S {
4
5
  --components-fieldset-title: var(--pr-t-font-heading-4);
@@ -19,3 +20,12 @@
19
20
  }
20
21
  }
21
22
  }
23
+
24
+ @mixin withAction {
25
+ .fieldset-title-content-action {
26
+ .button {
27
+ @include button.outlined;
28
+ @include button.S;
29
+ }
30
+ }
31
+ }
@@ -1,6 +1,6 @@
1
1
  @mixin vars {
2
2
  --components-fieldset-title: var(--pr-t-font-heading-3);
3
- --components-fieldset-gap: var(--pr-t-spacings-150);
3
+ --components-fieldset-gap: var(--pr-t-spacings-100);
4
4
  --components-fieldset-contentMaxWidth: 40rem;
5
5
  --components-fieldset-title-iconRotation: 0deg;
6
6
  }
@@ -12,7 +12,7 @@
12
12
  @mixin component($atRoot: namespace.$defaultAtRoot) {
13
13
  display: flex;
14
14
  align-items: flex-start;
15
- flex-wrap: var(--components-filterBar-flexWrap);
15
+ flex-wrap: wrap;
16
16
  gap: var(--pr-t-spacings-100);
17
17
 
18
18
  .textField {
@@ -15,13 +15,17 @@
15
15
  }
16
16
 
17
17
  @mixin notCompact {
18
- --components-filterBar-flexWrap: nowrap;
19
-
20
18
  .filterBar-divider.divider {
21
19
  margin-inline: var(--pr-t-spacings-50);
22
20
 
23
21
  @include divider.vertical;
24
22
  }
23
+
24
+ .filterBar-scrollBox.scrollBox {
25
+ &:has(.filterBar-scrollBox-export) {
26
+ flex-wrap: nowrap;
27
+ }
28
+ }
25
29
  }
26
30
 
27
31
  @mixin touch {
@@ -1,5 +1,4 @@
1
1
  @mixin vars {
2
2
  --components-filterBar-scrollBox-flexGrow: 0;
3
3
  --components-filterBar-scrollBox-group-flexWrap: wrap;
4
- --components-filterBar-flexWrap: wrap;
5
4
  }
@@ -104,7 +104,6 @@
104
104
  margin-inline-end: var(--pr-t-spacings-25);
105
105
  position: relative;
106
106
  z-index: 1;
107
- display: var(--components-filterPill-clear-display);
108
107
 
109
108
  @include clear.product;
110
109
  }
@@ -182,7 +181,9 @@
182
181
  font-weight: var(--pr-t-font-fontWeight-regular);
183
182
  font-size: 1rem;
184
183
  direction: ltr;
185
- font-family: var(--icon-fontFamily);
184
+
185
+ // stylelint-disable-next-line font-family-no-missing-generic-family-keyword -- This font is for icons and should not have fallback.
186
+ font-family: 'Lucca icons';
186
187
  font-feature-settings: 'liga';
187
188
  font-style: normal;
188
189
  letter-spacing: normal;
@@ -1,4 +1,5 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/a11y';
2
+ @use '@lucca-front/scss/src/components/clear/exports' as clear;
2
3
 
3
4
  @mixin checkboxChecked {
4
5
  --components-filterPill-borderColor: var(--palettes-product-300);
@@ -66,7 +67,6 @@
66
67
  --components-filterPill-backgroundColor: var(--palettes-product-50);
67
68
  --components-filterPill-color: var(--palettes-product-800);
68
69
  --components-filterPill-toggle-iconColor: var(--palettes-product-700);
69
- --components-filterPill-clear-display: grid;
70
70
  }
71
71
 
72
72
  @mixin notFilled {
@@ -91,7 +91,6 @@
91
91
  }
92
92
 
93
93
  @mixin disabled {
94
- --components-filterPill-clear-display: none;
95
94
  --components-filterPill-backgroundColor: var(--palettes-neutral-50);
96
95
  --components-filterPill-borderColor: var(--palettes-neutral-300) !important;
97
96
  --components-filterPill-color: var(--palettes-neutral-500);
@@ -102,6 +101,8 @@
102
101
 
103
102
  box-shadow: var(--components-filterPill-shadow);
104
103
 
104
+ @include clear.hidden;
105
+
105
106
  // TODO
106
107
  // --components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);
107
108
  }
@@ -12,7 +12,6 @@
12
12
  --components-filterPill-checkbox-borderColor: var(--palettes-neutral-700);
13
13
  --components-filterPill-checkbox-icon-scale: 0;
14
14
  --components-filterPill-checkbox-icon-timingFonction: cubic-bezier(0.5, -0.5, 0.5, 0);
15
- --components-filterPill-clear-display: none;
16
15
  --components-filterPill-toggle-rotation: 0;
17
16
  --components-filterPill-toggle-iconColor: var(--palettes-neutral-600);
18
17
  --components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);
@@ -4,6 +4,8 @@
4
4
  @use '@lucca-front/scss/src/commons/utils/namespace';
5
5
 
6
6
  @mixin component($atRoot: namespace.$defaultAtRoot) {
7
+ display: block;
8
+
7
9
  .divider {
8
10
  margin-block: var(--pr-t-spacings-300);
9
11
  }
@@ -34,12 +36,12 @@
34
36
 
35
37
  @at-root ($atRoot) {
36
38
  .form-header {
39
+ display: block;
37
40
  margin-block-end: var(--pr-t-spacings-300);
38
41
  }
39
42
 
40
43
  .form-header-title {
41
- margin: 0;
42
- padding: 0;
44
+ font: var(--pr-t-font-heading-2);
43
45
  }
44
46
 
45
47
  .form-header-mandatory {
@@ -1,7 +1,6 @@
1
1
  @use 'vars' as *;
2
2
  @use '@lucca-front/scss/src/commons/utils/a11y';
3
3
  @use '@lucca-front/scss/src/commons/utils/reset';
4
- @use '@lucca-front/scss/src/components/button/exports' as button;
5
4
  @use '@lucca-front/scss/src/commons/utils/namespace';
6
5
 
7
6
  @mixin component($atRoot: namespace.$defaultAtRoot) {
@@ -39,7 +38,7 @@
39
38
  .indexTable-head-row,
40
39
  .indexTable-body-row,
41
40
  .indexTable-foot-row {
42
- display: table-row;
41
+ display: var(--components-indexTable-row-display);
43
42
  }
44
43
 
45
44
  .indexTable-head-row-transparentCell,
@@ -180,9 +179,7 @@
180
179
 
181
180
  .indexTable-body-row-cell-checkbox,
182
181
  .indexTable-head-row-cell-checkbox {
183
- margin-block: var(--pr-t-spacings-50);
184
- margin-inline-start: var(--pr-t-spacings-50);
185
- margin-inline-end: var(--pr-t-spacings-150);
182
+ margin: var(--pr-t-spacings-50);
186
183
  }
187
184
 
188
185
  // .indexTable-body-row-cell-action is deprecated
@@ -217,31 +214,10 @@
217
214
  display: flex;
218
215
  align-items: center;
219
216
  gap: var(--pr-t-spacings-100);
217
+ padding: var(--pr-t-spacings-25);
218
+ font-weight: var(--pr-t-font-fontWeight-semibold);
220
219
  }
221
220
 
222
- .indexTable-body-row-cellTitle-button {
223
- // :not(.class) is only there to increase specificity when the class isn’t present
224
- // but the class should be present, and this code is temporary
225
- &.button,
226
- &:not(.button) {
227
- @include button.ghost;
228
- @include button.S;
229
- @include button.onlyIconS;
230
-
231
- position: static;
232
-
233
- .lucca-icon {
234
- transition: transform var(--commons-animations-durations-fast) ease;
235
- }
236
-
237
- // Extend button reactive zone to his whole parent
238
- &::before {
239
- content: '';
240
- position: absolute;
241
- inset: 0;
242
- }
243
- }
244
- }
245
221
 
246
222
  .indexTable-body-row-cellTitle-title {
247
223
  font-weight: var(--pr-t-font-fontWeight-semibold);
@@ -276,6 +252,12 @@
276
252
  }
277
253
  }
278
254
 
255
+ .indexTableWrapper-pagination {
256
+ &:empty {
257
+ display: none;
258
+ }
259
+ }
260
+
279
261
  .statusBadge,
280
262
  .tag,
281
263
  .avatar {
@@ -293,6 +275,7 @@
293
275
 
294
276
  .tableSortable.button:hover {
295
277
  --components-button-backgroundColor: var(--palettes-neutral-100);
278
+
296
279
  color: var(--palettes-neutral-700);
297
280
  }
298
281
  }
@@ -14,6 +14,7 @@
14
14
  @include selectableHoveredRow;
15
15
  }
16
16
 
17
+ &:has(.mod-stack2, .mod-stack3),
17
18
  &.mod-stackable {
18
19
  @include stackable;
19
20
  }
@@ -31,21 +32,37 @@
31
32
  @include massSelection;
32
33
  }
33
34
 
34
- .indexTable-body-row-cell.mod-actions {
35
- @include actions;
35
+ .indexTable-head-row-cell,
36
+ .indexTable-body-row-cell {
37
+ &.mod-actions {
38
+ @include actions;
39
+ }
40
+ }
41
+
42
+ .indexTable-body-row-cell,
43
+ .indexTable-foot-row-cell {
44
+ &.mod-tfoot {
45
+ @include tfoot;
46
+ }
36
47
  }
37
48
 
38
49
  .indexTable-head-row-cell,
39
50
  .indexTable-body-row-cell,
40
51
  .indexTable-body-row-transparentCell,
41
52
  .indexTable-foot-row-cell {
53
+ &.mod-alignEnd,
42
54
  &.mod-alignRight {
43
- @include alignRight;
55
+ @include alignEnd;
44
56
  }
45
57
 
46
58
  &.mod-alignCenter {
47
59
  @include alignCenter;
48
60
  }
61
+
62
+ &.mod-alignStart,
63
+ &.mod-alignLeft {
64
+ @include alignStart;
65
+ }
49
66
  }
50
67
 
51
68
  @include media.max('S') {
@@ -72,5 +89,19 @@
72
89
  }
73
90
 
74
91
  @include openClosedRow;
92
+
93
+ .indexTable-body-row {
94
+ &:first-child {
95
+ &:has(.indexTable-body-row-cellTitle-button.button[aria-expanded='false']) {
96
+ ~ .indexTable-body-row {
97
+ @include rowsHidden;
98
+ }
99
+ }
100
+ }
101
+ }
102
+
103
+ .indexTable-body-row-cellTitle-button.button {
104
+ @include groupButton;
105
+ }
75
106
  }
76
107
  }