@lucca-front/scss 20.2.2 → 20.3.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 (164) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/config.scss +12 -1
  4. package/src/commons/core.scss +3 -3
  5. package/src/commons/exports.scss +0 -1
  6. package/src/commons/index.scss +9 -2
  7. package/src/commons/utils/color.scss +14 -0
  8. package/src/commons/utils/index.scss +480 -478
  9. package/src/commons/utils/reset.scss +1 -1
  10. package/src/components/_sample/index.scss +14 -6
  11. package/src/components/appLayout/index.scss +11 -7
  12. package/src/components/avatar/component.scss +4 -3
  13. package/src/components/avatar/index.scss +46 -34
  14. package/src/components/avatar/mods.scss +17 -2
  15. package/src/components/avatar/vars.scss +4 -0
  16. package/src/components/box/index.scss +20 -14
  17. package/src/components/breadcrumbs/index.scss +16 -10
  18. package/src/components/button/index.scss +143 -123
  19. package/src/components/button/mods.scss +33 -1
  20. package/src/components/button/states.scss +29 -3
  21. package/src/components/button/vars.scss +1 -1
  22. package/src/components/buttonGroup/component.scss +1 -1
  23. package/src/components/buttonGroup/index.scss +20 -8
  24. package/src/components/calendar/index.scss +56 -44
  25. package/src/components/callout/component.scss +13 -4
  26. package/src/components/callout/index.scss +17 -4
  27. package/src/components/callout/mods.scss +30 -2
  28. package/src/components/callout/vars.scss +5 -0
  29. package/src/components/calloutDisclosure/index.scss +15 -9
  30. package/src/components/calloutFeedbackList/index.scss +8 -4
  31. package/src/components/calloutPopover/index.scss +18 -12
  32. package/src/components/card/index.scss +26 -20
  33. package/src/components/checkbox/index.scss +36 -30
  34. package/src/components/checkboxField/index.scss +90 -80
  35. package/src/components/chip/index.scss +23 -17
  36. package/src/components/clear/index.scss +23 -17
  37. package/src/components/code/index.scss +8 -4
  38. package/src/components/collapse/index.scss +11 -7
  39. package/src/components/comment/index.scss +30 -20
  40. package/src/components/container/index.scss +29 -25
  41. package/src/components/contentSection/index.scss +4 -2
  42. package/src/components/dataTable/component.scss +2 -0
  43. package/src/components/dataTable/index.scss +85 -49
  44. package/src/components/dataTable/mods.scss +4 -5
  45. package/src/components/dataTable/states.scss +12 -0
  46. package/src/components/dataTableSticked/index.scss +32 -24
  47. package/src/components/dateField/index.scss +24 -20
  48. package/src/components/dateRangeField/index.scss +29 -25
  49. package/src/components/dialog/index.scss +40 -32
  50. package/src/components/dialog/mods.scss +4 -0
  51. package/src/components/divider/index.scss +11 -7
  52. package/src/components/dropdown/index.scss +12 -6
  53. package/src/components/emptyState/index.scss +11 -7
  54. package/src/components/errorPage/index.scss +8 -4
  55. package/src/components/fancyBox/index.scss +8 -4
  56. package/src/components/field/index.scss +96 -76
  57. package/src/components/fieldset/index.scss +18 -12
  58. package/src/components/file/index.scss +38 -30
  59. package/src/components/fileEntry/index.scss +24 -18
  60. package/src/components/fileToolbar/index.scss +10 -6
  61. package/src/components/fileUpload/index.scss +37 -31
  62. package/src/components/filterBar/index.scss +17 -13
  63. package/src/components/filterBarDeprecated/index.scss +8 -4
  64. package/src/components/filterPill/index.scss +56 -48
  65. package/src/components/filters/index.scss +14 -8
  66. package/src/components/footer/component.scss +0 -1
  67. package/src/components/footer/index.scss +38 -34
  68. package/src/components/form/component.scss +10 -0
  69. package/src/components/form/index.scss +114 -84
  70. package/src/components/form/mods.scss +7 -5
  71. package/src/components/formLabel/index.scss +19 -13
  72. package/src/components/gauge/component.scss +71 -14
  73. package/src/components/gauge/index.scss +31 -6
  74. package/src/components/gauge/mods.scss +21 -7
  75. package/src/components/gauge/states.scss +8 -0
  76. package/src/components/gauge/vars.scss +16 -1
  77. package/src/components/grid/index.scss +25 -21
  78. package/src/components/header/index.scss +18 -12
  79. package/src/components/highlightData/index.scss +28 -24
  80. package/src/components/horizontalNavigation/index.scss +42 -36
  81. package/src/components/index.scss +58 -55
  82. package/src/components/indexTable/index.scss +54 -56
  83. package/src/components/inlineMessage/index.scss +18 -12
  84. package/src/components/inputFramed/component.scss +1 -0
  85. package/src/components/inputFramed/index.scss +34 -24
  86. package/src/components/inputFramed/mods.scss +3 -0
  87. package/src/components/inputFramed/vars.scss +1 -0
  88. package/src/components/label/index.scss +13 -9
  89. package/src/components/layout/index.scss +51 -45
  90. package/src/components/link/index.scss +14 -8
  91. package/src/components/link/mods.scss +1 -1
  92. package/src/components/list/index.scss +15 -11
  93. package/src/components/listboxOption/index.scss +131 -115
  94. package/src/components/listing/index.scss +22 -18
  95. package/src/components/loading/index.scss +27 -23
  96. package/src/components/main/index.scss +21 -15
  97. package/src/components/mainLayout/index.scss +26 -20
  98. package/src/components/mobileHeader/index.scss +8 -4
  99. package/src/components/mobileNavigation/index.scss +4 -2
  100. package/src/components/mobilePush/index.scss +8 -4
  101. package/src/components/multiSelect/index.scss +46 -36
  102. package/src/components/navside/index.scss +78 -56
  103. package/src/components/newBadge/index.scss +8 -4
  104. package/src/components/notchBox/index.scss +17 -13
  105. package/src/components/notchBox/mods.scss +137 -125
  106. package/src/components/numericBadge/index.scss +22 -16
  107. package/src/components/pageHeader/index.scss +26 -22
  108. package/src/components/pagination/index.scss +12 -6
  109. package/src/components/plgPush/index.scss +4 -2
  110. package/src/components/popover/index.scss +4 -2
  111. package/src/components/progress/index.scss +15 -9
  112. package/src/components/radio/index.scss +18 -12
  113. package/src/components/radioButtons/index.scss +15 -9
  114. package/src/components/radioField/index.scss +46 -40
  115. package/src/components/readMore/index.scss +21 -15
  116. package/src/components/richText/index.scss +20 -14
  117. package/src/components/scrollBox/index.scss +14 -10
  118. package/src/components/section/index.scss +16 -12
  119. package/src/components/segmentedControl/component.scss +1 -0
  120. package/src/components/segmentedControl/index.scss +25 -15
  121. package/src/components/simpleSelect/index.scss +41 -33
  122. package/src/components/skeleton/index.scss +43 -37
  123. package/src/components/skipLinks/index.scss +4 -2
  124. package/src/components/sortableList/index.scss +12 -6
  125. package/src/components/statusBadge/index.scss +8 -4
  126. package/src/components/suggestion/component.scss +19 -0
  127. package/src/components/suggestion/exports.scss +4 -0
  128. package/src/components/suggestion/index.scss +16 -0
  129. package/src/components/suggestion/mods.scss +0 -0
  130. package/src/components/suggestion/states.scss +12 -0
  131. package/src/components/suggestion/vars.scss +4 -0
  132. package/src/components/switch/index.scss +35 -29
  133. package/src/components/switchField/index.scss +22 -16
  134. package/src/components/table/index.scss +78 -64
  135. package/src/components/tableFixed/index.scss +13 -11
  136. package/src/components/tableFixedDeprecated/index.scss +14 -10
  137. package/src/components/tableOfContent/index.scss +28 -24
  138. package/src/components/tableSortable/index.scss +22 -16
  139. package/src/components/tableSticked/index.scss +28 -24
  140. package/src/components/tableSticked/mods.scss +6 -6
  141. package/src/components/tableStickedDeprecated/index.scss +46 -40
  142. package/src/components/tag/component.scss +4 -1
  143. package/src/components/tag/index.scss +32 -14
  144. package/src/components/tag/mods.scss +30 -3
  145. package/src/components/tag/states.scss +6 -0
  146. package/src/components/tag/vars.scss +2 -0
  147. package/src/components/textField/component.scss +1 -0
  148. package/src/components/textField/index.scss +33 -21
  149. package/src/components/textField/mods.scss +1 -1
  150. package/src/components/textField/states.scss +5 -0
  151. package/src/components/textField/vars.scss +1 -0
  152. package/src/components/textFlow/index.scss +4 -2
  153. package/src/components/textfields/index.scss +279 -258
  154. package/src/components/timeline/index.scss +72 -66
  155. package/src/components/timepicker/index.scss +21 -15
  156. package/src/components/title/index.scss +44 -27
  157. package/src/components/title/mods.scss +7 -1
  158. package/src/components/titleSection/index.scss +31 -23
  159. package/src/components/toast/index.scss +8 -4
  160. package/src/components/tooltip/index.scss +25 -21
  161. package/src/components/userPopover/component.scss +1 -0
  162. package/src/components/userPopover/index.scss +4 -2
  163. package/src/components/userTile/index.scss +26 -22
  164. package/src/components/verticalNavigation/index.scss +26 -16
