@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.
Files changed (124) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/base.scss +11 -3
  4. package/src/commons/config.scss +11 -1
  5. package/src/commons/core.scss +25 -13
  6. package/src/commons/utils/color.scss +2 -0
  7. package/src/commons/utils/index.scss +6 -2
  8. package/src/commons/utils/keyframe.scss +1 -0
  9. package/src/commons/utils/loading.scss +1 -1
  10. package/src/commons/utils/media.scss +4 -0
  11. package/src/commons/utils/reset.scss +1 -1
  12. package/src/commons/vars.scss +8 -0
  13. package/src/components/_sample/component.scss +3 -3
  14. package/src/components/avatar/component.scss +0 -1
  15. package/src/components/avatar/mods.scss +1 -0
  16. package/src/components/box/index.scss +4 -0
  17. package/src/components/box/mods.scss +5 -0
  18. package/src/components/button/component.scss +2 -2
  19. package/src/components/calendar/component.scss +2 -0
  20. package/src/components/calendar/states.scss +3 -1
  21. package/src/components/callout/component.scss +1 -1
  22. package/src/components/calloutAccordion/component.scss +1 -1
  23. package/src/components/calloutAccordion/mods.scss +0 -4
  24. package/src/components/calloutDisclosure/component.scss +1 -1
  25. package/src/components/calloutPopover/component.scss +2 -1
  26. package/src/components/card/mods.scss +1 -1
  27. package/src/components/checkbox/mods.scss +1 -0
  28. package/src/components/checkboxField/component.scss +2 -1
  29. package/src/components/checkboxField/states.scss +1 -8
  30. package/src/components/clear/component.scss +1 -1
  31. package/src/components/comment/component.scss +2 -5
  32. package/src/components/dataTable/mods.scss +0 -7
  33. package/src/components/dataTableSticked/mods.scss +12 -15
  34. package/src/components/dateRangeField/vars.scss +1 -1
  35. package/src/components/dialog/mods.scss +0 -1
  36. package/src/components/divider/component.scss +2 -5
  37. package/src/components/dropdown/component.scss +2 -1
  38. package/src/components/emptyState/component.scss +1 -0
  39. package/src/components/errorPage/component.scss +2 -0
  40. package/src/components/fancyBox/component.scss +2 -0
  41. package/src/components/fileEntry/component.scss +199 -0
  42. package/src/components/fileEntry/exports.scss +4 -0
  43. package/src/components/fileEntry/index.scss +34 -0
  44. package/src/components/fileEntry/mods.scss +39 -0
  45. package/src/components/fileEntry/states.scss +22 -0
  46. package/src/components/fileEntry/vars.scss +27 -0
  47. package/src/components/fileToolbar/component.scss +35 -0
  48. package/src/components/fileToolbar/exports.scss +4 -0
  49. package/src/components/fileToolbar/index.scss +14 -0
  50. package/src/components/fileToolbar/mods.scss +9 -0
  51. package/src/components/fileToolbar/states.scss +0 -0
  52. package/src/components/fileToolbar/vars.scss +5 -0
  53. package/src/components/fileUpload/component.scss +103 -0
  54. package/src/components/fileUpload/exports.scss +4 -0
  55. package/src/components/fileUpload/index.scss +46 -0
  56. package/src/components/fileUpload/mods.scss +24 -0
  57. package/src/components/fileUpload/states.scss +37 -0
  58. package/src/components/fileUpload/vars.scss +26 -0
  59. package/src/components/filterBar/mods.scss +2 -2
  60. package/src/components/filterBarDeprecated/component.scss +3 -0
  61. package/src/components/filterPill/component.scss +2 -1
  62. package/src/components/filterPill/states.scss +2 -3
  63. package/src/components/footer/component.scss +1 -0
  64. package/src/components/form/index.scss +2 -0
  65. package/src/components/form/mods.scss +0 -1
  66. package/src/components/grid/component.scss +2 -3
  67. package/src/components/grid/mods.scss +1 -0
  68. package/src/components/highlightData/component.scss +5 -3
  69. package/src/components/highlightData/mods.scss +1 -0
  70. package/src/components/horizontalNavigation/component.scss +1 -3
  71. package/src/components/horizontalNavigation/index.scss +1 -0
  72. package/src/components/horizontalNavigation/mods.scss +2 -2
  73. package/src/components/index.scss +3 -0
  74. package/src/components/indexTable/component.scss +6 -9
  75. package/src/components/indexTable/index.scss +2 -1
  76. package/src/components/indexTable/mods.scss +41 -16
  77. package/src/components/indexTable/states.scss +5 -0
  78. package/src/components/indexTable/vars.scss +3 -0
  79. package/src/components/inlineMessage/component.scss +16 -3
  80. package/src/components/link/mods.scss +8 -8
  81. package/src/components/list/mods.scss +1 -0
  82. package/src/components/loading/component.scss +1 -1
  83. package/src/components/loading/mods.scss +4 -0
  84. package/src/components/mobileNavigation/component.scss +3 -1
  85. package/src/components/multiSelect/component.scss +1 -0
  86. package/src/components/multiSelect/mods.scss +4 -1
  87. package/src/components/multiSelect/states.scss +1 -0
  88. package/src/components/navside/component.scss +0 -2
  89. package/src/components/notchBox/component.scss +2 -0
  90. package/src/components/notchBox/mods.scss +3 -0
  91. package/src/components/numericBadge/component.scss +1 -2
  92. package/src/components/pagination/component.scss +1 -1
  93. package/src/components/popover/component.scss +1 -0
  94. package/src/components/radio/component.scss +1 -1
  95. package/src/components/radioButtons/component.scss +9 -11
  96. package/src/components/radioField/component.scss +1 -0
  97. package/src/components/radioField/states.scss +1 -8
  98. package/src/components/segmentedControl/component.scss +3 -3
  99. package/src/components/simpleSelect/component.scss +1 -0
  100. package/src/components/skeleton/component.scss +1 -0
  101. package/src/components/skeleton/states.scss +3 -0
  102. package/src/components/sortableList/component.scss +1 -0
  103. package/src/components/statusBadge/component.scss +1 -1
  104. package/src/components/switchField/component.scss +3 -1
  105. package/src/components/table/mods.scss +0 -14
  106. package/src/components/tableSortable/mods.scss +4 -2
  107. package/src/components/tableSortable/states.scss +2 -2
  108. package/src/components/tableSticked/index.scss +2 -2
  109. package/src/components/tableSticked/mods.scss +16 -6
  110. package/src/components/tag/component.scss +0 -2
  111. package/src/components/textField/component.scss +1 -0
  112. package/src/components/textfields/component.scss +1 -1
  113. package/src/components/textfields/index.scss +2 -2
  114. package/src/components/textfields/mods.scss +3 -2
  115. package/src/components/textfields/states.scss +3 -4
  116. package/src/components/timeline/component.scss +3 -2
  117. package/src/components/timeline/index.scss +13 -3
  118. package/src/components/timeline/mods.scss +22 -8
  119. package/src/components/timepicker/component.scss +0 -1
  120. package/src/components/timepickerDeprecated/component.scss +3 -2
  121. package/src/components/title/component.scss +1 -0
  122. package/src/components/tooltip/component.scss +1 -0
  123. package/src/components/verticalNavigation/component.scss +5 -1
  124. 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;
