@lucca-front/scss 19.0.0 → 19.1.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 (93) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/base.scss +6 -86
  4. package/src/commons/config.scss +72 -83
  5. package/src/commons/core.scss +23 -19
  6. package/src/commons/utils/color.scss +17 -1
  7. package/src/commons/utils/index.scss +11 -27
  8. package/src/commons/utils/loading.scss +2 -1
  9. package/src/commons/utils/reset.scss +11 -3
  10. package/src/commons/vars.scss +6 -7
  11. package/src/components/button/index.scss +1 -3
  12. package/src/components/calendar/component.scss +56 -16
  13. package/src/components/calendar/index.scss +27 -21
  14. package/src/components/calendar/states.scss +54 -111
  15. package/src/components/calendar/vars.scss +0 -1
  16. package/src/components/callout/component.scss +2 -0
  17. package/src/components/calloutFeedbackList/component.scss +3 -1
  18. package/src/components/card/mods.scss +1 -3
  19. package/src/components/dataTable/component.scss +131 -0
  20. package/src/components/dataTable/index.scss +85 -0
  21. package/src/components/dataTable/mods.scss +152 -0
  22. package/src/components/dataTable/states.scss +7 -0
  23. package/src/components/dataTable/vars.scss +16 -0
  24. package/src/components/dataTableSticked/index.scss +43 -0
  25. package/src/components/dataTableSticked/mods.scss +164 -0
  26. package/src/components/dataTableSticked/states.scss +15 -0
  27. package/src/components/dataTableSticked/vars.scss +6 -0
  28. package/src/components/dateField/component.scss +6 -0
  29. package/src/components/dateField/index.scss +32 -0
  30. package/src/components/dateField/mods.scss +23 -0
  31. package/src/components/dateField/vars.scss +10 -0
  32. package/src/components/dateRangeField/component.scss +74 -0
  33. package/src/components/dateRangeField/exports.scss +4 -0
  34. package/src/components/dateRangeField/index.scss +36 -0
  35. package/src/components/dateRangeField/mods.scss +31 -0
  36. package/src/components/dateRangeField/vars.scss +16 -0
  37. package/src/components/divider/component.scss +30 -10
  38. package/src/components/divider/index.scss +2 -12
  39. package/src/components/divider/mods.scss +31 -0
  40. package/src/components/divider/vars.scss +5 -0
  41. package/src/components/fancyBox/component.scss +71 -0
  42. package/src/components/fancyBox/exports.scss +4 -0
  43. package/src/components/fancyBox/index.scss +11 -0
  44. package/src/components/fancyBox/mods.scss +6 -0
  45. package/src/components/fancyBox/states.scss +0 -0
  46. package/src/components/fancyBox/vars.scss +9 -0
  47. package/src/components/fieldset/component.scss +7 -0
  48. package/src/components/fieldset/index.scss +4 -0
  49. package/src/components/fieldset/states.scss +3 -0
  50. package/src/components/fieldset/vars.scss +1 -0
  51. package/src/components/form/index.scss +9 -5
  52. package/src/components/index.scss +5 -4
  53. package/src/components/list/mods.scss +1 -1
  54. package/src/components/multiSelect/component.scss +2 -2
  55. package/src/components/multiSelect/states.scss +4 -5
  56. package/src/components/multiSelect/vars.scss +4 -4
  57. package/src/components/navside/mods.scss +4 -0
  58. package/src/components/numericBadge/component.scss +9 -0
  59. package/src/components/numericBadge/index.scss +12 -0
  60. package/src/components/numericBadge/states.scss +19 -0
  61. package/src/components/numericBadge/vars.scss +1 -0
  62. package/src/components/simpleSelect/component.scss +1 -1
  63. package/src/components/simpleSelect/states.scss +7 -8
  64. package/src/components/simpleSelect/vars.scss +5 -5
  65. package/src/components/statusBadge/component.scss +1 -1
  66. package/src/components/statusBadge/index.scss +1 -1
  67. package/src/components/statusBadge/mods.scss +5 -5
  68. package/src/components/statusBadge/vars.scss +4 -4
  69. package/src/components/tableSortable/index.scss +1 -0
  70. package/src/components/textField/component.scss +5 -5
  71. package/src/components/textField/states.scss +6 -7
  72. package/src/components/textField/vars.scss +4 -5
  73. package/src/components/timepicker/component.scss +1 -1
  74. package/src/components/timepicker/states.scss +5 -5
  75. package/src/components/timepicker/vars.scss +3 -3
  76. package/src/components/actionIcon/component.scss +0 -36
  77. package/src/components/actionIcon/index.scss +0 -40
  78. package/src/components/actionIcon/mods.scss +0 -69
  79. package/src/components/actionIcon/states.scss +0 -23
  80. package/src/components/actionIcon/vars.scss +0 -2
  81. package/src/components/emptyStateDeprecated/component.scss +0 -18
  82. package/src/components/emptyStateDeprecated/index.scss +0 -6
  83. package/src/components/emptyStateDeprecated/vars.scss +0 -2
  84. package/src/components/gridLegacy/component.scss +0 -34
  85. package/src/components/gridLegacy/index.scss +0 -94
  86. package/src/components/gridLegacy/mods.scss +0 -46
  87. package/src/components/gridLegacy/vars.scss +0 -2
  88. /package/src/components/{actionIcon → dataTable}/exports.scss +0 -0
  89. /package/src/components/{emptyStateDeprecated/mods.scss → dataTableSticked/component.scss} +0 -0
  90. /package/src/components/{emptyStateDeprecated → dataTableSticked}/exports.scss +0 -0
  91. /package/src/components/{gridLegacy → dateField}/exports.scss +0 -0
  92. /package/src/components/{emptyStateDeprecated → dateField}/states.scss +0 -0
  93. /package/src/components/{gridLegacy → dateRangeField}/states.scss +0 -0
