@lucca-front/scss 20.3.3-rc.6 → 21.0.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 (72) 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/calendar/component.scss +5 -9
  8. package/src/components/calendar/index.scss +8 -0
  9. package/src/components/calendar/states.scss +6 -0
  10. package/src/components/calendar/vars.scss +2 -0
  11. package/src/components/callout/component.scss +0 -1
  12. package/src/components/calloutPopover/component.scss +13 -10
  13. package/src/components/calloutPopover/mods.scss +2 -5
  14. package/src/components/calloutPopover/vars.scss +0 -1
  15. package/src/components/chip/component.scss +5 -0
  16. package/src/components/chip/index.scss +4 -0
  17. package/src/components/chip/mods.scss +4 -0
  18. package/src/components/clear/component.scss +1 -1
  19. package/src/components/clear/index.scss +18 -5
  20. package/src/components/clear/mods.scss +1 -1
  21. package/src/components/clear/states.scss +10 -1
  22. package/src/components/clear/vars.scss +1 -0
  23. package/src/components/dataTable/component.scss +1 -1
  24. package/src/components/dataTable/index.scss +14 -0
  25. package/src/components/dataTable/mods.scss +16 -3
  26. package/src/components/dataTable/vars.scss +0 -1
  27. package/src/components/dataTableSticked/index.scss +10 -0
  28. package/src/components/dataTableSticked/mods.scss +4 -8
  29. package/src/components/dataTableSticked/states.scss +7 -0
  30. package/src/components/dataTableSticked/vars.scss +2 -0
  31. package/src/components/dialog/component.scss +1 -14
  32. package/src/components/dialog/index.scss +4 -0
  33. package/src/components/dialog/mods.scss +15 -0
  34. package/src/components/fancyBox/component.scss +15 -20
  35. package/src/components/fancyBox/index.scss +4 -0
  36. package/src/components/fancyBox/mods.scss +11 -0
  37. package/src/components/fancyBox/vars.scss +10 -0
  38. package/src/components/filterPill/component.scss +0 -1
  39. package/src/components/filterPill/states.scss +3 -2
  40. package/src/components/filterPill/vars.scss +0 -1
  41. package/src/components/form/component.scss +6 -2
  42. package/src/components/indexTable/component.scss +11 -28
  43. package/src/components/indexTable/index.scss +34 -3
  44. package/src/components/indexTable/mods.scss +45 -10
  45. package/src/components/indexTable/states.scss +5 -1
  46. package/src/components/indexTable/vars.scss +1 -0
  47. package/src/components/inputFramed/component.scss +8 -9
  48. package/src/components/inputFramed/index.scss +13 -3
  49. package/src/components/inputFramed/mods.scss +14 -0
  50. package/src/components/inputFramed/vars.scss +9 -2
  51. package/src/components/link/mods.scss +3 -2
  52. package/src/components/listing/component.scss +20 -2
  53. package/src/components/listing/index.scss +10 -0
  54. package/src/components/listing/mods.scss +49 -0
  55. package/src/components/listing/vars.scss +16 -2
  56. package/src/components/multiSelect/index.scss +4 -14
  57. package/src/components/multiSelect/mods.scss +0 -28
  58. package/src/components/multiSelect/states.scss +0 -16
  59. package/src/components/plgPush/component.scss +4 -0
  60. package/src/components/richText/component.scss +5 -6
  61. package/src/components/richText/index.scss +4 -0
  62. package/src/components/richText/states.scss +5 -0
  63. package/src/components/scrollBox/component.scss +4 -0
  64. package/src/components/simpleSelect/component.scss +10 -3
  65. package/src/components/sortableList/component.scss +23 -4
  66. package/src/components/sortableList/index.scss +13 -0
  67. package/src/components/sortableList/mods.scss +6 -0
  68. package/src/components/tableFixed/mods.scss +3 -3
  69. package/src/components/tableOfContent/component.scss +2 -1
  70. package/src/components/tableOfContent/index.scss +2 -1
  71. package/src/components/textfields/index.scss +3 -3
  72. package/src/components/textfields/states.scss +3 -3
@@ -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;
@@ -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
  }
