@lucca-front/scss 18.3.0-rc.2 → 18.3.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 (232) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/utils/container.scss +67 -27
  4. package/src/commons/utils/media.scss +84 -35
  5. package/src/commons/vars.scss +1 -1
  6. package/src/components/_sample/exports.scss +1 -0
  7. package/src/components/_sample/index.scss +39 -2
  8. package/src/components/_sample/responsive.scss +7 -0
  9. package/src/components/actionIcon/exports.scss +1 -0
  10. package/src/components/actionIcon/responsive.scss +0 -0
  11. package/src/components/avatar/exports.scss +1 -0
  12. package/src/components/avatar/responsive.scss +0 -0
  13. package/src/components/box/exports.scss +1 -0
  14. package/src/components/box/responsive.scss +0 -0
  15. package/src/components/breadcrumbs/exports.scss +1 -0
  16. package/src/components/breadcrumbs/responsive.scss +0 -0
  17. package/src/components/button/exports.scss +1 -0
  18. package/src/components/button/responsive.scss +0 -0
  19. package/src/components/buttonGroup/exports.scss +1 -0
  20. package/src/components/buttonGroup/responsive.scss +0 -0
  21. package/src/components/calendar/exports.scss +1 -0
  22. package/src/components/calendar/responsive.scss +0 -0
  23. package/src/components/callout/exports.scss +1 -0
  24. package/src/components/callout/responsive.scss +0 -0
  25. package/src/components/calloutAccordion/exports.scss +1 -0
  26. package/src/components/calloutAccordion/responsive.scss +0 -0
  27. package/src/components/calloutDisclosure/exports.scss +1 -0
  28. package/src/components/calloutDisclosure/responsive.scss +0 -0
  29. package/src/components/calloutFeedbackList/exports.scss +1 -0
  30. package/src/components/calloutFeedbackList/responsive.scss +0 -0
  31. package/src/components/calloutPopover/exports.scss +1 -0
  32. package/src/components/calloutPopover/responsive.scss +0 -0
  33. package/src/components/card/exports.scss +1 -0
  34. package/src/components/card/responsive.scss +0 -0
  35. package/src/components/checkbox/exports.scss +1 -0
  36. package/src/components/checkbox/responsive.scss +0 -0
  37. package/src/components/checkboxField/exports.scss +1 -0
  38. package/src/components/checkboxField/responsive.scss +0 -0
  39. package/src/components/chip/exports.scss +1 -0
  40. package/src/components/chip/responsive.scss +0 -0
  41. package/src/components/clear/exports.scss +1 -0
  42. package/src/components/clear/responsive.scss +0 -0
  43. package/src/components/code/exports.scss +1 -0
  44. package/src/components/code/responsive.scss +0 -0
  45. package/src/components/collapse/exports.scss +1 -0
  46. package/src/components/collapse/responsive.scss +0 -0
  47. package/src/components/comment/component.scss +0 -1
  48. package/src/components/comment/exports.scss +1 -0
  49. package/src/components/comment/index.scss +35 -4
  50. package/src/components/comment/mods.scss +0 -14
  51. package/src/components/comment/responsive.scss +5 -0
  52. package/src/components/container/exports.scss +1 -0
  53. package/src/components/container/responsive.scss +0 -0
  54. package/src/components/contentSection/exports.scss +1 -0
  55. package/src/components/contentSection/responsive.scss +0 -0
  56. package/src/components/dialog/component.scss +1 -1
  57. package/src/components/dialog/exports.scss +1 -0
  58. package/src/components/dialog/index.scss +37 -4
  59. package/src/components/dialog/responsive.scss +0 -0
  60. package/src/components/divider/exports.scss +1 -0
  61. package/src/components/divider/responsive.scss +0 -0
  62. package/src/components/emptyState/component.scss +0 -2
  63. package/src/components/emptyState/exports.scss +1 -0
  64. package/src/components/emptyState/index.scss +62 -0
  65. package/src/components/emptyState/mods.scss +6 -20
  66. package/src/components/emptyState/responsive.scss +27 -0
  67. package/src/components/emptyState/vars.scss +6 -9
  68. package/src/components/emptyStateDeprecated/exports.scss +1 -0
  69. package/src/components/emptyStateDeprecated/responsive.scss +0 -0
  70. package/src/components/errorPage/component.scss +35 -55
  71. package/src/components/errorPage/exports.scss +1 -0
  72. package/src/components/errorPage/index.scss +33 -2
  73. package/src/components/errorPage/responsive.scss +20 -0
  74. package/src/components/field/exports.scss +1 -0
  75. package/src/components/field/responsive.scss +0 -0
  76. package/src/components/fieldset/exports.scss +1 -0
  77. package/src/components/fieldset/responsive.scss +0 -0
  78. package/src/components/file/exports.scss +1 -0
  79. package/src/components/file/responsive.scss +0 -0
  80. package/src/components/filterBar/component.scss +5 -19
  81. package/src/components/filterBar/exports.scss +1 -0
  82. package/src/components/filterBar/index.scss +61 -0
  83. package/src/components/filterBar/responsive.scss +10 -0
  84. package/src/components/filterBar/vars.scss +5 -0
  85. package/src/components/filters/exports.scss +1 -0
  86. package/src/components/filters/index.scss +36 -0
  87. package/src/components/filters/mods.scss +0 -7
  88. package/src/components/filters/responsive.scss +6 -0
  89. package/src/components/footer/component.scss +1 -1
  90. package/src/components/footer/exports.scss +1 -0
  91. package/src/components/footer/index.scss +36 -0
  92. package/src/components/footer/mods.scss +0 -6
  93. package/src/components/footer/responsive.scss +5 -0
  94. package/src/components/form/exports.scss +1 -0
  95. package/src/components/form/responsive.scss +0 -0
  96. package/src/components/formField/responsive.scss +0 -0
  97. package/src/components/formFieldset/responsive.scss +0 -0
  98. package/src/components/formLabel/exports.scss +1 -0
  99. package/src/components/formLabel/responsive.scss +0 -0
  100. package/src/components/formSection/responsive.scss +0 -0
  101. package/src/components/gauge/exports.scss +1 -0
  102. package/src/components/gauge/responsive.scss +0 -0
  103. package/src/components/grid/component.scss +2 -5
  104. package/src/components/grid/exports.scss +1 -0
  105. package/src/components/grid/index.scss +1 -1
  106. package/src/components/grid/responsive.scss +0 -0
  107. package/src/components/gridLegacy/exports.scss +1 -0
  108. package/src/components/gridLegacy/responsive.scss +0 -0
  109. package/src/components/header/exports.scss +1 -0
  110. package/src/components/header/index.scss +37 -0
  111. package/src/components/header/mods.scss +0 -11
  112. package/src/components/header/responsive.scss +14 -0
  113. package/src/components/index.scss +97 -93
  114. package/src/components/indexTable/exports.scss +1 -0
  115. package/src/components/indexTable/index.scss +38 -19
  116. package/src/components/indexTable/mods.scss +0 -149
  117. package/src/components/indexTable/responsive.scss +175 -0
  118. package/src/components/indexTableSorted/responsive.scss +0 -0
  119. package/src/components/inlineMessage/exports.scss +1 -0
  120. package/src/components/inlineMessage/responsive.scss +0 -0
  121. package/src/components/label/exports.scss +1 -0
  122. package/src/components/label/responsive.scss +0 -0
  123. package/src/components/layout/exports.scss +1 -0
  124. package/src/components/layout/responsive.scss +0 -0
  125. package/src/components/link/exports.scss +1 -0
  126. package/src/components/link/responsive.scss +0 -0
  127. package/src/components/list/exports.scss +1 -0
  128. package/src/components/list/responsive.scss +0 -0
  129. package/src/components/loading/exports.scss +1 -0
  130. package/src/components/loading/responsive.scss +0 -0
  131. package/src/components/main/exports.scss +1 -0
  132. package/src/components/main/index.scss +38 -6
  133. package/src/components/main/mods.scss +0 -6
  134. package/src/components/main/responsive.scss +21 -0
  135. package/src/components/main/states.scss +0 -8
  136. package/src/components/menu/exports.scss +1 -0
  137. package/src/components/menu/responsive.scss +0 -0
  138. package/src/components/mobileHeader/exports.scss +1 -0
  139. package/src/components/mobileHeader/responsive.scss +0 -0
  140. package/src/components/mobileNavigation/exports.scss +1 -0
  141. package/src/components/mobileNavigation/responsive.scss +0 -0
  142. package/src/components/multiSelect/exports.scss +1 -0
  143. package/src/components/multiSelect/responsive.scss +0 -0
  144. package/src/components/navside/component.scss +2 -2
  145. package/src/components/navside/exports.scss +1 -0
  146. package/src/components/navside/index.scss +105 -50
  147. package/src/components/navside/mods.scss +0 -44
  148. package/src/components/navside/responsive.scss +56 -0
  149. package/src/components/navside/states.scss +0 -13
  150. package/src/components/newBadge/exports.scss +1 -0
  151. package/src/components/newBadge/responsive.scss +0 -0
  152. package/src/components/notchBox/exports.scss +1 -0
  153. package/src/components/notchBox/responsive.scss +0 -0
  154. package/src/components/numericBadge/exports.scss +1 -0
  155. package/src/components/numericBadge/responsive.scss +0 -0
  156. package/src/components/pageHeader/component.scss +1 -11
  157. package/src/components/pageHeader/exports.scss +1 -0
  158. package/src/components/pageHeader/index.scss +61 -0
  159. package/src/components/pageHeader/mods.scss +0 -7
  160. package/src/components/pageHeader/responsive.scss +17 -0
  161. package/src/components/pagination/exports.scss +1 -0
  162. package/src/components/pagination/responsive.scss +0 -0
  163. package/src/components/popover/exports.scss +1 -0
  164. package/src/components/popover/responsive.scss +0 -0
  165. package/src/components/progress/exports.scss +1 -0
  166. package/src/components/progress/responsive.scss +0 -0
  167. package/src/components/radio/exports.scss +1 -0
  168. package/src/components/radio/responsive.scss +0 -0
  169. package/src/components/radioButtons/exports.scss +1 -0
  170. package/src/components/radioButtons/responsive.scss +0 -0
  171. package/src/components/radioField/exports.scss +1 -0
  172. package/src/components/radioField/responsive.scss +0 -0
  173. package/src/components/scrollBox/exports.scss +1 -0
  174. package/src/components/scrollBox/responsive.scss +0 -0
  175. package/src/components/section/component.scss +2 -2
  176. package/src/components/section/exports.scss +1 -0
  177. package/src/components/section/index.scss +61 -5
  178. package/src/components/section/mods.scss +1 -11
  179. package/src/components/section/responsive.scss +7 -0
  180. package/src/components/section/vars.scss +2 -0
  181. package/src/components/segmentedControl/exports.scss +1 -0
  182. package/src/components/segmentedControl/index.scss +36 -5
  183. package/src/components/segmentedControl/mods.scss +0 -5
  184. package/src/components/segmentedControl/responsive.scss +4 -0
  185. package/src/components/simpleSelect/exports.scss +1 -0
  186. package/src/components/simpleSelect/responsive.scss +0 -0
  187. package/src/components/skeleton/exports.scss +1 -0
  188. package/src/components/skeleton/responsive.scss +0 -0
  189. package/src/components/sortableList/exports.scss +1 -0
  190. package/src/components/sortableList/responsive.scss +0 -0
  191. package/src/components/statusBadge/exports.scss +1 -0
  192. package/src/components/statusBadge/responsive.scss +0 -0
  193. package/src/components/switch/exports.scss +1 -0
  194. package/src/components/switch/responsive.scss +0 -0
  195. package/src/components/switchField/exports.scss +1 -0
  196. package/src/components/switchField/responsive.scss +0 -0
  197. package/src/components/table/exports.scss +1 -0
  198. package/src/components/table/responsive.scss +0 -0
  199. package/src/components/tableFixed/exports.scss +1 -0
  200. package/src/components/tableFixed/responsive.scss +0 -0
  201. package/src/components/tableFixedDeprecated/exports.scss +1 -0
  202. package/src/components/tableFixedDeprecated/responsive.scss +0 -0
  203. package/src/components/tableOfContent/exports.scss +1 -0
  204. package/src/components/tableOfContent/responsive.scss +0 -0
  205. package/src/components/tableSortable/exports.scss +1 -0
  206. package/src/components/tableSortable/responsive.scss +0 -0
  207. package/src/components/tableSticked/exports.scss +1 -0
  208. package/src/components/tableSticked/responsive.scss +0 -0
  209. package/src/components/tableStickedDeprecated/exports.scss +1 -0
  210. package/src/components/tableStickedDeprecated/responsive.scss +0 -0
  211. package/src/components/tag/exports.scss +1 -0
  212. package/src/components/tag/responsive.scss +0 -0
  213. package/src/components/textField/exports.scss +1 -0
  214. package/src/components/textField/responsive.scss +0 -0
  215. package/src/components/textfields/exports.scss +1 -0
  216. package/src/components/textfields/responsive.scss +0 -0
  217. package/src/components/timeline/exports.scss +1 -0
  218. package/src/components/timeline/responsive.scss +0 -0
  219. package/src/components/timepicker/exports.scss +1 -0
  220. package/src/components/timepicker/responsive.scss +0 -0
  221. package/src/components/title/exports.scss +1 -0
  222. package/src/components/title/responsive.scss +0 -0
  223. package/src/components/titleSection/exports.scss +1 -0
  224. package/src/components/titleSection/responsive.scss +0 -0
  225. package/src/components/toast/exports.scss +1 -0
  226. package/src/components/toast/responsive.scss +0 -0
  227. package/src/components/tooltip/exports.scss +1 -0
  228. package/src/components/tooltip/responsive.scss +0 -0
  229. package/src/components/userPopover/exports.scss +1 -0
  230. package/src/components/userPopover/responsive.scss +0 -0
  231. package/src/components/verticalNavigation/exports.scss +1 -0
  232. package/src/components/verticalNavigation/responsive.scss +0 -0