@@ -7,6 +7,50 @@
7
7
  width: var(--components-calendarWidth);
8
8
 
9
9
  @at-root ($atRoot) {
10
+ .calendarShortcutsOptionnal {
11
+ display: flex;
12
+ }
13
+
14
+ .calendarShortcuts {
15
+ @include reset.list;
16
+
17
+ width: 13.5rem;
18
+ border-right: 1px solid var(--palettes-neutral-100);
19
+ padding: var(--pr-t-spacings-50);
20
+ overflow: auto;
21
+ position: relative;
22
+ z-index: 1;
23
+ border-radius: var(--commons-borderRadius-M) 0 0 var(--commons-borderRadius-M);
24
+
25
+ &:focus-visible {
26
+ @include a11y.focusVisible;
27
+ }
28
+
29
+ &.mod-day {
30
+ max-height: 19.25rem;
31
+
32
+ &:has(+ .calendarWrapper .calendar-todayLink) {
33
+ max-height: 21.75rem;
34
+ }
35
+ }
36
+
37
+ &.mod-month,
38
+ &.mod-year {
39
+ max-height: 18rem;
40
+ }
41
+ }
42
+
43
+ .calendarShortcutsButton-item-button.button {
44
+ @include button.block;
45
+ @include button.text;
46
+ @include button.S;
47
+
48
+ justify-content: flex-start;
49
+ font-weight: 400;
50
+ white-space: wrap;
51
+ text-align: left;
52
+ }
53
+
10
54
  .calendar-table {
11
55
  border-spacing: var(--components-calendarBorderSpacing);
12
56
  border: var(--pr-t-spacings-150) solid transparent;
@@ -21,9 +65,16 @@
21
65
  }
22
66
 
23
67
  .calendarWrapper {
24
- width: calc(var(--components-calendarWrapperWidth) * var(--components-calendarWrapperVisible));
25
68
  background-color: var(--components-calendarWrapperBackground);
26
69
  position: relative;
70
+
71
+ &:has(.calendar-table-body-row-cell-action:focus-visible) {
72
+ &:has(.calendar-table-body-row-cell-action:hover) {
73
+ .calendar-table-body-row-cell-action:hover:not(:focus-visible) {
74
+ outline: none;
75
+ }
76
+ }
77
+ }
27
78
  }
28
79
 
29
80
  .calendarWrapper-content {
@@ -33,11 +84,9 @@
33
84
  scroll-snap-type: x mandatory;
34
85
  -ms-overflow-style: none;
35
86
  scrollbar-width: none;
36
-
37
87
  &::-webkit-scrollbar {
38
88
  display: none;
39
89
  }
40
-
41
90
  &:focus-visible {
42
91
  @include a11y.focusVisible;
43
92
  }
@@ -45,21 +94,12 @@
45
94
 
46
95
  .calendarWrapper-navigation {
47
96
  position: absolute;
48
- top: var(--pr-t-spacings-150);
97
+ top: 0;
49
98
  background-color: var(--components-calendarWrapper-navigationBackground);
50
- border-width: 0 var(--pr-t-spacings-150);
99
+ border-width: var(--pr-t-spacings-150);
51
100
  border-style: solid;
52
- border-color: transparent var(--components-calendarWrapper-navigationBackground);
53
-
54
- &.mod-prev {
55
- left: var(--pr-t-spacings-25);
56
- border-right: 0;
57
- }
58
-
59
- &.mod-next {
60
- right: var(--pr-t-spacings-25);
61
- border-left: 0;
62
- }
101
+ border-color: var(--components-calendarWrapper-navigationBackground);
102
+ border-radius: var(--commons-borderRadius-L);
63
103
  }
64
104
 
65
105
  .calendarWrapper-navigation-button {
@@ -1,4 +1,5 @@
1
1
  @use 'exports' as *;
2
+ @use '@lucca-front/scss/src/commons/utils/media';
2
3
 
3
4
  .calendarWrapper {
4
5
  @include wrapperVars;
@@ -20,29 +21,14 @@
20
21
  &:has(.calendar-table-body-row-cell:nth-child(3):last-child) {
21
22
  @include third;
22
23
  }
24
+ }
23
25
 
24
- // if we have a selection start
25
- &:has(.calendar-table-body-row-cell.is-start) {
26
- // but no selection end
27
- &:not(:has(.calendar-table-body-row-cell.is-end)) {
28
- // and either focus-visible
29
- &:has(.calendar-table-body-row-cell-action:focus-visible) {
30
- // we call the selection in progress mixin
31
- @include selectionInProgress($event: ':focus-within');
32
- }
33
-
34
- // or hovering (without focus-visible)
35
- &:not(:has(.calendar-table-body-row-cell:focus-within)) {
36
- &:has(.calendar-table-body-row-cell:hover) {
37
- // we call the selection in progress mixin
38
- @include selectionInProgress($event: ':hover');
39
- }
40
- }
41
- }
26
+ .calendarShortcuts {
27
+ @include media.max('S') {
28
+ display: none;
42
29
  }
43
30
  }
44
31
 
45
- .calendar-table-body-row-cell,
46
32
  .calendar-table-body-row-cell {
47
33
  &.is-daysOff {
48
34
  @include daysOff;
@@ -56,10 +42,14 @@
56
42
  @include current;
57
43
  }
58
44
 
59
- &.is-selected {
60
- @include selected;
45
+ &.is-selected,
46
+ &.is-selectionInProgress {
47
+ &:not(.is-overflow) {
48
+ @include selected;
49
+ }
61
50
  }
62
51
 
52
+ &.is-singleDayInProgress,
63
53
  &.is-start {
64
54
  @include start;
65
55
  }
@@ -67,4 +57,20 @@
67
57
  &.is-end {
68
58
  @include end;
69
59
  }
60
+
61
+ &.is-startInProgress {
62
+ &:not(.is-endInProgress) {
63
+ @include startInProgress;
64
+ }
65
+
66
+ &.is-endInProgress {
67
+ @include startEndInProgress;
68
+ }
69
+ }
70
+
71
+ &.is-endInProgress {
72
+ &:not(.is-startInProgress) {
73
+ @include endInProgress;
74
+ }
75
+ }
70
76
  }
@@ -1,6 +1,6 @@
1
1
  @mixin daysOff {
2
2
  .calendar-table-body-row-cell-action {
3
- &:not(:disabled, [aria-disabled=true]) {
3
+ &:not(:disabled, [aria-disabled='true']) {
4
4
  &:active {
5
5
  --components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-product-900);
6
6
  }
@@ -31,6 +31,18 @@
31
31
  }
32
32
  }
33
33
 
34
+ @mixin unselected {
35
+ &::before {
36
+ --components-calendar-table-body-row-cellSelectedBeforeContent: none;
37
+ }
38
+
39
+ &.is-daysOff {
40
+ .calendar-table-body-row-cell-action {
41
+ --components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-neutral-200);
42
+ }
43
+ }
44
+ }
45
+
34
46
  @mixin extremity {
35
47
  .calendar-table-body-row-cell-action {
36
48
  --components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0));
@@ -54,7 +66,6 @@
54
66
 
55
67
  &.is-selected {
56
68
  .calendar-table-body-row-cell-action {
57
- // outline: 2px solid red;
58
69
  --components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0));
59
70
  }
60
71
  }
@@ -84,141 +95,73 @@
84
95
  }
85
96
  }
86
97
 
87
- @mixin overflow {
88
- .calendar-table-body-row-cell-action,
89
- .calendar-table-body-row-cell-action {
90
- --components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-600);
98
+ @mixin startInProgress {
99
+ &:not(:hover) {
100
+ @include extremity;
91
101
  }
92
- }
93
102
 
94
- @mixin selectionInProgressBeforeWeek($parent, $child, $start, $action, $event) {
95
- #{$child + $event} {
96
- &:has(#{$action}) {
97
- @include selected;
103
+ --components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200));
98
104
 
99
- --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L);
105
+ &:has(:focus-visible) {
106
+ &.is-daysOff {
107
+ .calendar-table-body-row-cell-action {
108
+ --components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200));
109
+ }
100
110
  }