@@ -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);
@@ -1,9 +1,12 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/form';
2
2
  @use '@lucca-front/scss/src/components/formLabel/exports' as formLabel;
3
3
  @use '@lucca-front/scss/src/components/inlineMessage/exports' as inlineMessage;
4
+ @use '@lucca-front/scss/src/components/title/exports' as title;
4
5
  @use '@lucca-front/scss/src/commons/utils/namespace';
5
6
 
6
7
  @mixin component($atRoot: namespace.$defaultAtRoot) {
8
+ display: block;
9
+
7
10
  .divider {
8
11
  margin-block: var(--pr-t-spacings-300);
9
12
  }
@@ -34,12 +37,13 @@
34
37
 
35
38
  @at-root ($atRoot) {
36
39
  .form-header {
40
+ display: block;
37
41
  margin-block-end: var(--pr-t-spacings-300);
38
42
  }
39
43
 
40
44
  .form-header-title {
41
- margin: 0;
42
- padding: 0;
45
+ @include title.component;
46
+ @include title.h1;
43
47
  }
44
48
 
45
49
  .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
  }
@@ -4,10 +4,6 @@
4
4
  @use '@lucca-front/scss/src/components/button/exports' as button;
5
5
 
6
6
  @mixin selectable {
7
- .indexTable-head-row {
8
- cursor: pointer;
9
- }
10
-
11
7
  .indexTable-body-row {
12
8
  &:is(:focus-within, :hover) {
13
9
  outline: none;
@@ -310,7 +306,7 @@
310
306
  .indexTable-head-row-cell,
311
307
  .indexTable-body-row-cell,
312
308
  .indexTable-foot-row-cell {
313
- @include cellFixedWidth;
309
+ @include cellInlineSize;
314
310
  }
315
311
  }
316
312
 
@@ -323,14 +319,14 @@
323
319
  .indexTable-head-row-cell,
324
320
  .indexTable-body-row-cell,
325
321
  .indexTable-foot-row-cell {
326
- @include cellFixedWidth;
322
+ @include cellInlineSize;
327
323
  }
328
324
  }
329
325
  }
330
326
  }
331
327
  }
332
328
 
333
- @mixin cellFixedWidth {
329
+ @mixin cellInlineSize {
334
330
  min-inline-size: var(--cell-width, auto);
335
331
  max-inline-size: var(--cell-width, auto);
336
332
  inline-size: var(--cell-width, auto);
@@ -359,10 +355,49 @@
359
355
  }
360
356
  }
361
357
 
362
- @mixin alignRight {
363
- text-align: end;
358
+ @mixin alignEnd {
359
+ &,
360
+ .indexTable-body-row-cell-link {
361
+ text-align: end;
362
+ }
364
363
  }
365
364
 
366
365
  @mixin alignCenter {
367
- text-align: center;
366
+ &,
367
+ .indexTable-body-row-cell-link {
368
+ text-align: center;
369
+ }
370
+ }
371
+
372
+ @mixin alignStart {
373
+ &,
374
+ .indexTable-body-row-cell-link {
375
+ text-align: start;
376
+ }
377
+ }
378
+
379
+ @mixin tfoot {
380
+ padding-block: var(--pr-t-spacings-50);
381
+
382
+ &::before,
383
+ &::after {
384
+ content: none;
385
+ }
386
+ }
387
+
388
+ @mixin groupButton {
389
+ @include button.ghost;
390
+ @include button.S;
391
+ @include button.onlyIconS;
392
+
393
+ --components-button-padding: var(--pr-t-spacings-25);
394
+
395
+ // Extend button reactive zone to his whole parent
396
+ position: static;
397
+
398
+ &::before {
399
+ content: '';
400
+ position: absolute;
401
+ inset: 0;
402
+ }
368
403
  }
@@ -8,7 +8,7 @@
8
8
  }
9
9
  }
10
10
 
11
- .indexTable-body-row-cellTitle-button[aria-expanded='false'] .lucca-icon {
11
+ .indexTable-body-row-cellTitle-button[aria-expanded='false'] .icon-arrowChevronTop {
12
12
  transform: rotate(180deg);
13
13
  }
14
14
 
@@ -79,3 +79,7 @@
79
79
  --components-indexTable-cell-z-index: 2;
80
80
  --components-indexTable-cell-subAction-opacity: 1;
81
81
  }
