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

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/scss",
3
- "version": "20.3.0-rc.11",
3
+ "version": "20.3.0-rc.13",
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.11"
26
+ "@lucca-front/icons": "20.3.0-rc.13"
27
27
  }
28
28
  }
@@ -7,6 +7,7 @@
7
7
  inline-size: var(--components-appLayout-inlineSize);
8
8
  grid-template: var(--components-appLayout-gridTemplate);
9
9
  display: grid;
10
+ isolation: isolate;
10
11
 
11
12
  @at-root ($atRoot) {
12
13
  .appLayout-banner {
@@ -3,6 +3,7 @@
3
3
  @use '@lucca-front/scss/src/components/button/exports' as button;
4
4
 
5
5
  @mixin S {
6
+ --components-callout-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);
6
7
  --components-callout-gap: var(--pr-t-spacings-100);
7
8
  --components-callout-font: var(--pr-t-font-body-S);
8
9
  --components-callout-kill-size: 1.25rem;
@@ -18,9 +18,8 @@
18
18
  @at-root ($atRoot) {
19
19
  .calloutDisclosure-summary {
20
20
  display: flex;
21
- gap: var(--pr-t-spacings-150);
22
- padding-block: var(--pr-t-spacings-100);
23
- padding-inline: var(--components-calloutDisclosure-paddingHorizontal);
21
+ gap: var(--components-calloutDisclosure-gap);
22
+ padding: var(--components-calloutDisclosure-padding);
24
23
  border-radius: var(--pr-t-border-radius-default);
25
24
  transition: background-color var(--commons-animations-durations-fast) ease;
26
25
  cursor: pointer;
@@ -2,8 +2,13 @@
2
2
  @use '@lucca-front/scss/src/components/calloutFeedbackList/exports' as calloutFeedbackList;
3
3
 
4
4
  @mixin S {
5
+ --components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-100);
6
+ --components-calloutDisclosure-paddingVertical: var(--pr-t-spacings-75);
7
+ --components-calloutDisclosure-gap: var(--pr-t-spacings-100);
8
+
5
9
  .calloutDisclosure-summary-title {
6
10
  font: var(--pr-t-font-body-S);
11
+ font-weight: var(--pr-t-font-fontWeight-semibold);
7
12
  }
8
13
 
9
14
  .calloutDisclosure-summary-icon {
@@ -1,3 +1,6 @@
1
1
  @mixin vars {
2
+ --components-calloutDisclosure-padding: var(--components-calloutDisclosure-paddingVertical) var(--components-calloutDisclosure-paddingHorizontal);
2
3
  --components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);
4
+ --components-calloutDisclosure-paddingVertical: var(--pr-t-spacings-100);
5
+ --components-calloutDisclosure-gap: var(--pr-t-spacings-150);
3
6
  }
@@ -6,4 +6,5 @@
6
6
  max-inline-size: var(--commons-container-maxWidth);
7
7
  margin-inline: var(--commons-container-marginInline);
8
8
  position: relative;
9
+ display: block;
9
10
  }
@@ -22,6 +22,7 @@
22
22
  overflow: var(--components-dataTable-overflow);
23
23
  background-color: var(--components-dataTable-cell-background);
24
24
  contain: paint; // Fix overflow on webkit when table has scroll
25
+ display: block;
25
26
 
26
27
  &:focus-visible {
27
28
  @include a11y.focusVisible;
@@ -67,6 +68,7 @@
67
68
  text-align: var(--components-dataTable-cell-textAlign);
68
69
  transition-property: background-color;
69
70
  transition-duration: var(--commons-animations-durations-fast);
71
+ font-weight: var(--pr-t-font-fontWeight-regular);
70
72
 
71
73
  &:first-child {
72
74
  inline-size: var(--components-dataTable-cellFirst-width);
@@ -90,6 +92,12 @@
90
92
 
91
93
  .dataTable-body-row-cell {
92
94
  vertical-align: var(--components-dataTable-cell-verticalAlign);
95
+
96
+ &:first-child {
97
+ &:has(.checkboxField-input) {
98
+ padding-bottom: var(--pr-t-spacings-150);
99
+ }
100
+ }
93
101
  }
94
102
 
95
103
  .dataTable-foot-row-cell {
@@ -104,6 +112,7 @@
104
112
 
105
113
  .dataTable-body-row-cell-expand-button.button {
106
114
  vertical-align: top;
115
+ margin-left: calc(var(--pr-t-spacings-25) * -1);
107
116
 
108
117
  .lucca-icon {
109
118
  transform: rotate(var(--components-dataTable-expand-rotation));
@@ -22,8 +22,17 @@
22
22
  @include cellBorder;
23
23
  }
24
24
 
25
- &.mod-alignTop {
26
- @include alignTop;
25
+ &.mod-alignTop,
26
+ &.mod-verticalAlignTop {
27
+ @include verticalAlignTop;
28
+ }
29
+
30
+ &.mod-verticalAlignBottom {
31
+ @include verticalAlignBottom;
32
+ }
33
+
34
+ &.mod-verticalAlignMiddle {
35
+ @includeverticalAlignMiddle;
27
36
  }
28
37
 
29
38
  &.mod-layoutFixed {
@@ -40,7 +49,7 @@
40
49
  }
41
50
 
42
51
  &.mod-hover {
43
- :is(.dataTable-head-row.mod-selectable, .dataTable-body-row) {
52
+ :is(.mod-selectable, .dataTable-body-row:not(.mod-group)) {
44
53
  &:hover {
45
54
  @include hover;
46
55
  }
@@ -63,6 +72,7 @@
63
72
  @include group;
64
73
  }
65
74
 
75
+ &:has([selectable]),
66
76
  &.mod-selectable {
67
77
  @include selectable;
68
78
 
@@ -85,8 +95,13 @@
85
95
  @include alignCenter;
86
96
  }
87
97
 
88
- &.mod-alignRight {
89
- @include alignRight;
98
+ &.mod-alignRight,
99
+ &.mod-alignEnd {
100
+ @include alignEnd;
101
+ }
102
+
103
+ &.mod-alignStart {
104
+ @include alignStart;
90
105
  }
91
106
 
92
107
  &.mod-editable {
@@ -14,10 +14,18 @@
14
14
  }
15
15
  }
16
16
 
17
- @mixin alignTop {
17
+ @mixin verticalAlignTop {
18
18
  --components-dataTable-cell-verticalAlign: top;
19
19
  }
20
20
 
21
+ @mixin verticalAlignBottom {
22
+ --components-dataTable-cell-verticalAlign: bottom;
23
+ }
24
+
25
+ @mixin verticalAlignMiddle {
26
+ --components-dataTable-cell-verticalAlign: middle;
27
+ }
28
+
21
29
  @mixin buttonExpand {
22
30
  --components-dataTable-tree-extraPadding: calc(1.5rem + var(--pr-t-spacings-100));
23
31
 
@@ -47,7 +55,16 @@
47
55
  }
48
56
 
49
57
  @mixin selectable {
50
- --components-dataTable-cellFirst-width: 2.5rem;
58
+ --components-dataTable-cellFirst-width: 2.625rem;
59
+
60
+ .dataTable-head-row-cell,
61
+ .dataTable-body-row-cell,
62
+ .dataTable-foot-row-cell {
63
+ &:first-child {
64
+ inline-size: var(--components-dataTable-cellFirst-width);
65
+ max-inline-size: var(--components-dataTable-cellFirst-width);
66
+ }
67
+ }
51
68
  }
52
69
 
53
70
  @mixin draggable {
@@ -73,7 +90,7 @@
73
90
 
74
91
  @mixin editable {
75
92
  --components-dataTable-cell-padding: var(--pr-t-spacings-100);
76
- --components-dataTable-cell-paddingInlineStart: var(--components-dataTable-cell-padding);
93
+ --components-dataTable-cell-paddingInlineStart: var(--pr-t-spacings-50);
77
94
  }
78
95
 
79
96
  @mixin actions {
@@ -87,6 +104,8 @@
87
104
  @include button.onlyIcon;
88
105
  @include button.onlyIconS;
89
106
  @include button.ghost;
107
+
108
+ transition-property: box-shadow, color;
90
109
  }
91
110
 
92
111
  &:is(.dataTable-head-row-cell) {
@@ -101,8 +120,12 @@
101
120
  --components-dataTable-cell-textAlign: center;
102
121
  }
103
122
 
104
- @mixin alignRight {
105
- --components-dataTable-cell-textAlign: right;
123
+ @mixin alignEnd {
124
+ --components-dataTable-cell-textAlign: end;
125
+ }
126
+
127
+ @mixin alignStart {
128
+ --components-dataTable-cell-textAlign: start;
106
129
  }
107
130
 
108
131
  @mixin layoutFixed {
@@ -8,7 +8,7 @@
8
8
  }
9
9
 
10
10
  @layer mods {
11
- &:has(.dataTable.mod-stickyHeader) {
11
+ &:has(.dataTable.mod-stickyHeader, .dataTable-head.mod-sticky) {
12
12
  @include stickyHeader;
13
13
  }
14
14
 
@@ -44,4 +44,8 @@
44
44
  }
45
45
  }
46
46
  }
47
+
48
+ &:has(.dataTable-head.is-firstBodyRowVisible) {
49
+ @include firstBodyRowVisible;
50
+ }
47
51
  }
@@ -6,7 +6,7 @@
6
6
  .dataTable-head {
7
7
  position: sticky;
8
8
  inset-block-start: -1px;
9
- z-index: 1;
9
+ z-index: 2;
10
10
 
11
11
  &::after {
12
12
  content: '';
@@ -16,6 +16,7 @@
16
16
  background-image: linear-gradient(#{color.transparentize(var(--palettes-neutral-400), 0.24)}, transparent);
17
17
  pointer-events: none;
18
18
  box-shadow: 0 1px var(--commons-border-200) inset;
19
+ opacity: var(--components-dataTable-header-shadow-opacity);
19
20
  }
20
21
  }
21
22
  }
@@ -103,7 +104,7 @@
103
104
  .dataTable-head-row-cell {
104
105
  &.mod-stickyColumn {
105
106
  &:first-child {
106
- z-index: 1;
107
+ z-index: 2;
107
108
  }
108
109
  }
109
110
  }
@@ -124,6 +125,7 @@
124
125
 
125
126
  &:has(~ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell):not(.mod-stickyColumn)) {
126
127
  transform: translateX(-1px);
128
+ z-index: 1;
127
129
 
128
130
  &:not(:has(+ :is(.dataTable-head-row-cell, .dataTable-body-row-cell, .dataTable-foot-row-cell).mod-stickyColumn)) {
129
131
  &::after {
@@ -13,3 +13,8 @@
13
13
  @mixin lastRowVisible {
14
14
  --components-dataTable-shadow-lastRowOpacity: 0;
15
15
  }
16
+
17
+ @mixin firstBodyRowVisible {
18
+ --components-dataTable-header-shadow-opacity: 0;
19
+ }
20
+
@@ -3,4 +3,5 @@
3
3
  --components-dataTable-shadow-lastColumnOpacity: 1;
4
4
  --components-dataTable-shadow-firstRowOpacity: 1;
5
5
  --components-dataTable-shadow-lastRowOpacity: 1;
6
+ --components-dataTable-header-shadow-opacity: 1;
6
7
  }
@@ -23,6 +23,8 @@
23
23
 
24
24
  @at-root ($atRoot) {
25
25
  .gauge-bar {
26
+ position: absolute;
27
+
26
28
  @extend %gaugeBar;
27
29
  }
28
30
 
@@ -268,6 +268,11 @@
268
268
  padding-inline: 0;
269
269
  margin-inline-end: var(--pr-t-spacings-100);
270
270
  }
271
+
272
+ .pagination-scrolling .button:hover {
273
+ --components-button-backgroundColor: var(--palettes-neutral-100);
274
+ --components-button-color: var(--palettes-neutral-700);
275
+ }
271
276
  }
272
277
  }
273
278
 
@@ -285,4 +290,9 @@
285
290
  .avatarWrapper {
286
291
  display: inline-flex;
287
292
  }
293
+
294
+ .tableSortable.button:hover {
295
+ --components-button-backgroundColor: var(--palettes-neutral-100);
296
+ color: var(--palettes-neutral-700);
297
+ }
288
298
  }
@@ -1,4 +1,5 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/a11y';
2
+ @use '@lucca-front/scss/src/commons/utils/media';
2
3
  @use '@lucca-front/scss/src/commons/utils/namespace';
3
4
  @use '@lucca-front/scss/src/components/container/exports' as container;
4
5
 
@@ -7,6 +8,20 @@
7
8
  flex-direction: var(--components-mainLayout-flexDirection);
8
9
  block-size: 100%;
9
10
 
11
+ &:target {
12
+ position: relative;
13
+
14
+ &::after {
15
+ content: '';
16
+ position: absolute;
17
+ inset: 0;
18
+ z-index: 5;
19
+ pointer-events: none;
20
+
21
+ @include a11y.focusVisible($offset: -4px, $borderRadius: var(--pr-t-border-radius-default));
22
+ }
23
+ }
24
+
10
25
  @at-root ($atRoot) {
11
26
  .mainLayout-sidebar {
12
27
  overflow-x: hidden;
@@ -56,6 +71,18 @@
56
71
  inset-inline-start: 0;
57
72
  position: var(--components-mainLayout-content-inside-block-position);
58
73
 
74
+ @include media.min(XS) {
75
+ --components-mainLayout-content-inside-block-firstLastOfType-marginBlock: var(--pr-t-spacings-300);
76
+ }
77
+
78
+ &:first-of-type {
79
+ margin-block-start: var(--components-mainLayout-content-inside-block-firstLastOfType-marginBlock);
80
+ }
81
+
82
+ &:last-of-type {
83
+ margin-block-end: var(--components-mainLayout-content-inside-block-firstLastOfType-marginBlock);
84
+ }
85
+
59
86
  &.mod-overflow {
60
87
  .container {
61
88
  @include container.overflow;
@@ -6,4 +6,5 @@
6
6
  --components-mainLayout-content-inside-block-position: static;
7
7
  --components-mainLayout-content-inside-header-insetBlockStart: auto;
8
8
  --components-mainLayout-content-inside-footer-insetBlockEnd: auto;
9
+ --components-mainLayout-content-inside-block-firstLastOfType-marginBlock: var(--pr-t-spacings-200);
9
10
  }
@@ -72,6 +72,7 @@
72
72
  animation-duration: var(--commons-animations-durations-fast);
73
73
  animation-delay: var(--commons-animations-durations-fast);
74
74
  opacity: 0;
75
+ flex-shrink: 0;
75
76
  animation-fill-mode: forwards;
76
77
 
77
78
  @include keyframe.fadeIn;
@@ -6,12 +6,14 @@
6
6
  border-radius: var(--pr-t-border-radius-full);
7
7
  display: inline-flex;
8
8
  font-size: var(--components-statusBadge-fontSize);
9
- gap: var(--pr-t-spacings-50);
9
+ font-weight: var(--pr-t-font-fontWeight-regular);
10
+ font-family: var(--pr-t-font-family);
10
11
  line-height: var(--components-statusBadge-lineHeight);
12
+ gap: var(--pr-t-spacings-50);
11
13
  padding-block: calc(var(--pr-t-spacings-50) / 2);
12
14
  padding-inline: var(--pr-t-spacings-75) var(--pr-t-spacings-100);
13
15
  white-space: nowrap;
14
- font-weight: var(--pr-t-font-fontWeight-regular);
16
+ max-inline-size: 100%;
15
17
 
16
18
  &::before {
17
19
  background-color: var(--palettes-700, var(--palettes-product-700));
@@ -27,5 +29,10 @@
27
29
  }
28
30
 
29
31
  @at-root ($atRoot) {
32
+ .statusBadge-content {
33
+ overflow: hidden;
34
+ text-overflow: ellipsis;
35
+ outline: none;
36
+ }
30
37
  }
31
38
  }
@@ -11,4 +11,8 @@
11
11
  @include L;
12
12
  }
13
13
  }
14
+
15
+ &:has(.statusBadge-content:focus-visible) {
16
+ @include focusVisible;
17
+ }
14
18
  }
@@ -0,0 +1,5 @@
1
+ @use '@lucca-front/scss/src/commons/utils/a11y';
2
+
3
+ @mixin focusVisible {
4
+ @include a11y.focusVisible;
5
+ }
@@ -11,9 +11,17 @@
11
11
  .dataTable-head-row-cell,
12
12
  .indexTable-head-row-cell {
13
13
  @layer mods {
14
+ &.mod-alignStart,
15
+ &.mod-alignLeft {
16
+ .tableSortable {
17
+ @include sortAlignStart;
18
+ }
19
+ }
20
+
21
+ &.mod-alignEnd,
14
22
  &.mod-alignRight {
15
23
  .tableSortable {
16
- @include sortAlignRight;
24
+ @include sortAlignEnd;
17
25
  }
18
26
  }
19
27
 
@@ -1,8 +1,13 @@
1
- @mixin sortAlignRight {
1
+ @mixin sortAlignEnd {
2
2
  --components-sortable-direction: row-reverse;
3
3
  --components-sortable-offset: var(--pr-t-spacings-50);
4
4
  }
5
5
 
6
+ @mixin sortAlignStart {
7
+ --components-sortable-direction: row;
8
+ --components-sortable-offset: calc(var(--pr-t-spacings-50) * -1);
9
+ }
10
+
6
11
  @mixin sortAlignCenter {
7
- --components-sortable-offset: 0;
12
+ --components-sortable-offset: var(--pr-t-spacings-100);
8
13
  }
@@ -20,7 +20,7 @@
20
20
  font-size: var(--components-tag-fontSize); // Deprecated
21
21
  line-height: var(--components-tag-lineHeight); // Deprecated
22
22
  max-inline-size: 100%;
23
- position: relative;
23
+ position: var(--components-tag-position);
24
24
 
25
25
  &,
26
26
  &:is(a, button) {
@@ -61,6 +61,7 @@
61
61
 
62
62
  &:not(:disabled) {
63
63
  --components-tag-boxShadow: none;
64
+ --components-tag-position: relative;
64
65
 
65
66
  @include color.borderGradient(135deg, var(--palettes-brand-400), var(--palettes-AI-500), var(--pr-t-border-radius-small));
66
67
 
@@ -7,6 +7,7 @@
7
7
  --components-tag-decoration: none;
8
8
  --components-tag-cursor: inherit;
9
9
  --components-tag-boxShadow: 0 0 0 1px var(--components-tag-shadow);
10
+ --components-tag-position: static;
10
11
 
11
12
  // Deprecated
12
13
  --components-tag-fontSize: var(--pr-t-font-body-S-fontSize);