@lucca-front/scss 19.1.6 → 19.2.0

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 (217) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/base.scss +15 -3
  4. package/src/commons/config.scss +6 -2
  5. package/src/commons/core.scss +9 -8
  6. package/src/commons/utils/a11y.scss +2 -2
  7. package/src/commons/utils/form.scss +1 -1
  8. package/src/commons/utils/index.scss +39 -28
  9. package/src/commons/utils/loading.scss +14 -15
  10. package/src/commons/utils/media.scss +15 -10
  11. package/src/commons/utils/overflow.scss +18 -0
  12. package/src/commons/utils/reset.scss +2 -2
  13. package/src/commons/vars.scss +1 -2
  14. package/src/components/avatar/component.scss +5 -5
  15. package/src/components/box/component.scss +2 -2
  16. package/src/components/box/mods.scss +13 -12
  17. package/src/components/breadcrumbs/component.scss +2 -1
  18. package/src/components/breadcrumbs/mods.scss +1 -1
  19. package/src/components/button/component.scss +2 -2
  20. package/src/components/button/mods.scss +1 -1
  21. package/src/components/button/states.scss +3 -3
  22. package/src/components/buttonGroup/component.scss +8 -7
  23. package/src/components/calendar/component.scss +24 -22
  24. package/src/components/calendar/index.scss +1 -1
  25. package/src/components/calendar/states.scss +5 -4
  26. package/src/components/callout/component.scss +5 -4
  27. package/src/components/calloutAccordion/component.scss +8 -5
  28. package/src/components/calloutAccordion/mods.scss +3 -2
  29. package/src/components/calloutDisclosure/component.scss +7 -4
  30. package/src/components/calloutDisclosure/mods.scss +2 -2
  31. package/src/components/calloutPopover/component.scss +9 -5
  32. package/src/components/calloutPopover/index.scss +1 -1
  33. package/src/components/calloutPopover/mods.scss +2 -1
  34. package/src/components/card/component.scss +10 -10
  35. package/src/components/checkbox/component.scss +4 -4
  36. package/src/components/checkbox/mods.scss +1 -1
  37. package/src/components/checkboxField/component.scss +6 -6
  38. package/src/components/chip/component.scss +6 -5
  39. package/src/components/clear/component.scss +2 -2
  40. package/src/components/clear/index.scss +8 -0
  41. package/src/components/clear/mods.scss +30 -4
  42. package/src/components/code/component.scss +2 -1
  43. package/src/components/code/mods.scss +2 -1
  44. package/src/components/collapse/component.scss +2 -2
  45. package/src/components/comment/component.scss +8 -6
  46. package/src/components/comment/mods.scss +2 -1
  47. package/src/components/container/component.scss +1 -1
  48. package/src/components/contentSection/component.scss +1 -1
  49. package/src/components/dataTable/component.scss +7 -7
  50. package/src/components/dataTable/mods.scss +13 -6
  51. package/src/components/dataTableSticked/mods.scss +19 -21
  52. package/src/components/dateField/component.scss +1 -1
  53. package/src/components/dateField/index.scss +5 -1
  54. package/src/components/dateField/mods.scss +21 -0
  55. package/src/components/dateRangeField/component.scss +5 -5
  56. package/src/components/dateRangeField/index.scss +10 -1
  57. package/src/components/dateRangeField/mods.scss +38 -0
  58. package/src/components/dialog/component.scss +16 -14
  59. package/src/components/dialog/mods.scss +4 -4
  60. package/src/components/divider/component.scss +5 -5
  61. package/src/components/divider/mods.scss +3 -3
  62. package/src/components/dropdown/component.scss +77 -0
  63. package/src/components/dropdown/exports.scss +4 -0
  64. package/src/components/dropdown/index.scss +19 -0
  65. package/src/components/dropdown/mods.scss +8 -0
  66. package/src/components/dropdown/states.scss +9 -0
  67. package/src/components/dropdown/vars.scss +8 -0
  68. package/src/components/emptyState/component.scss +12 -8
  69. package/src/components/errorPage/component.scss +21 -18
  70. package/src/components/fancyBox/component.scss +17 -15
  71. package/src/components/field/component.scss +5 -5
  72. package/src/components/field/mods.scss +33 -34
  73. package/src/components/field/states.scss +9 -9
  74. package/src/components/field/vars.scss +1 -1
  75. package/src/components/fieldset/component.scss +6 -6
  76. package/src/components/file/component.scss +14 -12
  77. package/src/components/file/mods.scss +11 -8
  78. package/src/components/filterBar/component.scss +35 -63
  79. package/src/components/filterBar/index.scss +15 -2
  80. package/src/components/filterBar/mods.scss +52 -2
  81. package/src/components/filterBar/vars.scss +1 -1
  82. package/src/components/filterBarDeprecated/component.scss +85 -0
  83. package/src/components/filterBarDeprecated/exports.scss +4 -0
  84. package/src/components/filterBarDeprecated/index.scss +10 -0
  85. package/src/components/filterBarDeprecated/mods.scss +3 -0
  86. package/src/components/filterBarDeprecated/states.scss +0 -0
  87. package/src/components/filterBarDeprecated/vars.scss +3 -0
  88. package/src/components/filterPill/component.scss +203 -0
  89. package/src/components/filterPill/exports.scss +4 -0
  90. package/src/components/filterPill/index.scss +83 -0
  91. package/src/components/filterPill/mods.scss +71 -0
  92. package/src/components/filterPill/states.scss +112 -0
  93. package/src/components/filterPill/vars.scss +25 -0
  94. package/src/components/filters/component.scss +8 -8
  95. package/src/components/filters/mods.scss +5 -6
  96. package/src/components/footer/component.scss +5 -4
  97. package/src/components/form/component.scss +12 -8
  98. package/src/components/form/index.scss +10 -4
  99. package/src/components/form/mods.scss +80 -22
  100. package/src/components/form/vars.scss +1 -0
  101. package/src/components/formLabel/component.scss +7 -7
  102. package/src/components/formLabel/mods.scss +6 -1
  103. package/src/components/gauge/component.scss +5 -5
  104. package/src/components/gauge/mods.scss +5 -5
  105. package/src/components/grid/component.scss +4 -4
  106. package/src/components/header/component.scss +11 -11
  107. package/src/components/header/mods.scss +8 -10
  108. package/src/components/header/states.scss +3 -3
  109. package/src/components/index.scss +5 -1
  110. package/src/components/indexTable/component.scss +21 -17
  111. package/src/components/indexTable/mods.scss +30 -29
  112. package/src/components/inlineMessage/component.scss +1 -1
  113. package/src/components/label/component.scss +2 -1
  114. package/src/components/label/mods.scss +6 -6
  115. package/src/components/layout/component.scss +15 -15
  116. package/src/components/layout/mods.scss +1 -1
  117. package/src/components/layout/states.scss +5 -14
  118. package/src/components/link/mods.scss +1 -1
  119. package/src/components/list/component.scss +7 -7
  120. package/src/components/list/mods.scss +3 -3
  121. package/src/components/loading/component.scss +5 -5
  122. package/src/components/main/component.scss +1 -1
  123. package/src/components/main/mods.scss +4 -4
  124. package/src/components/main/states.scss +1 -1
  125. package/src/components/menu/component.scss +15 -11
  126. package/src/components/menu/mods.scss +3 -3
  127. package/src/components/mobileHeader/component.scss +3 -2
  128. package/src/components/mobileHeader/mods.scss +1 -1
  129. package/src/components/mobileNavigation/component.scss +7 -5
  130. package/src/components/multiSelect/component.scss +15 -6
  131. package/src/components/multiSelect/index.scss +18 -3
  132. package/src/components/multiSelect/mods.scss +44 -1
  133. package/src/components/multiSelect/states.scss +20 -0
  134. package/src/components/navside/component.scss +31 -30
  135. package/src/components/navside/mods.scss +22 -22
  136. package/src/components/navside/states.scss +5 -12
  137. package/src/components/newBadge/component.scss +2 -1
  138. package/src/components/notchBox/component.scss +20 -36
  139. package/src/components/notchBox/mods.scss +24 -41
  140. package/src/components/numericBadge/component.scss +11 -3
  141. package/src/components/numericBadge/index.scss +4 -0
  142. package/src/components/numericBadge/mods.scss +1 -1
  143. package/src/components/numericBadge/states.scss +7 -3
  144. package/src/components/pageHeader/component.scss +4 -4
  145. package/src/components/pageHeader/mods.scss +7 -8
  146. package/src/components/pagination/component.scss +8 -7
  147. package/src/components/plgPush/component.scss +2 -2
  148. package/src/components/popover/component.scss +7 -7
  149. package/src/components/popover/vars.scss +1 -0
  150. package/src/components/progress/component.scss +10 -10
  151. package/src/components/progress/mods.scss +5 -5
  152. package/src/components/progress/states.scss +1 -1
  153. package/src/components/radio/component.scss +5 -5
  154. package/src/components/radio/mods.scss +6 -7
  155. package/src/components/radioButtons/component.scss +3 -3
  156. package/src/components/radioField/component.scss +6 -6
  157. package/src/components/scrollBox/component.scss +23 -57
  158. package/src/components/scrollBox/index.scss +12 -0
  159. package/src/components/scrollBox/mods.scss +0 -2
  160. package/src/components/scrollBox/states.scss +11 -1
  161. package/src/components/scrollBox/vars.scss +11 -1
  162. package/src/components/section/component.scss +1 -1
  163. package/src/components/section/mods.scss +2 -4
  164. package/src/components/segmentedControl/component.scss +24 -29
  165. package/src/components/segmentedControl/states.scss +1 -1
  166. package/src/components/segmentedControl/vars.scss +3 -2
  167. package/src/components/simpleSelect/component.scss +33 -23
  168. package/src/components/simpleSelect/index.scss +25 -14
  169. package/src/components/simpleSelect/mods.scss +33 -6
  170. package/src/components/simpleSelect/states.scss +26 -10
  171. package/src/components/skeleton/mods.scss +4 -4
  172. package/src/components/skeleton/states.scss +5 -5
  173. package/src/components/skipLinks/component.scss +3 -2
  174. package/src/components/sortableList/component.scss +7 -7
  175. package/src/components/statusBadge/component.scss +5 -4
  176. package/src/components/switch/component.scss +10 -10
  177. package/src/components/switch/mods.scss +3 -3
  178. package/src/components/switch/states.scss +4 -2
  179. package/src/components/switchField/component.scss +10 -10
  180. package/src/components/switchField/states.scss +1 -1
  181. package/src/components/table/component.scss +13 -13
  182. package/src/components/table/mods.scss +33 -34
  183. package/src/components/tableFixed/mods.scss +2 -2
  184. package/src/components/tableFixedDeprecated/mods.scss +3 -3
  185. package/src/components/tableOfContent/component.scss +1 -1
  186. package/src/components/tableSortable/component.scss +6 -5
  187. package/src/components/tableSortable/mods.scss +9 -9
  188. package/src/components/tableSortable/states.scss +1 -1
  189. package/src/components/tableSticked/mods.scss +33 -30
  190. package/src/components/tableStickedDeprecated/mods.scss +39 -41
  191. package/src/components/tag/component.scss +2 -1
  192. package/src/components/textField/component.scss +26 -25
  193. package/src/components/textField/index.scss +4 -0
  194. package/src/components/textField/mods.scss +13 -4
  195. package/src/components/textField/vars.scss +3 -0
  196. package/src/components/textFlow/component.scss +33 -0
  197. package/src/components/textFlow/exports.scss +4 -0
  198. package/src/components/textFlow/index.scss +6 -0
  199. package/src/components/textFlow/mods.scss +0 -0
  200. package/src/components/textFlow/states.scss +0 -0
  201. package/src/components/textFlow/vars.scss +2 -0
  202. package/src/components/textfields/component.scss +15 -11
  203. package/src/components/textfields/mods.scss +100 -97
  204. package/src/components/textfields/states.scss +7 -7
  205. package/src/components/timeline/component.scss +10 -9
  206. package/src/components/timeline/mods.scss +55 -54
  207. package/src/components/timepicker/component.scss +21 -19
  208. package/src/components/timepickerDeprecated/component.scss +11 -10
  209. package/src/components/title/component.scss +17 -4
  210. package/src/components/titleSection/component.scss +3 -3
  211. package/src/components/titleSection/mods.scss +3 -1
  212. package/src/components/toast/component.scss +10 -8
  213. package/src/components/tooltip/component.scss +6 -5
  214. package/src/components/userPopover/component.scss +6 -5
  215. package/src/components/userTile/component.scss +2 -2
  216. package/src/components/verticalNavigation/component.scss +8 -6
  217. package/src/components/verticalNavigation/mods.scss +2 -2
