@lucca-front/scss 19.3.0-rc.2 → 19.3.0-rc.4
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/dist/lucca-front.min.css +1 -1
- package/package.json +2 -2
- package/src/commons/base.scss +11 -3
- package/src/commons/config.scss +11 -1
- package/src/commons/core.scss +25 -13
- package/src/commons/utils/color.scss +2 -0
- package/src/commons/utils/index.scss +6 -2
- package/src/commons/utils/keyframe.scss +1 -0
- package/src/commons/utils/loading.scss +1 -1
- package/src/commons/utils/media.scss +4 -0
- package/src/commons/utils/reset.scss +1 -1
- package/src/commons/vars.scss +8 -0
- package/src/components/_sample/component.scss +3 -3
- package/src/components/avatar/component.scss +0 -1
- package/src/components/avatar/mods.scss +1 -0
- package/src/components/box/index.scss +4 -0
- package/src/components/box/mods.scss +5 -0
- package/src/components/button/component.scss +2 -2
- package/src/components/calendar/component.scss +2 -0
- package/src/components/calendar/states.scss +3 -1
- package/src/components/callout/component.scss +1 -1
- package/src/components/calloutAccordion/component.scss +1 -1
- package/src/components/calloutAccordion/mods.scss +0 -4
- package/src/components/calloutDisclosure/component.scss +1 -1
- package/src/components/calloutPopover/component.scss +2 -1
- package/src/components/card/mods.scss +1 -1
- package/src/components/checkbox/mods.scss +1 -0
- package/src/components/checkboxField/component.scss +2 -1
- package/src/components/checkboxField/states.scss +1 -8
- package/src/components/clear/component.scss +1 -1
- package/src/components/comment/component.scss +2 -5
- package/src/components/dataTable/mods.scss +0 -7
- package/src/components/dataTableSticked/mods.scss +12 -15
- package/src/components/dateRangeField/vars.scss +1 -1
- package/src/components/dialog/mods.scss +0 -1
- package/src/components/divider/component.scss +2 -5
- package/src/components/dropdown/component.scss +2 -1
- package/src/components/emptyState/component.scss +1 -0
- package/src/components/errorPage/component.scss +2 -0
- package/src/components/fancyBox/component.scss +2 -0
- package/src/components/fileEntry/component.scss +199 -0
- package/src/components/fileEntry/exports.scss +4 -0
- package/src/components/fileEntry/index.scss +34 -0
- package/src/components/fileEntry/mods.scss +39 -0
- package/src/components/fileEntry/states.scss +22 -0
- package/src/components/fileEntry/vars.scss +27 -0
- package/src/components/fileToolbar/component.scss +35 -0
- package/src/components/fileToolbar/exports.scss +4 -0
- package/src/components/fileToolbar/index.scss +14 -0
- package/src/components/fileToolbar/mods.scss +9 -0
- package/src/components/fileToolbar/states.scss +0 -0
- package/src/components/fileToolbar/vars.scss +5 -0
- package/src/components/fileUpload/component.scss +103 -0
- package/src/components/fileUpload/exports.scss +4 -0
- package/src/components/fileUpload/index.scss +46 -0
- package/src/components/fileUpload/mods.scss +24 -0
- package/src/components/fileUpload/states.scss +37 -0
- package/src/components/fileUpload/vars.scss +26 -0
- package/src/components/filterBar/mods.scss +2 -2
- package/src/components/filterBarDeprecated/component.scss +3 -0
- package/src/components/filterPill/component.scss +2 -1
- package/src/components/filterPill/states.scss +2 -3
- package/src/components/footer/component.scss +1 -0
- package/src/components/form/index.scss +2 -0
- package/src/components/form/mods.scss +0 -1
- package/src/components/grid/component.scss +2 -3
- package/src/components/grid/mods.scss +1 -0
- package/src/components/highlightData/component.scss +5 -3
- package/src/components/highlightData/mods.scss +1 -0
- package/src/components/horizontalNavigation/component.scss +1 -3
- package/src/components/horizontalNavigation/index.scss +1 -0
- package/src/components/horizontalNavigation/mods.scss +2 -2
- package/src/components/index.scss +3 -0
- package/src/components/indexTable/component.scss +6 -9
- package/src/components/indexTable/index.scss +2 -1
- package/src/components/indexTable/mods.scss +41 -16
- package/src/components/indexTable/states.scss +5 -0
- package/src/components/indexTable/vars.scss +3 -0
- package/src/components/inlineMessage/component.scss +16 -3
- package/src/components/link/mods.scss +8 -8
- package/src/components/list/mods.scss +1 -0
- package/src/components/loading/component.scss +1 -1
- package/src/components/loading/mods.scss +4 -0
- package/src/components/mobileNavigation/component.scss +3 -1
- package/src/components/multiSelect/component.scss +1 -0
- package/src/components/multiSelect/mods.scss +4 -1
- package/src/components/multiSelect/states.scss +1 -0
- package/src/components/navside/component.scss +0 -2
- package/src/components/notchBox/component.scss +2 -0
- package/src/components/notchBox/mods.scss +3 -0
- package/src/components/numericBadge/component.scss +1 -2
- package/src/components/pagination/component.scss +1 -1
- package/src/components/popover/component.scss +1 -0
- package/src/components/radio/component.scss +1 -1
- package/src/components/radioButtons/component.scss +9 -11
- package/src/components/radioField/component.scss +1 -0
- package/src/components/radioField/states.scss +1 -8
- package/src/components/segmentedControl/component.scss +3 -3
- package/src/components/simpleSelect/component.scss +1 -0
- package/src/components/skeleton/component.scss +1 -0
- package/src/components/skeleton/states.scss +3 -0
- package/src/components/sortableList/component.scss +1 -0
- package/src/components/statusBadge/component.scss +1 -1
- package/src/components/switchField/component.scss +3 -1
- package/src/components/table/mods.scss +0 -14
- package/src/components/tableSortable/mods.scss +4 -2
- package/src/components/tableSortable/states.scss +2 -2
- package/src/components/tableSticked/index.scss +2 -2
- package/src/components/tableSticked/mods.scss +16 -6
- package/src/components/tag/component.scss +0 -2
- package/src/components/textField/component.scss +1 -0
- package/src/components/textfields/component.scss +1 -1
- package/src/components/textfields/index.scss +2 -2
- package/src/components/textfields/mods.scss +3 -2
- package/src/components/textfields/states.scss +3 -4
- package/src/components/timeline/component.scss +3 -2
- package/src/components/timeline/index.scss +13 -3
- package/src/components/timeline/mods.scss +22 -8
- package/src/components/timepicker/component.scss +0 -1
- package/src/components/timepickerDeprecated/component.scss +3 -2
- package/src/components/title/component.scss +1 -0
- package/src/components/tooltip/component.scss +1 -0
- package/src/components/verticalNavigation/component.scss +5 -1
- package/src/components/verticalNavigation/states.scss +2 -0
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
.errorPage-section-info-title {
|
|
31
31
|
@include title.component;
|
|
32
32
|
@include title.XXXL;
|
|
33
|
+
|
|
33
34
|
margin-block-end: var(--pr-t-spacings-50);
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -60,6 +61,7 @@
|
|
|
60
61
|
order: 1;
|
|
61
62
|
padding: 0;
|
|
62
63
|
}
|
|
64
|
+
|
|
63
65
|
.errorPage-section-image {
|
|
64
66
|
margin-block-start: var(--pr-t-spacings-400);
|
|
65
67
|
order: 0;
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
2
|
+
|
|
3
|
+
@use '@lucca-front/scss/src/commons/utils/a11y';
|
|
4
|
+
@use '@lucca-front/scss/src/commons/utils/text';
|
|
5
|
+
|
|
6
|
+
@use '@lucca-front/icons/src/icon/exports' as icon;
|
|
7
|
+
|
|
8
|
+
@mixin component($atRoot: namespace.$defaultAtRoot) {
|
|
9
|
+
border: 1px solid var(--components-fileEntry-borderColor);
|
|
10
|
+
padding: var(--components-fileEntry-padding);
|
|
11
|
+
margin: 0;
|
|
12
|
+
border-radius: var(--commons-borderRadius-L);
|
|
13
|
+
background-color: var(--pr-t-elevation-surface-raised);
|
|
14
|
+
gap: 0 var(--components-fileEntry-gapInline);
|
|
15
|
+
position: relative;
|
|
16
|
+
grid-column: var(--components-fileEntry-gridColumn);
|
|
17
|
+
min-height: var(--components-fileEntry-minHeight);
|
|
18
|
+
display: var(--components-fileEntry-display);
|
|
19
|
+
align-items: center;
|
|
20
|
+
grid-template-columns: auto 1fr auto;
|
|
21
|
+
grid-template-areas: var(--components-fileEntry-gridTemplateAreas);
|
|
22
|
+
|
|
23
|
+
&:has(.fileEntry-status-content-fileName) {
|
|
24
|
+
.fileToolbar {
|
|
25
|
+
--components-fileToolbar-insetBlockEnd: calc(var(--pr-t-spacings-150) + var(--pr-t-spacings-400) + var(--pr-t-spacings-25));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&:has(.fileEntry-filename-tooltip:focus-visible, .fileEntry-status-content:focus-visible) {
|
|
30
|
+
@include a11y.focusVisible;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@at-root ($atRoot) {
|
|
34
|
+
.fileEntryDisplayWrapper {
|
|
35
|
+
display: grid;
|
|
36
|
+
grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
|
|
37
|
+
gap: var(--pr-t-spacings-100);
|
|
38
|
+
|
|
39
|
+
&:empty {
|
|
40
|
+
display: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.form-field:has(.fileUpload) + & {
|
|
44
|
+
margin-top: var(--pr-t-spacings-100);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.fileEntry-status {
|
|
49
|
+
inline-size: var(--components-fileEntry-status-inlineSize);
|
|
50
|
+
block-size: var(--components-fileEntry-status-blockSize);
|
|
51
|
+
color: var(--palettes-neutral-700);
|
|
52
|
+
flex-shrink: 0;
|
|
53
|
+
aspect-ratio: var(--components-fileEntry-status-aspectRatio);
|
|
54
|
+
margin: var(--components-fileEntry-status-margin);
|
|
55
|
+
grid-area: picture;
|
|
56
|
+
display: flex;
|
|
57
|
+
flex-direction: column;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.fileEntry-status-content {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
flex-grow: 1;
|
|
64
|
+
outline: none;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
align-items: center;
|
|
67
|
+
padding: var(--components-fileEntry-status-content-padding);
|
|
68
|
+
position: relative;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.fileEntry-status-content-fileName {
|
|
72
|
+
@include text.ellipsis;
|
|
73
|
+
|
|
74
|
+
flex-shrink: 0;
|
|
75
|
+
text-align: center;
|
|
76
|
+
padding: var(--pr-t-spacings-100);
|
|
77
|
+
padding-block-end: var(--pr-t-spacings-25);
|
|
78
|
+
width: 100%;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.fileEntry-status-content-inside-icon {
|
|
82
|
+
color: var(--palettes-critical-700);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.fileEntry-status-content-inlineMessage.inlineMessage {
|
|
86
|
+
flex-direction: column;
|
|
87
|
+
align-items: center;
|
|
88
|
+
text-align: center;
|
|
89
|
+
|
|
90
|
+
.inlineMessage-statusIcon:first-child {
|
|
91
|
+
@include icon.M;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.fileEntry-status-content-inside {
|
|
96
|
+
position: relative;
|
|
97
|
+
flex-grow: 1;
|
|
98
|
+
inline-size: 100%;
|
|
99
|
+
border-radius: var(--commons-borderRadius-M);
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
display: flex;
|
|
102
|
+
align-items: center;
|
|
103
|
+
justify-content: center;
|
|
104
|
+
background-color: var(--components-fileEntry-status-content-inside-backgroundColor);
|
|
105
|
+
|
|
106
|
+
& + & {
|
|
107
|
+
position: absolute;
|
|
108
|
+
inset-block-start: 0;
|
|
109
|
+
inset-block-end: var(--components-fileEntry-status-content-inside-insetBlockEnd);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.fileEntry-status-content-inside-svg {
|
|
114
|
+
inline-size: var(--components-fileEntry-status-content-svg-width);
|
|
115
|
+
block-size: var(--components-fileEntry-status-content-svg-height);
|
|
116
|
+
margin: var(--components-fileEntry-status-content-svg-margin);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.fileEntry-status-content-inside-img {
|
|
120
|
+
object-fit: cover;
|
|
121
|
+
inline-size: 100%;
|
|
122
|
+
block-size: 100%;
|
|
123
|
+
position: absolute;
|
|
124
|
+
inset: 0;
|
|
125
|
+
opacity: var(--components-fileEntry-status-content-img-opacity);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.fileEntry-toolbar {
|
|
129
|
+
grid-area: toolbar;
|
|
130
|
+
margin: 0;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.fileEntry-filename {
|
|
134
|
+
grid-area: title;
|
|
135
|
+
align-self: var(--components-fileEntry-filename-alignSelf);
|
|
136
|
+
min-width: 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.fileEntry-filename-tooltip {
|
|
140
|
+
@include text.ellipsis;
|
|
141
|
+
|
|
142
|
+
outline: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.fileEntry-description {
|
|
146
|
+
grid-area: description;
|
|
147
|
+
align-self: start;
|
|
148
|
+
color: var(--palettes-neutral-600);
|
|
149
|
+
font-size: var(--sizes-S-fontSize);
|
|
150
|
+
line-height: var(--sizes-S-lineHeight);
|
|
151
|
+
display: var(--components-fileEntry-description-display);
|
|
152
|
+
margin: 0;
|
|
153
|
+
gap: var(--pr-t-spacings-100);
|
|
154
|
+
min-width: 0;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.fileEntry-description-format {
|
|
158
|
+
@include text.ellipsis;
|
|
159
|
+
|
|
160
|
+
border-radius: var(--commons-borderRadius-M);
|
|
161
|
+
max-width: 20ch;
|
|
162
|
+
|
|
163
|
+
&:focus-visible {
|
|
164
|
+
@include a11y.focusVisible;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.fileEntry-inlineMessage {
|
|
169
|
+
grid-area: description;
|
|
170
|
+
margin: 0;
|
|
171
|
+
align-self: start;
|
|
172
|
+
min-width: 0;
|
|
173
|
+
|
|
174
|
+
.inlineMessage-statusIcon {
|
|
175
|
+
display: none;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.fileEntry_box.box {
|
|
180
|
+
margin-top: var(--pr-t-spacings-150);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.fileEntry_box-field {
|
|
184
|
+
display: flex;
|
|
185
|
+
flex-wrap: wrap;
|
|
186
|
+
gap: var(--pr-t-spacings-100);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.fileEntry_box-field-textField {
|
|
190
|
+
flex-grow: 1;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.fileEntry_box-field-button.button {
|
|
194
|
+
flex-grow: 1;
|
|
195
|
+
flex-basis: 0;
|
|
196
|
+
min-width: fit-content;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@use 'exports' as *;
|
|
2
|
+
|
|
3
|
+
.fileEntry {
|
|
4
|
+
@include vars;
|
|
5
|
+
@include component;
|
|
6
|
+
|
|
7
|
+
&.mod-S {
|
|
8
|
+
@include S;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&.mod-media {
|
|
12
|
+
@include media;
|
|
13
|
+
|
|
14
|
+
&.mod-S {
|
|
15
|
+
@include mediaS;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&.is-error {
|
|
20
|
+
@include error;
|
|
21
|
+
|
|
22
|
+
&.mod-S {
|
|
23
|
+
@include errorS;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.is-loading {
|
|
28
|
+
@include loading;
|
|
29
|
+
|
|
30
|
+
&.mod-S {
|
|
31
|
+
@include loadingS;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@use '@lucca-front/icons/src/icon/exports' as icon;
|
|
2
|
+
|
|
3
|
+
@mixin S {
|
|
4
|
+
--components-fileEntry-padding: var(--pr-t-spacings-50);
|
|
5
|
+
--components-fileEntry-status-inlineSize: 32px;
|
|
6
|
+
--components-fileEntry-description-display: none;
|
|
7
|
+
--components-fileEntry-gridTemplateAreas: 'picture title title toolbar';
|
|
8
|
+
--components-fileEntry-filename-alignSelf: center;
|
|
9
|
+
--components-fileEntry-status-borderRadius: var(--commons-borderRadius-M);
|
|
10
|
+
--components-fileEntry-gapInline: var(--pr-t-spacings-75);
|
|
11
|
+
--components-fileEntry-status-content-svg-margin: calc(var(--pr-t-spacings-100) * -1);
|
|
12
|
+
|
|
13
|
+
.fileEntry-status-content-inside-icon {
|
|
14
|
+
@include icon.S;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@mixin media {
|
|
19
|
+
--components-fileEntry-status-borderRadius: var(--commons-borderRadius-M);
|
|
20
|
+
--components-fileEntry-padding: var(--pr-t-spacings-75);
|
|
21
|
+
--components-fileEntry-status-aspectRatio: auto;
|
|
22
|
+
--components-fileEntry-status-inlineSize: 100%;
|
|
23
|
+
--components-fileEntry-status-blockSize: calc(21.5rem - 1rem + 2px);
|
|
24
|
+
--components-fileEntry-description-display: none;
|
|
25
|
+
--components-fileEntry-display: block;
|
|
26
|
+
--components-fileEntry-gridColumn: 1 / -1;
|
|
27
|
+
--components-fileEntry-status-content-svg-width: 72px;
|
|
28
|
+
|
|
29
|
+
&:has(.fileEntry-status-content-fileName) {
|
|
30
|
+
--components-fileEntry-status-content-inside-insetBlockEnd: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-25));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@mixin mediaS {
|
|
35
|
+
--components-fileEntry-minHeight: calc(5rem + 2px);
|
|
36
|
+
--components-fileEntry-gridColumn: auto;
|
|
37
|
+
--components-fileEntry-status-blockSize: auto;
|
|
38
|
+
--components-fileEntry-status-aspectRatio: 1;
|
|
39
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
@use '@lucca-front/scss/src/components/loading/exports' as loading;
|
|
2
|
+
|
|
3
|
+
@mixin error {
|
|
4
|
+
--components-fileEntry-borderColor: var(--palettes-critical-600);
|
|
5
|
+
--components-fileEntry-gridTemplateAreas: 'picture title toolbar' 'picture description toolbar';
|
|
6
|
+
--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-critical-50);
|
|
7
|
+
--components-fileEntry-minHeight: 3.75rem;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@mixin loading {
|
|
11
|
+
--components-fileEntry-status-content-img-opacity: 0.08;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@mixin loadingS {
|
|
15
|
+
.fileEntry-status-content-inside-loading.loading {
|
|
16
|
+
@include loading.S;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@mixin errorS {
|
|
21
|
+
--components-fileEntry-status-blockSize: 100%;
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@mixin vars {
|
|
2
|
+
--components-fileEntry-padding: var(--pr-t-spacings-150);
|
|
3
|
+
--components-fileEntry-gapInline: var(--components-fileEntry-padding);
|
|
4
|
+
--components-fileEntry-gridColumn: 1 / -1;
|
|
5
|
+
--components-fileEntry-borderColor: var(--palettes-neutral-100);
|
|
6
|
+
--components-fileEntry-minHeight: auto;
|
|
7
|
+
--components-fileEntry-gridTemplateAreas: 'picture title toolbar' 'picture description toolbar';
|
|
8
|
+
|
|
9
|
+
--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-neutral-25);
|
|
10
|
+
|
|
11
|
+
--components-fileEntry-status-borderRadius: var(--commons-borderRadius-L);
|
|
12
|
+
--components-fileEntry-status-content-img-opacity: 1;
|
|
13
|
+
--components-fileEntry-status-content-svg-width: 48px;
|
|
14
|
+
--components-fileEntry-status-content-svg-height: var(--components-fileEntry-status-content-svg-width);
|
|
15
|
+
--components-fileEntry-status-content-svg-margin: 0;
|
|
16
|
+
|
|
17
|
+
--components-fileEntry-filename-alignSelf: end;
|
|
18
|
+
|
|
19
|
+
--components-fileEntry-status-inlineSize: 48px;
|
|
20
|
+
--components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);
|
|
21
|
+
--components-fileEntry-status-margin: 0;
|
|
22
|
+
--components-fileEntry-description-display: flex;
|
|
23
|
+
--components-fileEntry-display: grid;
|
|
24
|
+
--components-fileEntry-status-content-padding: 0;
|
|
25
|
+
|
|
26
|
+
--components-fileEntry-status-content-inside-insetBlockEnd: 0;
|
|
27
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
2
|
+
@use '@lucca-front/scss/src/commons/utils/reset';
|
|
3
|
+
|
|
4
|
+
@use '@lucca-front/scss/src/components/button/exports' as button;
|
|
5
|
+
|
|
6
|
+
@use '@lucca-front/icons/src/icon/exports' as icon;
|
|
7
|
+
|
|
8
|
+
@mixin component($atRoot: namespace.$defaultAtRoot) {
|
|
9
|
+
border-radius: var(--commons-borderRadius-L);
|
|
10
|
+
position: absolute;
|
|
11
|
+
transform: translateX(-50%);
|
|
12
|
+
inset-inline-start: 50%;
|
|
13
|
+
inset-block-end: var(--components-fileToolbar-insetBlockEnd);
|
|
14
|
+
box-shadow: var(--pr-t-elevation-shadow-overlay);
|
|
15
|
+
background-color: var(--pr-t-elevation-surface-raised);
|
|
16
|
+
z-index: 1;
|
|
17
|
+
display: var(--components-fileToolbar-display);
|
|
18
|
+
|
|
19
|
+
@at-root ($atRoot) {
|
|
20
|
+
.fileToolbar-list {
|
|
21
|
+
@include reset.list;
|
|
22
|
+
|
|
23
|
+
display: flex;
|
|
24
|
+
gap: var(--pr-t-spacings-50);
|
|
25
|
+
padding: var(--components-fileToolbar-list-padding);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.fileToolbar-list-item-button.button {
|
|
29
|
+
@include button.text;
|
|
30
|
+
@include button.S;
|
|
31
|
+
|
|
32
|
+
--components-button-padding: var(--pr-t-spacings-75) !important;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
@use '@lucca-front/scss/src/commons/utils/namespace';
|
|
2
|
+
|
|
3
|
+
@use '@lucca-front/scss/src/commons/utils/a11y';
|
|
4
|
+
@use '@lucca-front/scss/src/components/button/exports' as button;
|
|
5
|
+
|
|
6
|
+
@mixin component($atRoot: namespace.$defaultAtRoot) {
|
|
7
|
+
position: relative;
|
|
8
|
+
border: 1px var(--components-fileUpload-borderStyle) var(--components-fileUpload-borderColor);
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
border-radius: var(--commons-borderRadius-L);
|
|
11
|
+
background-color: var(--components-fileUpload-backgroundColor);
|
|
12
|
+
padding: var(--components-fileUpload-padding);
|
|
13
|
+
text-align: var(--components-fileUpload-textAlign);
|
|
14
|
+
display: var(--components-fileUpload-display);
|
|
15
|
+
flex-direction: var(--components-fileUpload-flexDirection);
|
|
16
|
+
align-items: var(--components-fileUpload-alignItems);
|
|
17
|
+
justify-content: var(--components-fileUpload-justifyContent);
|
|
18
|
+
gap: var(--pr-t-spacings-200);
|
|
19
|
+
color: var(--palettes-neutral-800);
|
|
20
|
+
min-block-size: var(--components-fileUpload-minHeight);
|
|
21
|
+
|
|
22
|
+
&:has(.fileUpload-input:focus-visible) {
|
|
23
|
+
@include a11y.focusVisible;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@at-root ($atRoot) {
|
|
27
|
+
.fileUpload-status {
|
|
28
|
+
min-inline-size: var(--pr-t-spacings-600);
|
|
29
|
+
min-block-size: var(--pr-t-spacings-600);
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
|
|
34
|
+
--components-emptyState-icon-action-color: var(--palettes-600, var(--palettes-brand-600));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.fileUpload-status-preview {
|
|
38
|
+
position: absolute;
|
|
39
|
+
inset: var(--components-fileUpload-status-img-inset);
|
|
40
|
+
inline-size: var(--components-fileUpload-status-img-size);
|
|
41
|
+
block-size: var(--components-fileUpload-status-img-size);
|
|
42
|
+
border-radius: var(--commons-borderRadius-M);
|
|
43
|
+
background-color: var(--palettes-neutral-25);
|
|
44
|
+
display: flex;
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.fileUpload-status-preview-img {
|
|
49
|
+
object-fit: cover;
|
|
50
|
+
opacity: 0.08;
|
|
51
|
+
width: 100%;
|
|
52
|
+
height: 100%;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.fileUpload-input {
|
|
56
|
+
position: absolute;
|
|
57
|
+
inset: calc(var(--pr-t-spacings-400) * -1) 0 0;
|
|
58
|
+
opacity: 0.0001;
|
|
59
|
+
cursor: pointer;
|
|
60
|
+
z-index: 1;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.fileUpload-instruction {
|
|
64
|
+
display: var(--components-fileUpload-instruction-display);
|
|
65
|
+
flex-direction: column;
|
|
66
|
+
align-items: var(--components-fileUpload-instruction-alignItems);
|
|
67
|
+
max-inline-size: var(--components-fileUpload-instruction-maxWidth);
|
|
68
|
+
line-height: var(--sizes-S-lineHeight);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.fileUpload-instruction-action {
|
|
72
|
+
display: block;
|
|
73
|
+
margin-bottom: var(--fileUpload-instruction-action-marginBottom);
|
|
74
|
+
line-height: var(--sizes-M-lineHeight);
|
|
75
|
+
|
|
76
|
+
span {
|
|
77
|
+
color: var(--components-fileUpload-instruction-action-color);
|
|
78
|
+
font-weight: var(--components-fileUpload-instruction-action-fontWeight);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.fileUpload-instruction-size,
|
|
83
|
+
.fileUpload-instruction-formats {
|
|
84
|
+
color: var(--palettes-neutral-600);
|
|
85
|
+
font-size: var(--sizes-S-fontSize);
|
|
86
|
+
vertical-align: top;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.fileUpload-button.button {
|
|
90
|
+
visibility: var(--components-fileUpload-button-visibility);
|
|
91
|
+
display: var(--components-fileUpload-button-display);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.fileUpload-instruction-filename {
|
|
95
|
+
display: block;
|
|
96
|
+
font-weight: 600;
|
|
97
|
+
color: var(--components-fileUpload-instruction-filename-color);
|
|
98
|
+
margin-block-start: var(--components-fileUpload-instruction-filename-marginTop);
|
|
99
|
+
inset-block-end: var(--pr-t-spacings-100);
|
|
100
|
+
position: var(--components-fileUpload-instruction-filename-position);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
@use 'exports' as *;
|
|
2
|
+
|
|
3
|
+
.fileUpload {
|
|
4
|
+
@include vars;
|
|
5
|
+
@include component;
|
|
6
|
+
|
|
7
|
+
&:hover {
|
|
8
|
+
@include hover;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&.mod-dropzone {
|
|
12
|
+
@include dropzone;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&.mod-S {
|
|
16
|
+
@include S;
|
|
17
|
+
|
|
18
|
+
&.is-loading {
|
|
19
|
+
@include loadingS;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&.is-loading {
|
|
24
|
+
@include loading;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.is-hidden {
|
|
28
|
+
@include hidden;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.is-success {
|
|
32
|
+
@include success;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&.is-error {
|
|
36
|
+
@include error;
|
|
37
|
+
|
|
38
|
+
&:hover {
|
|
39
|
+
@include errorHover;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&.is-droppable {
|
|
44
|
+
@include droppable;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@mixin S {
|
|
2
|
+
--components-fileUpload-button-display: none;
|
|
3
|
+
--components-fileUpload-padding: var(--pr-t-spacings-150) var(--pr-t-spacings-200);
|
|
4
|
+
--components-fileUpload-textAlign: left;
|
|
5
|
+
--components-fileUpload-flexDirection: row;
|
|
6
|
+
--components-fileUpload-instruction-alignItems: stretch;
|
|
7
|
+
--components-fileUpload-instruction-display: block;
|
|
8
|
+
--components-fileUpload-instruction-maxWidth: none;
|
|
9
|
+
--components-fileUpload-instruction-action-fontWeight: 600;
|
|
10
|
+
--fileUpload-instruction-action-marginBottom: 0;
|
|
11
|
+
--components-fileUpload-instruction-action-color: var(--palettes-product-700);
|
|
12
|
+
--components-fileUpload-alignItems: flex-start;
|
|
13
|
+
--components-fileUpload-minHeight: none;
|
|
14
|
+
--components-fileUpload-instruction-filename-position: static;
|
|
15
|
+
--components-fileUpload-instruction-filename-marginTop: 0;
|
|
16
|
+
--components-fileUpload-justifyContent: flex-start;
|
|
17
|
+
--components-fileUpload-status-img-inset: 0;
|
|
18
|
+
--components-fileUpload-status-img-size: var(--pr-t-spacings-600);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@mixin dropzone {
|
|
22
|
+
position: fixed;
|
|
23
|
+
inset: var(--pr-t-spacings-200);
|
|
24
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@mixin droppable {
|
|
2
|
+
--components-fileUpload-borderStyle: solid;
|
|
3
|
+
--components-fileUpload-backgroundColor: var(--palettes-product-50);
|
|
4
|
+
--components-fileUpload-borderColor: var(--palettes-product-600);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@mixin hover {
|
|
8
|
+
--components-fileUpload-borderColor: var(--palettes-product-600);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@mixin success {
|
|
12
|
+
--components-fileUpload-instruction-filename-color: var(--palettes-success-800);
|
|
13
|
+
--components-fileUpload-button-visibility: hidden;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin error {
|
|
17
|
+
--components-fileUpload-instruction-filename-color: var(--palettes-critical-800);
|
|
18
|
+
--components-fileUpload-backgroundColor: var(--palettes-critical-50);
|
|
19
|
+
--components-fileUpload-borderColor: var(--palettes-critical-400);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@mixin errorHover {
|
|
23
|
+
--components-fileUpload-borderColor: var(--palettes-critical-600);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@mixin loading {
|
|
27
|
+
--components-fileUpload-instruction-display: none;
|
|
28
|
+
--components-fileUpload-button-display: none;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@mixin loadingS {
|
|
32
|
+
--components-fileUpload-instruction-display: block;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@mixin hidden {
|
|
36
|
+
--components-fileUpload-display: none;
|
|
37
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@mixin vars {
|
|
2
|
+
--components-fileUpload-button-display: block;
|
|
3
|
+
--components-fileUpload-button-visibility: visible;
|
|
4
|
+
--components-fileUpload-padding: var(--pr-t-spacings-300);
|
|
5
|
+
--components-fileUpload-textAlign: center;
|
|
6
|
+
--components-fileUpload-flexDirection: column;
|
|
7
|
+
--components-fileUpload-instruction-display: flex;
|
|
8
|
+
--components-fileUpload-instruction-alignItems: center;
|
|
9
|
+
--fileUpload-instruction-action-marginBottom: var(--pr-t-spacings-50);
|
|
10
|
+
--components-fileUpload-width: auto;
|
|
11
|
+
--components-fileUpload-display: flex;
|
|
12
|
+
--components-fileUpload-instruction-maxWidth: 30rem;
|
|
13
|
+
--components-fileUpload-instruction-action-fontWeight: 400;
|
|
14
|
+
--components-fileUpload-instruction-action-color: inherit;
|
|
15
|
+
--components-fileUpload-borderColor: var(--palettes-neutral-300);
|
|
16
|
+
--components-fileUpload-borderStyle: dashed;
|
|
17
|
+
--components-fileUpload-backgroundColor: var(--pr-t-elevation-surface-raised);
|
|
18
|
+
--components-fileUpload-alignItems: center;
|
|
19
|
+
--components-fileUpload-instruction-filename-color: inherit;
|
|
20
|
+
--components-fileUpload-instruction-filename-marginTop: calc(var(--pr-t-spacings-300) * -1);
|
|
21
|
+
--components-fileUpload-minHeight: 21.5rem;
|
|
22
|
+
--components-fileUpload-instruction-filename-position: relative;
|
|
23
|
+
--components-fileUpload-justifyContent: center;
|
|
24
|
+
--components-fileUpload-status-img-inset: var(--pr-t-spacings-75);
|
|
25
|
+
--components-fileUpload-status-img-size: calc(100% - var(--pr-t-spacings-75) * 2);
|
|
26
|
+
}
|