@lucca-front/scss 20.3.0-rc.1 → 20.3.0-rc.11

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 (162) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/base.scss +4 -2
  4. package/src/commons/config.scss +8 -2
  5. package/src/commons/core.scss +1 -1
  6. package/src/commons/utils/color.scss +14 -0
  7. package/src/commons/utils/index.scss +2 -2
  8. package/src/commons/vars.scss +12 -12
  9. package/src/components/_sample/index.scss +0 -2
  10. package/src/components/avatar/component.scss +4 -3
  11. package/src/components/avatar/index.scss +4 -0
  12. package/src/components/avatar/mods.scss +18 -3
  13. package/src/components/avatar/vars.scss +4 -0
  14. package/src/components/box/component.scss +1 -1
  15. package/src/components/box/mods.scss +1 -0
  16. package/src/components/box/vars.scss +1 -0
  17. package/src/components/breadcrumbs/index.scss +1 -1
  18. package/src/components/breadcrumbs/states.scss +1 -1
  19. package/src/components/button/component.scss +0 -1
  20. package/src/components/button/index.scss +16 -3
  21. package/src/components/button/mods.scss +17 -2
  22. package/src/components/button/states.scss +41 -12
  23. package/src/components/button/vars.scss +1 -1
  24. package/src/components/calendar/component.scss +1 -1
  25. package/src/components/calendar/index.scss +1 -1
  26. package/src/components/callout/component.scss +14 -5
  27. package/src/components/callout/index.scss +9 -0
  28. package/src/components/callout/mods.scss +30 -2
  29. package/src/components/callout/vars.scss +5 -0
  30. package/src/components/calloutAccordion/component.scss +1 -1
  31. package/src/components/calloutDisclosure/component.scss +1 -1
  32. package/src/components/calloutDisclosure/index.scss +1 -3
  33. package/src/components/card/component.scss +1 -0
  34. package/src/components/card/index.scss +4 -2
  35. package/src/components/card/mods.scss +31 -0
  36. package/src/components/checkbox/index.scss +0 -2
  37. package/src/components/checkboxField/component.scss +1 -1
  38. package/src/components/checkboxField/index.scss +4 -8
  39. package/src/components/chip/index.scss +0 -2
  40. package/src/components/clear/index.scss +0 -2
  41. package/src/components/collapse/index.scss +1 -1
  42. package/src/components/dataTable/component.scss +4 -2
  43. package/src/components/dataTable/index.scss +25 -11
  44. package/src/components/dataTable/mods.scss +5 -6
  45. package/src/components/dataTable/states.scss +12 -0
  46. package/src/components/dataTableSticked/index.scss +0 -4
  47. package/src/components/dialog/component.scss +6 -6
  48. package/src/components/dialog/index.scss +4 -0
  49. package/src/components/dialog/mods.scss +4 -0
  50. package/src/components/dropdown/component.scss +43 -17
  51. package/src/components/dropdown/index.scss +5 -4
  52. package/src/components/dropdown/mods.scss +4 -4
  53. package/src/components/dropdown/states.scss +4 -3
  54. package/src/components/dropdown/vars.scss +8 -6
  55. package/src/components/field/index.scss +8 -30
  56. package/src/components/fieldset/component.scss +1 -1
  57. package/src/components/fieldset/index.scss +0 -2
  58. package/src/components/file/component.scss +1 -1
  59. package/src/components/file/index.scss +2 -4
  60. package/src/components/file/states.scss +1 -1
  61. package/src/components/fileEntry/index.scss +0 -2
  62. package/src/components/fileUpload/component.scss +1 -1
  63. package/src/components/fileUpload/index.scss +0 -2
  64. package/src/components/filterPill/component.scss +1 -1
  65. package/src/components/filterPill/index.scss +1 -5
  66. package/src/components/footer/component.scss +0 -1
  67. package/src/components/form/component.scss +11 -1
  68. package/src/components/form/index.scss +18 -36
  69. package/src/components/form/mods.scss +1 -1
  70. package/src/components/formLabel/component.scss +1 -1
  71. package/src/components/formLabel/index.scss +0 -2
  72. package/src/components/gauge/component.scss +73 -14
  73. package/src/components/gauge/index.scss +19 -0
  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/header/index.scss +0 -2
  78. package/src/components/horizontalNavigation/component.scss +1 -1
  79. package/src/components/horizontalNavigation/index.scss +1 -1
  80. package/src/components/index.scss +1 -0
  81. package/src/components/indexTable/component.scss +2 -2
  82. package/src/components/indexTable/index.scss +0 -2
  83. package/src/components/indexTable/mods.scss +1 -1
  84. package/src/components/inlineMessage/index.scss +0 -2
  85. package/src/components/inputFramed/component.scss +2 -1
  86. package/src/components/inputFramed/index.scss +5 -1
  87. package/src/components/inputFramed/mods.scss +3 -0
  88. package/src/components/inputFramed/vars.scss +1 -0
  89. package/src/components/label/component.scss +1 -1
  90. package/src/components/layout/index.scss +1 -1
  91. package/src/components/link/index.scss +2 -4
  92. package/src/components/listboxOption/index.scss +2 -6
  93. package/src/components/main/index.scss +1 -1
  94. package/src/components/mainLayout/index.scss +2 -2
  95. package/src/components/mobileNavigation/component.scss +1 -1
  96. package/src/components/multiSelect/component.scss +1 -1
  97. package/src/components/multiSelect/index.scss +14 -6
  98. package/src/components/multiSelect/mods.scss +0 -8
  99. package/src/components/multiSelect/states.scss +8 -0
  100. package/src/components/navside/component.scss +2 -2
  101. package/src/components/navside/index.scss +5 -17
  102. package/src/components/newBadge/component.scss +1 -1
  103. package/src/components/numericBadge/component.scss +1 -1
  104. package/src/components/numericBadge/index.scss +0 -2
  105. package/src/components/numericBadge/states.scss +5 -0
  106. package/src/components/pagination/index.scss +1 -1
  107. package/src/components/plgPush/component.scss +1 -1
  108. package/src/components/popover/component.scss +0 -17
  109. package/src/components/progress/index.scss +0 -2
  110. package/src/components/radio/index.scss +1 -1
  111. package/src/components/radioButtons/index.scss +2 -2
  112. package/src/components/radioField/index.scss +1 -1
  113. package/src/components/readMore/component.scss +22 -6
  114. package/src/components/readMore/index.scss +1 -3
  115. package/src/components/readMore/states.scss +2 -0
  116. package/src/components/richText/component.scss +1 -3
  117. package/src/components/richText/index.scss +1 -3
  118. package/src/components/scrollBox/index.scss +1 -1
  119. package/src/components/segmentedControl/component.scss +1 -0
  120. package/src/components/segmentedControl/index.scss +9 -13
  121. package/src/components/simpleSelect/index.scss +1 -5
  122. package/src/components/skeleton/index.scss +0 -2
  123. package/src/components/skeleton/mods.scss +1 -1
  124. package/src/components/skipLinks/component.scss +1 -1
  125. package/src/components/statusBadge/component.scss +1 -1
  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 +1 -1
  133. package/src/components/switchField/index.scss +1 -1
  134. package/src/components/table/component.scss +1 -1
  135. package/src/components/table/index.scss +12 -20
  136. package/src/components/table/mods.scss +4 -4
  137. package/src/components/tableOfContent/index.scss +1 -1
  138. package/src/components/tableSortable/index.scss +0 -2
  139. package/src/components/tag/component.scss +4 -1
  140. package/src/components/tag/index.scss +12 -2
  141. package/src/components/tag/mods.scss +30 -3
  142. package/src/components/tag/states.scss +6 -0
  143. package/src/components/tag/vars.scss +2 -0
  144. package/src/components/textField/component.scss +1 -0
  145. package/src/components/textField/index.scss +4 -4
  146. package/src/components/textField/states.scss +5 -0
  147. package/src/components/textField/vars.scss +1 -0
  148. package/src/components/textFlow/component.scss +6 -0
  149. package/src/components/textfields/index.scss +2 -19
  150. package/src/components/textfields/mods.scss +3 -3
  151. package/src/components/timeline/component.scss +1 -1
  152. package/src/components/timeline/index.scss +1 -1
  153. package/src/components/timeline/mods.scss +3 -3
  154. package/src/components/timepicker/index.scss +0 -2
  155. package/src/components/title/index.scss +11 -0
  156. package/src/components/title/mods.scss +6 -0
  157. package/src/components/titleSection/component.scss +1 -1
  158. package/src/components/tooltip/index.scss +1 -1
  159. package/src/components/userPopover/component.scss +1 -0
  160. package/src/components/verticalNavigation/component.scss +1 -1
  161. package/src/components/verticalNavigation/index.scss +4 -8
  162. package/src/components/verticalNavigation/mods.scss +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/scss",