82
+
83
+ @mixin rowsHidden {
84
+ --components-indexTable-row-display: none;
85
+ }
@@ -3,6 +3,7 @@
3
3
  --components-indexTable-border-radius: var(--pr-t-border-radius-structure);
4
4
  --components-indexTable-background-color: var(--palettes-neutral-50);
5
5
  --components-indexTable-row-spacing: 4px;
6
+ --components-indexTable-row-display: table-row;
6
7
 
7
8
  // on responsive, row spacing is increased
8
9
  --components-indexTable-row-spacing-responsive: 8px;
@@ -3,7 +3,7 @@
3
3
  @mixin component($atRoot: namespace.$defaultAtRoot) {
4
4
  position: relative;
5
5
  overflow: hidden;
6
- padding: var(--pr-t-spacings-50);
6
+ padding: var(--components-inputFramed-padding);
7
7
  border: solid 1px var(--components-inputFramed-borderColor);
8
8
  border-radius: var(--pr-t-border-radius-default);
9
9
  background-color: var(--palettes-neutral-0);
@@ -16,8 +16,7 @@
16
16
  @at-root ($atRoot) {
17
17
  .inputFramed-header-label.formLabel {
18
18
  position: static;
19
- font-weight: var(--pr-t-font-fontWeight-semibold);
20
-
19
+ font-weight: var(--components-inputFramed-header-label-fontWeight);
21
20
 
22
21
  &::after {
23
22
  content: '';
@@ -36,7 +35,7 @@
36
35
  }
37
36
 
38
37
  .inputFramed-header {
39
- padding: var(--components-inputFramed-padding);
38
+ padding: var(--components-inputFramed-header-padding);
40
39
  border-radius: var(--pr-t-border-radius-50);
41
40
  background-color: var(--components-inputFramed-header-backgroundColor);
42
41
  transition-property: background-color;
@@ -60,8 +59,8 @@
60
59
  .inputFramed-header-info {
61
60
  flex-basis: 100%;
62
61
  border-block-start: 1px solid var(--components-inputFramed-header-info-borderColor);
63
- margin-block-start: var(--pr-t-spacings-100);
64
- padding-block-start: var(--pr-t-spacings-200);
62
+ padding-block-start: var(--components-inputFramed-header-info-paddingBlockStart);
63
+ margin-block-start: var(--components-inputFramed-header-info-marginBlockStart);
65
64
  color: var(--components-inputFramed-header-info-color);
66
65
 
67
66
  &:empty {
@@ -71,8 +70,8 @@
71
70
 
72
71
  .inputFramed-content {
73
72
  display: var(--components-inputFramed-content-display);
74
- padding: var(--components-inputFramed-padding);
75
- margin-block-start: var(--pr-t-spacings-50);
73
+ padding: var(--components-inputFramed-content-padding);
74
+ margin-block-start: var(--components-inputFramed-content-marginBlockStart);
76
75
  }
77
76
  }
78
77
  }
@@ -80,6 +79,6 @@
80
79
  @mixin wrapper($atRoot: namespace.$defaultAtRoot) {
81
80
  display: flex;
82
81
  flex-direction: column;
83
- gap: var(--pr-t-spacings-150);
82
+ gap: var(--components-inputFramed-wrapper-gap);
84
83
  margin-block: var(--pr-t-spacings-50);
85
84
  }
@@ -40,10 +40,14 @@
40
40
  @include disabled;
41
41
  }
42
42
  }
43
- }
44
43
 
45
- &.mod-center {
46
- @include center;
44
+ &.mod-center {
45
+ @include center;
46
+ }
47
+
48
+ &.mod-L {
49
+ @include L;
50
+ }
47
51
  }
48
52
  }
49
53
 
@@ -52,4 +56,10 @@
52
56
  @include vars;
53
57
  @include wrapper;
54
58
  }
59
+
60
+ @layer mods {
61
+ &:has(.inputFramed.mod-L) {
62
+ @include wrapperL;
63
+ }
64
+ }
55
65
  }