101
- }
102
111
 
103
- #{$child + $event} ~ #{$child} {
104
- &:has(#{$action}) {
105
- @include selected;
112
+ .calendar-table-body-row-cell-action {
113
+ --components-calendar-table-body-row-cell-actionHighlight: transparent;
114
+ --components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-700);
115
+ --components-calendar-table-body-row-cell-actionOutlineOffset: -1px !important;
106
116
  }
107
117
  }
108
118
 
109
- ~ #{$parent} {
110
- &:not(#{$parent}:has(#{$start}) ~ #{$parent}) {
111
- #{$child} {
112
- &:not(#{$start} ~ #{$child}) {
113
- &:has(#{$action}) {
114
- @include selected;
115
- }
116
- }
117
- }
118
- }
119
- }
120
- ~ #{$parent}:has(#{$start}) {
121
- #{$start} {
122
- &::before {
123
- --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0;
124
- }
125
- }
119
+ &::before {
120
+ right: 0;
121
+ --components-calendar-table-body-row-cellSelectedBeforeContent: '';
122
+ --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L);
126
123
  }
127
124
  }
128
125
 
129
- @mixin selectionInProgressAfterWeek($parent, $child, $start, $action, $event) {
130
- ~ #{$parent} {
131
- &:not(&#{$event} ~ #{$parent}) {
132
- #{$child} {
133
- &:not(#{$child + $event} ~ #{$child}) {
134
- &:has(#{$action}) {
135
- @include selected;
136
-
137
- #{$event} {
138
- --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L)
139
- var(--commons-borderRadius-L) 0;
140
- }
141
- }
142
- }
143
- }
144
- }
126
+ @mixin endInProgress {
127
+ &:not(:hover) {
128
+ @include extremity;
145
129
  }
146
130
 
147
- #{$start} ~ #{$child} {
148
- &:has(#{$action}) {
149
- @include selected;
131
+ --components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200));
150
132
 
