@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
@@ -0,0 +1,152 @@
1
+ @use '@lucca-front/scss/src/commons/config';
2
+
3
+ @use '@lucca-front/scss/src/commons/utils/media';
4
+
5
+ @use '@lucca-front/scss/src/components/button/exports' as button;
6
+ @use '@lucca-front/scss/src/components/title/exports' as title;
7
+
8
+ @mixin cellBorder {
9
+ --components-dataTable-cell-shadow: 0 1px inset var(--commons-border-200), 1px 0 inset var(--commons-border-200);
10
+
11
+ .dataTable-head-row {
12
+ &:first-child {
13
+ .dataTable-head-row-cell {
14
+ --components-dataTable-cell-shadow: 1px 0 inset var(--commons-border-200);
15
+ }
16
+ }
17
+ }
18
+ }
19
+
20
+ @mixin alignTop {
21
+ --components-dataTable-cell-verticalAlign: top;
22
+ }
23
+
24
+ @mixin buttonExpand {
25
+ --components-dataTable-tree-extraPadding: calc(1.5rem + var(--pr-t-spacings-100));
26
+
27
+ &:has(.dataTable-body-row-cell-expand-button.button) {
28
+ --components-dataTable-tree-extraPadding: 0rem; // unit is mandatory here
29
+ }
30
+
31
+ .dataTable-body-row-cell-expand-button.button {
32
+ @include button.S;
33
+ @include button.onlyIconS;
34
+ @include button.text;
35
+
36
+ --components-button-padding: var(--pr-t-spacings-25);
37
+ --components-button-color: var(--palettes-neutral-800);
38
+ }
39
+ }
40
+
41
+ @mixin group {
42
+ @include buttonExpand;
43
+
44
+ @include title.component;
45
+ @include title.h4;
46
+
47
+ --components-dataTable-cell-background: var(--palettes-neutral-25);
48
+ }
49
+
50
+ @mixin selectable {
51
+ --components-dataTable-cellFirst-width: 2.5rem;
52
+
53
+ &:has(input:checked) {
54
+ --components-dataTable-cell-background: var(--palettes-product-50);
55
+ }
56
+ }
57
+
58
+ @mixin draggable {
59
+ .dataTable-head-row-cell,
60
+ .dataTable-body-row-cell,
61
+ .dataTable-foot-row-cell {
62
+ &:first-child {
63
+ --components-dataTable-cellFirst-width: 2.5rem;
64
+
65
+ padding-inline: var(--pr-t-spacings-75);
66
+ }
67
+ }
68
+ }
69
+
70
+ @mixin tree {
71
+ @include buttonExpand;
72
+
73
+ --components-dataTable-cell-paddingInlineStart: calc(
74
+ var(--components-dataTable-cell-padding-inline) + var(--pr-t-spacings-300) * calc(var(--components-dataTable-treeLevel) - 1) +
75
+ var(--components-dataTable-tree-extraPadding)
76
+ );
77
+ }
78
+
79
+ @mixin editable {
80
+ --components-dataTable-cell-padding: var(--pr-t-spacings-100);
81
+ --components-dataTable-cell-paddingInlineStart: var(--components-dataTable-cell-padding);
82
+ }
83
+
84
+ @mixin actions {
85
+ padding: 0;
86
+ padding-inline-end: var(--pr-t-spacings-50);
87
+ text-align: right;
88
+ white-space: nowrap;
89
+
90
+ .button {
91
+ @include button.S;
92
+ @include button.onlyIcon;
93
+ @include button.onlyIconS;
94
+ @include button.text;
95
+ }
96
+
97
+ &:is(.dataTable-head-row-cell) {
98
+ .button {
99
+ position: relative;
100
+ bottom: var(--pr-t-spacings-50);
101
+ }
102
+ }
103
+ }
104
+
105
+ @mixin alignCenter {
106
+ --components-dataTable-cell-textAlign: center;
107
+ }
108
+
109
+ @mixin alignRight {
110
+ --components-dataTable-cell-textAlign: right;
111
+ }
112
+
113
+ @mixin layoutFixed {
114
+ --components-dataTable-tableLayout: fixed;
115
+ }
116
+
117
+ @mixin layoutFixedWithBreakpoint {
118
+ @each $breakpoint, $value in config.$breakpoints {
119
+ @include media.min($breakpoint) {
120
+ &.mod-layoutFixedAtMediaMin#{$breakpoint} {
121
+ --components-dataTable-tableLayout: fixed;
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ @mixin cellFixedWidth {
128
+ min-width: var(--dataTable-layoutFixed-width, auto);
129
+ width: var(--dataTable-layoutFixed-width, auto);
130
+ }
131
+
132
+ @mixin layoutFixedCells {
133
+ &.mod-layoutFixed {
134
+ .dataTable-head-row-cell,
135
+ .dataTable-body-row-cell,
136
+ .dataTable-foot-row-cell {
137
+ @include cellFixedWidth;
138
+ }
139
+ }
140
+
141
+ @each $breakpoint, $value in config.$breakpoints {
142
+ @include media.min($breakpoint) {
143
+ &.mod-layoutFixedAtMediaMin#{$breakpoint} {
144
+ .dataTable-head-row-cell,
145
+ .dataTable-body-row-cell,
146
+ .dataTable-foot-row-cell {
147
+ @include cellFixedWidth;
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
@@ -0,0 +1,7 @@
1
+ @mixin collapsed {
2
+ --components-dataTable-row-display: none;
3
+ }
4
+
5
+ @mixin expanded {
6
+ --components-dataTable-expand-rotation: 0deg;
7
+ }
@@ -0,0 +1,16 @@
1
+ @mixin vars {
2
+ --components-dataTable-cell-padding-inline: var(--pr-t-spacings-150);
3
+ --components-dataTable-cell-paddingInlineStart: var(--components-dataTable-cell-padding-inline);
4
+ --components-dataTable-cell-padding-block: var(--pr-t-spacings-100);
5
+ --components-dataTable-cell-padding: var(--components-dataTable-cell-padding-block) var(--components-dataTable-cell-padding-inline);
6
+ --components-dataTable-treeLevel: 1;
7
+ --components-dataTable-cell-verticalAlign: middle;
8
+ --components-dataTable-cell-shadow: 0 1px inset var(--commons-border-200);
9
+ --components-dataTable-cell-background: var(--pr-t-elevation-surface-raised);
10
+ --components-dataTable-cell-textAlign: left;
11
+ --components-dataTable-tableLayout: auto;
12
+ --components-dataTable-cellFirst-width: auto;
13
+ --components-dataTable-row-display: table-row;
14
+ --components-dataTable-overflow: hidden;
15
+ --components-dataTable-expand-rotation: 180deg;
16
+ }
@@ -0,0 +1,43 @@
1
+ @use '@lucca-front/scss/src/commons/config';
2
+ @use '@lucca-front/scss/src/commons/utils/media';
3
+ @use 'exports' as *;
4
+
5
+ .dataTableWrapper {
6
+ @include vars;
7
+
8
+ &:has(.dataTable.mod-stickyHeader) {
9
+ @include stickyHeader;
10
+ }
11
+
12
+ &:has(.dataTable.mod-columnsOverflow) {
13
+ @include columnsOverflow;
14
+ }
15
+
16
+ &:has(.dataTable.is-firstColumnVisible) {
17
+ @include firstColumnVisible;
18
+ }
19
+
20
+ &:has(.dataTable.is-lastColumnVisible) {
21
+ @include lastColumnVisible;
22
+ }
23
+
24
+ &:has(.dataTable.mod-rowsOverflow) {
25
+ @include rowsOverflow;
26
+ }
27
+
28
+ &:has(.dataTable.is-firstRowVisible) {
29
+ @include firstRowVisible;
30
+ }
31
+
32
+ &:has(.dataTable.is-lastRowVisible) {
33
+ @include lastRowVisible;
34
+ }
35
+
36
+ &:has(:is(.dataTable-head-row-cell, .dataTable-head-body-cell, .dataTable-foot-row-cell).mod-stickyColumn) {
37
+ @include stickyColumn;
38
+
39
+ &:has(.dataTable.mod-cellBorder) {
40
+ @include stickyColumnBorder;
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,164 @@
1
+ @use '@lucca-front/scss/src/commons/utils/color';
2
+
3
+ @mixin stickyHeader {
4
+ --components-dataTable-overflow: auto;
5
+
6
+ .dataTable-head {
7
+ position: sticky;
8
+ top: -1px;
9
+ z-index: 1;
10
+
11
+ &::after {
12
+ content: '';
13
+ left: 0;
14
+ right: 0;
15
+ height: var(--pr-t-spacings-100);
16
+ position: absolute;
17
+ background-image: linear-gradient(#{color.transparentize(var(--palettes-neutral-400), 0.24)}, transparent);
18
+ pointer-events: none;
19
+ box-shadow: 0 1px var(--commons-border-200) inset;
20
+ }
21
+ }
22
+ }
23
+
24
+ @mixin columnsOverflow {
25
+ --components-dataTable-overflow: auto;
26
+
27
+ display: flex;
28
+
29
+ &::before,
30
+ &::after {
31
+ content: '';
32
+ position: sticky;
33
+ width: var(--pr-t-spacings-100);
34
+ background-image: linear-gradient(to right, #{color.transparentize(var(--palettes-neutral-400), 0.24)}, transparent);
35
+ flex-shrink: 0;
36
+ margin-left: calc(var(--pr-t-spacings-100) * -1);
37
+ top: 0;
38
+ pointer-events: none;
39
+ z-index: 3;
40
+ }
41
+
42
+ &::before {
43
+ left: 0;
44
+ opacity: var(--components-dataTable-shadow-firstColumnOpacity);
45
+ }
46
+
47
+ &::after {
48
+ right: 0;
49
+ transform: scaleX(-1);
50
+ opacity: var(--components-dataTable-shadow-lastColumnOpacity);
51
+ }
52
+ }
53
+
54
+ @mixin rowsOverflow {
55
+ --components-dataTable-overflow: auto;
56
+
57
+ .dataTableShadows {
58
+ display: flex;
59
+ flex-direction: column;
60
+
61
+ &::before,
62
+ &::after {
63
+ content: '';
64
+ position: sticky;
65
+ display: block;
66
+ height: var(--pr-t-spacings-100);
67
+ background-image: linear-gradient(to bottom, #{color.transparentize(var(--palettes-neutral-400), 0.24)}, transparent);
68
+ margin-top: calc(var(--pr-t-spacings-100) * -1);
69
+ flex-shrink: 0;
70
+ pointer-events: none;
71
+ z-index: 2;
72
+ }
73
+
74
+ &::before {
75
+ top: 0;
76
+ opacity: var(--components-dataTable-shadow-firstRowOpacity);
77
+ }
78
+
79
+ &::after {
80
+ bottom: 0;
81
+ transform: scaleY(-1);
82
+ opacity: var(--components-dataTable-shadow-lastRowOpacity);
83
+ }
84
+ }
85
+ }
86
+
87
+ @mixin stickyColumn {
88
+ --components-dataTable-overflow: auto;
89
+
90
+ %addShadow {
91
+ content: '';
92
+ position: absolute;
93
+ top: 0;
94
+ bottom: 0;
95
+ left: 100%;
96
+ width: var(--pr-t-spacings-100);
97
+ pointer-events: none;
98
+ background-image: linear-gradient(to right, #{color.transparentize(var(--palettes-neutral-400), 0.24)}, transparent);
99
+ }
100
+
101
+ %removeShadow {
102
+ content: none;
103
+ }
104
+
105
+ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell) {
106
+ &.mod-stickyColumn {
107
+ &:has(~ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell):not(.mod-stickyColumn)) {
108
+ transform: translateX(-1px);
109
+
110
+ &:not(:has(+ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell).mod-stickyColumn)) {
111
+ &::after {
112
+ @extend %addShadow;
113
+ }
114
+ }
115
+ }
116
+ }
117
+
118
+ &:not(.mod-stickyColumn) {
119
+ ~ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell).mod-stickyColumn {
120
+ &::after {
121
+ @extend %addShadow;
122
+
123
+ left: auto;
124
+ right: 100%;
125
+ transform: scaleX(-1);
126
+ }
127
+
128
+ & ~ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell).mod-stickyColumn {
129
+ &::after {
130
+ @extend %removeShadow;
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+
137
+ :is(.dataTable-head-row-cell, .dataTable-body-row-cell, .dataTable-foot-row-cell) {
138
+ &.mod-stickyColumn {
139
+ position: sticky;
140
+
141
+ &:first-child {
142
+ left: 0;
143
+ }
144
+
145
+ &:last-child {
146
+ right: 0;
147
+ }
148
+ }
149
+ }
150
+ }
151
+
152
+ @mixin stickyColumnBorder {
153
+ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell) {
154
+ &.mod-stickyColumn {
155
+ &:has(~ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell):not(.mod-stickyColumn)) {
156
+ &:not(:has(+ :is(.dataTable-body-row-cell, .dataTable-head-row-cell, .dataTable-foot-row-cell).mod-stickyColumn)) {
157
+ &::after {
158
+ box-shadow: 1px 0 var(--commons-border-200) inset;
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
164
+ }
@@ -0,0 +1,15 @@
1
+ @mixin firstColumnVisible {
2
+ --components-dataTable-shadow-firstColumnOpacity: 0;
3
+ }
4
+
5
+ @mixin lastColumnVisible {
6
+ --components-dataTable-shadow-lastColumnOpacity: 0;
7
+ }
8
+
9
+ @mixin firstRowVisible {
10
+ --components-dataTable-shadow-firstRowOpacity: 0;
11
+ }
12
+
13
+ @mixin lastRowVisible {
14
+ --components-dataTable-shadow-lastRowOpacity: 0;
15
+ }
@@ -0,0 +1,6 @@
1
+ @mixin vars {
2
+ --components-dataTable-shadow-firstColumnOpacity: 1;
3
+ --components-dataTable-shadow-lastColumnOpacity: 1;
4
+ --components-dataTable-shadow-firstRowOpacity: 1;
5
+ --components-dataTable-shadow-lastRowOpacity: 1;
6
+ }
@@ -0,0 +1,6 @@
1
+ @use '@lucca-front/scss/src/commons/utils/namespace';
2
+
3
+ @mixin component($atRoot: namespace.$defaultAtRoot) {
4
+ max-width: var(--components-dateField-maxWidth);
5
+ display: block;
6
+ }
@@ -0,0 +1,32 @@
1
+ @use 'exports' as *;
2
+
3
+ .dateField {
4
+ @include vars;
5
+ @include component;
6
+
7
+ &:not(.mod-auto) {
8
+ &.mod-day {
9
+ @include day;
10
+
11
+ .form-field.mod-S & {
12
+ @include dayS;
13
+ }
14
+ }
15
+
16
+ &.mod-month {
17
+ @include month;
18
+
19
+ .form-field.mod-S & {
20
+ @include monthS;
21
+ }
22
+ }
23
+
24
+ &.mod-year {
25
+ @include year;
26
+
27
+ .form-field.mod-S & {
28
+ @include yearS;
29
+ }
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,23 @@
1
+ @mixin day {
2
+ --components-dateField-maxWidth: var(--components-dateField-maxWidthDay);
3
+ }
4
+
5
+ @mixin month {
6
+ --components-dateField-maxWidth: var(--components-dateField-maxWidthMonth);
7
+ }
8
+
9
+ @mixin year {
10
+ --components-dateField-maxWidth: var(--components-dateField-maxWidthYear);
11
+ }
12
+
13
+ @mixin dayS {
14
+ --components-dateField-maxWidth: var(--components-dateField-maxWidthDayS);
15
+ }
16
+
17
+ @mixin monthS {
18
+ --components-dateField-maxWidth: var(--components-dateField-maxWidthMonthS);
19
+ }
20
+
21
+ @mixin yearS {
22
+ --components-dateField-maxWidth: var(--components-dateField-maxWidthYearS);
23
+ }
@@ -0,0 +1,10 @@
1
+ @mixin vars {
2
+ --components-dateField-maxWidth: auto;
3
+ --components-dateField-maxWidthDay: 10rem;
4
+ --components-dateField-maxWidthMonth: var(--components-dateField-maxWidthDay);
5
+ --components-dateField-maxWidthYear: var(--components-dateField-maxWidthDay);
6
+
7
+ --components-dateField-maxWidthDayS: 9rem;
8
+ --components-dateField-maxWidthMonthS: var(--components-dateField-maxWidthDayS);
9
+ --components-dateField-maxWidthYearS: var(--components-dateField-maxWidthDayS);
10
+ }
@@ -0,0 +1,74 @@
1
+ @use '@lucca-front/scss/src/commons/utils/namespace';
2
+ @use '@lucca-front/icons/src/icon/exports' as icon;
3
+
4
+ @mixin component($atRoot: namespace.$defaultAtRoot) {
5
+ display: block;
6
+ max-width: var(--components-dateRangeField-maxWidth);
7
+
8
+ @at-root ($atRoot) {
9
+ .dateRangeField-fieldset {
10
+ margin: 0;
11
+ padding: 0;
12
+ border: 0;
13
+ }
14
+
15
+ .dateRangeField-fieldset-content {
16
+ position: relative;
17
+ width: var(--components-dateRangeField-content-width);
18
+
19
+ &::before {
20
+ content: '';
21
+ position: absolute;
22
+ background-color: var(--components-dateRangeField-content-background);
23
+ border-radius: var(--commons-borderRadius-M);
24
+ pointer-events: none;
25
+ inset: var(--pr-t-spacings-50);
26
+ inset-inline-end: calc(var(--components-dateRangeField-content-inlineEnd) - var(--pr-t-spacings-50));
27
+ }
28
+
29
+ &.is-highlighted {
30
+ --components-dateRangeField-content-background: var(--palettes-product-100);
31
+ --components-dateRangeField-content-placeholderColor: var(--palettes-product-400);
32
+
33
+ .form-field:has(.dateRangeField-fieldset-input-value[aria-invalid='true']) & {
34
+ --components-dateRangeField-content-background: var(--palettes-critical-100);
35
+ }
36
+ }
37
+
38
+ .form-field:has(.dateRangeField-fieldset-input-value[aria-invalid='true']) & {
39
+ --components-dateRangeField-content-placeholderColor: var(--palettes-critical-400);
40
+ }
41
+
42
+ &.mod-start {
43
+ --components-dateRangeField-content-width: calc(50% - var(--pr-t-spacings-300) - var(--pr-t-spacings-50));
44
+ --components-dateRangeField-content-inlineEnd: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50));
45
+ }
46
+ }
47
+
48
+ .dateRangeField-fieldset-input-value {
49
+ &.textField-input-value {
50
+ position: relative;
51
+ padding-left: var(--components-dateRangeField-content-inlineStart);
52
+ padding-right: var(--components-dateRangeField-content-inlineEnd);
53
+
54
+ &::placeholder {
55
+ color: var(--components-dateRangeField-content-placeholderColor);
56
+ }
57
+
58
+ .form-field.mod-S & {
59
+ --components-dateRangeField-content-inlineStart: var(--pr-t-spacings-100);
60
+ }
61
+ }
62
+ }
63
+
64
+ .dateRangeField-fieldset-arrow {
65
+ position: absolute;
66
+ left: calc(50% - calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-150)));
67
+ color: var(--palettes-neutral-700);
68
+ pointer-events: none;
69
+ border-radius: var(--commons-borderRadius-M);
70
+
71
+ @include icon.S;
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,4 @@
1
+ @forward 'vars';
2
+ @forward 'mods';
3
+ @forward 'states';
4
+ @forward 'component';
@@ -0,0 +1,36 @@
1
+ @use 'exports' as *;
2
+
3
+ .dateRangeField {
4
+ @include vars;
5
+ @include component;
6
+
7
+ .form-field.mod-S & {
8
+ @include S;
9
+ }
10
+
11
+ &:not(.mod-auto) {
12
+ &.mod-day {
13
+ @include day;
14
+
15
+ .form-field.mod-S & {
16
+ @include dayS;
17
+ }
18
+ }
19
+
20
+ &.mod-month {
21
+ @include month;
22
+
23
+ .form-field.mod-S & {
24
+ @include monthS;
25
+ }
26
+ }
27
+
28
+ &.mod-year {
29
+ @include year;
30
+
31
+ .form-field.mod-S & {
32
+ @include yearS;
33
+ }
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,31 @@
1
+ @use '@lucca-front/icons/src/icon/exports' as icon;
2
+
3
+ @mixin day {
4
+ --components-dateRangeField-maxWidth: var(--components-dateRangeField-maxWidthDay);
5
+ }
6
+
7
+ @mixin month {
8
+ --components-dateRangeField-maxWidth: var(--components-dateRangeField-maxWidthMonth);
9
+ }
10
+
11
+ @mixin year {
12
+ --components-dateRangeField-maxWidth: var(--components-dateRangeField-maxWidthYear);
13
+ }
14
+
15
+ @mixin dayS {
16
+ --components-dateRangeField-maxWidth: var(--components-dateRangeField-maxWidthDayS);
17
+ }
18
+
19
+ @mixin monthS {
20
+ --components-dateRangeField-maxWidth: var(--components-dateRangeField-maxWidthMonthS);
21
+ }
22
+
23
+ @mixin yearS {
24
+ --components-dateRangeField-maxWidth: var(--components-dateRangeField-maxWidthYearS);
25
+ }
26
+
27
+ @mixin S {
28
+ .dateRangeField-fieldset-arrow {
29
+ @include icon.XS;
30
+ }
31
+ }
@@ -0,0 +1,16 @@
1
+ @mixin vars {
2
+ --components-dateRangeField-maxWidth: auto;
3
+ --components-dateRangeField-maxWidthDay: 18rem;
4
+ --components-dateRangeField-maxWidthMonth: 16rem;
5
+ --components-dateRangeField-maxWidthYear: 12rem;
6
+
7
+ --components-dateRangeField-maxWidthDayS: 16.5rem;
8
+ --components-dateRangeField-maxWidthMonthS: 13.5rem; // 12.75rem;
9
+ --components-dateRangeField-maxWidthYearS: 10.25rem; //9.75rem;
10
+
11
+ --components-dateRangeField-content-inlineStart: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-25));
12
+ --components-dateRangeField-content-width: calc(50% + var(--pr-t-spacings-300) + var(--pr-t-spacings-50));
13
+ --components-dateRangeField-content-inlineEnd: calc(var(--pr-t-spacings-800) + var(--pr-t-spacings-150));
14
+ --components-dateRangeField-content-background: transparent;
15
+ --components-dateRangeField-content-placeholderColor: var(--palettes-neutral-400);
16
+ }