@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
@@ -1,21 +1,20 @@
1
1
  @mixin inline {
2
2
  display: inline-block;
3
- margin-right: var(--pr-t-spacings-300);
4
- margin-top: 0;
5
- margin-bottom: 0;
3
+ margin-inline-end: var(--pr-t-spacings-300);
4
+ margin-block: 0;
6
5
  }
7
6
 
8
7
  @mixin S {
9
8
  .radio-label {
10
9
  line-height: var(--sizes-S-lineHeight);
11
- min-height: var(--sizes-S-lineHeight);
10
+ min-block-size: var(--sizes-S-lineHeight);
12
11
  font-size: var(--sizes-S-fontSize);
13
12
  padding: var(--components-radio-S-label-padding);
14
13
 
15
14
  &::before,
16
15
  &::after {
17
- height: var(--components-radio-S-input-size);
18
- width: var(--components-radio-S-input-size);
16
+ block-size: var(--components-radio-S-input-size);
17
+ inline-size: var(--components-radio-S-input-size);
19
18
  }
20
19
  }
21
20
 
@@ -26,7 +25,7 @@
26
25
 
27
26
  .radio-input:checked ~ .radio-label {
28
27
  &::after {
29
- transform: scale(.5);
28
+ transform: scale(0.5);
30
29
  }
31
30
  }
32
31
  }