@@ -4,6 +4,8 @@
4
4
  overflow: hidden;
5
5
  padding-inline: var(--pr-t-spacings-200);
6
6
  display: block;
7
+ position: relative;
8
+ z-index: 0;
7
9
 
8
10
  @at-root ($atRoot) {
9
11
  .fancyBox-content {
@@ -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,4 @@
1
+ @forward 'vars';
2
+ @forward 'mods';
3
+ @forward 'states';
4
+ @forward 'component';
@@ -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
+ }
@@ -0,0 +1,4 @@
1
+ @forward 'vars';
2
+ @forward 'mods';
3
+ @forward 'states';
4
+ @forward 'component';
@@ -0,0 +1,14 @@
1
+ @use 'exports' as *;
2
+
3
+ .fileToolbar {
4
+ @include vars;
5
+ @include component;
6
+
7
+ &.mod-disablePositioning {
8
+ @include disablePositioning;
9
+
10
+ &.mod-S {
11
+ @include disablePositioningS;
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ @use '@lucca-front/scss/src/components/button/exports' as button;
2
+
3
+ @mixin disablePositioning {
4
+ --components-fileToolbar-display: contents;
5
+ }
6
+
7
+ @mixin disablePositioningS {
8
+ --components-fileToolbar-list-padding: 0;
9
+ }
File without changes
@@ -0,0 +1,5 @@
1
+ @mixin vars {
2
+ --components-fileToolbar-list-padding: var(--pr-t-spacings-50);
3
+ --components-fileToolbar-display: block;
4
+ --components-fileToolbar-insetBlockEnd: var(--pr-t-spacings-150);
5
+ }
@@ -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,4 @@
1
+ @forward 'vars';
2
+ @forward 'mods';
3
+ @forward 'states';
4
+ @forward 'component';
@@ -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
+ }
@@ -16,9 +16,9 @@
16
16
 
17
17
  @mixin notCompact {
18
18
  .filterBar-divider.divider {
19
- @include divider.vertical;
20
-
21
19
  margin-inline: var(--pr-t-spacings-50);
20
+
21
+ @include divider.vertical;
22
22
  }
23
23
 
24
24
  .filterBar-scrollBox.scrollBox {