@@ -0,0 +1,112 @@
1
+ @use '@lucca-front/scss/src/commons/utils/a11y';
2
+
3
+ @mixin checkboxChecked {
4
+ --components-filterPill-borderColor: var(--palettes-product-300);
5
+ --components-filterPill-backgroundColor: var(--palettes-product-50);
6
+ --components-filterPill-color: var(--palettes-product-800);
7
+
8
+ --components-filterPill-checkbox-backgroundColor: var(--palettes-product-700);
9
+ --components-filterPill-checkbox-borderColor: var(--palettes-product-700);
10
+ --components-filterPill-checkbox-icon-scale: 1;
11
+ --components-filterPill-checkbox-icon-timingFonction: cubic-bezier(0.5, 1, 0.5, 1.5);
12
+
13
+ --components-filterPill-label-fontWeight: var(--components-filterPill-label-fontWeightChecked);
14
+ }
15
+
16
+ @mixin focusVisible {
17
+ @include a11y.focusVisible($offset: 3px);
18
+ }
19
+
20
+ @mixin hover {
21
+ --components-filterPill-borderColor: var(--palettes-product-400);
22
+ --components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);
23
+ --components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor), var(--pr-t-elevation-shadow-raised);
24
+ }
25
+
26
+ @mixin active {
27
+ --components-filterPill-backgroundColor: var(--palettes-neutral-0);
28
+ box-shadow:
29
+ 0 0 0 1px var(--palettes-product-500),
30
+ var(--pr-t-elevation-shadow-raised);
31
+ }
32
+
33
+ @mixin filledHover {
34
+ --components-filterPill-borderColor: var(--palettes-product-400);
35
+ --components-filterPill-checkbox-borderColor: var(--palettes-product-600);
36
+ --components-filterPill-checkbox-backgroundColor: var(--palettes-product-600);
37
+ }
38
+
39
+ @mixin filledActive {
40
+ --components-filterPill-backgroundColor: var(--palettes-product-100);
41
+ --components-filterPill-checkbox-borderColor: var(--palettes-product-700);
42
+ --components-filterPill-checkbox-backgroundColor: var(--palettes-product-700);
43
+ }
44
+
45
+ @mixin checkboxDisabled {
46
+ --components-filterPill-backgroundColor: var(--palettes-neutral-50);
47
+ --components-filterPill-borderColor: var(--palettes-neutral-300);
48
+ --components-filterPill-checkbox-borderColor: var(--palettes-neutral-500);
49
+ --components-filterPill-color: var(--palettes-neutral-500);
50
+ --components-filterPill-label-cursor: default;
51
+
52
+ box-shadow: 0 0 0 1px var(--components-filterPill-borderColor);
53
+ }
54
+
55
+ @mixin checkboxCheckedDisabled {
56
+ --components-filterPill-backgroundColor: var(--palettes-neutral-50);
57
+ --components-filterPill-borderColor: var(--palettes-neutral-300);
58
+ --components-filterPill-checkbox-borderColor: var(--palettes-neutral-100);
59
+ --components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-100);
60
+ --components-filterPill-color: var(--palettes-neutral-500);
61
+ --components-filterPill-checkbox-color: var(--palettes-neutral-500);
62
+ --components-filterPill-label-cursor: default;
63
+ }
64
+
65
+ @mixin filled {
66
+ --components-filterPill-borderColor: var(--palettes-product-300);
67
+ --components-filterPill-backgroundColor: var(--palettes-product-50);
68
+ --components-filterPill-color: var(--palettes-product-800);
69
+ --components-filterPill-toggle-iconColor: var(--palettes-product-700);
70
+ --components-filterPill-clear-display: grid;
71
+ }
72
+
73
+ @mixin notFilled {
74
+ .filterPill-combobox {
75
+ @include a11y.mask;
76
+ }
77
+ }
78
+
79
+ @mixin comboboxHidden {
80
+ }
81
+
82
+ @mixin opened {
83
+ --components-filterPill-toggle-rotation: -0.5turn;
84
+ }
85
+
86
+ @mixin beginning {
87
+ --components-filterBar-displayBefore: none;
88
+ }
89
+
90
+ @mixin ending {
91
+ --components-filterBar-displayAfter: none;
92
+ }
93
+
94
+ @mixin disabled {
95
+ --components-filterPill-clear-display: none;
96
+ --components-filterPill-backgroundColor: var(--palettes-neutral-50);
97
+ --components-filterPill-borderColor: var(--palettes-neutral-300) !important;
98
+ --components-filterPill-color: var(--palettes-neutral-500);
99
+ --components-filterPill-toggle-iconColor: var(--palettes-neutral-500);
100
+ --components-filterPill-label-cursor: default;
101
+ --components-filterPill-arrowColor: var(--palettes-neutral-500);
102
+ --components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);
103
+
104
+ box-shadow: var(--components-filterPill-shadow);
105
+
106
+ // TODO
107
+ //--components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);
108
+ }
109
+
110
+ @mixin hidden {
111
+ --components-filterPill-display: none;
112
+ }
@@ -0,0 +1,25 @@
1
+ @mixin vars {
2
+ --components-filterPill-gap: 0;
3
+ --components-filterPill-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);
4
+ --components-filterPill-label-fontWeightNormal: 400;
5
+ --components-filterPill-label-fontWeightChecked: 600;
6
+ --components-filterPill-borderColor: var(--palettes-neutral-100);
7
+ --components-filterPill-backgroundColor: var(--palettes-neutral-0);
8
+ --components-filterPill-color: var(--palettes-neutral-700);
9
+ --components-filterPill-label-cursor: pointer;
10
+ --components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-0);
11
+ --components-filterPill-checkbox-color: var(--palettes-neutral-0);
12
+ --components-filterPill-checkbox-borderColor: var(--palettes-neutral-700);
13
+ --components-filterPill-checkbox-icon-scale: 0;
14
+ --components-filterPill-checkbox-icon-timingFonction: cubic-bezier(0.5, -0.5, 0.5, 0);
15
+ --components-filterPill-clear-display: none;
16
+ --components-filterPill-toggle-rotation: 0;
17
+ --components-filterPill-toggle-iconColor: var(--palettes-neutral-600);
18
+ --components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);
19
+ --components-filterPill-display: flex;
20
+ --components-filterPill-arrowColor: var(--palettes-product-700);
21
+ }
22
+
23
+ @mixin barVars {
24
+ --components-filterBar-extremitiesDisplay: none;
25
+ }
@@ -3,7 +3,7 @@
3
3
  @mixin component($atRoot: namespace.$defaultAtRoot) {
4
4
  background-color: var(--components-filters-background);
5
5
  box-shadow: 0 1px 0 0 var(--commons-border-200);
6
- min-height: var(--components-filters-height);
6
+ min-block-size: var(--components-filters-height);
7
7
  align-items: center;
8
8
  display: flex;
9
9
  position: relative;
@@ -13,25 +13,25 @@
13
13
  .filters-sectionLeft {
14
14
  align-items: center;
15
15
  display: flex;
16
- padding-right: var(--pr-t-spacings-400);
16
+ padding-inline-end: var(--pr-t-spacings-400);
17
17
  }
18
18
 
19
19
  .filters-sectionRight {
20
20
  align-items: center;
21
21
  display: flex;
22
- margin-left: auto;
23
- padding-left: var(--pr-t-spacings-400);
22
+ margin-inline-start: auto;
23
+ padding-inline-start: var(--pr-t-spacings-400);
24
24
 
25
25
  .textfield.mod-framed {
26
- border-left: var(--commons-divider-width) solid var(--commons-divider-color);
27
- border-right: 0 !important;
26
+ border-inline-start: var(--commons-divider-width) solid var(--commons-divider-color);
27
+ border-inline-end: 0 !important;
28
28
  }
29
29
  }
30
30
  }