@@ -8,10 +8,10 @@
8
8
  @at-root ($atRoot) {
9
9
  .radioButtons-item {
10
10
  position: relative;
11
- margin-left: 1px;
11
+ margin-inline-start: 1px;
12
12
 
13
13
  &:first-child {
14
- margin-left: 0;
14
+ margin-inline-start: 0;
15
15
 
16
16
  .radioButtons-item-label {
17
17
  border-radius: var(--commons-borderRadius-M) 0 0 var(--commons-borderRadius-M);
@@ -50,7 +50,7 @@
50
50
  transition-property: background-color, color, box-shadow;
51
51
  overflow: hidden;
52
52
  position: relative;
53
- height: 100%;
53
+ block-size: 100%;
54
54
  cursor: pointer;
55
55
  }
56
56
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  @mixin component($atRoot: namespace.$defaultAtRoot) {
6
6
  position: relative;
7
- width: fit-content;
8
- height: fit-content;
7
+ inline-size: fit-content;
8
+ block-size: fit-content;
9
9
  display: grid;
10
10
  grid-template-areas: 'radio';
11
11
  grid-template-columns: var(--component-radioField-size);
@@ -40,8 +40,8 @@
40
40
  display: flex;
41
41
  align-items: center;
42
42
  justify-content: center;
43
- width: 100%;
44
- height: 100%;
43
+ inline-size: 100%;
44
+ block-size: 100%;
45
45
  transform: scale(0);
46
46
  transition-property: transform;
47
47
  transition-duration: var(--commons-animations-durations-fast);
@@ -66,8 +66,8 @@
66
66
  opacity: 0.0001;
67
67
  cursor: pointer;
68
68
  grid-area: radio;
69
- width: 100%;
70
- height: 100%;
69
+ inline-size: 100%;
70
+ block-size: 100%;
71
71
  }
72
72
  }
73
73
  }
@@ -1,31 +1,37 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/color';
2
+ @use '@lucca-front/scss/src/commons/utils/a11y';
2
3
  @use '@lucca-front/scss/src/commons/utils/namespace';
3
4
 
4
5
  @mixin component($atRoot: namespace.$defaultAtRoot) {
5
6
  background-color: var(--components-scrollBox-backgroundColor);
6
7
  position: relative;
7
8
  display: flex;
9
+ flex-wrap: var(--components-scrollBox-wrap);
10
+ gap: var(--components-scrollBox-gap);
8
11
  overflow: auto;
9
- scrollbar-width: thin;
12
+ scrollbar-width: var(--components-scrollBox-scrollBarWidth);
13
+ margin-inline: var(--components-scrollBox-marginInline);
14
+ padding-inline: var(--components-scrollBox-paddingInline);
15
+ padding-block: var(--components-scrollBox-paddingBlock);
16
+ margin-block: var(--components-scrollBox-marginBlock);
17
+ border-radius: var(--commons-borderRadius-M);
10
18
 
11
- @media (hover: none) {
12
- scrollbar-width: none;
13
-
14
- &::-webkit-scrollbar {
15
- display: none;
16
- }
19
+ &:focus-visible {
20
+ @include a11y.focusVisible($offset: 0);
17
21
  }
18
22
 
19
23
  &::before,
20
24
  &::after {
21
- content: '';
25
+ content: var(--components-scrollBox-pseudoElementsContent);
22
26
  pointer-events: none;
23
27
  position: sticky;
24
28
  flex-shrink: 0;
25
- width: var(--components-scrollBox-shadowWidth);
26
- top: 0;
27
- bottom: 0;
29
+ inline-size: var(--components-scrollBox-shadowSize);
30
+ inset-block: 0;
31
+ margin-block: calc(var(--components-scrollBox-paddingBlock) * -1);
28
32
  background-repeat: no-repeat;
33
+ z-index: 10;
34
+ align-self: stretch;
29
35
  background-size:
30
36
  75% 100%,
31
37
  25% 100%,
@@ -33,7 +39,9 @@
33
39
  }
34
40
 
35
41
  &::before {
36
- left: 0;
42
+ opacity: var(--components-scrollBox-beforeOpacity);
43
+ inset-inline-start: calc(var(--components-scrollBox-paddingInline) * -1);
44
+ margin-inline-end: calc(var(--components-scrollBox-shadowSize) * -1 - var(--components-scrollBox-gap));
37
45
  background-position: 0% 50%;
38
46
  background-image: radial-gradient(
39
47
  farthest-side at 0% 50%,
@@ -53,7 +61,9 @@
53
61
  }
54
62
 
55
63
  &::after {
56
- right: 0;
64
+ opacity: var(--components-scrollBox-afterOpacity);
65
+ inset-inline-end: calc(var(--components-scrollBox-paddingInline) * -1);
66
+ margin-inline-start: calc(var(--components-scrollBox-shadowSize) * -1 - var(--components-scrollBox-gap));
57
67
  background-position: 100% 50%;
58
68
  background-image: radial-gradient(
59
69
  farthest-side at 100% 50%,
@@ -71,48 +81,4 @@
71
81
  color.transparentize(var(--palettes-neutral-900), 0)
72
82
  );
73
83
  }
74
-
75
- @at-root ($atRoot) {
76
- .scrollBox-inner {
77
- flex-shrink: 0;
78
- position: relative;
79
-
80
- &::before,
81
- &::after {
82
- content: '';
83
- position: absolute;
84
- z-index: 1;
85
- display: block;
86
- top: 1px;
87
- bottom: 1px;
88
- width: calc(var(--components-scrollBox-shadowWidth) / 2);
89
- pointer-events: none;
90
- }
91
-
92
- &::before {
93
- left: calc(var(--components-scrollBox-shadowWidth) * -1);
94
- background-image: linear-gradient(
95
- to right,
96
- var(--components-scrollBox-backgroundColor) var(--components-scrollBox-shadowWidth),
97
- color.transparentize(var(--palettes-neutral-900), 0)
98
- );
99
- }
100
-
101
- &::after {
102
- right: calc(var(--components-scrollBox-shadowWidth) * -1);
103
- background-image: linear-gradient(
104
- to left,
105
- var(--components-scrollBox-backgroundColor) var(--components-scrollBox-shadowWidth),
106
- color.transparentize(var(--palettes-neutral-900), 0)
107
- );
108
- }
109
- }
110
-
111
- .scrollBox-inner-content {
112
- margin-left: calc(var(--components-scrollBox-shadowWidth) * -1);
113
- margin-right: calc(var(--components-scrollBox-shadowWidth) * -1);
114
- position: relative;
115
- z-index: 2;
116
- }
117
- }
118
84
  }
@@ -3,4 +3,16 @@
3
3
  .scrollBox {
4
4
  @include vars;
5
5
  @include component;
6
+
7
+ &.is-firstVisible {
8
+ @include firstVisible;
9
+ }
10
+
11
+ &.is-lastVisible {
12
+ @include lastVisible;
13
+ }
14
+
15
+ &.is-disabled {
16
+ @include disabled;
17
+ }
6
18
  }
@@ -1,2 +0,0 @@
1
- @mixin mod {
2
- }
@@ -1,2 +1,12 @@
1
- @mixin state {
1
+ @mixin firstVisible {
2
+ --components-scrollBox-beforeOpacity: 0;
3
+ }
4
+
5
+ @mixin lastVisible {
6
+ --components-scrollBox-afterOpacity: 0;
7
+ }
8
+
9
+ @mixin disabled {
10
+ --components-scrollBox-wrap: wrap;
11
+ --components-scrollBox-pseudoElementsContent: none;
2
12
  }
@@ -1,5 +1,15 @@
1
1
  @mixin vars {
2
2
  --components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);
3
3
  --components-scrollBox-shadowColor: var(--palettes-neutral-400);
4
- --components-scrollBox-shadowWidth: var(--pr-t-spacings-150);
4
+ --components-scrollBox-shadowSize: var(--pr-t-spacings-150);
5
+ --components-scrollBox-beforeOpacity: 1;
6
+ --components-scrollBox-afterOpacity: 1;
7
+ --components-scrollBox-gap: var(--pr-t-spacings-100);
8
+ --components-scrollBox-scrollBarWidth: thin;
9
+ --components-scrollBox-paddingInline: var(--pr-t-spacings-200);
10
+ --components-scrollBox-paddingBlock: var(--pr-t-spacings-100);
11
+ --components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);
12
+ --components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);
13
+ --components-scrollBox-wrap: nowrap;
14
+ --components-scrollBox-pseudoElementsContent: '';
5
15
  }
@@ -1,5 +1,5 @@
1
1
  @mixin component {
2
2
  background-color: var(--pr-t-elevation-surface-raised);
3
- border-bottom: 1px solid #e5e5e5;
3
+ border-block-end: 1px solid #e5e5e5;
4
4
  padding: var(--pr-t-spacings-600);
5
5
  }
@@ -3,11 +3,9 @@
3
3
  }