3
- "version": "20.3.0-rc.1",
3
+ "version": "20.3.0-rc.11",
4
4
  "description": "A Sass framework for Lucca products.",
5
5
  "main": "src/main.scss",
6
6
  "scripts": {},
@@ -23,6 +23,6 @@
23
23
  "normalize.css": "^8.0.0"
24
24
  },
25
25
  "peerDependencies": {
26
- "@lucca-front/icons": "20.3.0-rc.1"
26
+ "@lucca-front/icons": "20.3.0-rc.11"
27
27
  }
28
28
  }
@@ -99,7 +99,9 @@
99
99
  }
100
100
  }
101
101
 
102
- button {
102
+ button, button[type] {
103
+ text-rendering: inherit;
104
+
103
105
  &:focus-visible {
104
106
  @include a11y.focusVisible;
105
107
  }
@@ -107,7 +109,7 @@
107
109
 
108
110
  strong,
109
111
  b {
110
- font-weight: 600;
112
+ font-weight: var(--pr-t-font-fontWeight-semibold);
111
113
  }
112
114
 
113
115
  mark {
@@ -3,7 +3,7 @@
3
3
 
4
4
  @use '@lucca-front/scss/src/commons/function';
5
5
 
6
- $layers: 'reset, base, components, mods, states, product, utils' !default;
6
+ $layers: 'reset, base, components, mods, product, utils' !default;
7
7
 
8
8
  /* stylelint-disable-next-line layer-name-pattern */
9
9
  @layer #{$layers};
@@ -116,7 +116,7 @@ $borderRadiusTokens: (
116
116
  $product: 'brand' !default;
117
117
  $palettesShades: text, 0, 25, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900; // text is deprecated
118
118
  $palettesStates: 'critical', 'error', 'warning', 'success', 'successContrasted', 'warningContrasted';
119
- $palettesDefault: 'brand', 'brandContrasted', 'neutral', 'navigation';
119
+ $palettesDefault: 'brand', 'brandContrasted', 'neutral', 'navigation', 'AI';
120
120
  $palettesProduct: 'product';
121
121
  $palettesOtherProduct: () !default;
122
122
  $palettesDecorative: 'kiwi', 'lime', 'cucumber', 'mint', 'glacier', 'lagoon', 'blueberry', 'lavender', 'grape', 'watermelon', 'pumpkin',
@@ -140,6 +140,11 @@ $fieldsWidth: 20, 30, 40, 50, 60 !default;
140
140
 
141
141
  // Palettes
142
142
 
143
+ $ai: (
144
+ 500: #BC6FDD,
145
+ 600: #A440CF,
146
+ );
147
+
143
148
  $brand: (
144
149
  // text is deprecated
145
150
  text: #ffffff,
@@ -545,6 +550,7 @@ $productsInterpolation: (
545
550
  );
546
551
 
547
552
  $palettesInterpolation: (
553
+ 'AI': $ai,
548
554
  'lucca': $brand,
549
555
  'brand': $brand,
550
556
  'brandContrasted': $brandContrasted,
@@ -29,7 +29,7 @@ $verticalAlign: 'baseline', 'sub', 'super', 'text-top', 'text-bottom', 'middle',
29
29
  $position: 'absolute', 'relative', 'static', 'fixed', 'sticky';
30
30
  $decoration: 'underline', 'line-through', 'none';
31
31
  $overflow: 'hidden', 'auto', 'visible', 'scroll';
32
- $cursor: 'pointer', 'auto';
32
+ $cursor: 'pointer', 'auto', 'default', 'text';
33
33
 
34
34
  // Tokens
35
35
 
@@ -30,3 +30,17 @@
30
30
  @include core.rosetta('--palettes-success', '--palettes-successContrasted', config.$palettesShades);
31
31
  @include core.rosetta('--palettes-warning', '--palettes-warningContrasted', config.$palettesShades);
32
32
  }
33
+
34
+ @mixin borderGradient($angle: 0, $color1: var(--palettes-neutral-0) , $color2: var(--palettes-neutral-900), $radius: var(--pr-t-border-radius-default), $width: var(--commons-divider-width)) {
35
+ &::before {
36
+ content: '';
37
+ pointer-events: none;
38
+ position: absolute;
39
+ inset: calc(#{$width} * -1);
40
+ padding: #{$width};
41
+ background-image: conic-gradient(from #{$angle}, #{$color1}, #{$color2}, #{$color1});
42
+ border-radius: calc(#{$radius} + #{$width});
43
+ mask: linear-gradient(var(--palettes-neutral-0)) content-box, linear-gradient(var(--palettes-neutral-0));
44
+ mask-composite: exclude;
45
+ }
46
+ }
@@ -237,11 +237,11 @@
237
237
  }
238
238
 
239
239
  %fontWeightRegular {
240
- font-weight: 400 !important;
240
+ font-weight: var(--pr-t-font-fontWeight-regular) !important;
241
241
  }
242
242
 
243
243
  %fontWeightSemiBold {
244
- font-weight: 600 !important;
244
+ font-weight: var(--pr-t-font-fontWeight-semibold) !important;
245
245
  }
246
246
 
247
247
  %noSpinButtons {
@@ -82,6 +82,18 @@
82
82
  --commons-font-family: '#{config.$fontFamily}', Tahoma, sans-serif;
83
83
  --commons-font-family-brand: '#{config.$fontFamilyBrand}', sans-serif;
84
84
 
85
+ --commons-background-base: var(--palettes-neutral-25);
86
+
87
+ --commons-divider-color: var(--palettes-neutral-200);
88
+
89
+ --commons-container-padding: 0 var(--pr-t-spacings-200);
90
+ --commons-container-maxWidth: 100rem; // 100 + 0 = 100
91
+
92
+ --commons-navSide-width: 0px;
93
+ /* stylelint-disable-next-line property-disallowed-list */
94
+ --commons-navSide-compact-width: 7.5rem;
95
+ --commons-navSide-mobile-toggle-height: 3.5rem;
96
+
85
97
  @if (config.$fontFamilyCursive) {
86
98
  --commons-font-family-cursive: '#{config.$fontFamilyCursive}', cursive;
87
99
  }
@@ -90,21 +102,14 @@
90
102
  @include core.cssvars('sizes-#{$key}', $map);
91
103
  }
92
104
 
93
- --commons-background-base: var(--palettes-neutral-25);
94
- --commons-divider-color: var(--palettes-neutral-200);
95
-
96
105
  @each $breakpoint, $value in config.$breakpoints {
97
106
  --commons-container-maxWidth#{$breakpoint}: #{function.pxToRem($value)};
98
107
  }
99
108
 
100
- --commons-container-padding: 0 var(--pr-t-spacings-200);
101
-
102
109
  @include media.min('S') {
103
110
  --commons-container-padding: 0 var(--pr-t-spacings-400);
104
111
  }
105
112
 
106
- --commons-container-maxWidth: 100rem; // 100 + 0 = 100
107
-
108
113
  &:has(.navSide) {
109
114
  --commons-container-maxWidth: 85rem; // 85 + 15 = 100
110
115
  }
@@ -113,11 +118,6 @@
113
118
  --commons-container-maxWidth: 92.5rem; // 92.5 + 7.5 = 100
114
119
  }
115
120
 
116
- --commons-navSide-width: 0px;
117
- /* stylelint-disable-next-line property-disallowed-list */
118
- --commons-navSide-compact-width: 7.5rem;
119
- --commons-navSide-mobile-toggle-height: 3.5rem;
120
-
121
121
  @media (prefers-contrast: more) {
122
122
  @media (forced-colors: none) {
123
123
  @include color.contrasted;
@@ -15,9 +15,7 @@
15
15
  &.mod-sampleModifierA {
16
16
  @include sampleModifierA;
17
17
  }
18
- }
19
18
 
20
- @layer states {
21
19
  &.is-sampleStateA {
22
20
  @include sampleStateA;
23
21
  }
@@ -5,14 +5,14 @@
5
5
  @mixin component($atRoot: namespace.$defaultAtRoot) {
6
6
  display: inline-block;
7
7
  vertical-align: middle;
8
- border-radius: var(--pr-t-border-radius-full);
8
+ border-radius: var(--components-avatar-borderRadius);
9
9
  inline-size: var(--components-avatar-size);
10
10
  aspect-ratio: 1;
11
11
 
12
12
  @at-root ($atRoot) {
13
13
  .avatar-picture {
14
- background-color: var(--palettes-neutral-200);
15
- border-radius: var(--pr-t-border-radius-full);
14
+ background-color: var(--components-avatar-picture-background);
15
+ border-radius: var(--components-avatar-borderRadius);
16
16
  background-position: center;
17
17
  background-size: cover;
18
18
  background-repeat: no-repeat;
@@ -31,6 +31,7 @@
31
31
  font-family: var(--pr-t-font-family-brand);
32
32
  line-height: 1;
33
33
  color: var(--pr-t-color-text-reverse);
34
+ display: var(--components-avatar-picture-initials-display);
34
35
  }
35
36
 
36
37
  .avatarWrapper {
@@ -37,6 +37,10 @@
37
37
  @include placeholder;
38
38
  }
39
39
  }
40
+
41
+ &.mod-AI {
42
+ @include AI;
43
+ }
40
44
  }
41
45
 
42
46
  .avatarWrapper {
@@ -1,4 +1,5 @@
1
1
  @use '@lucca-front/icons/src/commons/utils/icon';
2
+ @use '@lucca-front/icons/src/icon/exports' as icons;
2
3
 
3
4
  @mixin XS {
4
5
  --components-avatar-size: 1.5rem;
@@ -72,6 +73,8 @@
72
73
  }
73
74
 
74
75
  @mixin placeholder {
76
+ --components-avatar-picture-initials-display: none;
77
+
75
78
  .avatar-picture {
76
79
  background-color: var(--palettes-neutral-200) !important;
77
80
 
@@ -79,12 +82,24 @@
79
82
  @include icon.generate('people_person');
80
83
 
81
84
  color: var(--palettes-neutral-600);
82
- font-weight: 400;
85
+ font-weight: var(--pr-t-font-fontWeight-regular);
83
86
  font-size: var(--components-avatar-placeholder-size);
84
87
  }
85
88
  }
86
89
 
87
- .avatar-picture-initials {
88
- display: none;
90
+ }
91
+
92
+ @mixin AI {
93
+ --components-avatar-borderRadius: var(--pr-t-border-radius-default);
94
+ --components-avatar-picture-background: var(--palettes-neutral-0);
95
+ --components-avatar-picture-initials-display: none;
96
+
97
+ .avatar-picture {
98
+ &::before {
99
+ @include icons.AI;
100
+ @include icon.generate('weather_stars');
101
+
102
+ font-size: var(--components-avatar-AI-size);
103
+ }
89
104
  }
90
105
  }
@@ -5,6 +5,10 @@
5
5
  --components-avatar-scale: 1;
6
6
  --components-avatar-background: var(--pr-t-elevation-surface-default);
7
7
  --components-avatar-placeholder-size: 1.25rem;
8
+ --components-avatar-AI-size: var(--pr-t-font-fontSize-200);
9
+ --components-avatar-borderRadius: var(--pr-t-border-radius-full);
10
+ --components-avatar-picture-background: var(--palettes-neutral-200);
11
+ --components-avatar-picture-initials-display: block;
8
12
  }
9
13
 
10
14
  @mixin varsWrapper {
@@ -2,7 +2,7 @@
2
2
  @use '@lucca-front/scss/src/commons/utils/namespace';
3
3
 
4
4
  @mixin component($atRoot: namespace.$defaultAtRoot) {
5
- border-radius: var(--pr-t-border-radius-default);
5
+ border-radius: var(--components-box-borderRadius);
6
6
  padding: var(--components-box-padding);
7
7
  background-color: var(--components-box-background, var(--pr-t-elevation-surface-raised));
8
8
  display: block;
@@ -44,6 +44,7 @@
44
44
 
45
45
  @mixin withArrow {
46
46
  --components-box-padding: var(--pr-t-spacings-200);
47
+ --components-box-borderRadius: var(--pr-t-border-radius-small) var(--pr-t-border-radius-structure) var(--pr-t-border-radius-structure);
47
48
 
48
49
  .box-arrow {
49
50
  --components-box-arrow-bottom: 100%;
@@ -2,6 +2,7 @@
2
2
  --components-box-background: var(--pr-t-elevation-surface-raised);
3
3
  --components-box-margin: 0 0 var(--pr-t-spacings-200);
4
4
  --components-box-padding: var(--pr-t-spacings-300);
5
+ --components-box-borderRadius: var(--pr-t-border-radius-structure);
5
6
  --components-box-toggle-arrow-size: 0.8rem;
6
7
  --components-box-toggle-arrow-left: 2.5rem;
7
8
  }
@@ -15,7 +15,7 @@
15
15
  }
16
16
 
17
17
  .breadcrumbs-list-item-action {
18
- @layer states {
18
+ @layer mods {
19
19
  // .active is deprecated
20
20
  &.is-active,
21
21
  &.active,
@@ -1,5 +1,5 @@
1
1
  @mixin active {
2
- font-weight: 600;
2
+ font-weight: var(--pr-t-font-fontWeight-semibold);
3
3
  text-decoration: none;
4
4
  cursor: default;
5
5
 
@@ -32,7 +32,6 @@
32
32
  text-wrap: balance;
33
33
  text-align: center;
34
34
  border: 0;
35
- text-rendering: inherit;
36
35
 
37
36
  &,
38
37
  &:is(a) {
@@ -7,6 +7,18 @@
7
7
  }
8
8
 
9
9
  @layer mods {
10
+ &.mod-AI {
11
+ @include AI;
12
+
13
+ &.is-success {
14
+ @include successAI;
15
+ }
16
+
17
+ &.is-loading {
18
+ @include loadingAI;
19
+ }
20
+ }
21
+
10
22
  &.mod-block {
11
23
  @include block;
12
24
  }
@@ -124,9 +136,7 @@
124
136
  @include moreXS;
125
137
  }
126
138
  }
127
- }
128
139
 
129
- @layer states {
130
140
  // .loading is deprecated
131
141
  &.is-loading,
132
142
  &.loading {
@@ -140,6 +150,7 @@
140
150
  @include loadingXS;
141
151
  }
142
152
 
153
+ &.mod-AI,
143
154
  &.mod-outlined {
144
155
  @include loadingOutlined;
145
156
  }
@@ -160,6 +171,7 @@
160
171
  &.success {
161
172
  @include success;
162
173
 
174
+ &.mod-AI,
163
175
  &.mod-outlined {
164
176
  @include successOutlined;
165
177
  }
@@ -179,7 +191,8 @@
179
191
 
180
192
  // .disabled is deprecated
181
193
  &.is-disabled,
182
- &.disabled {
194
+ &.disabled,
195
+ &[aria-disabled] {
183
196
  @include disabled;
184
197
  }
185
198
  }
@@ -1,6 +1,7 @@
1
1
  @use '@lucca-front/icons/src/icon/exports' as icons;
2
2
  @use '@lucca-front/icons/src/commons/utils/icon';
3
3
  @use '@lucca-front/scss/src/commons/utils/a11y';
4
+ @use '@lucca-front/scss/src/commons/utils/color';
4
5
  @use '@lucca-front/scss/src/components/numericBadge/exports' as numericBadge;
5
6
 
6
7
  @mixin S {
@@ -83,6 +84,7 @@
83
84
  @mixin ghost {
84
85
  --components-button-backgroundColor: transparent;
85
86
  --components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));
87
+ --components-button-boxShadow: none;
86
88
 
87
89
  &:hover,
88
90
  &:focus-visible {
@@ -118,10 +120,11 @@
118
120
  --components-button-minWidth: 2rem;
119
121
  --components-button-padding: 0;
120
122
 
121
- &::before {
123
+ &::after {
122
124
  @include icon.generate('arrow_chevron_bottom');
123
125
 
124
126
  block-size: 0;
127
+ order: -1;
125
128
  vertical-align: text-top;
126
129
  }
127
130
  }
@@ -138,7 +141,7 @@
138
141
  min-block-size: 1.5rem;
139
142
  }
140
143
 
141
- &::before {
144
+ &::after {
142
145
  content: none;
143
146
  }
144
147
  }
@@ -243,3 +246,15 @@
243
246
  @mixin counterXS {
244
247
  --components-button-paddingInlineEnd: var(--pr-t-spacings-50);
245
248
  }
249
+
250
+ @mixin AI {
251
+ @include outlined;
252
+
253
+ &:not(:disabled) {
254
+ @include color.borderGradient(135deg, var(--palettes-brand-400), var(--palettes-AI-500));
255
+
256
+ .lucca-icon {
257
+ @include icons.AI;
258
+ }
259
+ }
260
+ }
@@ -1,3 +1,4 @@
1
+ @use '@lucca-front/icons/src/icon/exports' as icons;
1
2
  @use '@lucca-front/scss/src/commons/config';
2
3
  @use '@lucca-front/scss/src/commons/core';
3
4
  @use '@lucca-front/scss/src/commons/utils/keyframe';
@@ -22,10 +23,15 @@
22
23
  --components-button-pointerEvents: none;
23
24
  --components-button-color: transparent;
24
25
  --components-button-userSelect: none;
25
- --components-button-backgroundColor: var(--palettes-product-500);
26
- --commons-loading-frontground: var(--palettes-product-50);
26
+ --components-button-boxShadow: none;
27
+ --components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));
28
+ --commons-loading-frontground: var(--palettes-50, var(--palettes-product-50));
27
29
 
28
30
  @include loading.spinner(var(--pr-t-font-body-M-lineHeight));
31
+
32
+ .numericBadge {
33
+ @include numericBadge.state;
34
+ }
29
35
  }
30
36
 
31
37
  @mixin loadingS {
@@ -35,7 +41,9 @@
35
41
  @mixin loadingXS {
36
42
  @include loading.spinner(var(--pr-t-font-body-XS-lineHeight));
37
43
 
38
- --commons-loading-borderWidth: 2px;
44
+ & {
45
+ --commons-loading-borderWidth: 2px;
46
+ }
39
47
  }
40
48
 
41
49
  @mixin loadingOutlined {
@@ -49,12 +57,15 @@
49
57
  --commons-loading-frontground: var(--palettes-neutral-400);
50
58
  }
51
59
 
52
- @mixin state {
60
+ @mixin success {
61
+ --components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));
53
62
  --components-button-color: transparent;
54
63
  --components-button-pointerEvents: none;
55
64
  --components-button-userSelect: none;
56
65
 
57
66
  &::after {
67
+ @include icon.generate('sign_confirm');
68
+
58
69
  color: var(--palettes-neutral-0);
59
70
  font-size: calc(1.5 * var(--pr-t-font-body-M-fontSize));
60
71
  block-size: var(--pr-t-font-body-M-lineHeight);
@@ -62,15 +73,33 @@
62
73
  margin: auto;
63
74
  position: absolute;
64
75
  }
76
+
77
+ .numericBadge {
78
+ @include numericBadge.state;
79
+ }
65
80
  }
66
81
 
67
- @mixin success {
68
- --components-button-backgroundColor: var(--palettes-product-500);
82
+ @mixin loadingAI {
83
+ .lucca-icon {
84
+ @include icons.transparent;
85
+ }
86
+
87
+ &::before {
88
+ content: none;
89
+ }
90
+ }
91
+
92
+ @mixin successAI {
93
+ .lucca-icon {
94
+ @include icons.transparent;
95
+ }
69
96
 
70
- @include state;
97
+ &::before {
98
+ content: none;
99
+ }
71
100
 
72
101
  &::after {
73
- @include icon.generate('sign_confirm');
102
+ @include icons.AI;
74
103
  }
75
104
  }
76
105
 
@@ -93,7 +122,7 @@
93
122
  --components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100);
94
123
 
95
124
  &::after {
96
- color: var(--palettes-product-700);
125
+ color: var(--palettes-700, var(--palettes-product-700));
97
126
  }
98
127
  }
99
128
 
@@ -102,15 +131,15 @@
102
131
  --components-button-boxShadow: none;
103
132
 
104
133
  &::after {
105
- color: var(--palettes-product-700);
134
+ color: var(--palettes-700, var(--palettes-product-700));
106
135
  }
107
136
  }
108
137
 
109
138
 
110
139
  @mixin error {
111
- @include keyframe.shake;
112
-
113
140
  animation-name: shake;
114
141
  animation-iteration-count: 1;
115
142
  animation-duration: var(--commons-animations-durations-standard);
143
+
144
+ @include keyframe.shake;
116
145
  }
@@ -15,7 +15,7 @@
15
15
  --components-button-width: auto;
16
16
  --components-button-minWidth: none;
17
17
  --components-button-userSelect: auto;
18
- --components-button-boxShadow: none;
18
+ --components-button-boxShadow: var(--pr-t-elevation-shadow-button);
19
19
  --components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));
20
20
  --components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));
21
21
  --components-button-arrow-transform: none;
@@ -46,7 +46,7 @@
46
46
  @include button.S;
47
47
 
48
48
  justify-content: flex-start;
49
- font-weight: 400;
49
+ font-weight: var(--pr-t-font-fontWeight-regular);
50
50
  white-space: wrap;
51
51
  text-align: start;
52
52
  }
@@ -40,7 +40,7 @@
40
40
  }
41
41
 
42
42
  .calendar-table-body-row-cell {
43
- @layer states {
43
+ @layer mods {
44
44
  &.is-daysOff {
45
45
  @include daysOff;
46
46
  }
@@ -9,9 +9,9 @@
9
9
  align-items: flex-start;
10
10
  position: relative;
11
11
  border-radius: var(--pr-t-border-radius-default);
12
- background-color: var(--palettes-50, var(--palettes-neutral-50));
12
+ background-color: var(--components-callout-backgroundColor);
13
13
  color: var(--pr-t-color-text);
14
- box-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));
14
+ box-shadow: var(--components-callout-boxShadow);
15
15
  gap: var(--components-callout-gap);
16
16
  padding: var(--components-callout-padding);
17
17
  font: var(--components-callout-font);
@@ -37,14 +37,23 @@
37
37
  }
38
38
 
39
39
  .callout-content-title {
40
- font-weight: 600;
40
+ font-weight: var(--pr-t-font-fontWeight-semibold);
41
41
  }
42
42
 
43
+ .callout-content-description {
44
+ display: var(--components-callout-content-description-display);
45
+ justify-content: space-between;
46
+ gap: var(--pr-t-spacings-150);
47
+ align-items: flex-start;
48
+
49
+ }
50
+
51
+
43
52
  .callout-content-description-actions {
44
53
  display: flex;
45
54
  gap: var(--pr-t-spacings-75);
46
- margin-block-start: var(--pr-t-spacings-50);
47
- padding-block: var(--pr-t-spacings-50);
55
+ margin-block-start: var(--components-callout-content-description-action-marginBlockStart);
56
+ padding-block: var(--components-callout-content-description-action-paddingBlock);
48
57
  padding-inline: 0;
49
58
 
50
59
  .button {
@@ -11,4 +11,13 @@
11
11
  @include S;
12
12
  }
13
13
  }
14
+
15
+ &.mod-AI {
16
+ @include AI;
17
+ }
18
+
19
+ &:has(.callout-content-description-actions.mod-inline) {
20
+ @include actionsInline;
21
+ }
14
22
  }
23
+
@@ -1,4 +1,5 @@
1
- @use '@lucca-front/icons/src/icon/exports' as icon;
1
+ @use '@lucca-front/icons/src/icon/exports' as icons;
2
+ @use '@lucca-front/scss/src/commons/utils/color';
2
3
  @use '@lucca-front/scss/src/components/button/exports' as button;
3
4
 
4
5
  @mixin S {
@@ -7,7 +8,7 @@
7
8
  --components-callout-kill-size: 1.25rem;
8
9
 
9
10
  .callout-icon {
10
- @include icon.S;
11
+ @include icons.S;
11
12
  }
12
13
 
13
14
  .callout-content-description-actions {
@@ -26,3 +27,30 @@
26
27
  --components-callout-display: inline-flex;
27
28
  --components-callout-padding: var(--pr-t-spacings-100);
28
29
  }
30
+
31
+ @mixin AI {
32
+ --components-callout-boxShadow: var(--pr-t-elevation-shadow-button);
33
+ --components-callout-backgroundColor: var(--pr-t-elevation-surface-raised);
34
+
35
+ @include color.borderGradient(135deg, var(--palettes-brand-400), var(--palettes-AI-500));
36
+
37
+ .callout-icon {
38
+ .lucca-icon {
39
+ @include icons.AI;
40
+ }
41
+ }
42
+ }
43
+
44
+ @mixin actionsInline {
45
+ --components-callout-content-description-display: flex;
46
+ --components-callout-content-description-action-marginBlockStart: 0;
47
+ --components-callout-content-description-action-paddingBlock: 0;
48
+
49
+ .button {
50
+ @include button.XS;
51
+ }
52
+
53
+ .button.mod-onlyIcon {
54
+ @include button.onlyIconXS;
55
+ }
56
+ }