31
31
 
32
32
  .textfield.mod-framed {
33
- border-right: var(--commons-divider-width) solid var(--commons-divider-color);
34
- max-width: 16rem;
33
+ border-inline-end: var(--commons-divider-width) solid var(--commons-divider-color);
34
+ max-inline-size: 16rem;
35
35
 
36
36
  .textfield-input {
37
37
  box-shadow: none !important;
@@ -1,17 +1,16 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/media';
2
2
 
3
3
  @mixin sticky {
4
- top: var(--commons-banner-height);
4
+ inset-block-start: var(--commons-banner-height);
5
5
  position: fixed;
6
- left: 0;
7
- right: 0;
6
+ inset-inline: 0;
8
7
 
9
8
  @include media.max('S') {
10
- left: 0 !important;
11
- top: calc(var(--commons-banner-height) + var(--commons-navSide-mobile-toggle-height));
9
+ inset-inline-start: 0 !important;
10
+ inset-block-start: calc(var(--commons-banner-height) + var(--commons-navSide-mobile-toggle-height));
12
11
  }
13
12
  }
14
13
 
15
14
  @mixin stickyNavSide {
16
- left: var(--commons-navSide-width);
15
+ inset-inline-start: var(--commons-navSide-width);
17
16
  }
@@ -2,13 +2,14 @@
2
2
 
3
3
  @mixin component($atRoot: namespace.$defaultAtRoot) {
4
4
  background-color: var(--pr-t-elevation-surface-raised);
5
- padding: var(--pr-t-spacings-200) var(--components-footer-paddingInline);
5
+ padding-block: var(--pr-t-spacings-200);
6
+ padding-inline: var(--components-footer-paddingInline);
6
7
  display: flex;
7
8
  justify-content: space-between;
8
9
  gap: var(--pr-t-spacings-200);
9
10
  align-items: var(--components-footer-alignItems);
10
11
  box-shadow: var(--pr-t-elevation-shadow-overflow);
11
- bottom: 0;
12
+ inset-block-end: 0;
12
13
  position: var(--components-footer-position);
13
14
  flex-direction: var(--components-footer-direction);
14
15
 
@@ -18,7 +19,7 @@
18
19
  }
19
20
 
20
21
  .footer-actions {
21
- margin-left: var(--components-footer-actions-margin);
22
+ margin-inline-start: var(--components-footer-actions-margin);
22
23
  display: flex;
23
24
  gap: var(--pr-t-spacings-200);
24
25
  flex-direction: var(--components-footer-direction);
@@ -33,7 +34,7 @@
33
34
  flex-grow: 1;
34
35
  justify-content: space-between;
35
36
  flex-direction: var(--components-footer-direction);
36
- max-width: calc(var(--commons-container-maxWidth) - var(--components-footer-paddingInline) * 2);
37
+ max-inline-size: calc(var(--commons-container-maxWidth) - var(--components-footer-paddingInline) * 2);
37
38
  }
38
39
  }
39
40
  }