4
4
 
5
5
  @mixin S {
6
- padding-left: var(--pr-t-spacings-400);
7
- padding-right: var(--pr-t-spacings-400);
6
+ padding-inline: var(--pr-t-spacings-400);
8
7
  }
9
8
 
10
9
  @mixin XS {
11
- padding-left: var(--pr-t-spacings-200);
12
- padding-right: var(--pr-t-spacings-200);
10
+ padding-inline: var(--pr-t-spacings-200);
13
11
  }
@@ -5,14 +5,16 @@
5
5
  margin: 0;
6
6
  list-style-type: none;
7
7
  display: flex;
8
- flex-wrap: wrap;
9
- width: var(--components-segmentedControl-width);
8
+ flex-wrap: var(--components-segmentedControl-wrap);
9
+ inline-size: var(--components-segmentedControl-width);
10
10
  flex-direction: var(--components-segmentedControl-direction);
11
- box-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-300);
11
+ box-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100);
12
12
  border-radius: var(--components-segmentedControl-borderRadius);
13
13
  background-color: var(--palettes-neutral-0);
14
14
  font-size: var(--components-segmentedControl-fontSize);
15
15
  line-height: var(--components-segmentedControl-lineHeight);
16
+ gap: var(--commons-divider-width);
17
+ white-space: var(--components-segmentedControl-whiteSpace);
16
18
 