@@ -1,3 +1,17 @@
1
1
  @mixin center {
2
2
  --components-inputFramed-header-alignItems: center;
3
3
  }
4
+
5
+ @mixin L {
6
+ --components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-semibold);
7
+ --components-inputFramed-padding: var(--pr-t-spacings-50);
8
+ --components-inputFramed-header-padding: var(--pr-t-spacings-150);
9
+ --components-inputFramed-content-padding: var(--pr-t-spacings-150);
10
+ --components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-50);
11
+ --components-inputFramed-header-info-marginBlockStart: var(--pr-t-spacings-100);
12
+ --components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-200);
13
+ }
14
+
15
+ @mixin wrapperL {
16
+ --components-inputFramed-wrapper-gap: var(--pr-t-spacings-150);
17
+ }
@@ -1,9 +1,16 @@
1
1
  @mixin vars {
2
+ --components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);
2
3
  --components-inputFramed-content-display: none;
3
4
  --components-inputFramed-borderColor: var(--palettes-neutral-300);
4
5
  --components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);
5
- --components-inputFramed-padding: var(--pr-t-spacings-150);
6
+ --components-inputFramed-padding: var(--pr-t-spacings-25);
7
+ --components-inputFramed-header-padding: var(--pr-t-spacings-75);
8
+ --components-inputFramed-content-padding: var(--pr-t-spacings-75);
9
+ --components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);
6
10
  --components-inputFramed-header-backgroundColor: transparent;
7
- --components-inputFramed-header-info-color: inherit;
8
11
  --components-inputFramed-header-alignItems: normal;
12
+ --components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);
13
+ --components-inputFramed-header-info-color: inherit;
14
+ --components-inputFramed-header-info-marginBlockStart: 0;
15
+ --components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);
9
16
  }
@@ -4,8 +4,9 @@
4
4
  .lucca-icon {
5
5
  text-decoration: none;
6
6
  font-size: 1em;
7
- line-height: 1lh;
8
- vertical-align: bottom;
7
+ vertical-align: baseline;
8
+ position: relative;
9
+ top: 0.075rem; // magic number
9
10
  }
10
11
 
11
12
  &:has(.link-text) {
@@ -5,20 +5,32 @@
5
5
  padding: 0;
6
6
  margin: 0;
7
7
  padding-inline-start: var(--components-listing-paddingInlineStart);
8
+ margin-inline-start: var(--components-listing-marginInlineStart);
8
9
  display: flex;
9
- flex-direction: column;
10
- gap: var(--pr-t-spacings-50);
10
+ flex-direction: var(--components-listing-flexDirection);
11
+ flex-wrap: var(--components-listing-flexWrap);
12
+ row-gap: var(--pr-t-spacings-50);
13
+ column-gap: var(--pr-t-spacings-100);
11
14
  list-style-type: var(--components-listing-listStyleType);
15
+ clip-path: var(--components-listing-clipPath);
12
16
 
13
17
  @at-root ($atRoot) {
14
18
  .listing-item {
15
19
  display: var(--components-listing-item-display);
16
20
  align-items: flex-start;
17
21
  gap: var(--pr-t-spacings-100);
22
+ margin-inline-start: 0;
18
23
 
19
24
  &::marker {
20
25
  line-height: 1;
21
26
  }
27
+
28
+ &::before {
29
+ content: var(--components-listing-item-before-content);
30
+ border-inline-start: var(--commons-divider-border);
31
+ height: 0.75lh;
32
+ align-self: center;
33
+ }
22
34
  }
23
35
 
24
36
  .listing-item-icon {
@@ -32,5 +44,11 @@
32
44
 
33
45
  @include icon.S;
34
46
  }
47
+
48
+ .listing-item-content {
49
+ display: var(--components-listing-item-content-display);
50
+ gap: var(--components-listing-item-content-rowGap) var(--components-listing-item-content-columnGap);
51
+ flex-wrap: var(--components-listing-item-content-flexWrap);
52
+ }
35
53
  }
36
54
  }
@@ -12,6 +12,16 @@
12
12
  @include ordered;
13
13
  }
14
14
 