@@ -1,5 +1,6 @@
1
1
  @use 'exports' as *;
2
2
  @use '@lucca-front/scss/src/commons/utils/media';
3
+ @use '@lucca-front/scss/src/commons/utils/container';
3
4
 
4
5
  .indexTable {
5
6
  @include vars;
@@ -44,25 +45,6 @@
44
45
  }
45
46
  }
46
47
 
47
- // Responsive
48
- @include media.max('S') {
49
- &.mod-responsiveCardList {
50
- @include responsiveCardList;
51
- }
52
-
53
- &.mod-selectable.mod-responsiveCardList {
54
- @include selectableResponsiveCardList;
55
- }
56
-
57
- &.mod-stackable.mod-responsiveCardList {
58
- @include stackableResponsiveCardList;
59
- }
60
-
61
- &.mod-selectable.mod-stackable.mod-responsiveCardList {
62
- @include selectableStackableResponsiveCardList;
63
- }
64
- }
65
-
66
48
  // generic states, non tied to a mod
67
49
  &:not(:has(.indexTable-head[inert='inert'])) {
68
50
  // focus-within
@@ -75,3 +57,40 @@
75
57
  // nested open / closed row
76
58
  @include openClosedRow;
77
59
  }
60
+
61
+ @mixin responsive(
62
+ $breakpoint: 'S',
63
+ $breakpoint2: null,
64
+ $inverted: true,
65
+ $at: 'media',
66
+ $containerName: 'indexTable',
67
+ $responsiveSelector: null,
68
+ $axis: 'width',
69
+ $selector: '.indexTable'
70
+ ) {
71
+ @if ($at == 'container') {
72
+ @include container.auto($containerName);
73
+ }
74
+
75
+ #{if($responsiveSelector, $selector + '.rwd-' + $responsiveSelector, $selector)} {
76
+ @include media.query(
77
+ $breakpoint: $breakpoint,
78
+ $breakpoint2: $breakpoint2,
79
+ $inverted: $inverted,
80
+ $at: $at,
81
+ $containerName: $containerName,
82
+ $axis: $axis
83
+ ) {
84
+ @include cardList;
85
+ @include selectableCardList;
86
+ @include stackableCardList;
87
+ @include selectableStackableCardList;
88
+ }
89
+ }
90
+ }
91
+
92
+ $defaultResponsive: true !default;
93
+
94
+ @if $defaultResponsive {
95
+ @include responsive;
96
+ }
@@ -101,155 +101,6 @@
101
101
  }