17
19
  @at-root ($atRoot) {
18
20
  .segmentedControl-item-input {
@@ -37,33 +39,33 @@
37
39
  content: '';
38
40
  border-width: 0;
39
41
  inset: var(--components-segmentedControl-dividerInset);
40
- border-color: var(--palettes-grey-200);
42
+ border-color: var(--palettes-neutral-100);
41
43
  position: absolute;
42
44
  border-style: solid;
43
45
  }
44
46
 
45
47
  &::before {
46
- right: calc(var(--commons-divider-width) * -1);
47
- border-left-width: var(--commons-divider-width);
48
- left: auto;
48
+ inset-inline-end: calc(var(--commons-divider-width) * -1);
49
+ border-inline-start-width: var(--commons-divider-width);
50
+ inset-inline-start: auto;
49
51
  }
50
52
 
51
53
  &::after {
52
- bottom: calc(var(--commons-divider-width) * -1);
53
- border-top-width: var(--commons-divider-width);
54
- top: auto;
54
+ inset-block-end: calc(var(--commons-divider-width) * -1);
55
+ border-block-start-width: var(--commons-divider-width);
56
+ inset-block-start: auto;
55
57
  }
56
58
  }
57
59
 
58
60
  //.viewTabs-item-tab is deprecated
59
61
  .segmentedControl-item-action,
60
62
  .viewTabs-item-tab {
61
- width: 100%;
63
+ inline-size: 100%;
62
64
  border: 0;
63
65
  margin: 0;
64
66
  padding: var(--components-segmentedControl-padding);
65
67
  background-color: var(--components-segmentedControl-background);
66
- box-shadow: 0 0 0 var(--commons-divider-width) var(--components-segmentedControl-shadow);
68
+ box-shadow: var(--components-segmentedControl-shadow);
67
69
  border-radius: var(--components-segmentedControl-borderRadius);
68
70
  gap: var(--pr-t-spacings-100);
69
71
  color: var(--components-segmentedControl-color);
@@ -75,30 +77,23 @@
75
77
  cursor: var(--components-segmentedControl-cursor);
76
78
  z-index: var(--components-segmentedControl-zIndex);
77
79
  font: inherit;
80
+ transition-property: box-shadow;
81
+ transition-duration: var(--commons-animations-durations-fast);
78
82
 
79
83
  &:focus-visible {
80
84
  @include a11y.focusVisible($offset: 3px);
81
85
  }
82
86
 
83
- &::before {
84
- content: var(--components-segmentedControl-backgroundContent);
85
- z-index: -1;
86
- position: absolute;
87
- background-color: var(--palettes-neutral-50);
88
- inset: var(--pr-t-spacings-75);
89
- bottom: calc(var(--pr-t-spacings-75) - var(--commons-divider-width));
90
- border-radius: var(--commons-borderRadius-M);
91
- transition-property: scale, opacity;
92
- transition-duration: var(--commons-animations-durations-standard);
93
- opacity: 0;
94
- scale: 0;
87
+ &:hover {
88
+ --components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-400),
89
+ var(--pr-t-elevation-shadow-raised);
90
+ --components-segmentedControl-zIndex: 1;
95
91
  }
96
92
 
97
- &:hover {
98
- &::before {
99
- opacity: 1;
100
- scale: 1;
101
- }
93
+ &:active {
94
+ --components-segmentedControl-background: var(--palettes-neutral-0);
95
+ --components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500),
96
+ var(--pr-t-elevation-shadow-raised);
102
97
  }
103
98
  }
104
99
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  @mixin selected {
4
4
  --components-segmentedControl-background: var(--palettes-product-50);
5
- --components-segmentedControl-shadow: var(--palettes-product-500);
5
+ --components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500);
6
6
  --components-segmentedControl-color: var(--palettes-product-800);
7
7
  --components-segmentedControl-cursor: default;
8
8
  --components-segmentedControl-backgroundContent: none;
@@ -4,12 +4,13 @@
4
4
  --components-segmentedControl-fontSize: var(--sizes-M-fontSize);
5
5
  --components-segmentedControl-lineHeight: var(--sizes-M-lineHeight);
6
6
  --components-segmentedControl-background: transparent;
7
- --components-segmentedControl-shadow: transparent;
7
+ --components-segmentedControl-shadow: none;
8
8
  --components-segmentedControl-color: var(--palettes-neutral-700);