@@ -1,55 +1,39 @@
1
1
  @use 'exports' as *;
2
2
 
3
3
  .filterPill {
4
- @include vars;
5
- @include component;
6
-
7
- &:not(.is-filled) {
8
- @include notFilled;
9
- }
10
-
11
- &:hover {
12
- @include hover;
13
- }
14
-
15
- &:active,
16
- &:has(:active) {
17
- @include active;
18
- }
19
-
20
- &.is-comboboxHidden {
21
- @include comboboxHidden;
4
+ @layer components {
5
+ @include vars;
6
+ @include component;
22
7
  }
23
8
 
24
- &:has(.filterPill-combobox:focus-visible) {
25
- @include focusVisible;
26
- }
27
-
28
- &:has(.filterPill-combobox[aria-expanded='true']) {
29
- @include opened;
30
- }
31
-
32
- &.is-filled {
33
- @include filled;
9
+ @layer states {
10
+ &:not(.is-filled) {
11
+ @include notFilled;
12
+ }
34
13
 
35
14
  &:hover {
36
- @include filledHover;
15
+ @include hover;
37
16
  }
38
17
 
39
- &:has(.filterPill-combobox:active) {
40
- @include filledActive;
18
+ &:active,
19
+ &:has(:active) {
20
+ @include active;
41
21
  }
42
- }
43
22
 
44
- &.mod-checkbox {
45
- @include checkbox;
23
+ &.is-comboboxHidden {
24
+ @include comboboxHidden;
25
+ }
46
26
 
47
- &:has(.filterPill-checkbox-input:focus-visible) {
27
+ &:has(.filterPill-combobox:focus-visible) {
48
28
  @include focusVisible;
49
29
  }
50
30
 
51
- &:has(.filterPill-checkbox-input:checked) {
52
- @include checkboxChecked;
31
+ &:has(.filterPill-combobox[aria-expanded='true']) {
32
+ @include opened;
33
+ }
34
+
35
+ &.is-filled {
36
+ @include filled;
53
37
 
54
38
  &:hover {
55
39
  @include filledHover;
@@ -59,25 +43,49 @@
59
43
  @include filledActive;
60
44
  }
61
45
  }
46
+ }
62
47
 
63
- &:has(.filterPill-checkbox-input:disabled) {
64
- @include checkboxDisabled;
48
+ @layer mods {
49
+ &.mod-checkbox {
50
+ @include checkbox;
51
+
52
+ &:has(.filterPill-checkbox-input:focus-visible) {
53
+ @include focusVisible;
54
+ }
65
55
 
66
56
  &:has(.filterPill-checkbox-input:checked) {
67
- @include checkboxCheckedDisabled;
57
+ @include checkboxChecked;
58
+
59
+ &:hover {
60
+ @include filledHover;
61
+ }
62
+
63
+ &:has(.filterPill-combobox:active) {
64
+ @include filledActive;
65
+ }
66
+ }
67
+
68
+ &:has(.filterPill-checkbox-input:disabled) {
69
+ @include checkboxDisabled;
70
+
71
+ &:has(.filterPill-checkbox-input:checked) {
72
+ @include checkboxCheckedDisabled;
73
+ }
68
74
  }
69
75
  }
70
- }
71
76
 
72
- &.mod-button {
73
- @include button;
77
+ &.mod-button {
78
+ @include button;
79
+ }
74
80
  }
75
81
 
76
- &:has(.filterPill-combobox:disabled) {
77
- @include disabled;
78
- }
82
+ @layer states {
83
+ &:has(.filterPill-combobox:disabled) {
84
+ @include disabled;
85
+ }
79
86
 
80
- &.is-hidden {
81
- @include hidden;
87
+ &.is-hidden {
88
+ @include hidden;
89
+ }
82
90
  }
83
91
  }
@@ -1,17 +1,23 @@
1
1
  @use 'exports' as *;
2
2
 
3
3
  .filters {
4
- @include vars;
5
- @include component;
4
+ @layer components {
5
+ @include vars;
6
+ @include component;
7
+ }
6
8
 
7
- &.mod-sticky {
8
- @include sticky;
9
+ @layer mods {
10
+ &.mod-sticky {
11
+ @include sticky;
12
+ }
9
13
  }
10
14
  }
11
15
 
12
- .navSide ~ .main-content,
13
- .mod-withMenu .main-content {
14
- .filters.mod-sticky {
15
- @include stickyNavSide;
16
+ @layer mods {
17
+ .navSide ~ .main-content,
18
+ .mod-withMenu .main-content {
19
+ .filters.mod-sticky {
20
+ @include stickyNavSide;
21
+ }
16
22
  }
17
23
  }
@@ -19,7 +19,6 @@
19
19
  }
20
20
 
21
21
  .footer-actions {
22
- flex-shrink: 0;
23
22
  margin-inline-start: var(--components-footer-actions-margin);
24
23
  display: flex;
25
24
  gap: var(--pr-t-spacings-150);
@@ -2,53 +2,57 @@
2
2
  @use '@lucca-front/scss/src/commons/utils/media';
3
3
 
4
4
  .footer {
5
- @include vars;
6
- @include component;
7
-
8
- &.mod-sticky {
9
- @include sticky;
5
+ @layer components {
6
+ @include vars;
7
+ @include component;
10
8
  }
11
9
 
12
- &.mod-narrow {
13
- @include narrow;
14
- }
10
+ @layer mods {
11
+ &.mod-sticky {
12
+ @include sticky;
13
+ }
15
14
 
16
- // default mod
17
- &:not([class*='mod-narrow']),
18
- &.mod-narrowAtMediaMaxXXS {
19
- @include media.max('XXS') {
15
+ &.mod-narrow {
20
16
  @include narrow;
21
17
  }
22
- }
23
18
 
24
- &.mod-narrowAtMediaMaxXS {
25
- @include media.max('XS') {
26
- @include narrow;
19
+ // default mod
20
+ &:not([class*='mod-narrow']),
21
+ &.mod-narrowAtMediaMaxXXS {
22
+ @include media.max('XXS') {
23
+ @include narrow;
24
+ }
27
25
  }
28
- }
29
26
 
30
- &.mod-narrowAtMediaMaxS {
31
- @include media.max('S') {
32
- @include narrow;
27
+ &.mod-narrowAtMediaMaxXS {
28
+ @include media.max('XS') {
29
+ @include narrow;
30
+ }
33
31
  }
34
- }
35
32
 
36
- &.mod-narrowAtMediaMaxM {
37
- @include media.max('M') {
38
- @include narrow;
33
+ &.mod-narrowAtMediaMaxS {
34
+ @include media.max('S') {
35
+ @include narrow;
36
+ }
39
37
  }
40
- }
41
38
 
42
- @include media.min('S') {
43
- @include wide;
44
- }
39
+ &.mod-narrowAtMediaMaxM {
40
+ @include media.max('M') {
41
+ @include narrow;
42
+ }
43
+ }
45
44
 
46
- .dialog &,
47
- .lu-modal-panel & {
48
- @include insideDialog;
49
- }
45
+ @include media.min('S') {
46
+ @include wide;
47
+ }
48
+
49
+ .dialog &,
50
+ .lu-modal-panel & {
51
+ @include insideDialog;
52
+ }
50
53
 
51
- &:has(.footer-containerOptional) {
52
- @include withContainer;
54
+ &:has(.footer-containerOptional) {
55
+ @include withContainer;
56
+ }
53
57
  }
54
58
  }
@@ -65,6 +65,16 @@
65
65
  }
66
66
  }
67
67
 
68
+ .form-field-contentOptional {
69
+ display: flex;
70
+ gap: var(--pr-t-spacings-100);
71
+ align-items: center;
72
+
73
+ > :first-child {
74
+ flex-grow: 1;
75
+ }
76
+ }
77
+
68
78
  // deprecated
69
79
 
70
80
  .form-group-label,
@@ -6,94 +6,108 @@
6
6
  @use 'exports' as *;
7
7
 
8
8
  .form {
9
- @include component;
9
+ @layer components {
10
+ @include component;
11
+ }
10
12
 
11
- &.mod-maxWidth {
12
- @include maxWidth;
13
+ @layer mods {
14
+ &.mod-maxWidth {
15
+ @include maxWidth;
16
+ }
13
17
  }
14
18
  }
15
19
 
16
20
  .form-fieldset {
17
- &.mod-inline {
18
- @include inline;
19
- }
21
+ @layer mods {
22
+ &.mod-inline {
23
+ @include inline;
24
+ }
20
25
 
21
- &.mod-S {
22
- @include S;
23
- }
26
+ &.mod-S {
27
+ @include S;
28
+ }
24
29
 
25
- &:has(~ .box) {
26
- .form-field {
27
- &.mod-withArrow {
28
- @include withArrow;
30
+ &:has(~ .box) {
31
+ .form-field {
32
+ &.mod-withArrow {
33
+ @include withArrow;
29
34
 
30
- &.mod-S {
31
- @include withArrowS;
35
+ &.mod-S {
36
+ @include withArrowS;
37
+ }
32
38
  }
33
39
  }
34
40
  }
35
41
  }
36
42
 
37
- &:has(.radioField-input[aria-invalid='true']),
38
- &:has(.checkboxField-input[aria-invalid='true']) {
39
- @include legendInvalid;
43
+ @layer states {
44
+ &:has(.radioField-input[aria-invalid='true']),
45
+ &:has(.checkboxField-input[aria-invalid='true']) {
46
+ @include legendInvalid;
47
+ }
40
48
  }
41
49
  }
42
50
 
43
51
  .form-field {
44
- &.mod-S {
45
- @include S;
46
- }
47
-
48
- &.mod-XS {
49
- @include XS;
50
- }
52
+ @layer mods {
53
+ &.mod-S {
54
+ @include S;
55
+ }
51
56
 
52
- @each $value in config.$fieldsWidth {
53
- &.mod-width#{$value} {
54
- @include width($value);
57
+ &.mod-XS {
58
+ @include XS;
55
59
  }
56
- }
57
60
 
58
- &.mod-checkable,
59
- &:has(.radioField),
60
- &:has(.checkboxField),
61
- &:has(.switchField) {
62
- @include checkable;
63
- }
61
+ @each $value in config.$fieldsWidth {
62
+ &.mod-width#{$value} {
63
+ @include width($value);
64
+ }
65
+ }
64
66
 
65
- &:not(lu-form-field) {
66
- &:has(
67
- .textField-input-value[aria-invalid='true'],
68
- .timePicker-fieldset-group-textfield-input[aria-invalid='true'],
69
- .simpleSelect-field-input[aria-invalid='true'],
70
- .multipleSelect-displayer-search[aria-invalid='true']
71
- ) {
72
- @include invalid;
67
+ &.mod-checkable,
68
+ &:has(.radioField),
69
+ &:has(.checkboxField),
70
+ &:has(.switchField) {
71
+ @include checkable;
73
72
  }
74
73
  }
75
74
 
76
- &:has(.radioField-input:disabled),
77
- &:has(.checkboxField-input:disabled),
78
- &:has(.switchField-input:disabled) {
79
- .formLabel {
80
- @include formLabel.disabled;
75
+ @layer states {
76
+ &:not(lu-form-field) {
77
+ &:has(
78
+ .textField-input-value[aria-invalid='true'],
79
+ .timePicker-fieldset-group-textfield-input[aria-invalid='true'],
80
+ .simpleSelect-field-input[aria-invalid='true'],
81
+ .multipleSelect-displayer-search[aria-invalid='true']
82
+ ) {
83
+ @include invalid;
84
+ }
81
85
  }
82
86
 
83
- .formLabel-tag {
84
- @include tag.disabled;
85
- }
87
+ &:has(.radioField-input:disabled),
88
+ &:has(.checkboxField-input:disabled),
89
+ &:has(.switchField-input:disabled) {
90
+ .formLabel {
91
+ @include formLabel.disabled;
92
+ }
93
+
94
+ .inlineMessage {
95
+ @include inlineMessage.disabled;
96
+ }
86
97
 
87
- .inlineMessage {
88
- @include inlineMessage.disabled;
98
+ .formLabel-tag {
99
+ @include tag.disabled;
100
+ }
89
101
  }
90
102
  }
91
103
 
92
- &.mod-withArrow {
93
- @include withArrow;
104
+ @layer mods {
105
+ &.mod-withArrow {
106
+ @include withArrow;
94
107
 
95
- &.mod-S {
96
- @include withArrowS;
108
+ &.mod-S {
109
+ @include withArrowS;
110
+ }
97
111
  }
98
112
  }
99
113
  }
@@ -102,27 +116,33 @@
102
116
 
103
117
  // stylelint-disable no-duplicate-selectors -- deprecated
104
118
  .form {
105
- @include vars;
119
+ @layer components {
120
+ @include vars;
121
+ }
106
122
  }
107
123
 
108
124
  .form-group {
109
- @include vars;
110
- @include componentDeprecated;
125
+ @layer components {
126
+ @include vars;
127
+ @include componentDeprecated;
128
+ }
111
129
  }
112
130
 
113
131
  .form-group-line-col {
114
- &[class*='mod-overlay'] {
115
- @include overlay;
116
- }
132
+ @layer mods {
133
+ &[class*='mod-overlay'] {
134
+ @include overlay;
135
+ }
117
136
 
118
- &.mod-overlay-top {
119
- @include overlayTop;
120
- }
137
+ &.mod-overlay-top {
138
+ @include overlayTop;
139
+ }
121
140
 
122
- @each $breakpoint, $value in config.$breakpoints {
123
- @for $i from 1 through 12 {
124
- &.mod-#{$i}\@mediaMin#{$breakpoint} {
125
- @include breakpoint($breakpoint, $i);
141
+ @each $breakpoint, $value in config.$breakpoints {
142
+ @for $i from 1 through 12 {
143
+ &.mod-#{$i}\@mediaMin#{$breakpoint} {
144
+ @include breakpoint($breakpoint, $i);
145
+ }
126
146
  }
127
147
  }
128
148
  }
@@ -132,29 +152,37 @@
132
152
  .radiosfield-label,
133
153
  .checkboxesfield-label,
134
154
  .textfield-label {
135
- &:is(.is-required, .required) {
136
- @include required;
155
+ @layer states {
156
+ &:is(.is-required, .required) {
157
+ @include required;
158
+ }
137
159
  }
138
160
  }
139
161
 
140
162
  .checkboxesfield.mod-framed,
141
163
  .radiosfield.mod-framed,
142
164
  .form.mod-framed .fieldsetWrapper {
143
- @include framed;
165
+ @layer mods {
166
+ @include framed;
167
+ }
144
168
  }
145
169
 
146
170
  .checkboxesfield.mod-framed,
147
171
  .radiosfield.mod-framed {
148
- margin-block-start: 0;
149
- padding-block: var(--components-field-framed-side-padding) var(--components-field-framed-bottom-padding);
150
- padding-inline: var(--components-field-framed-side-padding);
172
+ @layer mods {
173
+ margin-block-start: 0;
174
+ padding-block: var(--components-field-framed-side-padding) var(--components-field-framed-bottom-padding);
175
+ padding-inline: var(--components-field-framed-side-padding);
176
+ }
151
177
  }
152
178
 
153
179
  .form-group-label {
154
- &.is-required {
155
- &:not(:empty) {
156
- &::after {
157
- @extend %isRequired;
180
+ @layer states {
181
+ &.is-required {
182
+ &:not(:empty) {
183
+ &::after {
184
+ @extend %isRequired;
185
+ }
158
186
  }
159
187
  }
160
188
  }
@@ -163,10 +191,12 @@
163
191
  .radiosfield-label,
164
192
  .checkboxesfield-label,
165
193
  .textfield-label {
166
- &.is-required {
167
- &:not(:empty) {
168
- &::after {
169
- @extend %isRequired;
194
+ @layer states {
195
+ &.is-required {
196
+ &:not(:empty) {
197
+ &::after {
198
+ @extend %isRequired;
199
+ }
170
200
  }
171
201
  }
172
202
  }
@@ -281,7 +281,7 @@
281
281
 
282
282
  &::before,
283
283
  &::after {
284
- /* stylelint-disable-next-line no-irregular-whitespace */
284
+ // stylelint-disable-next-line no-irregular-whitespace
285
285
  content: ' ' / '';
286
286
  display: table;
287
287
  }
@@ -362,8 +362,10 @@
362
362
  }
363
363
 
364
364
  %isRequired {
365
- color: var(--palettes-error-700);
366
- display: inline-block;
367
- margin-inline-start: 0.2em;
368
- content: '*' / '';
365
+ @layer states {
366
+ color: var(--palettes-error-700);
367
+ display: inline-block;
368
+ margin-inline-start: 0.2em;
369
+ content: '*' / '';
370
+ }
369
371
  }
@@ -1,23 +1,29 @@
1
1
  @use 'exports' as *;
2
2
 
3
3
  .formLabel {
4
- @include vars;
5
- @include component;
6
-
7
- &.mod-S {
8
- @include S;
4
+ @layer components {
5
+ @include vars;
6
+ @include component;
9
7
  }
10
8
 
11
- &.mod-XS {
12
- @include XS;
13
- }
9
+ @layer mods {
10
+ &.mod-S {
11
+ @include S;
12
+ }
13
+
14
+ &.mod-XS {
15
+ @include XS;
16
+ }
14
17
 
15
- &.mod-counter {
16
- @include counter;
18
+ &.mod-counter {
19
+ @include counter;
20
+ }
17
21
  }
18
22
 
19
- &.is-error {
20
- // To replace by :has as soon as it is implemented in Firefox to cover usage as legend for checkboxes and radio states.
21
- @include error;
23
+ @layer states {
24
+ &.is-error {
25
+ // To replace by :has as soon as it is implemented in Firefox to cover usage as legend for checkboxes and radio states.
26
+ @include error;
27
+ }
22
28
  }
23
29
  }