151
- #{$event} {
152
- --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0;
133
+ &:has(:focus-visible) {
134
+ &.is-daysOff {
135
+ .calendar-table-body-row-cell-action {
136
+ --components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200));
153
137
  }
154
138
  }
155
- }
156
- }
157
139
 
158
- @mixin selectionInProgressSameWeekBeforeDay($parent, $child, $start, $action, $event) {
159
- #{$child + $event} ~ #{$child} {
160
- &:not(#{$start} ~ #{$child}) {
161
- @include selected;
140
+ .calendar-table-body-row-cell-action {
141
+ --components-calendar-table-body-row-cell-actionHighlight: transparent;
142
+ --components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-700);
143
+ --components-calendar-table-body-row-cell-actionOutlineOffset: -1px !important;
162
144
  }
163
145
  }
164
146
 
165
- #{$child + $event} {
166
- @include selected;
167
-
168
- --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L);
169
- }
170
-
171
- #{$start} {
172
- &::before {
173
- --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0;
174
- }
147
+ &::before {
148
+ left: 0;
149
+ --components-calendar-table-body-row-cellSelectedBeforeContent: '';
150
+ --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0;
175
151
  }
176
152
  }
177
153
 
178
- @mixin selectionInProgressSameWeekAfterDay($parent, $child, $start, $action, $event) {
179
- #{$start} ~ #{$child} {
180
- &:not(#{$child + $event} ~ #{$child}) {
181
- &:has(#{$action}) {
182
- @include selected;
154
+ @mixin startEndInProgress {
155
+ @include extremity;
183
156
 
184
- #{$event} {
185
- --components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L)
186
- 0;
187
- }
188
- }
189
- }
157
+ &::before {
158
+ --components-calendar-table-body-row-cellSelectedBeforeContent: none;
190
159
  }