9
9
  --components-segmentedControl-cursor: pointer;
10
10
  --components-segmentedControl-dividerInset: var(--pr-t-spacings-100);
11
11
  --components-segmentedControl-direction: row;
12
12
  --components-segmentedControl-width: fit-content;
13
- --components-segmentedControl-backgroundContent: '';
14
13
  --components-segmentedControl-zIndex: 0;
14
+ --components-segmentedControl-wrap: wrap;
15
+ --components-segmentedControl-whiteSpace: normal;
15
16
  }
@@ -2,23 +2,26 @@
2
2
  @use '@lucca-front/scss/src/commons/utils/namespace';
3
3
 
4
4
  @mixin component($atRoot: namespace.$defaultAtRoot) {
5
- display: grid;
6
- grid-template-columns: 1fr auto auto;
7
- align-items: center;
8
- box-shadow: 0 0 0 1px var(--components-simpleSelect-border-color);
9
- background-color: var(--components-simpleSelect-background);
10
- border-radius: var(--commons-borderRadius-M);
11
- padding: var(--components-simpleSelect-padding);
12
- overflow: hidden;
13
- outline: none;
14
- cursor: pointer;
15
-
16
- &:hover {
17
- --components-simpleSelect-border-color: var(--pr-t-color-input-border-hover);
18
- }
5
+ display: block;
19
6
 
20
7
  @at-root ($atRoot) {
21
- .simpleSelect-input {
8
+ .simpleSelect-field {
9
+ display: grid;
10
+ grid-template-columns: 1fr auto auto;
11
+ align-items: center;
12
+ box-shadow: 0 0 0 1px var(--components-simpleSelect-border-color);
13
+ background-color: var(--components-simpleSelect-background);
14
+ border-radius: var(--commons-borderRadius-M);
15
+ padding: var(--components-simpleSelect-padding);
16
+ overflow: hidden;
17
+ outline: none;
18
+ cursor: pointer;
19
+
20
+ &:hover {
21
+ --components-simpleSelect-border-color: var(--pr-t-color-input-border-hover);
22
+ }
23
+ }
24
+ .simpleSelect-field-input {
22
25
  grid-column-start: 1;
23
26
  grid-row-start: 1;
24
27
  font-size: var(--components-simpleSelect-fontSize);
@@ -30,7 +33,7 @@
30
33
  outline: none;
31
34
  position: relative;
32
35
  z-index: 1;
33
- min-width: 0;
36
+ min-inline-size: 0;
34
37
  cursor: pointer;
35
38
 
36
39
  &::placeholder {
@@ -38,10 +41,10 @@
38
41
  }
39
42
  }
40
43
 
41
- .simpleSelect-value {
44
+ .simpleSelect-field-value {
42
45
  grid-column-start: 1;
43
46
  grid-row-start: 1;
44
- width: 100%;
47
+ inline-size: 100%;
45
48
  font-size: var(--components-simpleSelect-fontSize);
46
49
  line-height: var(--components-simpleSelect-lineHeight);
47
50
  color: var(--components-simpleSelect-value-color);
@@ -51,17 +54,24 @@
51
54
  transition: color var(--commons-animations-durations-fast) ease;
52
55
  }
53
56
 
54
- .simpleSelect-clear {
57
+ .simpleSelect-field-clear {
55
58
  grid-column-start: -2;
56
- margin-left: var(--components-simpleSelect-gap);
59
+ margin-inline-start: var(--components-simpleSelect-gap);
57
60
  }
58
61
 
59
- .simpleSelect-arrow {
62
+ .simpleSelect-field-icon {
60
63
  grid-column-start: -1;
61
- margin-left: var(--components-simpleSelect-gap);
64
+ margin-inline-start: var(--components-simpleSelect-gap);
62
65
  color: var(--components-simpleSelect-arrow-color);
63
66
  transition: transform var(--commons-animations-durations-standard) ease;
64
- @include icon.M;
67
+
68
+ .lucca-icon {
69
+ @include icon.M;
70
+ }
71
+
72
+ &.mod-search {
73
+ display: none;
74
+ }
65
75
  }
66
76
  }
67
77
  }
@@ -4,6 +4,29 @@
4
4
  @include vars;
5
5
  @include component;
6
6
 
7
+ &:has(.simpleSelect-field-input:focus-visible) {
8
+ @include focused;
9
+
10
+ &:has(.simpleSelect-field-input[aria-expanded='true']) {
11
+ @include focusedExpanded;
12
+ }
13
+ }
14
+
15
+ &:has(.simpleSelect-field-input:focus-visible),
16
+ &:has(.simpleSelect-field-input[aria-expanded='true']) {
17
+ &:not(:has(.simpleSelect-field-input:read-only)) {
18
+ @include searchable;
19
+ }
20
+ }
21
+
22
+ &:has(.simpleSelect-field-input[aria-invalid='true']) {
23
+ @include invalid;
24
+ }
25
+
26
+ &:has(.simpleSelect-field-input:disabled) {
27
+ @include disabled;
28
+ }
29
+
7
30
  &.mod-S {
8
31
  @include S;
9
32
  }
@@ -12,12 +35,8 @@
12
35
  @include XS;
13
36
  }
14
37
 
15
- &:has(.simpleSelect-input:focus-visible) {
16
- @include focused;
17
-
18
- &:has(.simpleSelect-input[aria-expanded="true"]) {
19
- @include focusedExpanded;
20
- }
38
+ &.mod-filterPill {
39
+ @include filterPill;
21
40
  }
22
41
 
23
42
  &.is-searchFilled {
@@ -31,12 +50,4 @@
31
50
  @include selectedSearchFilled;
32
51
  }
33
52
  }
34
-
35
- &:has(.simpleSelect-input[aria-invalid="true"]) {
36
- @include invalid;
37
- }
38
-
39
- &:has(.simpleSelect-input:disabled) {
40
- @include disabled;
41
- }
42
53
  }
@@ -7,11 +7,13 @@
7
7
  --components-simpleSelect-padding: var(--pr-t-spacings-75);
8
8
  --components-simpleSelect-gap: var(--pr-t-spacings-75);
9
9
 
10
- .simpleSelect-arrow {
11
- @include icon.S;
10
+ .simpleSelect-field-icon {
11
+ .lucca-icon {
12
+ @include icon.S;
13
+ }
12
14
  }
13
15
 
14
- .simpleSelect-clear {
16
+ .simpleSelect-field-clear {
15
17
  // :not(.class) is only there to increase specificity when the class isn’t present
16
18
  // but the class should be present, and this code is temporary
17
19
  &.clear,
@@ -27,11 +29,13 @@
27
29
  --components-simpleSelect-padding: var(--pr-t-spacings-50);
28
30
  --components-simpleSelect-gap: var(--pr-t-spacings-50);
29
31
 
30
- .simpleSelect-arrow {
31
- @include icon.XS;
32
+ .simpleSelect-field-icon {
33
+ .lucca-icon {
34
+ @include icon.XS;
35
+ }
32
36
  }
33
37
 
34
- .simpleSelect-clear {
38
+ .simpleSelect-field-clear {
35
39
  // :not(.class) is only there to increase specificity when the class isn’t present
36
40
  // but the class should be present, and this code is temporary
37
41
  &.clear,
@@ -40,3 +44,26 @@
40
44
  }
41
45
  }
42
46
  }
47
+
48
+ @mixin filterPill {
49
+ width: 21rem;
50
+ max-width: calc(100vw - 2.5rem);
51
+
52
+ .simpleSelect-field {
53
+ position: relative;
54
+ z-index: 1;
55
+ }
56
+
57
+ lu-simple-select-default-option.u-ellipsis {
58
+ white-space: normal !important;
59
+ }
60
+
61
+ .lu-picker-content {
62
+ animation: none;
63
+ box-shadow: none;
64
+ border-radius: 0;
65
+ background-color: transparent;
66
+ padding: var(--pr-t-spacings-50);
67
+ margin: var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1);
68
+ }
69
+ }