@@ -28,12 +28,13 @@
28
28
  @mixin componentDeprecated($atRoot: namespace.$defaultAtRoot) {
29
29
  padding: 0;
30
30
  border: 0;
31
- margin: 0 0 var(--components-form-group-margin-bottom);
31
+ margin-block: 0 var(--components-form-group-margin-bottom);
32
+ margin-inline: 0;
32
33
  position: relative;
33
34
 
34
35
  @at-root ($atRoot) {
35
36
  .form-header {
36
- margin-bottom: var(--pr-t-spacings-300);
37
+ margin-block-end: var(--pr-t-spacings-300);
37
38
  }
38
39
 
39
40
  .form-header-title {
@@ -56,6 +57,8 @@
56
57
  display: flex;
57
58
  flex-direction: column;
58
59
  gap: var(--pr-t-spacings-50);
60
+ width: var(--components-form-field-width);
61
+ max-inline-size: 100%;
59
62
 
60
63
  .formLabel {
61
64
  @include formLabel.label;
@@ -71,20 +74,21 @@
71
74
  font-weight: 600;
72
75
  font-size: var(--components-form-label-font-size);
73
76
  margin: 0;
74
- padding: 0 0 var(--components-form-label-margin-bottom);
75
- width: 100%;
76
- text-align: left;
77
+ padding-block: 0 var(--components-form-label-margin-bottom);
78
+ padding-inline: 0;
79
+ inline-size: 100%;
80
+ text-align: start;
77
81
  }
78
82
 
79
83
  .form-group-legend,
80
84
  .form-group-title {
81
85
  font-size: var(--components-field-framed-title-font-size);
82
86
  line-height: var(--components-field-framed-title-line-height);
83
- padding-bottom: var(--pr-t-spacings-50);
87
+ padding-block-end: var(--pr-t-spacings-50);
84
88
  }
85
89
 
86
90
  .form-actions {
87
- text-align: right;
91
+ text-align: end;
88
92
  }
89
93
 
90
94
  .form {
@@ -92,7 +96,7 @@
92
96
  .radiosfield,
93
97
  .checkboxesfield,
94
98
  .checkbox.mod-field {
95
- margin-bottom: var(--components-form-field-margin-bottom);
99
+ margin-block-end: var(--components-form-field-margin-bottom);
96
100
  }
97
101
  }
98
102
 
@@ -48,6 +48,12 @@
48
48
  @include XS;
49
49
  }
50
50
 
51
+ @each $value in config.$fieldsWidth {
52
+ &.mod-width#{$value} {
53
+ @include width($value);
54
+ }
55
+ }
56
+
51
57
  &.mod-checkable,
52
58
  &:has(.radioField),
53
59
  &:has(.checkboxField),
@@ -59,7 +65,7 @@
59
65
  &:has(
60
66
  .textField-input-value[aria-invalid='true'],
61
67
  .timePicker-fieldset-group-textfield-input[aria-invalid='true'],
62
- .simpleSelect-input[aria-invalid='true'],
68
+ .simpleSelect-field-input[aria-invalid='true'],
63
69
  .multipleSelect-displayer-search[aria-invalid='true']
64
70
  ) {
65
71
  @include invalid;
@@ -133,9 +139,9 @@
133
139
 
134
140
  .checkboxesfield.mod-framed,
135
141
  .radiosfield.mod-framed {
136
- margin-top: 0;
137
- padding: var(--components-field-framed-side-padding) var(--components-field-framed-side-padding)
138
- var(--components-field-framed-bottom-padding);
142
+ margin-block-start: 0;
143
+ padding-block: var(--components-field-framed-side-padding) var(--components-field-framed-bottom-padding);
144
+ padding-inline: var(--components-field-framed-side-padding);
139
145
  }
140
146
 
141
147
  .form-group-label {
@@ -14,7 +14,7 @@
14
14
  @use '@lucca-front/scss/src/components/box/exports' as box;
15
15
 
16
16
  @mixin maxWidth {
17
- max-width: var(--components-form-maxWidth);
17
+ max-inline-size: var(--components-form-maxWidth);
18
18
  }
19
19
 
20
20
  @mixin inline {
@@ -27,6 +27,62 @@
27
27
  }
28
28
  }
29
29
 
30
+ @mixin selectOption {
31
+ padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);
32
+ position: relative;
33
+ border-radius: var(--commons-borderRadius-M);
34
+
35
+ .formLabel {
36
+ @include formLabel.widthAuto;
37
+
38
+ position: static;
39
+
40
+ &::after {
41
+ content: '';
42
+ position: absolute;
43
+ inset: 0;
44
+ }
45
+ }
46
+
47
+ &:not(:has(.checkboxField-input:disabled, .checkboxField-input.is-disabled)) {
48
+ &:hover {
49
+ background-color: var(--palettes-neutral-50);
50
+ }
51
+
52
+ &:has(
53
+ .checkboxField-input:checked,
54
+ .checkboxField-input.is-checked,
55
+ .checkboxField-input[aria-checked='mixed'],
56
+ .checkboxField-input.is-mixed
57
+ ) {
58
+ background-color: var(--palettes-product-50);
59
+
60
+ &:hover {
61
+ background-color: var(--palettes-product-100);
62
+ }
63
+ }
64
+
65
+ &:has(.checkboxField-input[aria-invalid='true'], .checkboxField-input.is-invalid) {
66
+ &:hover {
67
+ background-color: var(--palettes-error-50);
68
+ }
69
+
70
+ &:has(
71
+ .checkboxField-input:checked,
72
+ .checkboxField-input.is-checked,
73
+ .checkboxField-input[aria-checked='mixed'],
74
+ .checkboxField-input.is-mixed
75
+ ) {
76
+ background-color: var(--palettes-error-50);
77
+
78
+ &:hover {
79
+ background-color: var(--palettes-error-100);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+
30
86
  @mixin S {
31
87
  .formLabel {
32
88
  @include formLabel.S;
@@ -91,16 +147,20 @@
91
147
  }
92
148
 
93
149
  .checkboxField {
94
- top: var(--component-checkboxField-top);
150
+ inset-block-start: var(--component-checkboxField-top);
95
151
  }
96
152
 
97
153
  .radioField {
98
- top: var(--component-radioField-top);
154
+ inset-block-start: var(--component-radioField-top);
99
155
  }
100
156
  }
101
157
 
158
+ @mixin width($value) {
159
+ --components-form-field-width: #{math.div($value, 2) * 1rem};
160
+ }
161
+
102
162
  @mixin withArrow {
103
- padding-bottom: var(--pr-t-spacings-200);
163
+ padding-block-end: var(--pr-t-spacings-200);
104
164
  margin-block-end: 0;
105
165
 
106
166
  .form-field-arrow {
@@ -121,7 +181,7 @@
121
181
  }
122
182
 
123
183
  @mixin withArrowS {
124
- padding-bottom: var(--pr-t-spacings-100);
184
+ padding-block-end: var(--pr-t-spacings-100);
125
185
 
126
186
  .form-field-arrow {
127
187
  @include box.arrowS;
@@ -180,11 +240,11 @@
180
240
  + .radio,
181
241
  + .select {
182
242
  position: absolute;
183
- bottom: 0;
184
- right: 0;
243
+ inset-block-end: 0;
244
+ inset-inline-end: 0;
185
245
  z-index: 10;
186
- padding: var(--components-field-framed-label-top-offset) var(--components-field-framed-side-padding)
187
- var(--components-field-framed-bottom-padding);
246
+ padding-block: var(--components-field-framed-label-top-offset) var(--components-field-framed-bottom-padding);
247
+ padding-inline: var(--components-field-framed-side-padding);
188
248
  }
189
249
  }
190
250
  }
@@ -198,8 +258,7 @@
198
258
  + .checkbox,
199
259
  + .radio,
200
260
  + .select {
201
- top: 0;
202
- bottom: auto;
261
+ inset-block: 0 auto;
203
262
  }
204
263
  }
205
264
  }
@@ -214,12 +273,12 @@
214
273
  }
215
274
 
216
275
  @mixin framed {
217
- margin-bottom: 0;
276
+ margin-block-end: 0;
218
277
  background-color: var(--palettes-neutral-0);
219
278
  padding: 0;
220
279
  box-shadow: form.fakeBorderOverlay(var(--palettes-neutral-200));
221
280
  transition: background-color var(--commons-animations-durations-standard);
222
- margin-bottom: 0 !important;
281
+ margin-block-end: 0 !important;
223
282
 
224
283
  &::before,
225
284
  &::after {
@@ -251,9 +310,10 @@
251
310
  .radiosfield,
252
311
  .checkboxesfield {
253
312
  display: block;
254
- margin-top: var(--components-field-framed-side-padding);
255
- margin-bottom: 0;
256
- padding: 0 var(--components-field-framed-side-padding) var(--components-field-framed-bottom-padding);
313
+ margin-block-start: var(--components-field-framed-side-padding);
314
+ margin-block-end: 0;
315
+ padding-block: 0 var(--components-field-framed-bottom-padding);
316
+ padding-inline: var(--components-field-framed-side-padding);
257
317
  }
258
318
 
259
319
  &.is-disabled,
@@ -266,10 +326,8 @@
266
326
 
267
327
  &::before,
268
328
  &::after {
269
- left: auto !important;
270
- bottom: auto !important;
271
- right: var(--components-field-framed-side-padding) !important;
272
- top: var(--components-field-framed-side-padding) !important;
329
+ inset-block: var(--components-field-framed-side-padding) auto !important;
330
+ inset-inline: auto var(--components-field-framed-side-padding) !important;
273
331
  }
274
332
  }
275
333
  }
@@ -299,14 +357,14 @@
299
357
  @mixin fieldMaterialFilled($fieldname) {
300
358
  ~ .#{$fieldname}-label {
301
359
  font-size: var(--sizes-S-fontSize);
302
- top: 0;
360
+ inset-block-start: 0;
303
361
  }
304
362
  }
305
363
 
306
364
  %isRequired {
307
365
  color: var(--palettes-error-700);
308
366
  display: inline-block;
309
- margin-left: 0.2em;
367
+ margin-inline-start: 0.2em;
310
368
  content: '*';
311
369
  content: '*' / '';
312
370
  }
@@ -2,6 +2,7 @@
2
2
  --components-form-maxWidth: 40rem;
3
3
  --components-form-group-margin-bottom: 1.2rem;
4
4
  --components-form-field-margin-bottom: var(--pr-t-spacings-200);
5
+ --components-form-field-width: auto;
5
6
  --components-form-label-font-size: var(--sizes-M-fontSize);
6
7
  --components-form-label-margin-bottom: var(--pr-t-spacings-50);
7
8
  --components-field-framed-side-padding: var(--pr-t-spacings-200);
@@ -8,15 +8,15 @@
8
8
  font-size: var(--components-formLabel-fontSize);
9
9
  font-weight: 400;
10
10
  line-height: var(--components-formLabel-lineHeight);
11
- width: var(--components-formLabel-width);
12
- padding-right: var(--components-formLabel-paddingRight);
11
+ inline-size: var(--components-formLabel-width);
12
+ padding-inline-end: var(--components-formLabel-paddingRight);
13
13
  cursor: var(--components-formLabel-cursor);
14
14
 
15
15
  .lucca-icon {
16
16
  color: var(--palettes-neutral-600);
17
17
  font-size: var(--components-formLabel-help-fontSize);
18
18
  line-height: var(--components-formLabel-help-lineHeight);
19
- margin-left: var(--pr-t-spacings-25);
19
+ margin-inline-start: var(--pr-t-spacings-25);
20
20
  vertical-align: top;
21
21
  }
22
22
 
@@ -27,8 +27,8 @@
27
27
  line-height: inherit;
28
28
  font-weight: 600;
29
29
  text-rendering: geometricPrecision;
30
- margin-left: var(--pr-t-spacings-25);
31
- top: 0; // Reset sup HTML element
30
+ margin-inline-start: var(--pr-t-spacings-25);
31
+ inset-block-start: 0; // Reset sup HTML element
32
32
  }
33
33
 
34
34
  .formLabel-info {
@@ -51,8 +51,8 @@
51
51
  font-size: var(--sizes-XS-fontSize);
52
52
  color: var(--palettes-neutral-600);
53
53
  position: absolute;
54
- right: 0;
55
- top: 0;
54
+ inset-inline-end: 0;
55
+ inset-block-start: 0;
56
56
  }
57
57
  }
58
58
  }