191
160
  }
192
161
 
193
- @mixin selectionInProgress($event) {
194
- $parent: '.calendar-table-body-row';
195
- $child: '.calendar-table-body-row-cell';
196
- $start: #{$child + '.is-start'};
197
- $action: '.calendar-table-body-row-cell-action:not(:disabled, [aria-disabled=true])';
198
-
199
- #{$parent} {
200
- &:has(#{$start}) {
201
- &:has(~ #{$parent} #{$child + $event}) {
202
- @include selectionInProgressAfterWeek($parent, $child, $start, $action, $event);
203
- }
204
- }
205
- }
206
-
207
- #{$parent} {
208
- &:has(#{$child + $event}) {
209
- &:has(~ #{$parent} #{$start}) {
210
- @include selectionInProgressBeforeWeek($parent, $child, $start, $action, $event);
211
- }
212
- }
213
- }
214
-
215
- #{$parent} {
216
- &:has(#{$start} ~ #{$child + $event}) {
217
- @include selectionInProgressSameWeekAfterDay($parent, $child, $start, $action, $event);
218
- }
219
-
220
- &:has(#{$child + $event} ~ #{$start}) {
221
- @include selectionInProgressSameWeekBeforeDay($parent, $child, $start, $action, $event);
222
- }
162
+ @mixin overflow {
163
+ .calendar-table-body-row-cell-action,
164
+ .calendar-table-body-row-cell-action {
165
+ --components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-600);
223
166
  }
224
167
  }
@@ -1,6 +1,5 @@
1
1
  @mixin wrapperVars {
2
2
  --components-calendarWrapperWidth: 17.25rem;
3
- --components-calendarWrapperVisible: 1;
4
3
  --components-calendarWrapperBackground: transparent;
5
4
  --components-calendarWrapper-navigationBackground: var(--palettes-neutral-0);
6
5
  }
@@ -1,6 +1,7 @@
1
1
  @use '@lucca-front/icons/src/commons/utils/icon';
2
2
  @use '@lucca-front/scss/src/commons/utils/reset';
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/button/exports' as button;
5
6
  @use '@lucca-front/scss/src/commons/utils/namespace';
6
7
 
@@ -45,6 +46,7 @@
45
46
  padding: var(--pr-t-spacings-50) 0;
46
47
 
47
48
  .button {
49
+ @include color.palette('neutral');
48
50
  @include button.S;
49
51
  }