102
102
  }
103
103
 
104
- @mixin responsiveCardList {
105
- display: flex;
106
- flex-direction: column;
107
- gap: var(--components-indexTable-row-spacing);
108
- padding: var(--components-indexTable-padding);
109
-
110
- .indexTable-head {
111
- display: none;
112
- }
113
-
114
- .indexTable-body {
115
- display: flex;
116
- flex-direction: column;
117
- }
118
-
119
- .indexTable-body-row,
120
- .indexTable-foot-row {
121
- position: relative;
122
- display: grid;
123
- // Grid layout by default is a basic one column template.
124
- // 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
125
- grid-template-columns: var(--components-indexTable-row-responsive-grid-template-columns, 1fr);
126
- grid-template-rows: var(--components-indexTable-row-responsive-grid-template-rows, none);
127
- grid-auto-rows: auto;
128
- grid-template-areas: var(--components-indexTable-row-responsive-grid-template-areas, none);
129
- align-items: center;
130
- padding: var(--components-indexTable-row-spacing-responsive) 0;
131
- margin-bottom: var(--components-indexTable-row-spacing-responsive);
132
- // "Title" lines that do not contain "card" cells are smaller
133
- &:not(:has(.indexTable-body-row-cell)) {
134
- padding: 0;
135
- margin-bottom: 0;
136
- }
137
- &:last-child {
138
- margin-bottom: 0;
139
- }
140
- }
141
-
142
- // checkbox, title and subtotal need to stay on the same row
143
- .indexTable-body-row-transparentCell {
144
- grid-row: 1;
145
- }
146
-
147
- // We only need one ::before for the card apparence and one ::after for the possible outline
148
- .indexTable-body-row-cell {
149
- position: static;
150
- grid-column-start: 1;
151
- padding: 0 var(--components-indexTable-cell-padding);
152
-
153
- &::before {
154
- --components-indexTable-cell-border-radius-left: var(--components-indexTable-cell-border-radius);
155
- --components-indexTable-cell-border-radius-right: var(--components-indexTable-cell-border-radius);
156
- }
157
- &::after {
158
- --components-indexTable-outline-border-width-left: var(--components-indexTable-outline-border-width);
159
- --components-indexTable-outline-border-width-right: var(--components-indexTable-outline-border-width);
160
- --components-indexTable-outline-border-radius-left: var(--components-indexTable-outline-border-radius);
161
- --components-indexTable-outline-border-radius-right: var(--components-indexTable-outline-border-radius);
162
- }
163
- ~ .indexTable-body-row-cell {
164
- &::before,
165
- &::after {
166
- display: none;
167
- }
168
- }
169
- }
170
-
171
- .indexTable-body-row-cell-content[data-label] {
172
- display: flex;
173
- flex-direction: column;
174
- margin-top: var(--pr-t-spacings-50);
175
- &::before {
176
- content: attr(data-label);
177
- font-weight: 600;
178
- }
179
- }
180
-
181
- .indexTable-head-row-cell-checkbox,
182
- .indexTable-body-row-cell-checkbox {
183
- margin-block: 0;
184
- }
185
- }
186
-
187
- @mixin selectableResponsiveCardList {
188
- .indexTable-body-row {
189
- grid-template-columns: var(--components-indexTable-row-cell-transparent-width) var(
190
- --components-indexTable-row-responsive-grid-template-columns,
191
- 1fr
192
- );
193
- }
194
- .indexTable-body-row-transparentCell {
195
- width: auto;
196
- // we add a padding-left to keep a correct indent between lvl 1 and lvl 2 titles in nested tables. * .75 is just for cosmetic
197
- &:first-child[colspan='2'] + .indexTable-body-row-transparentCell {
198
- padding-left: calc(var(--components-indexTable-row-cell-transparent-width) * 0.75);
199
- }
200
- }
201
- .indexTable-body-row-cell {
202
- --components-indexTable-cell-inset-x-left: var(--components-indexTable-row-cell-transparent-width);
203
- grid-column-start: 2;
204
- }
205
- }
206
-
207
- @mixin selectableStackableResponsiveCardList {
208
- .indexTable-body-row {
209
- --components-indexTable-cell-inset-x-left: var(--components-indexTable-row-cell-transparent-width);
210
- }
211
- }
212
-
213
- // The stack apparence is put on the row instead of the cells
214
- @mixin stackableResponsiveCardList {
215
- .indexTable-body-row[class*='mod-stack'] {
216
- border: 0;
217
- border-bottom-width: var(--components-indexTable-row-stack-border-bottom);
218
- border-style: solid;
219
- border-color: transparent;
220
- &::before,
221
- &::after {
222
- content: '';
223
- position: absolute;
224
- top: 0;
225
- bottom: calc((var(--components-indexTable-row-spacing-responsive) + var(--components-indexTable-stack3-row-spacing)) * -1);
226
- background-image: var(--components-indexTable-row-stack2-background-image, none),
227
- var(--components-indexTable-row-stack3-background-image, none);
228
- background-position: var(--components-indexTable-row-stack2-background-position, 0 0),
229
- var(--components-indexTable-row-stack3-background-position, 0 0);
230
- background-repeat: no-repeat, no-repeat;
231
- transition-property: background-image, background-position;
232
- transition-duration: var(--commons-animations-durations-fast);
233
- }
234
- &::before {
235
- left: var(--components-indexTable-cell-inset-x-left, 0);
236
- right: 50%;
237
- --components-indexTable-row-stack2-background-position: left -2px bottom 6px;
238
- --components-indexTable-row-stack3-background-position: left 1px bottom 2px;
239
- }
240
- &::after {
241
- left: 50%;
242
- right: 0;
243
- --components-indexTable-row-stack2-background-position: right -2px bottom 6px;
244
- --components-indexTable-row-stack3-background-position: right 1px bottom 2px;
245
- }
246
- }
247
- .indexTable-body-row-cell {
248
- border-bottom: 0;
249
- background-image: none;
250
- }
251
- }
252
-
253
104
  @mixin actions {
254
105
  // ~ equivalent to width: min-content for a table-cell but prevent line-break;
255
106
  width: 1%;
@@ -0,0 +1,175 @@
1
+ @mixin cardList {
2
+ &.mod-responsiveCardList {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: var(--components-indexTable-row-spacing);
6
+ padding: var(--components-indexTable-padding);
7
+
8
+ .indexTable-head {
9
+ display: none;
10
+ }
11
+
12
+ .indexTable-body {
13
+ display: flex;
14
+ flex-direction: column;
15
+ }
16
+
17
+ .indexTable-body-row,
18
+ .indexTable-foot-row {
19
+ position: relative;
20
+ display: grid;
21
+ // Grid layout by default is a basic one column template.
22
+ // 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
23
+ grid-template-columns: var(--components-indexTable-row-responsive-grid-template-columns, 1fr);
24
+ grid-template-rows: var(--components-indexTable-row-responsive-grid-template-rows, none);
25
+ grid-auto-rows: auto;
26
+ grid-template-areas: var(--components-indexTable-row-responsive-grid-template-areas, none);
27
+ align-items: center;
28
+ padding: var(--components-indexTable-row-spacing-responsive) 0;
29
+ margin-bottom: var(--components-indexTable-row-spacing-responsive);
30
+
31
+ // "Title" lines that do not contain "card" cells are smaller
32
+ &:not(:has(.indexTable-body-row-cell)) {
33
+ padding: 0;
34
+ margin-bottom: 0;
35
+ }
36
+
37
+ &:last-child {
38
+ margin-bottom: 0;
39
+ }
40
+ }
41
+
42
+ // checkbox, title and subtotal need to stay on the same row
43
+ .indexTable-body-row-transparentCell {
44
+ grid-row: 1;
45
+ }
46
+
47
+ // We only need one ::before for the card apparence and one ::after for the possible outline
48
+ .indexTable-body-row-cell {
49
+ position: static;
50
+ grid-column-start: 1;
51
+ padding: 0 var(--components-indexTable-cell-padding);
52
+
53
+ &::before {
54
+ --components-indexTable-cell-border-radius-left: var(--components-indexTable-cell-border-radius);
55
+ --components-indexTable-cell-border-radius-right: var(--components-indexTable-cell-border-radius);
56
+ }
57
+
58
+ &::after {
59
+ --components-indexTable-outline-border-width-left: var(--components-indexTable-outline-border-width);
60
+ --components-indexTable-outline-border-width-right: var(--components-indexTable-outline-border-width);
61
+ --components-indexTable-outline-border-radius-left: var(--components-indexTable-outline-border-radius);
62
+ --components-indexTable-outline-border-radius-right: var(--components-indexTable-outline-border-radius);
63
+ }
64
+
65
+ ~ .indexTable-body-row-cell {
66
+ &::before,
67
+ &::after {
68
+ display: none;
69
+ }
70
+ }
71
+ }
72
+
73
+ .indexTable-body-row-cell-content[data-label] {
74
+ display: flex;
75
+ flex-direction: column;
76
+ margin-top: var(--pr-t-spacings-50);
77
+
78
+ &::before {
79
+ content: attr(data-label);
80
+ font-weight: 600;
81
+ }
82
+ }
83
+
84
+ .indexTable-head-row-cell-checkbox,
85
+ .indexTable-body-row-cell-checkbox {
86
+ margin-block: 0;
87
+ }
88
+ }
89
+ }
90
+
91
+ @mixin selectableCardList {
92
+ &.mod-selectable {
93
+ &.mod-responsiveCardList {
94
+ .indexTable-body-row {
95
+ grid-template-columns: var(--components-indexTable-row-cell-transparent-width) var(
96
+ --components-indexTable-row-responsive-grid-template-columns,
97
+ 1fr
98
+ );
99
+ }
100
+
101
+ .indexTable-body-row-transparentCell {
102
+ width: auto;
103
+ // we add a padding-left to keep a correct indent between lvl 1 and lvl 2 titles in nested tables. * .75 is just for cosmetic
104
+ &:first-child[colspan='2'] + .indexTable-body-row-transparentCell {
105
+ padding-left: calc(var(--components-indexTable-row-cell-transparent-width) * 0.75);
106
+ }
107
+ }
108
+
109
+ .indexTable-body-row-cell {
110
+ --components-indexTable-cell-inset-x-left: var(--components-indexTable-row-cell-transparent-width);
111
+ grid-column-start: 2;
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ // The stack apparence is put on the row instead of the cells
118
+ @mixin stackableCardList {
119
+ &.mod-stackable {
120
+ &.mod-responsiveCardList {
121
+ .indexTable-body-row[class*='mod-stack'] {
122
+ border: 0;
123
+ border-bottom-width: var(--components-indexTable-row-stack-border-bottom);
124
+ border-style: solid;
125
+ border-color: transparent;
126
+
127
+ &::before,
128
+ &::after {
129
+ content: '';
130
+ position: absolute;
131
+ top: 0;
132
+ bottom: calc((var(--components-indexTable-row-spacing-responsive) + var(--components-indexTable-stack3-row-spacing)) * -1);
133
+ background-image: var(--components-indexTable-row-stack2-background-image, none),
134
+ var(--components-indexTable-row-stack3-background-image, none);
135
+ background-position: var(--components-indexTable-row-stack2-background-position, 0 0),
136
+ var(--components-indexTable-row-stack3-background-position, 0 0);
137
+ background-repeat: no-repeat, no-repeat;
138
+ transition-property: background-image, background-position;
139
+ transition-duration: var(--commons-animations-durations-fast);
140
+ }
141
+
142
+ &::before {
143
+ left: var(--components-indexTable-cell-inset-x-left, 0);
144
+ right: 50%;
145
+ --components-indexTable-row-stack2-background-position: left -2px bottom 6px;
146
+ --components-indexTable-row-stack3-background-position: left 1px bottom 2px;
147
+ }
148
+
149
+ &::after {
150
+ left: 50%;
151
+ right: 0;
152
+ --components-indexTable-row-stack2-background-position: right -2px bottom 6px;
153
+ --components-indexTable-row-stack3-background-position: right 1px bottom 2px;
154
+ }
155
+ }
156
+
157
+ .indexTable-body-row-cell {
158
+ border-bottom: 0;
159
+ background-image: none;
160
+ }
161
+ }
162
+ }
163
+ }
164
+
165
+ @mixin selectableStackableCardList {
166
+ &.mod-selectable {
167
+ &.mod-stackable {
168
+ &.mod-responsiveCardList {
169
+ .indexTable-body-row {
170
+ --components-indexTable-cell-inset-x-left: var(--components-indexTable-row-cell-transparent-width);
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
@@ -1,10 +1,6 @@
1
1
  @use 'exports' as *;
2
-
3
- .main {
4
- &:is(.is-notScrollable, .notScrollable) {
5
- @include notScrollable;
6
- }
7
- }
2
+ @use '@lucca-front/scss/src/commons/utils/media';
3
+ @use '@lucca-front/scss/src/commons/utils/container';
8
4
 
9
5
  .main-content {
10
6
  @include vars;
@@ -25,3 +21,39 @@
25
21
  @include menu;
26
22
  }
27
23
  }
24
+
25
+ @mixin responsive(
26
+ $breakpoint: 'S',
27
+ $breakpoint2: null,
28
+ $inverted: true,
29
+ $at: 'media',
30
+ $containerName: 'mainContent',
31
+ $responsiveSelector: null,
32
+ $axis: 'width',
33
+ $selector: '.main-content'
34
+ ) {
35
+ @if ($at == 'container') {
36
+ @include container.auto($containerName);
37
+ }
38
+
39
+ #{if($responsiveSelector, $selector + '.rwd-' + $responsiveSelector, $selector)} {
40
+ @include media.query(
41
+ $breakpoint: $breakpoint,
42
+ $breakpoint2: $breakpoint2,
43
+ $inverted: $inverted,
44
+ $at: $at,
45
+ $containerName: $containerName,
46
+ $axis: $axis
47
+ ) {
48
+ @include narrow;
49
+ @include bannerNarrow;
50
+ @include notScrollable;
51
+ }
52
+ }
53
+ }
54
+
55
+ $defaultResponsive: true !default;
56
+
57
+ @if $defaultResponsive {
58
+ @include responsive;
59
+ }
@@ -1,15 +1,9 @@
1
- @use '@lucca-front/scss/src/commons/utils/media';
2
-
3
1
  @mixin menu {
4
2
  margin-left: var(--commons-navSide-width);
5
3
  }
6
4
 
7
5
  @mixin banner {
8
6
  margin-top: var(--commons-banner-height);
9
-
10
- @include media.max('S') {
11
- margin-top: calc(var(--commons-banner-height) + var(--commons-navSide-mobile-toggle-height));
12
- }
13
7
  }
14
8
 
15
9
  @mixin stickyHeader {
@@ -0,0 +1,21 @@
1
+ @mixin narrow {
2
+ margin-left: 0 !important;
3
+ }
4
+
5
+ @mixin bannerNarrow {
6
+ &.mod-withBanner,
7
+ .navSide.mod-withBanner ~ &,
8
+ .mod-withBanner & {
9
+ margin-top: calc(var(--commons-banner-height) + var(--commons-navSide-mobile-toggle-height));
10
+ }
11
+ }
12
+
13
+ @mixin notScrollable {
14
+ @at-root {
15
+ .main.is-notScrollable,
16
+ .main.notScrollable {
17
+ height: 100vh;
18
+ overflow: hidden;
19
+ }
20
+ }
21
+ }
@@ -1,8 +0,0 @@
1
- @use '@lucca-front/scss/src/commons/utils/media';
2
-
3
- @mixin notScrollable {
4
- @include media.max('S') {
5
- height: 100vh;
6
- overflow: hidden;
7
- }
8
- }
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';
File without changes
@@ -213,14 +213,14 @@
213
213
  }
214
214
 
215
215
  &::before {
216
- background-color: color.transparentize(var(--palettes-neutral-900), 0.15);
216
+ background-color: color.transparentize(var(--palettes-neutral-0), 0.15);
217
217
  border-radius: 1em;
218
218
  height: 1em;
219
219
  width: 1em;
220
220
  }
221
221
 
222
222
  &::after {
223
- @include loading.gradient;
223
+ @include loading.gradient($color: color.transparentize(var(--palettes-neutral-0), 0.1));
224
224
 
225
225
  border-radius: var(--commons-borderRadius-M);
226
226
  flex: 1 1 auto;
@@ -1,4 +1,5 @@
1
1
  @forward 'vars';
2
2
  @forward 'mods';
3
3
  @forward 'states';
4
+ @forward 'responsive';
4
5
  @forward 'component';