@@ -18,7 +18,12 @@
18
18
  --components-formLabel-cursor: pointer;
19
19
  }
20
20
 
21
- @mixin counter {
21
+ @mixin widthAuto {
22
22
  --components-formLabel-width: auto;
23
+ }
24
+
25
+ @mixin counter {
26
+ @include widthAuto;
27
+
23
28
  --components-formLabel-paddingRight: var(--pr-t-spacings-600);
24
29
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  @mixin component($atRoot: namespace.$defaultAtRoot) {
4
4
  border-radius: var(--commons-borderRadius-full);
5
- height: var(--components-gauge-height);
5
+ block-size: var(--components-gauge-height);
6
6
  overflow: hidden;
7
7
  position: relative;
8
8
  background-color: var(--components-gauge-background);
@@ -10,13 +10,13 @@
10
10
  @at-root ($atRoot) {
11
11
  .gauge-bar {
12
12
  color: var(--palettes-700, var(--palettes-product-700));
13
- border-bottom-width: var(--components-gauge-height);
13
+ border-block-end-width: var(--components-gauge-height);
14
14
  transition-duration: var(--commons-animations-durations-standard);
15
15
  transition-property: border-color, width, height;
16
- top: 0;
17
- left: 0;
16
+ inset-block-start: 0;
17
+ inset-inline-start: 0;
18
18
  position: absolute;
19
- border-bottom-style: solid;
19
+ border-block-end-style: solid;
20
20
  border-color: currentColor;
21
21
  border-radius: var(--commons-borderRadius-full);
22
22
  }
@@ -3,12 +3,12 @@
3
3
  }
4
4
 
5
5
  @mixin vertical {
6
- width: var(--components-gauge-height);
7
- height: 100%;
6
+ inline-size: var(--components-gauge-height);
7
+ block-size: 100%;
8
8
 
9
9
  .gauge-bar {
10
- border-left-width: var(--components-gauge-height);
11
- border-bottom-width: 0;
12
- border-left-style: solid;
10
+ border-inline-start-width: var(--components-gauge-height);
11
+ border-inline-start-style: solid;
12
+ border-block-end-width: 0;
13
13
  }
14
14
  }
@@ -11,9 +11,9 @@
11
11
  gap: var(--grid-row-gap) var(--grid-column-gap);
12
12
 
13
13
  // workaround for Angular replacing CamelCase by kebab-case
14
- // max-width: var(--grid-max-width, var(--grid-maxWidth));
15
- width: var(--grid-max-width, var(--grid-maxWidth));
16
- max-width: 100%;
14
+ // max-inline-size: var(--grid-max-width, var(--grid-maxWidth));
15
+ inline-size: var(--grid-max-width, var(--grid-maxWidth));
16
+ max-inline-size: 100%;
17
17
 
18
18
  @at-root ($atRoot) {
19
19
  .grid-containerWrapper {
@@ -31,7 +31,7 @@
31
31
  grid-column-end: span var(--grid-colspan, var(--grid-column-end));
32
32
  grid-row-end: span var(--grid-rowspan, var(--grid-row-end));
33
33
 
34
- min-width: 0;
34
+ min-inline-size: 0;
35
35
 
36
36
  @each $breakpoint, $value in config.$breakpoints {
37
37
  @include media.min($breakpoint) {