15
+ &.mod-inline {
16
+ @include inline;
17
+ @include hideFirstItems;
18
+ @include nestedInline;
19
+
20
+ &.mod-divider {
21
+ @include divider;
22
+ }
23
+ }
24
+
15
25
  .listing {
16
26
  @include nested;
17
27
 
@@ -48,3 +48,52 @@
48
48
  --components-listing-listStyleType: lower-roman;
49
49
  }
50
50
  }
51
+
52
+ @mixin inline {
53
+ --components-listing-paddingInlineStart: 0;
54
+ --components-listing-flexDirection: row;
55
+ --components-listing-item-display: flex;
56
+ --components-listing-flexWrap: wrap;
57
+ --components-listing-item-content-flexWrap: wrap;
58
+ --components-listing-item-content-rowGap: var(--pr-t-spacings-50);
59
+ }
60
+
61
+ @mixin nestedInline {
62
+ &:has(.listing) {
63
+ .listing {
64
+ --components-listing-clipPath: 0;
65
+
66
+ @include inline;
67
+ }
68
+
69
+ .listing-item {
70
+ --components-listing-item-content-display: flex;
71
+ --components-listing-item-content-columnGap: var(--pr-t-spacings-100);
72
+ }
73
+ }
74
+
75
+ &.mod-divider:has(.listing) {
76
+ .listing {
77
+ --components-listing-marginInlineStart: calc(var(--components-listing-inlineFirst) * -1);
78
+
79
+ @include divider;
80
+ }
81
+
82
+ .listing-item-content {
83
+ --components-listing-item-content-columnGap: var(--pr-t-spacings-200);
84
+ }
85
+ }
86
+ }
87
+
88
+ @mixin hideFirstItems {
89
+ --components-listing-marginInlineStart: calc(var(--components-listing-inlineFirst) * -1);
90
+ --components-listing-clipPath: inset(
91
+ calc(var(--pr-t-spacings-50) * -1) calc(var(--pr-t-spacings-50) * -1) calc(var(--pr-t-spacings-50) * -1)
92
+ calc(var(--components-listing-inlineFirst) - var(--pr-t-spacings-50))
93
+ );
94
+ }
95
+
96
+ @mixin divider {
97
+ --components-listing-item-before-content: '';
98
+ --components-listing-inlineFirst: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-25) - var(--commons-divider-width));
99
+ }
@@ -1,7 +1,21 @@
1
1
  @mixin vars {
2
- --components-listing-item-display: list-item;
3
- --components-listing-paddingInlineStart: calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-50));
2
+ --components-listing-marginInlineStart: 0;
3
+ --components-listing-inlineFirst: 0;
4
+ --components-listing-flexDirection: column;
5
+ --components-listing-flexWrap: nowrap;
6
+ --components-listing-paddingInlineStart: var(--components-listing-inlineStart);
7
+ --components-listing-inlineStart: calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-50));
8
+
9
+ --components-listing-clipPath: none;
4
10
  --components-listing-listStyleType: disc;
11
+
12
+ --components-listing-item-display: list-item;
5
13
  --components-listing-item-icon-backgroundColor: transparent;
6
14
  --components-listing-item-icon-before-content: none;
15
+ --components-listing-item-before-content: unset;
16
+
17
+ --components-listing-item-content-display: block;
18
+ --components-listing-item-content-flexWrap: nowrap;
19
+ --components-listing-item-content-rowGap: 0;
20
+ --components-listing-item-content-columnGap: 0;
7
21
  }
@@ -59,21 +59,11 @@
59
59
  @layer components {
60
60
  .multipleSelect-displayer-filter {
61
61
  min-inline-size: 0;
62
- }
63
- }
64
-
65
- @layer mods {
66
- .multipleSelect-displayer {
67
- &.mod-filter {
68
- @include displayerFilter;
62
+ display: flex;
63
+ gap: 0.5ch;
69
64
 
70
- &.is-filled {
71
- @include displayerFilterFilled;
72
- }
73
-
74
- &:has([aria-expanded='true']):not(:has(:placeholder-shown)) {
75
- @include displayerFilterExpanded;
76
- }
65
+ &:empty {
66
+ display: none;
77
67
  }
78
68
  }
79
69
  }