50
52
  }
@@ -1,6 +1,7 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/reset';
2
- @use '@lucca-front/scss/src/components/button/exports' as button;
3
2
  @use '@lucca-front/scss/src/commons/utils/namespace';
3
+ @use '@lucca-front/scss/src/commons/utils/color';
4
+ @use '@lucca-front/scss/src/components/button/exports' as button;
4
5
 
5
6
  @mixin component($atRoot: namespace.$defaultAtRoot) {
6
7
  @include reset.list;
@@ -12,6 +13,7 @@
12
13
  gap: var(--components-calloutFeedbackList-gap);
13
14
 
14
15
  .button {
16
+ @include color.palette('neutral');
15
17
  @include button.S;
16
18
  }
17
19
 
@@ -38,11 +38,9 @@
38
38
  box-shadow: var(--pr-t-elevation-shadow-overlay);
39
39
  }
40
40
 
41
- // Remove actionIcon reference when button & action icon will be merged as a single component
42
- &:has(.card-action .actionIcon:focus-visible, .card-action .button:focus-visible) {
41
+ &:has(.card-action .button:focus-visible) {
43
42
  @include a11y.focusVisible($offset: 3px);
44
43
 
45
- .actionIcon,
46
44
  .button {
47
45
  outline: none;
48
46
 
@@ -0,0 +1,131 @@
1
+ @use '@lucca-front/icons/src/commons/utils/icon';
2
+
3
+ @use '@lucca-front/scss/src/commons/utils/namespace';
4
+ @use '@lucca-front/scss/src/commons/utils/a11y';
5
+
6
+ @use '@lucca-front/scss/src/components/button/exports' as button;
7
+
8
+ @mixin component($atRoot: namespace.$defaultAtRoot) {
9
+ display: table;
10
+ text-align: left;
11
+ width: calc(100% + 1px);
12
+ height: calc(100% + 1px);
13
+ border-spacing: 0;
14
+ margin-left: -1px;
15
+ margin-top: -1px;
16
+ table-layout: var(--components-dataTable-tableLayout);
17
+
18
+ @at-root ($atRoot) {
19
+ .dataTableWrapper {
20
+ border-radius: var(--commons-borderRadius-L);
21
+ border: 1px solid var(--commons-border-200);
22
+ overflow: var(--components-dataTable-overflow);
23
+ background-color: var(--components-dataTable-cell-background);
24
+
25
+ &:focus-visible {
26
+ @include a11y.focusVisible;
27
+ }
28
+ }
29
+
30
+ .dataTable-head-row-cell {
31
+ color: var(--palettes-neutral-700);
32
+ padding: var(--components-dataTable-cell-padding);
33
+ display: table-cell;
34
+ font-weight: 400;
35
+
36
+ .checkboxField {
37
+ margin-block-end: 0.125rem;
38
+ }
39
+ }
40
+
41
+ .dataTable-head {
42
+ display: table-header-group;
43
+ vertical-align: bottom;
44
+ }
45
+
46
+ .dataTable-body {
47
+ display: table-row-group;
48
+ }
49
+
50
+ .dataTable-foot {
51
+ display: table-footer-group;
52
+ }
53
+
54
+ .dataTable-head-row,
55
+ .dataTable-body-row,
56
+ .dataTable-foot-row {
57
+ display: var(--components-dataTable-row-display);
58
+ }
59
+
60
+ .dataTable-head-row-cell,
61
+ .dataTable-body-row-cell,
62
+ .dataTable-foot-row-cell {
63
+ display: table-cell;
64
+ box-shadow: var(--components-dataTable-cell-shadow);
65
+ background-color: var(--components-dataTable-cell-background);
66
+ text-align: var(--components-dataTable-cell-textAlign);
67
+
68
+ &:first-child {
69
+ width: var(--components-dataTable-cellFirst-width);
70
+ }
71
+ }
72
+
73
+ .dataTable-body-row-cell,
74
+ .dataTable-foot-row-cell {
75
+ padding: var(--components-dataTable-cell-padding);
76
+ padding-inline-start: var(--components-dataTable-cell-paddingInlineStart);
77
+ vertical-align: middle;
78
+ }
79
+
80
+ .dataTable-head-row {
81
+ &:first-child {
82
+ .dataTable-head-row-cell {
83
+ --components-dataTable-cell-shadow: none;
84
+ }
85
+ }
86
+ }
87
+
88
+ .dataTable-body-row-cell {
89
+ vertical-align: var(--components-dataTable-cell-verticalAlign);
90
+ }
91
+
92
+ .dataTable-foot-row-cell {
93
+ font-weight: 600;
94
+ }
95
+
96
+ .dataTable-body-row-cell-expand {
97
+ display: flex;
98
+ gap: var(--pr-t-spacings-100);
99
+ align-items: flex-start;
100
+ }
101
+
102
+ .dataTable-body-row-cell-expand-button.button {
103
+ vertical-align: top;
104
+
105
+ .lucca-icon {
106
+ transform: rotate(var(--components-dataTable-expand-rotation));
107
+ transition-property: transform;
108
+ transition-duration: var(--commons-animations-durations-fast);
109
+ }
110
+ }
111
+
112
+ .dataTable-body-row-cell-drag.button {
113
+ @include button.S;
114
+ @include button.onlyIcon;
115
+ @include button.text;
116
+
117
+ --components-button-padding: var(--pr-t-spacings-50);
118
+ --components-button-color: var(--palettes-neutral-700);
119
+
120
+ cursor: move;
121
+ vertical-align: top;
122
+ }
123
+ }
124
+
125
+ .statusBadge,
126
+ .tag,
127
+ .avatar {
128
+ display: flex;
129
+ width: fit-content;
130
+ }
131
+ }
@@ -0,0 +1,85 @@
1
+ @use 'exports' as *;
2
+
3
+ .dataTableWrapper {
4
+ @include vars;
5
+ }
6
+
7
+ .dataTable {
8
+ @include component;
9
+
10
+ &.mod-cellBorder {
11
+ @include cellBorder;
12
+ }
13
+
14
+ &.mod-alignTop {
15
+ @include alignTop;
16
+ }
17
+
18
+ &.mod-layoutFixed {
19
+ @include layoutFixed;
20
+ }
21
+
22
+ &[class*='mod-layoutFixedAtMediaMin'] {
23
+ @include layoutFixedWithBreakpoint;
24
+ }
25
+
26
+ &[class*='mod-layoutFixed'] {
27
+ @include layoutFixedCells;
28
+ }
29
+ }
30
+
31
+ :is(.dataTable-head-row, .dataTable-body-row, .dataTable-foot-row) {
32
+ &.mod-group {
33
+ @include group;
34
+ }
35
+
36
+ &.mod-selectable {
37
+ @include selectable;
38
+ }
39
+
40
+ &.mod-draggable {
41
+ @include draggable;
42
+ }
43
+ }
44
+
45
+ :is(.dataTable-head-row-cell, .dataTable-body-row-cell, .dataTable-foot-row-cell) {
46
+ &.mod-actions {
47
+ @include actions;
48
+ }
49
+
50
+ &.mod-alignCenter {
51
+ @include alignCenter;
52
+ }
53
+
54
+ &.mod-alignRight {
55
+ @include alignRight;
56
+ }
57
+
58
+ &.mod-editable {
59
+ @include editable;
60
+ }
61
+
62
+ &.mod-tree {
63
+ @include tree;
64
+ }
65
+ }
66
+
67
+ .dataTable-body-row {
68
+ &.is-collapsed {
69
+ @include collapsed;
70
+ }
71
+
72
+ &:first-child {
73
+ &:has(.dataTable-body-row-cell-expand-button.button[aria-expanded='false']) {
74
+ ~ .dataTable-body-row {
75
+ @include collapsed;
76
+ }
77
+ }
78
+ }
79
+ }
80
+
81
+ .dataTable-body-row-cell-expand-button {
82
+ &[aria-expanded='true'] {
83
+ @include expanded;
84
+ }
85
+ }