react-ui-basics 0.0.182 → 0.0.183

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/bundle.css CHANGED
@@ -1,600 +1,674 @@
1
- .animated {
2
- transition: opacity 250ms ease;
3
- opacity: 0;
1
+ .AutocompleteSelect {
2
+ display: inline-flex;
3
+ flex-flow: column;
4
+ justify-content: center;
5
+ position: relative;
6
+ min-width: 250px;
7
+ min-height: 36px;
8
+ user-select: none;
4
9
  }
5
10
 
6
- .animated.mounting, .animated.mounted {
7
- opacity: 1;
11
+ @keyframes clockwise {
12
+ 0% {
13
+ -webkit-transform: rotate(-90deg);
14
+ }
15
+ 100% {
16
+ -webkit-transform: translateX(0px);
17
+ }
8
18
  }
9
-
10
- .CircleProgress {
11
- width: 48px;
12
- height: 48px;
19
+ @keyframes anticlockwise {
20
+ 0% {
21
+ -webkit-transform: rotate(90deg);
22
+ }
23
+ 100% {
24
+ -webkit-transform: translateX(0px);
25
+ }
13
26
  }
14
-
15
- .CircleProgress .line {
16
- stroke-width: 2px;
17
- stroke: black;
18
- stroke-linecap: square;
19
- fill: none;
20
- transition: stroke-dashoffset 0.2s ease;
27
+ .AutocompleteSelect > .input {
28
+ width: 100%;
21
29
  }
22
30
 
23
- .FilteredList {
24
- max-height: 250px;
25
- position: relative;
31
+ .AutocompleteSelect .Scrollable {
32
+ padding-right: 0;
33
+ min-width: 100%;
26
34
  }
27
35
 
28
- .FilteredList.popup {
29
- padding: 0;
30
- visibility: hidden;
31
- position: absolute;
32
- background: white;
33
- z-index: 4;
34
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
35
- transition: all 0.2s ease-out;
36
- top: calc(100% + 4px);
37
- opacity: 0;
38
- border-radius: 2px;
36
+ .AutocompleteSelect.inline-multiple > .label {
37
+ top: -12px;
39
38
  }
40
39
 
41
- .FilteredList.popup.visible {
42
- opacity: 1;
43
- visibility: visible;
40
+ .AutocompleteSelect.inline-multiple > .selected {
41
+ flex-flow: row wrap;
44
42
  }
45
43
 
46
- .FilteredList.inline {
47
- max-height: 225px;
48
- margin-top: 5px;
44
+ .AutocompleteSelect.multiple-mini-inline {
45
+ height: 42px;
49
46
  }
50
47
 
51
- .FilteredList .child {
52
- display: flex;
53
- flex-flow: row nowrap;
54
- align-items: center;
55
- white-space: nowrap;
56
- font-size: 14px;
57
- color: #222222;
58
- height: 30px;
59
- padding: 5px 10px;
60
- padding-right: 15px;
48
+ .AutocompleteSelect.multiple-mini-inline > .label {
61
49
  cursor: pointer;
62
- overflow: hidden;
63
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
64
- border-left: 5px solid #4AC263;
65
- padding-left: 15px;
66
- margin-left: -5px;
50
+ width: 100%;
51
+ margin-left: -10px;
52
+ padding: 10px;
53
+ box-sizing: border-box;
54
+ top: 0;
67
55
  }
68
56
 
69
- .FilteredList .child.hidden {
70
- height: 0 !important;
71
- padding: 0 !important;
57
+ .AutocompleteSelect.multiple-mini-inline > .label.active {
58
+ padding: 0 10px;
72
59
  }
73
60
 
74
- .FilteredList .child.selected {
75
- background-color: #F0F0F0;
76
- padding-left: 10px;
77
- margin-left: 0px;
61
+ .AutocompleteSelect.multiple-mini-inline > .selected {
62
+ width: 250px;
78
63
  }
79
64
 
80
- .FilteredList .child.active {
81
- background-color: #eeeeee;
65
+ .AutocompleteSelect.multiple-mini-inline > .input {
66
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
67
+ position: absolute;
68
+ top: 38px;
69
+ z-index: 2;
70
+ background-color: white;
71
+ min-width: 130%;
82
72
  }
83
73
 
84
- .FilteredList .child {
85
- margin-top: 8px;
74
+ .AutocompleteSelect.multiple-mini-inline > .input .TextField {
75
+ padding-left: 10px;
76
+ padding-right: 10px;
77
+ width: 100%;
78
+ box-sizing: border-box;
86
79
  }
87
80
 
88
- .FilteredList .child.hidden {
89
- margin-top: 0;
81
+ .AutocompleteSelect.multiple-mini-inline > .input.hidden {
82
+ opacity: 0;
83
+ visibility: hidden;
90
84
  }
91
85
 
92
- .FilteredList .child:not(.hidden) ~ .child {
86
+ .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
93
87
  margin-top: 0;
94
88
  }
95
89
 
96
- .FilteredList .child:not(.hidden) ~ .child:last-child {
97
- margin-bottom: 8px;
90
+ .AutocompleteSelect .TextField {
91
+ margin-top: 8px;
98
92
  }
99
93
 
100
- .FilteredList .child:not(.hidden):last-child {
101
- margin-bottom: 8px;
94
+ .AutocompleteSelect .TextField input {
95
+ font-size: 14px;
102
96
  }
103
97
 
104
- .ImageGallery {
105
- position: fixed;
106
- top: 0;
107
- left: 0;
108
- bottom: 0;
109
- right: 0;
110
- z-index: 1000;
111
- background-color: rgba(0, 0, 0, 0.01);
98
+ .AutocompleteSelect > .label {
99
+ position: absolute;
100
+ transition: all 0.2s ease;
101
+ font-family: Roboto, sans-serif;
102
+ font-size: 14px;
103
+ color: rgba(0, 0, 0, 0.5);
104
+ z-index: 1;
105
+ cursor: text;
112
106
  user-select: none;
107
+ left: 4px;
108
+ top: 12px;
113
109
  }
114
110
 
115
- .ImageGallery:focus {
116
- outline-width: 0px;
111
+ .AutocompleteSelect > .label.active {
112
+ font-size: 10px;
113
+ top: 2px;
117
114
  }
118
115
 
119
- .ImageGallery.animated {
120
- transition: background-color 0.25s ease;
121
- opacity: 1;
116
+ .AutocompleteSelect > .label.active .arrow {
117
+ border-width: 4px 4px 0 4px;
118
+ margin-bottom: 1px;
122
119
  }
123
120
 
124
- .ImageGallery.mounting, .ImageGallery.mounted {
125
- background-color: rgba(0, 0, 0, 0.8);
121
+ .AutocompleteSelect > .label .arrow {
122
+ width: 0;
123
+ height: 0;
124
+ border-style: solid;
125
+ border-width: 5px 5px 0 5px;
126
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
127
+ display: inline-block;
128
+ margin-left: 5px;
129
+ margin-bottom: 2px;
130
+ transition: all 0.2s ease;
126
131
  }
127
132
 
128
- .ImageGallery .image {
133
+ .AutocompleteSelect > .selected {
134
+ margin-top: 8px;
135
+ display: flex;
136
+ cursor: pointer;
137
+ }
138
+
139
+ .AutocompleteSelect > .selected > .reset {
140
+ min-width: 36px;
141
+ max-width: 36px;
129
142
  position: absolute;
130
- cursor: grab;
143
+ right: 0;
144
+ top: 0;
145
+ background-color: white;
131
146
  }
132
147
 
133
- .ImageGallery .image .counter {
134
- display: none;
148
+ .AutocompleteSelect > .selected > .reset .material-icons {
149
+ margin: 0;
150
+ color: #BFBFBF;
151
+ font-size: 20px;
135
152
  }
136
153
 
137
- .ImageGallery .image img {
138
- border-radius: 4px;
139
- max-width: 100%;
140
- min-width: 100%;
154
+ .AutocompleteSelect > .selected.nolabel {
155
+ margin-top: 0px;
156
+ border-bottom: 1px solid #e5e3e3;
141
157
  }
142
158
 
143
- .ImageGallery .image.animated {
144
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
145
- will-change: top, left, width, height, opacity;
159
+ .AutocompleteSelect > .selected.nolabel .DummyChild {
160
+ display: inline-flex;
161
+ align-items: center;
162
+ flex-grow: 1;
163
+ font-size: 16px;
164
+ margin: 0px 10px;
165
+ margin-bottom: 5px;
166
+ height: 19px;
146
167
  }
147
168
 
148
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
149
- opacity: 1;
169
+ .AutocompleteSelect > .selected.nolabel .arrow {
170
+ width: 0;
171
+ height: 0;
172
+ border-style: solid;
173
+ border-width: 5px 5px 0 5px;
174
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
175
+ display: inline-block;
176
+ transition: all 0.2s ease;
177
+ margin: 0px 17px 3px 5px;
150
178
  }
151
179
 
152
- .ImageGallery .image.zoomed {
153
- text-align: center;
180
+ .AutocompleteSelect > .selected.inline {
181
+ font-size: 14px;
182
+ font-family: Roboto, sans-serif;
183
+ color: #1e252d;
184
+ text-overflow: ellipsis;
185
+ white-space: nowrap;
154
186
  overflow: hidden;
187
+ display: flex;
188
+ align-items: center;
155
189
  }
156
190
 
157
- .ImageGallery .image.dragging {
158
- transition: none;
159
- cursor: move;
191
+ .AutocompleteSelect > .selected.clickable {
192
+ overflow: hidden;
193
+ cursor: pointer;
194
+ padding: 10px;
195
+ margin-left: -10px;
196
+ margin-right: -10px;
160
197
  }
161
198
 
162
- .ImageGallery .image .close {
163
- position: absolute;
164
- top: -18px;
165
- right: -18px;
199
+ .AutocompleteSelect.inlineSelected {
200
+ flex-flow: row wrap;
201
+ justify-content: flex-start;
166
202
  }
167
203
 
168
- .ImageGallery .image .spinner {
169
- position: absolute;
170
- top: 0;
171
- bottom: 0;
172
- left: 0;
173
- right: 0;
174
- background: rgba(0, 0, 0, 0.65);
175
- }
176
-
177
- .ImageGallery .image .spinner .SpinningProgress {
178
- position: absolute;
179
- top: 50%;
180
- left: 50%;
181
- margin-left: -24px;
182
- margin-top: -24px;
183
- }
184
-
185
- .ImageGallery .image .spinner .SpinningProgress .line {
186
- stroke: #2196F3;
187
- }
188
-
189
- .ImageGallery .Button.animated {
190
- transition: all 0.25s ease;
191
- opacity: 0;
192
- transform: scale(0);
204
+ .AutocompleteSelect.inlineSelected.hasSelected {
205
+ padding-top: 7px;
193
206
  }
194
207
 
195
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
196
- opacity: 1;
197
- transform: scale(1);
208
+ .AutocompleteSelect.inlineSelected > .label {
209
+ width: 100%;
210
+ height: 100%;
198
211
  }
199
212
 
200
- .ImageGallery .Button {
201
- color: white;
202
- background: rgba(0, 0, 0, 0.4);
213
+ .AutocompleteSelect.inlineSelected > .label.active {
214
+ z-index: 0;
203
215
  }
204
216
 
205
- .ImageGallery .Button:hover {
206
- background: rgba(0, 0, 0, 0.7);
217
+ .AutocompleteSelect.inlineSelected .input {
218
+ width: unset;
219
+ flex-basis: 50px;
220
+ flex-grow: 1;
207
221
  }
208
222
 
209
- .ImageGallery > .arrow {
210
- position: absolute;
211
- top: 50%;
212
- height: 76px;
213
- width: 76px;
214
- margin-top: -38px;
223
+ .AutocompleteSelect.inlineSelected .input::after {
224
+ content: attr(data-value);
225
+ visibility: hidden;
226
+ white-space: pre;
227
+ font: inherit;
228
+ min-width: 2px;
229
+ border: 0;
230
+ margin: 0;
231
+ outline: 0;
232
+ float: left;
233
+ display: inline-block;
234
+ margin-top: -24px;
235
+ font-size: 14px;
236
+ padding: 2px;
215
237
  }
216
238
 
217
- .ImageGallery > .arrow.left {
218
- left: 5%;
239
+ .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
240
+ margin-top: 7px;
219
241
  }
220
242
 
221
- .ImageGallery > .arrow.right {
222
- right: 5%;
243
+ .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
244
+ cursor: pointer;
245
+ margin: 5px 10px 5px 0px;
246
+ display: inline-flex;
247
+ flex-flow: row wrap;
248
+ height: 30px;
249
+ align-items: center;
250
+ background-color: #f0f0f0;
251
+ border-radius: 30px;
252
+ position: relative;
253
+ font-family: Roboto, sans-serif;
254
+ font-size: 14px;
255
+ color: #1e252d;
223
256
  }
224
257
 
225
- .ImageGallery > .arrow .material-icons {
226
- font-size: 40px;
258
+ .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
259
+ padding-left: 35px;
260
+ padding-right: 10px;
227
261
  }
228
262
 
229
- .ImageGallery .counter {
263
+ .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
264
+ cursor: pointer;
265
+ min-width: 30px;
266
+ width: 30px;
267
+ height: 30px;
268
+ opacity: 0;
230
269
  position: absolute;
231
- top: 10px;
232
- left: 10px;
270
+ top: 0px;
271
+ left: 0px;
272
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
273
+ background-color: deepskyblue;
233
274
  color: white;
234
- font-size: 13px;
275
+ border-radius: 30px;
276
+ display: flex;
277
+ flex-flow: row;
278
+ justify-content: center;
279
+ align-items: center;
280
+ animation: anticlockwise 0.15s linear;
235
281
  }
236
282
 
237
- .ImageGallery .previews {
238
- height: 80px;
239
- position: absolute;
240
- bottom: 15px;
241
- left: 50%;
242
- transform: translateX(-50%);
243
- padding: 0 45px;
283
+ .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
284
+ font-size: 22px;
244
285
  }
245
286
 
246
- .ImageGallery .previews .viewport {
287
+ .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
288
+ width: 30px;
289
+ height: 30px;
290
+ opacity: 1;
291
+ animation: clockwise 0.15s linear;
247
292
  overflow: hidden;
248
- position: relative;
249
- height: 100%;
250
- }
251
-
252
- .ImageGallery .previews .container {
253
- position: relative;
254
- display: flex;
255
- flex-flow: row nowrap;
256
- height: 100%;
257
- transition: left 0.25s ease;
293
+ position: absolute;
258
294
  }
259
295
 
260
- .ImageGallery .previews .preview {
296
+ .Button {
261
297
  position: relative;
262
- height: 100%;
263
- display: inline-block;
264
- width: 106.66px;
265
- overflow: hidden;
266
- margin-left: 12px;
267
- border-radius: 2px;
298
+ min-width: 64px;
299
+ min-height: 36px;
300
+ height: 24px;
301
+ margin: 0px;
302
+ padding: 0px 16px;
303
+ border: none;
304
+ outline: none;
305
+ font-size: 14px;
306
+ font-weight: 500;
307
+ letter-spacing: 1.25px;
308
+ background: #dfdfdf;
309
+ text-transform: uppercase;
310
+ font-family: Roboto, sans-serif;
311
+ -webkit-tap-highlight-color: transparent;
312
+ display: inline-flex;
313
+ justify-content: center;
314
+ align-items: center;
268
315
  cursor: pointer;
269
- box-sizing: border-box;
316
+ overflow: hidden;
317
+ user-select: none;
318
+ border-radius: 3px;
319
+ transition: all 0.2s ease;
270
320
  }
271
321
 
272
- .ImageGallery .previews .preview:first-child {
273
- margin-left: 0;
322
+ .Button.flat {
323
+ background-color: transparent;
274
324
  }
275
325
 
276
- .ImageGallery .previews .preview > .border {
277
- position: absolute;
278
- bottom: 0;
279
- width: 100%;
280
- height: 3px;
326
+ .Button.flat:hover {
327
+ background-color: rgba(0, 0, 0, 0.05);
281
328
  }
282
329
 
283
- .ImageGallery .previews .preview > .border .line {
284
- left: 50%;
285
- width: 0;
286
- height: 3px;
287
- min-height: 3px;
288
- background-color: #4AC263;
289
- transition: all 0.2s ease;
290
- position: absolute;
330
+ .Button.green {
331
+ background-color: #43a047;
332
+ color: white;
291
333
  }
292
334
 
293
- .ImageGallery .previews .preview:after {
294
- content: "";
295
- position: absolute;
296
- top: 0;
297
- right: 0;
298
- bottom: 0;
299
- left: 0;
300
- background: rgba(0, 0, 0, 0.35);
301
- transition: background 0.2s ease;
335
+ .Button.green:hover {
336
+ background-color: #3b8e3f;
302
337
  }
303
338
 
304
- .ImageGallery .previews .preview:hover:after {
305
- background: rgba(0, 0, 0, 0.1);
339
+ .Button.blue {
340
+ background-color: #039be5;
341
+ color: white;
306
342
  }
307
343
 
308
- .ImageGallery .previews .preview.selected .border .line {
309
- left: 0;
310
- width: 100%;
344
+ .Button.blue:hover {
345
+ background-color: #038acc;
311
346
  }
312
347
 
313
- .ImageGallery .previews .preview.selected:after {
314
- background: rgba(0, 0, 0, 0);
348
+ .Button.red {
349
+ background-color: #e53935;
350
+ color: white;
315
351
  }
316
352
 
317
- .ImageGallery .previews > .arrow {
318
- position: absolute;
319
- top: 50%;
320
- height: 30px;
321
- width: 30px;
322
- min-width: 30px;
323
- min-height: 30px;
324
- margin-top: -15px;
353
+ .Button.red:hover {
354
+ background-color: #e2231e;
325
355
  }
326
356
 
327
- .ImageGallery .previews > .arrow.left {
328
- left: 0;
357
+ .Button.black {
358
+ background-color: #1e252d;
359
+ color: white;
329
360
  }
330
361
 
331
- .ImageGallery .previews > .arrow.right {
332
- right: 0;
362
+ .Button.black:hover {
363
+ background-color: #14181e;
333
364
  }
334
365
 
335
- .ImageGallery .previews > .arrow .material-icons {
336
- font-size: 24px;
366
+ .Button.gray {
367
+ background: #D9D9D9;
368
+ color: #999999;
337
369
  }
338
370
 
339
- .FormUploadProgress {
340
- position: absolute;
341
- left: 0;
342
- right: 0;
343
- top: 0;
344
- bottom: 0;
345
- background-color: rgba(255, 255, 255, 0.6);
346
- z-index: 2;
371
+ .Button.gray:hover {
372
+ background-color: #cccccc;
347
373
  }
348
374
 
349
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
350
- transition-delay: 500ms;
375
+ .Button.small {
376
+ padding: 0px 8px;
377
+ min-height: 16px;
378
+ min-width: 16px;
351
379
  }
352
380
 
353
- .FormUploadProgress .wrapper {
354
- position: sticky;
355
- top: 40%;
356
- margin-top: 40%;
357
- margin-left: 50%;
358
- transform: translateX(-50%);
359
- display: flex;
360
- flex-flow: column;
361
- justify-content: center;
362
- align-items: center;
381
+ .Button > .material-icons {
382
+ margin-right: 10px;
363
383
  }
364
384
 
365
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
366
- position: absolute;
367
- width: 107px;
368
- height: 107px;
369
- top: 0;
370
- left: 0;
385
+ .Button.round {
386
+ padding: 0px;
387
+ min-width: 36px;
388
+ border-radius: 50%;
371
389
  }
372
390
 
373
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
374
- stroke: #2196F3;
391
+ .Button.round > .material-icons {
392
+ margin: 0px;
375
393
  }
376
394
 
377
- .FormUploadProgress .wrapper > .progress {
378
- width: 107px;
379
- height: 107px;
380
- min-height: 107px;
381
- display: flex;
382
- justify-content: center;
383
- align-items: center;
384
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
385
- border-radius: 50%;
386
- background: white;
387
- position: relative;
395
+ .Button .ripple {
396
+ position: absolute;
397
+ background: rgba(0, 0, 0, 0.1);
398
+ border-radius: 100%;
399
+ transform: scale(0);
400
+ pointer-events: none;
401
+ transition: opacity 0.2s ease-out;
388
402
  }
389
403
 
390
- .FormUploadProgress .wrapper > .progress > .value {
391
- display: inline-block;
392
- margin-top: 5px;
393
- font-weight: bold;
394
- line-height: 16px;
395
- font-size: 13px;
396
- text-align: center;
397
- color: #818181;
404
+ .Button .ripple.show {
405
+ animation: ripple 0.35s ease-out;
398
406
  }
399
407
 
400
- .FormUploadProgress .wrapper .cancel {
401
- min-width: 107px;
402
- margin-top: 20px;
403
- background-color: white;
404
- color: #F96B5C;
405
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
408
+ .Button:active .ripple.showed {
409
+ opacity: 1;
406
410
  }
407
411
 
408
- .Dropzone {
409
- position: relative;
412
+ .Button:focus .ripple.focused {
413
+ opacity: 1;
414
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
415
+ transform: scale(1);
416
+ animation: resize 1.25s ease-out infinite;
417
+ animation-delay: 0.2s;
418
+ animation-direction: alternate;
410
419
  }
411
420
 
412
- .Dropzone > .overlay {
413
- position: absolute;
414
- left: 0;
415
- right: 0;
416
- top: 0;
417
- bottom: 0;
418
- background-color: #38ADC4;
419
- z-index: 1;
421
+ .Button .ripple.showed {
422
+ transform: scale(2);
420
423
  opacity: 0;
421
- transition: all 0.2s ease;
422
- transition-delay: 100ms;
423
- visibility: hidden;
424
- display: flex;
425
- justify-content: center;
426
- align-items: center;
427
424
  }
428
425
 
429
- .Dropzone > .overlay .drop {
430
- border-radius: 4px;
431
- border: 1px dashed #FFFFFF;
432
- position: absolute;
433
- top: 18px;
434
- left: 18px;
435
- right: 18px;
436
- bottom: 18px;
437
- display: flex;
438
- justify-content: center;
439
- align-items: center;
440
- font-weight: 500;
441
- font-size: 18px;
442
- color: #FFFFFF;
426
+ @keyframes ripple {
427
+ to {
428
+ transform: scale(2);
429
+ }
430
+ }
431
+ @keyframes resize {
432
+ to {
433
+ transform: scale(0.9);
434
+ }
435
+ }
436
+ .Button.raised {
437
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
443
438
  }
444
439
 
445
- .Dropzone.dragging > .overlay {
446
- opacity: 0.7;
447
- visibility: visible;
448
- transition-delay: 0s;
440
+ .Button.raised:hover {
441
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
449
442
  }
450
443
 
451
- .Dropzone.dragging > * {
452
- pointer-events: none;
444
+ .Button.raised:active {
445
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
453
446
  }
454
447
 
455
- .Dropzone > input.file {
456
- position: absolute;
457
- left: 0;
458
- right: 0;
459
- top: 0;
460
- bottom: 0;
461
- width: 100%;
462
- height: 100%;
463
- opacity: 0;
464
- cursor: pointer;
465
- z-index: 1;
448
+ .Button.disabled {
449
+ box-shadow: none;
450
+ background: #D9D9D9;
451
+ color: #999999;
466
452
  }
467
453
 
468
- .ModalMenu {
469
- position: absolute;
470
- top: 10px;
471
- right: 50px;
454
+ .Button.disabled:hover {
455
+ background-color: #cccccc;
472
456
  }
473
457
 
474
- .ModalMenu .material-icons {
475
- color: #818181;
458
+ .Button::-moz-focus-inner {
459
+ border: 0;
476
460
  }
477
461
 
478
- .ModalMenu .Button.animated {
479
- position: absolute;
480
- transition: opacity 150ms ease-in, right 200ms ease-in;
462
+ .animated {
463
+ transition: opacity 250ms ease;
481
464
  opacity: 0;
482
- right: 0;
483
- top: 0;
484
465
  }
485
466
 
486
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
467
+ .animated.mounting, .animated.mounted {
487
468
  opacity: 1;
488
469
  }
489
470
 
490
- .ModalMenu .Button.animated.unmounting {
491
- transition: opacity 100ms ease-out, right 200ms ease-out;
471
+ .Checkbox {
472
+ position: relative;
473
+ white-space: pre;
492
474
  }
493
475
 
494
- .ModalMenu .Button.active {
495
- background: #EBEBEB;
476
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
477
+ box-sizing: border-box;
496
478
  }
497
479
 
498
- .ModalMenu .separator {
499
- height: 24px;
500
- width: 1px;
501
- background-color: #D9D9D9;
502
- margin-left: 4px;
480
+ .Checkbox label {
481
+ font-family: Roboto, sans-serif;
482
+ font-size: 14px;
483
+ color: #1e252d;
484
+ cursor: pointer;
503
485
  }
504
486
 
505
- .Scrollable {
506
- max-height: 250px;
507
- max-width: 250px;
508
- padding-right: 5px;
509
- position: relative;
510
- display: flex;
511
- flex-flow: column;
512
- align-items: stretch;
513
- overflow: hidden;
487
+ .Checkbox label:before, .Checkbox label:after {
488
+ content: "";
489
+ position: absolute;
490
+ left: 0;
491
+ top: 0;
514
492
  }
515
493
 
516
- .Scrollable:hover > .scrollbar.auto {
517
- transition-delay: 0s;
518
- opacity: 1;
494
+ .Checkbox label:before {
495
+ width: 20px;
496
+ height: 20px;
497
+ background: #fff;
498
+ border: 2px solid #252525;
499
+ border-radius: 2px;
500
+ cursor: pointer;
501
+ transition: background 0.3s;
519
502
  }
520
503
 
521
- .Scrollable .viewport {
522
- overflow-y: scroll;
523
- overflow-x: scroll;
524
- max-height: 100%;
525
- scroll-behavior: smooth;
526
- scrollbar-width: none;
504
+ .Checkbox input[type=checkbox] {
505
+ outline: 0;
506
+ margin-right: 10px;
507
+ visibility: hidden;
527
508
  }
528
509
 
529
- .Scrollable .viewport::-webkit-scrollbar {
530
- display: none;
510
+ .Checkbox input[type=checkbox]:checked + label:before {
511
+ background: #4AC263;
512
+ border: none;
531
513
  }
532
514
 
533
- .Scrollable.without-scroll-horizontal {
534
- max-width: unset;
515
+ .Checkbox input[type=checkbox]:checked + label:after {
516
+ transform: rotate(-45deg);
517
+ top: 6px;
518
+ left: 4px;
519
+ width: 12px;
520
+ height: 6px;
521
+ border: 2px solid #fff;
522
+ border-top-style: none;
523
+ border-right-style: none;
535
524
  }
536
525
 
537
- .Scrollable.without-scroll {
538
- padding-right: 0;
539
- max-height: unset;
526
+ .Checkbox input[type=checkbox]:disabled + label {
527
+ color: gray;
540
528
  }
541
529
 
542
- .Scrollable.without-scroll > .viewport {
543
- padding-right: 0;
544
- margin-right: 0;
530
+ .Checkbox input[type=checkbox]:disabled + label:before {
531
+ border-color: rgba(0, 0, 0, 0.26);
545
532
  }
546
533
 
547
- .Scrollable.without-scroll > .scrollbar {
548
- visibility: hidden;
534
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
535
+ background: rgba(0, 0, 0, 0.26);
549
536
  }
550
537
 
551
- .Scrollable .scrollbar {
552
- position: absolute;
553
- right: 0px;
554
- top: 0px;
555
- width: 5px;
556
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
557
- transition-delay: 0.5s;
558
- z-index: 1;
538
+ .CircleProgress {
539
+ width: 48px;
540
+ height: 48px;
559
541
  }
560
542
 
561
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
562
- opacity: 0;
543
+ .CircleProgress .line {
544
+ stroke-width: 2px;
545
+ stroke: black;
546
+ stroke-linecap: square;
547
+ fill: none;
548
+ transition: stroke-dashoffset 0.2s ease;
563
549
  }
564
550
 
565
- .Scrollable .scrollbar .thumb {
566
- background-color: rgba(0, 0, 0, 0.3);
567
- width: 5px;
568
- position: absolute;
569
- right: 0px;
570
- top: 0px;
571
- user-select: none;
572
- will-change: top;
551
+ .DialogModal {
552
+ overflow: hidden;
553
+ }
554
+
555
+ .DialogModal .content {
556
+ top: 20vh;
557
+ }
558
+
559
+ .Dialog {
560
+ background-color: white;
561
+ min-width: 460px;
562
+ max-width: 40vw;
563
+ padding: 15px;
564
+ }
565
+
566
+ .Dialog .title {
567
+ margin-bottom: 15px;
568
+ padding: 20px 50px 0px 30px;
569
+ font-size: 1.25rem;
570
+ line-height: 2rem;
571
+ font-weight: 400;
572
+ letter-spacing: 0.0125em;
573
+ }
574
+
575
+ .Dialog .description {
576
+ color: rgba(0, 0, 0, 0.54);
577
+ font-size: 1rem;
578
+ line-height: 1.5rem;
579
+ font-weight: 400;
580
+ letter-spacing: 0.03125em;
581
+ margin-top: 20px;
582
+ padding: 0 24px 24px;
583
+ }
584
+
585
+ .Dialog > div.row {
586
+ margin-bottom: 15px;
587
+ }
588
+
589
+ .Dialog > div.row:last-child {
590
+ margin-bottom: 0;
591
+ }
592
+
593
+ .FilteredList {
594
+ max-height: 250px;
595
+ position: relative;
596
+ }
597
+
598
+ .FilteredList.popup {
599
+ padding: 0;
600
+ visibility: hidden;
601
+ position: absolute;
602
+ background: white;
603
+ z-index: 4;
604
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
605
+ transition: all 0.2s ease-out;
606
+ top: calc(100% + 4px);
607
+ opacity: 0;
573
608
  border-radius: 2px;
574
609
  }
575
610
 
576
- .Scrollable .scrollbar .thumb:hover {
577
- background-color: rgba(0, 0, 0, 0.5);
611
+ .FilteredList.popup.visible {
612
+ opacity: 1;
613
+ visibility: visible;
578
614
  }
579
615
 
580
- .Scrollable .scrollbar .thumb:active {
581
- background-color: rgba(0, 0, 0, 0.7);
616
+ .FilteredList.inline {
617
+ max-height: 225px;
618
+ margin-top: 5px;
582
619
  }
583
620
 
584
- .Scrollable .scrollbar.horizontal {
585
- left: 0px;
586
- right: 0px;
587
- height: 5px;
588
- bottom: 0;
589
- width: unset;
590
- top: unset;
621
+ .FilteredList .child {
622
+ display: flex;
623
+ flex-flow: row nowrap;
624
+ align-items: center;
625
+ white-space: nowrap;
626
+ font-size: 14px;
627
+ color: #222222;
628
+ height: 30px;
629
+ padding: 5px 10px;
630
+ padding-right: 15px;
631
+ cursor: pointer;
632
+ overflow: hidden;
633
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
634
+ border-left: 5px solid #4AC263;
635
+ padding-left: 15px;
636
+ margin-left: -5px;
591
637
  }
592
638
 
593
- .Scrollable .scrollbar.horizontal .thumb {
594
- height: 5px;
595
- left: 0px;
596
- bottom: 0px;
597
- will-change: left;
639
+ .FilteredList .child.hidden {
640
+ height: 0 !important;
641
+ padding: 0 !important;
642
+ }
643
+
644
+ .FilteredList .child.selected {
645
+ background-color: #F0F0F0;
646
+ padding-left: 10px;
647
+ margin-left: 0px;
648
+ }
649
+
650
+ .FilteredList .child.active {
651
+ background-color: #eeeeee;
652
+ }
653
+
654
+ .FilteredList .child {
655
+ margin-top: 8px;
656
+ }
657
+
658
+ .FilteredList .child.hidden {
659
+ margin-top: 0;
660
+ }
661
+
662
+ .FilteredList .child:not(.hidden) ~ .child {
663
+ margin-top: 0;
664
+ }
665
+
666
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
667
+ margin-bottom: 8px;
668
+ }
669
+
670
+ .FilteredList .child:not(.hidden):last-child {
671
+ margin-bottom: 8px;
598
672
  }
599
673
 
600
674
  .DropFileInput {
@@ -624,1009 +698,960 @@
624
698
  margin-right: 10px;
625
699
  }
626
700
 
627
- .Snackbar {
628
- transform: translateX(-50%);
629
- overflow: hidden;
630
- background-color: #323232;
631
- padding: 14px 24px 14px 24px;
632
- color: #fff;
633
- min-width: 288px;
634
- max-width: 568px;
635
- position: fixed;
636
- bottom: -50px;
637
- left: 50%;
701
+ .Scrollable {
702
+ max-height: 250px;
703
+ max-width: 250px;
704
+ padding-right: 5px;
705
+ position: relative;
638
706
  display: flex;
639
- flex-wrap: nowrap;
640
- align-items: center;
641
- opacity: 0;
642
- transition: bottom 0.25s ease, opacity 0.2s ease;
643
- border-radius: 4px;
644
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
707
+ flex-flow: column;
708
+ align-items: stretch;
709
+ overflow: hidden;
645
710
  }
646
711
 
647
- .Snackbar.shown {
648
- bottom: 15px;
712
+ .Scrollable:hover > .scrollbar.auto {
713
+ transition-delay: 0s;
649
714
  opacity: 1;
650
715
  }
651
716
 
652
- .Snackbar .message {
653
- overflow: hidden;
654
- line-height: 1.2em;
655
- min-height: 1.2em;
656
- max-height: 2.4em;
657
- flex: 1;
717
+ .Scrollable .viewport {
718
+ overflow-y: scroll;
719
+ overflow-x: scroll;
720
+ max-height: 100%;
721
+ scroll-behavior: smooth;
722
+ scrollbar-width: none;
658
723
  }
659
724
 
660
- .Snackbar .action {
661
- text-transform: uppercase;
662
- font-weight: bold;
663
- margin-left: 48px;
664
- color: #bf3727;
725
+ .Scrollable .viewport::-webkit-scrollbar {
726
+ display: none;
665
727
  }
666
728
 
667
- .Snackbar .action a {
668
- text-decoration: none;
669
- color: #bf3727;
729
+ .Scrollable.without-scroll-horizontal {
730
+ max-width: unset;
670
731
  }
671
732
 
672
- .Modal {
673
- display: block;
674
- position: fixed;
675
- top: 0;
676
- left: 0;
677
- right: 0;
678
- bottom: 100%;
679
- overflow-y: scroll;
680
- transition: bottom 0ms linear;
681
- transition-delay: 0.2s;
733
+ .Scrollable.without-scroll {
734
+ padding-right: 0;
735
+ max-height: unset;
682
736
  }
683
737
 
684
- .Modal.show {
685
- transition-delay: 0s;
686
- bottom: 0;
738
+ .Scrollable.without-scroll > .viewport {
739
+ padding-right: 0;
740
+ margin-right: 0;
687
741
  }
688
742
 
689
- .Modal > .overlay {
690
- position: fixed;
691
- top: 0;
692
- bottom: 100%;
693
- left: 0;
694
- right: 0;
695
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
696
- opacity: 0;
697
- background-color: black;
698
- pointer-events: none;
743
+ .Scrollable.without-scroll > .scrollbar {
744
+ visibility: hidden;
699
745
  }
700
746
 
701
- .Modal > .overlay.show {
702
- opacity: 0.5;
703
- bottom: 0;
747
+ .Scrollable .scrollbar {
748
+ position: absolute;
749
+ right: 0px;
750
+ top: 0px;
751
+ width: 5px;
752
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
753
+ transition-delay: 0.5s;
754
+ z-index: 1;
704
755
  }
705
756
 
706
- .Modal > .content {
707
- left: 50%;
708
- top: 10vh;
709
- margin-bottom: 10vh;
710
- font-size: 16px;
711
- padding: 0;
757
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
712
758
  opacity: 0;
713
- transition: opacity 0.25s ease, transform 0.25s ease;
714
- transform: scaleY(0) translateY(-200px) translateX(-50%);
715
- transform-origin: top;
759
+ }
760
+
761
+ .Scrollable .scrollbar .thumb {
762
+ background-color: rgba(0, 0, 0, 0.3);
763
+ width: 5px;
716
764
  position: absolute;
765
+ right: 0px;
766
+ top: 0px;
767
+ user-select: none;
768
+ will-change: top;
717
769
  border-radius: 2px;
718
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
719
770
  }
720
771
 
721
- .Modal > .content.show {
722
- opacity: 1;
723
- transform: scaleY(1) translateY(0px) translateX(-50%);
772
+ .Scrollable .scrollbar .thumb:hover {
773
+ background-color: rgba(0, 0, 0, 0.5);
724
774
  }
725
775
 
726
- .Modal > .content > .Scrollable {
727
- overflow: visible;
728
- max-height: 80vh;
776
+ .Scrollable .scrollbar .thumb:active {
777
+ background-color: rgba(0, 0, 0, 0.7);
729
778
  }
730
779
 
731
- .Modal > .content > .Scrollable > .viewport {
732
- min-width: 10px;
733
- min-height: 10px;
780
+ .Scrollable .scrollbar.horizontal {
781
+ left: 0px;
782
+ right: 0px;
783
+ height: 5px;
784
+ bottom: 0;
785
+ width: unset;
786
+ top: unset;
734
787
  }
735
788
 
736
- .Modal > .content > .Button.close {
737
- top: 10px;
738
- right: 10px;
739
- position: absolute;
789
+ .Scrollable .scrollbar.horizontal .thumb {
790
+ height: 5px;
791
+ left: 0px;
792
+ bottom: 0px;
793
+ will-change: left;
740
794
  }
741
795
 
742
- .Switch {
743
- display: inline-flex;
744
- padding-top: 5px;
796
+ .FormUploadProgress {
797
+ position: absolute;
798
+ left: 0;
799
+ right: 0;
800
+ top: 0;
801
+ bottom: 0;
802
+ background-color: rgba(255, 255, 255, 0.6);
803
+ z-index: 2;
745
804
  }
746
805
 
747
- .Switch .switch-input {
748
- display: none;
806
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
807
+ transition-delay: 500ms;
749
808
  }
750
809
 
751
- .Switch .switch-label {
752
- position: relative;
753
- display: inline-flex;
810
+ .FormUploadProgress .wrapper {
811
+ position: sticky;
812
+ top: 40%;
813
+ margin-top: 40%;
814
+ margin-left: 50%;
815
+ transform: translateX(-50%);
816
+ display: flex;
817
+ flex-flow: column;
818
+ justify-content: center;
754
819
  align-items: center;
755
- min-width: 38px;
756
- height: 24px;
757
- cursor: pointer;
758
- font-weight: 500;
759
- text-align: left;
760
- user-select: none;
761
- margin: 0;
762
- padding: 0;
763
- padding-left: 44px;
764
- box-sizing: border-box;
765
820
  }
766
821
 
767
- .Switch .switch-label:before, .Switch .switch-label:after {
768
- content: "";
769
- box-sizing: border-box;
822
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
770
823
  position: absolute;
771
- margin: 0;
772
- outline: 0;
773
- top: 50%;
774
- transform: translate(0, -50%);
775
- transition: all 0.3s ease;
824
+ width: 107px;
825
+ height: 107px;
826
+ top: 0;
827
+ left: 0;
776
828
  }
777
829
 
778
- .Switch .switch-label:before {
779
- left: 1px;
780
- width: 34px;
781
- height: 14px;
782
- background-color: #9E9E9E;
783
- border-radius: 8px;
830
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
831
+ stroke: #2196F3;
784
832
  }
785
833
 
786
- .Switch .switch-label:after {
787
- left: 0;
788
- width: 20px;
789
- height: 20px;
790
- background-color: #FAFAFA;
834
+ .FormUploadProgress .wrapper > .progress {
835
+ width: 107px;
836
+ height: 107px;
837
+ min-height: 107px;
838
+ display: flex;
839
+ justify-content: center;
840
+ align-items: center;
841
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
791
842
  border-radius: 50%;
792
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
843
+ background: white;
844
+ position: relative;
793
845
  }
794
846
 
795
- .Switch .switch-label .toggle--on {
796
- display: none;
847
+ .FormUploadProgress .wrapper > .progress > .value {
848
+ display: inline-block;
849
+ margin-top: 5px;
850
+ font-weight: bold;
851
+ line-height: 16px;
852
+ font-size: 13px;
853
+ text-align: center;
854
+ color: #818181;
797
855
  }
798
856
 
799
- .Switch .switch-label .toggle--off {
800
- display: inline-block;
857
+ .FormUploadProgress .wrapper .cancel {
858
+ min-width: 107px;
859
+ margin-top: 20px;
860
+ background-color: white;
861
+ color: #F96B5C;
862
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
801
863
  }
802
864
 
803
- .Switch .switch-label .label {
804
- margin-right: 5px;
865
+ .Dropzone {
866
+ position: relative;
805
867
  }
806
868
 
807
- .Switch .switch-input:checked + .switch-label:before {
808
- background-color: #A5D6A7;
869
+ .Dropzone > .overlay {
870
+ position: absolute;
871
+ left: 0;
872
+ right: 0;
873
+ top: 0;
874
+ bottom: 0;
875
+ background-color: #38ADC4;
876
+ z-index: 1;
877
+ opacity: 0;
878
+ transition: all 0.2s ease;
879
+ transition-delay: 100ms;
880
+ visibility: hidden;
881
+ display: flex;
882
+ justify-content: center;
883
+ align-items: center;
809
884
  }
810
885
 
811
- .Switch .switch-input:checked + .switch-label:after {
812
- background-color: #4CAF50;
813
- transform: translate(80%, -50%);
886
+ .Dropzone > .overlay .drop {
887
+ border-radius: 4px;
888
+ border: 1px dashed #FFFFFF;
889
+ position: absolute;
890
+ top: 18px;
891
+ left: 18px;
892
+ right: 18px;
893
+ bottom: 18px;
894
+ display: flex;
895
+ justify-content: center;
896
+ align-items: center;
897
+ font-weight: 500;
898
+ font-size: 18px;
899
+ color: #FFFFFF;
814
900
  }
815
901
 
816
- .Switch .switch-input:checked + .switch-label .toggle--on {
817
- display: inline-block;
902
+ .Dropzone.dragging > .overlay {
903
+ opacity: 0.7;
904
+ visibility: visible;
905
+ transition-delay: 0s;
818
906
  }
819
907
 
820
- .Switch .switch-input:checked + .switch-label .toggle--off {
821
- display: none;
908
+ .Dropzone.dragging > * {
909
+ pointer-events: none;
822
910
  }
823
911
 
824
- .Button {
825
- position: relative;
826
- min-width: 64px;
827
- min-height: 36px;
828
- height: 24px;
829
- margin: 0px;
830
- padding: 0px 16px;
831
- border: none;
832
- outline: none;
833
- font-size: 14px;
834
- font-weight: 500;
835
- letter-spacing: 1.25px;
836
- background: #dfdfdf;
837
- text-transform: uppercase;
838
- font-family: Roboto, sans-serif;
839
- -webkit-tap-highlight-color: transparent;
840
- display: inline-flex;
841
- justify-content: center;
842
- align-items: center;
912
+ .Dropzone > input.file {
913
+ position: absolute;
914
+ left: 0;
915
+ right: 0;
916
+ top: 0;
917
+ bottom: 0;
918
+ width: 100%;
919
+ height: 100%;
920
+ opacity: 0;
843
921
  cursor: pointer;
844
- overflow: hidden;
922
+ z-index: 1;
923
+ }
924
+
925
+ .ImageGallery {
926
+ position: fixed;
927
+ top: 0;
928
+ left: 0;
929
+ bottom: 0;
930
+ right: 0;
931
+ z-index: 1000;
932
+ background-color: rgba(0, 0, 0, 0.01);
845
933
  user-select: none;
846
- border-radius: 3px;
847
- transition: all 0.2s ease;
848
934
  }
849
935
 
850
- .Button.flat {
851
- background-color: transparent;
936
+ .ImageGallery:focus {
937
+ outline-width: 0px;
852
938
  }
853
939
 
854
- .Button.flat:hover {
855
- background-color: rgba(0, 0, 0, 0.05);
940
+ .ImageGallery.animated {
941
+ transition: background-color 0.25s ease;
942
+ opacity: 1;
856
943
  }
857
944
 
858
- .Button.green {
859
- background-color: #43a047;
860
- color: white;
945
+ .ImageGallery.mounting, .ImageGallery.mounted {
946
+ background-color: rgba(0, 0, 0, 0.8);
861
947
  }
862
948
 
863
- .Button.green:hover {
864
- background-color: #3b8e3f;
949
+ .ImageGallery .image {
950
+ position: absolute;
951
+ cursor: grab;
865
952
  }
866
953
 
867
- .Button.blue {
868
- background-color: #039be5;
869
- color: white;
954
+ .ImageGallery .image .counter {
955
+ display: none;
870
956
  }
871
957
 
872
- .Button.blue:hover {
873
- background-color: #038acc;
958
+ .ImageGallery .image img {
959
+ border-radius: 4px;
960
+ max-width: 100%;
961
+ min-width: 100%;
874
962
  }
875
963
 
876
- .Button.red {
877
- background-color: #e53935;
878
- color: white;
964
+ .ImageGallery .image.animated {
965
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
966
+ will-change: top, left, width, height, opacity;
879
967
  }
880
968
 
881
- .Button.red:hover {
882
- background-color: #e2231e;
969
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
970
+ opacity: 1;
883
971
  }
884
972
 
885
- .Button.black {
886
- background-color: #1e252d;
887
- color: white;
973
+ .ImageGallery .image.zoomed {
974
+ text-align: center;
975
+ overflow: hidden;
888
976
  }
889
977
 
890
- .Button.black:hover {
891
- background-color: #14181e;
978
+ .ImageGallery .image.dragging {
979
+ transition: none;
980
+ cursor: move;
892
981
  }
893
982
 
894
- .Button.gray {
895
- background: #D9D9D9;
896
- color: #999999;
983
+ .ImageGallery .image .close {
984
+ position: absolute;
985
+ top: -18px;
986
+ right: -18px;
897
987
  }
898
988
 
899
- .Button.gray:hover {
900
- background-color: #cccccc;
901
- }
902
-
903
- .Button.small {
904
- padding: 0px 8px;
905
- min-height: 16px;
906
- min-width: 16px;
907
- }
908
-
909
- .Button > .material-icons {
910
- margin-right: 10px;
911
- }
912
-
913
- .Button.round {
914
- padding: 0px;
915
- min-width: 36px;
916
- border-radius: 50%;
917
- }
918
-
919
- .Button.round > .material-icons {
920
- margin: 0px;
989
+ .ImageGallery .image .spinner {
990
+ position: absolute;
991
+ top: 0;
992
+ bottom: 0;
993
+ left: 0;
994
+ right: 0;
995
+ background: rgba(0, 0, 0, 0.65);
921
996
  }
922
997
 
923
- .Button .ripple {
998
+ .ImageGallery .image .spinner .SpinningProgress {
924
999
  position: absolute;
925
- background: rgba(0, 0, 0, 0.1);
926
- border-radius: 100%;
927
- transform: scale(0);
928
- pointer-events: none;
929
- transition: opacity 0.2s ease-out;
1000
+ top: 50%;
1001
+ left: 50%;
1002
+ margin-left: -24px;
1003
+ margin-top: -24px;
930
1004
  }
931
1005
 
932
- .Button .ripple.show {
933
- animation: ripple 0.35s ease-out;
1006
+ .ImageGallery .image .spinner .SpinningProgress .line {
1007
+ stroke: #2196F3;
934
1008
  }
935
1009
 
936
- .Button:active .ripple.showed {
937
- opacity: 1;
1010
+ .ImageGallery .Button.animated {
1011
+ transition: all 0.25s ease;
1012
+ opacity: 0;
1013
+ transform: scale(0);
938
1014
  }
939
1015
 
940
- .Button:focus .ripple.focused {
1016
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
941
1017
  opacity: 1;
942
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
943
1018
  transform: scale(1);
944
- animation: resize 1.25s ease-out infinite;
945
- animation-delay: 0.2s;
946
- animation-direction: alternate;
947
- }
948
-
949
- .Button .ripple.showed {
950
- transform: scale(2);
951
- opacity: 0;
952
- }
953
-
954
- @keyframes ripple {
955
- to {
956
- transform: scale(2);
957
- }
958
- }
959
- @keyframes resize {
960
- to {
961
- transform: scale(0.9);
962
- }
963
- }
964
- .Button.raised {
965
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
966
1019
  }
967
1020
 
968
- .Button.raised:hover {
969
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
1021
+ .ImageGallery .Button {
1022
+ color: white;
1023
+ background: rgba(0, 0, 0, 0.4);
970
1024
  }
971
1025
 
972
- .Button.raised:active {
973
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
1026
+ .ImageGallery .Button:hover {
1027
+ background: rgba(0, 0, 0, 0.7);
974
1028
  }
975
1029
 
976
- .Button.disabled {
977
- box-shadow: none;
978
- background: #D9D9D9;
979
- color: #999999;
1030
+ .ImageGallery > .arrow {
1031
+ position: absolute;
1032
+ top: 50%;
1033
+ height: 76px;
1034
+ width: 76px;
1035
+ margin-top: -38px;
980
1036
  }
981
1037
 
982
- .Button.disabled:hover {
983
- background-color: #cccccc;
1038
+ .ImageGallery > .arrow.left {
1039
+ left: 5%;
984
1040
  }
985
1041
 
986
- .Button::-moz-focus-inner {
987
- border: 0;
1042
+ .ImageGallery > .arrow.right {
1043
+ right: 5%;
988
1044
  }
989
1045
 
990
- .TextField {
991
- position: relative;
992
- width: 100%;
1046
+ .ImageGallery > .arrow .material-icons {
1047
+ font-size: 40px;
993
1048
  }
994
1049
 
995
- .TextField > label {
996
- font-family: Roboto, sans-serif;
997
- color: rgba(0, 0, 0, 0.3);
998
- font-size: 16px;
1050
+ .ImageGallery .counter {
999
1051
  position: absolute;
1000
- left: 0px;
1001
- top: 16px;
1002
- margin-top: -16px;
1003
- transition: all 0.2s ease;
1004
- user-select: none;
1005
- cursor: text;
1052
+ top: 10px;
1053
+ left: 10px;
1054
+ color: white;
1055
+ font-size: 13px;
1006
1056
  }
1007
1057
 
1008
- .TextField > input {
1009
- font-family: Roboto, sans-serif;
1010
- color: #1e252d;
1011
- height: 19px;
1012
- font-size: 16px;
1013
- width: 100%;
1014
- border: 0px;
1015
- padding-bottom: 4px;
1016
- padding-top: 0;
1017
- outline-color: rgba(0, 0, 0, 0);
1058
+ .ImageGallery .previews {
1059
+ height: 80px;
1060
+ position: absolute;
1061
+ bottom: 15px;
1062
+ left: 50%;
1063
+ transform: translateX(-50%);
1064
+ padding: 0 45px;
1018
1065
  }
1019
1066
 
1020
- .TextField > input:focus {
1021
- outline: none;
1067
+ .ImageGallery .previews .viewport {
1068
+ overflow: hidden;
1069
+ position: relative;
1070
+ height: 100%;
1022
1071
  }
1023
1072
 
1024
- .TextField > input:disabled {
1025
- color: gray;
1026
- background-color: white;
1073
+ .ImageGallery .previews .container {
1074
+ position: relative;
1075
+ display: flex;
1076
+ flex-flow: row nowrap;
1077
+ height: 100%;
1078
+ transition: left 0.25s ease;
1027
1079
  }
1028
1080
 
1029
- .TextField > input:disabled + .border {
1030
- height: 0px;
1031
- border-bottom: 2px dotted #e0e0e0;
1081
+ .ImageGallery .previews .preview {
1082
+ position: relative;
1083
+ height: 100%;
1084
+ display: inline-block;
1085
+ width: 106.66px;
1086
+ overflow: hidden;
1087
+ margin-left: 12px;
1088
+ border-radius: 2px;
1089
+ cursor: pointer;
1090
+ box-sizing: border-box;
1032
1091
  }
1033
1092
 
1034
- .TextField > input::placeholder {
1035
- font-family: Roboto, sans-serif;
1036
- color: rgba(0, 0, 0, 0.3);
1037
- opacity: 1;
1093
+ .ImageGallery .previews .preview:first-child {
1094
+ margin-left: 0;
1038
1095
  }
1039
1096
 
1040
- .TextField > .border {
1041
- border-bottom: 1px solid #e0e0e0;
1042
- height: 1px;
1043
- position: relative;
1097
+ .ImageGallery .previews .preview > .border {
1098
+ position: absolute;
1099
+ bottom: 0;
1100
+ width: 100%;
1101
+ height: 3px;
1044
1102
  }
1045
1103
 
1046
- .TextField > .border .line {
1104
+ .ImageGallery .previews .preview > .border .line {
1047
1105
  left: 50%;
1048
1106
  width: 0;
1049
- height: 2px;
1050
- min-height: 2px;
1051
- background-color: #00bcd4;
1107
+ height: 3px;
1108
+ min-height: 3px;
1109
+ background-color: #4AC263;
1052
1110
  transition: all 0.2s ease;
1053
1111
  position: absolute;
1054
1112
  }
1055
1113
 
1056
- .TextField > .error {
1057
- text-align: left;
1058
- font-size: 10px;
1059
- min-height: 0;
1060
- line-height: 14px;
1061
- color: #f44336;
1062
- visibility: hidden;
1063
- opacity: 0;
1064
- transition: all 0.2s ease;
1065
- }
1066
-
1067
- .TextField.focused > label, .TextField.withValue > label {
1068
- top: 4px;
1069
- font-size: 12px;
1070
- line-height: 14px;
1114
+ .ImageGallery .previews .preview:after {
1115
+ content: "";
1116
+ position: absolute;
1117
+ top: 0;
1118
+ right: 0;
1119
+ bottom: 0;
1120
+ left: 0;
1121
+ background: rgba(0, 0, 0, 0.35);
1122
+ transition: background 0.2s ease;
1071
1123
  }
1072
1124
 
1073
- .TextField.errored > .error {
1074
- visibility: visible;
1075
- opacity: 1;
1125
+ .ImageGallery .previews .preview:hover:after {
1126
+ background: rgba(0, 0, 0, 0.1);
1076
1127
  }
1077
1128
 
1078
- .TextField.errored > .border {
1079
- border-bottom-color: #f44336;
1129
+ .ImageGallery .previews .preview.selected .border .line {
1130
+ left: 0;
1131
+ width: 100%;
1080
1132
  }
1081
1133
 
1082
- .TextField.errored > label {
1083
- color: #f44336;
1134
+ .ImageGallery .previews .preview.selected:after {
1135
+ background: rgba(0, 0, 0, 0);
1084
1136
  }
1085
1137
 
1086
- .TextField.focused > label {
1087
- color: #00bcd4;
1138
+ .ImageGallery .previews > .arrow {
1139
+ position: absolute;
1140
+ top: 50%;
1141
+ height: 30px;
1142
+ width: 30px;
1143
+ min-width: 30px;
1144
+ min-height: 30px;
1145
+ margin-top: -15px;
1088
1146
  }
1089
1147
 
1090
- .TextField.focused > .border .line {
1148
+ .ImageGallery .previews > .arrow.left {
1091
1149
  left: 0;
1092
- width: 100%;
1093
1150
  }
1094
1151
 
1095
- .TextField.disabled label, .TextField.disabled input {
1096
- cursor: not-allowed;
1152
+ .ImageGallery .previews > .arrow.right {
1153
+ right: 0;
1097
1154
  }
1098
1155
 
1099
- .TextField.withLabel {
1100
- margin-top: 15px;
1156
+ .ImageGallery .previews > .arrow .material-icons {
1157
+ font-size: 24px;
1101
1158
  }
1102
1159
 
1103
- .TextField input::-webkit-contacts-auto-fill-button {
1104
- visibility: hidden;
1105
- display: none !important;
1106
- pointer-events: none;
1107
- position: absolute;
1108
- right: 0;
1109
- }
1110
-
1111
- .TextField input:-webkit-autofill {
1112
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1113
- }
1114
-
1115
- @keyframes shake {
1116
- 0%, 100% {
1117
- transform: translateX(0);
1118
- }
1119
- 20%, 60% {
1120
- transform: translateX(-5px);
1121
- }
1122
- 40%, 80% {
1123
- transform: translateX(5px);
1124
- }
1125
- }
1126
- .TextField .shake {
1127
- animation-duration: 0.5s;
1128
- animation-fill-mode: both;
1129
- animation-timing-function: ease-in-out;
1130
- animation-name: shake;
1160
+ .Modal {
1161
+ display: block;
1162
+ position: fixed;
1163
+ top: 0;
1164
+ left: 0;
1165
+ right: 0;
1166
+ bottom: 100%;
1167
+ overflow-y: scroll;
1168
+ transition: bottom 0ms linear;
1169
+ transition-delay: 0.2s;
1131
1170
  }
1132
1171
 
1133
- .Button.FloatingActionButton {
1134
- position: absolute;
1135
- right: 16px;
1136
- bottom: 16px;
1137
- width: 56px;
1138
- height: 56px;
1139
- padding: 16px;
1140
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1172
+ .Modal.show {
1173
+ transition-delay: 0s;
1174
+ bottom: 0;
1141
1175
  }
1142
1176
 
1143
- .Button.FloatingActionButton.raised {
1144
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
1177
+ .Modal > .overlay {
1178
+ position: fixed;
1179
+ top: 0;
1180
+ bottom: 100%;
1181
+ left: 0;
1182
+ right: 0;
1183
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1184
+ opacity: 0;
1185
+ background-color: black;
1186
+ pointer-events: none;
1145
1187
  }
1146
1188
 
1147
- .Button.FloatingActionButton.mini {
1148
- width: 40px;
1149
- height: 40px;
1150
- padding: 8px;
1189
+ .Modal > .overlay.show {
1190
+ opacity: 0.5;
1191
+ bottom: 0;
1151
1192
  }
1152
1193
 
1153
- .Button.FloatingActionButton.hidden {
1154
- bottom: -100px;
1194
+ .Modal > .content {
1195
+ left: 50%;
1196
+ top: 10vh;
1197
+ margin-bottom: 10vh;
1198
+ font-size: 16px;
1199
+ padding: 0;
1200
+ opacity: 0;
1201
+ transition: opacity 0.25s ease, transform 0.25s ease;
1202
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1203
+ transform-origin: top;
1204
+ position: absolute;
1205
+ border-radius: 2px;
1206
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1155
1207
  }
1156
1208
 
1157
- .DNDContainer .DroppableList .Draggable {
1158
- transform: unset;
1159
- transition: unset;
1209
+ .Modal > .content.show {
1160
1210
  opacity: 1;
1211
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1161
1212
  }
1162
1213
 
1163
- .DNDContainer .DroppableList .Draggable.dragged {
1164
- transition: unset !important;
1214
+ .Modal > .content > .Scrollable {
1215
+ overflow: visible;
1216
+ max-height: 80vh;
1165
1217
  }
1166
1218
 
1167
- .DNDContainer .DroppableList.hover .Draggable {
1168
- transition: transform 0.2s ease-in;
1219
+ .Modal > .content > .Scrollable > .viewport {
1220
+ min-width: 10px;
1221
+ min-height: 10px;
1169
1222
  }
1170
1223
 
1171
- .DNDContainer .DroppableList.resetting .Draggable {
1172
- transition: transform 0.1s ease-in;
1224
+ .Modal > .content > .Button.close {
1225
+ top: 10px;
1226
+ right: 10px;
1227
+ position: absolute;
1173
1228
  }
1174
1229
 
1175
- .SpinningProgress {
1176
- width: 48px;
1177
- height: 48px;
1178
- position: relative;
1179
- margin: 0 auto;
1230
+ .ModalMenu {
1231
+ position: absolute;
1232
+ top: 10px;
1233
+ right: 50px;
1180
1234
  }
1181
1235
 
1182
- .SpinningProgress:before {
1183
- content: "";
1184
- display: block;
1185
- padding-top: 100%;
1236
+ .ModalMenu .material-icons {
1237
+ color: #818181;
1186
1238
  }
1187
1239
 
1188
- .SpinningProgress .circular {
1189
- animation: rotate 2s linear infinite;
1190
- height: 100%;
1191
- transform-origin: center center;
1192
- width: 100%;
1240
+ .ModalMenu .Button.animated {
1193
1241
  position: absolute;
1194
- top: 0;
1195
- bottom: 0;
1196
- left: 0;
1242
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1243
+ opacity: 0;
1197
1244
  right: 0;
1198
- margin: auto;
1245
+ top: 0;
1199
1246
  }
1200
1247
 
1201
- .SpinningProgress .line {
1202
- stroke: black;
1203
- stroke-width: 2px;
1204
- stroke-dasharray: 1, 96;
1205
- stroke-dashoffset: 0;
1206
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1248
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1249
+ opacity: 1;
1207
1250
  }
1208
1251
 
1209
- @keyframes rotate {
1210
- 100% {
1211
- transform: rotate(360deg);
1212
- }
1213
- }
1214
- @keyframes dash {
1215
- 0% {
1216
- stroke-dasharray: 1, 96;
1217
- stroke-dashoffset: 0;
1218
- }
1219
- 50% {
1220
- stroke-dasharray: 43, 96;
1221
- stroke-dashoffset: -17px;
1222
- }
1223
- 100% {
1224
- stroke-dasharray: 43, 96;
1225
- stroke-dashoffset: -53px;
1226
- }
1227
- }
1228
- .AutocompleteSelect {
1229
- display: inline-flex;
1230
- flex-flow: column;
1231
- justify-content: center;
1232
- position: relative;
1233
- min-width: 250px;
1234
- min-height: 36px;
1235
- user-select: none;
1252
+ .ModalMenu .Button.animated.unmounting {
1253
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1236
1254
  }
1237
1255
 
1238
- @keyframes clockwise {
1239
- 0% {
1240
- -webkit-transform: rotate(-90deg);
1241
- }
1242
- 100% {
1243
- -webkit-transform: translateX(0px);
1244
- }
1245
- }
1246
- @keyframes anticlockwise {
1247
- 0% {
1248
- -webkit-transform: rotate(90deg);
1249
- }
1250
- 100% {
1251
- -webkit-transform: translateX(0px);
1252
- }
1256
+ .ModalMenu .Button.active {
1257
+ background: #EBEBEB;
1253
1258
  }
1254
- .AutocompleteSelect > .input {
1255
- width: 100%;
1259
+
1260
+ .ModalMenu .separator {
1261
+ height: 24px;
1262
+ width: 1px;
1263
+ background-color: #D9D9D9;
1264
+ margin-left: 4px;
1256
1265
  }
1257
1266
 
1258
- .AutocompleteSelect .Scrollable {
1259
- padding-right: 0;
1260
- min-width: 100%;
1267
+ .Snackbar {
1268
+ transform: translateX(-50%);
1269
+ overflow: hidden;
1270
+ background-color: #323232;
1271
+ padding: 14px 24px 14px 24px;
1272
+ color: #fff;
1273
+ min-width: 288px;
1274
+ max-width: 568px;
1275
+ position: fixed;
1276
+ bottom: -50px;
1277
+ left: 50%;
1278
+ display: flex;
1279
+ flex-wrap: nowrap;
1280
+ align-items: center;
1281
+ opacity: 0;
1282
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1283
+ border-radius: 4px;
1284
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1261
1285
  }
1262
1286
 
1263
- .AutocompleteSelect.inline-multiple > .label {
1264
- top: -12px;
1287
+ .Snackbar.shown {
1288
+ bottom: 15px;
1289
+ opacity: 1;
1265
1290
  }
1266
1291
 
1267
- .AutocompleteSelect.inline-multiple > .selected {
1268
- flex-flow: row wrap;
1292
+ .Snackbar .message {
1293
+ overflow: hidden;
1294
+ line-height: 1.2em;
1295
+ min-height: 1.2em;
1296
+ max-height: 2.4em;
1297
+ flex: 1;
1269
1298
  }
1270
1299
 
1271
- .AutocompleteSelect.multiple-mini-inline {
1272
- height: 42px;
1300
+ .Snackbar .action {
1301
+ text-transform: uppercase;
1302
+ font-weight: bold;
1303
+ margin-left: 48px;
1304
+ color: #bf3727;
1273
1305
  }
1274
1306
 
1275
- .AutocompleteSelect.multiple-mini-inline > .label {
1276
- cursor: pointer;
1277
- width: 100%;
1278
- margin-left: -10px;
1279
- padding: 10px;
1280
- box-sizing: border-box;
1281
- top: 0;
1307
+ .Snackbar .action a {
1308
+ text-decoration: none;
1309
+ color: #bf3727;
1282
1310
  }
1283
1311
 
1284
- .AutocompleteSelect.multiple-mini-inline > .label.active {
1285
- padding: 0 10px;
1312
+ .Switch {
1313
+ display: inline-flex;
1314
+ padding-top: 5px;
1286
1315
  }
1287
1316
 
1288
- .AutocompleteSelect.multiple-mini-inline > .selected {
1289
- width: 250px;
1317
+ .Switch .switch-input {
1318
+ display: none;
1290
1319
  }
1291
1320
 
1292
- .AutocompleteSelect.multiple-mini-inline > .input {
1293
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1294
- position: absolute;
1295
- top: 38px;
1296
- z-index: 2;
1297
- background-color: white;
1298
- min-width: 130%;
1321
+ .Switch .switch-label {
1322
+ position: relative;
1323
+ display: inline-flex;
1324
+ align-items: center;
1325
+ min-width: 38px;
1326
+ height: 24px;
1327
+ cursor: pointer;
1328
+ font-weight: 500;
1329
+ text-align: left;
1330
+ user-select: none;
1331
+ margin: 0;
1332
+ padding: 0;
1333
+ padding-left: 44px;
1334
+ box-sizing: border-box;
1299
1335
  }
1300
1336
 
1301
- .AutocompleteSelect.multiple-mini-inline > .input .TextField {
1302
- padding-left: 10px;
1303
- padding-right: 10px;
1304
- width: 100%;
1337
+ .Switch .switch-label:before, .Switch .switch-label:after {
1338
+ content: "";
1305
1339
  box-sizing: border-box;
1340
+ position: absolute;
1341
+ margin: 0;
1342
+ outline: 0;
1343
+ top: 50%;
1344
+ transform: translate(0, -50%);
1345
+ transition: all 0.3s ease;
1306
1346
  }
1307
1347
 
1308
- .AutocompleteSelect.multiple-mini-inline > .input.hidden {
1309
- opacity: 0;
1310
- visibility: hidden;
1348
+ .Switch .switch-label:before {
1349
+ left: 1px;
1350
+ width: 34px;
1351
+ height: 14px;
1352
+ background-color: #9E9E9E;
1353
+ border-radius: 8px;
1311
1354
  }
1312
1355
 
1313
- .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
1314
- margin-top: 0;
1356
+ .Switch .switch-label:after {
1357
+ left: 0;
1358
+ width: 20px;
1359
+ height: 20px;
1360
+ background-color: #FAFAFA;
1361
+ border-radius: 50%;
1362
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
1315
1363
  }
1316
1364
 
1317
- .AutocompleteSelect .TextField {
1318
- margin-top: 8px;
1365
+ .Switch .switch-label .toggle--on {
1366
+ display: none;
1319
1367
  }
1320
1368
 
1321
- .AutocompleteSelect .TextField input {
1322
- font-size: 14px;
1369
+ .Switch .switch-label .toggle--off {
1370
+ display: inline-block;
1323
1371
  }
1324
1372
 
1325
- .AutocompleteSelect > .label {
1326
- position: absolute;
1327
- transition: all 0.2s ease;
1328
- font-family: Roboto, sans-serif;
1329
- font-size: 14px;
1330
- color: rgba(0, 0, 0, 0.5);
1331
- z-index: 1;
1332
- cursor: text;
1333
- user-select: none;
1334
- left: 4px;
1335
- top: 12px;
1373
+ .Switch .switch-label .label {
1374
+ margin-right: 5px;
1336
1375
  }
1337
1376
 
1338
- .AutocompleteSelect > .label.active {
1339
- font-size: 10px;
1340
- top: 2px;
1377
+ .Switch .switch-input:checked + .switch-label:before {
1378
+ background-color: #A5D6A7;
1341
1379
  }
1342
1380
 
1343
- .AutocompleteSelect > .label.active .arrow {
1344
- border-width: 4px 4px 0 4px;
1345
- margin-bottom: 1px;
1381
+ .Switch .switch-input:checked + .switch-label:after {
1382
+ background-color: #4CAF50;
1383
+ transform: translate(80%, -50%);
1346
1384
  }
1347
1385
 
1348
- .AutocompleteSelect > .label .arrow {
1349
- width: 0;
1350
- height: 0;
1351
- border-style: solid;
1352
- border-width: 5px 5px 0 5px;
1353
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
1386
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1354
1387
  display: inline-block;
1355
- margin-left: 5px;
1356
- margin-bottom: 2px;
1357
- transition: all 0.2s ease;
1358
1388
  }
1359
1389
 
1360
- .AutocompleteSelect > .selected {
1361
- margin-top: 8px;
1362
- display: flex;
1363
- cursor: pointer;
1390
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1391
+ display: none;
1364
1392
  }
1365
1393
 
1366
- .AutocompleteSelect > .selected > .reset {
1367
- min-width: 36px;
1368
- max-width: 36px;
1369
- position: absolute;
1370
- right: 0;
1371
- top: 0;
1372
- background-color: white;
1394
+ .TextField {
1395
+ position: relative;
1396
+ width: 100%;
1373
1397
  }
1374
1398
 
1375
- .AutocompleteSelect > .selected > .reset .material-icons {
1376
- margin: 0;
1377
- color: #BFBFBF;
1378
- font-size: 20px;
1399
+ .TextField > label {
1400
+ font-family: Roboto, sans-serif;
1401
+ color: rgba(0, 0, 0, 0.3);
1402
+ font-size: 16px;
1403
+ position: absolute;
1404
+ left: 0px;
1405
+ top: 16px;
1406
+ margin-top: -16px;
1407
+ transition: all 0.2s ease;
1408
+ user-select: none;
1409
+ cursor: text;
1379
1410
  }
1380
1411
 
1381
- .AutocompleteSelect > .selected.nolabel {
1382
- margin-top: 0px;
1383
- border-bottom: 1px solid #e5e3e3;
1412
+ .TextField > input {
1413
+ font-family: Roboto, sans-serif;
1414
+ color: #1e252d;
1415
+ height: 19px;
1416
+ font-size: 16px;
1417
+ width: 100%;
1418
+ border: 0px;
1419
+ padding-bottom: 4px;
1420
+ padding-top: 0;
1421
+ outline-color: rgba(0, 0, 0, 0);
1384
1422
  }
1385
1423
 
1386
- .AutocompleteSelect > .selected.nolabel .DummyChild {
1387
- display: inline-flex;
1388
- align-items: center;
1389
- flex-grow: 1;
1390
- font-size: 16px;
1391
- margin: 0px 10px;
1392
- margin-bottom: 5px;
1393
- height: 19px;
1424
+ .TextField > input:focus {
1425
+ outline: none;
1394
1426
  }
1395
1427
 
1396
- .AutocompleteSelect > .selected.nolabel .arrow {
1397
- width: 0;
1398
- height: 0;
1399
- border-style: solid;
1400
- border-width: 5px 5px 0 5px;
1401
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
1402
- display: inline-block;
1403
- transition: all 0.2s ease;
1404
- margin: 0px 17px 3px 5px;
1428
+ .TextField > input:disabled {
1429
+ color: gray;
1430
+ background-color: white;
1405
1431
  }
1406
1432
 
1407
- .AutocompleteSelect > .selected.inline {
1408
- font-size: 14px;
1409
- font-family: Roboto, sans-serif;
1410
- color: #1e252d;
1411
- text-overflow: ellipsis;
1412
- white-space: nowrap;
1413
- overflow: hidden;
1414
- display: flex;
1415
- align-items: center;
1433
+ .TextField > input:disabled + .border {
1434
+ height: 0px;
1435
+ border-bottom: 2px dotted #e0e0e0;
1416
1436
  }
1417
1437
 
1418
- .AutocompleteSelect > .selected.clickable {
1419
- overflow: hidden;
1420
- cursor: pointer;
1421
- padding: 10px;
1422
- margin-left: -10px;
1423
- margin-right: -10px;
1438
+ .TextField > input::placeholder {
1439
+ font-family: Roboto, sans-serif;
1440
+ color: rgba(0, 0, 0, 0.3);
1441
+ opacity: 1;
1424
1442
  }
1425
1443
 
1426
- .AutocompleteSelect.inlineSelected {
1427
- flex-flow: row wrap;
1428
- justify-content: flex-start;
1444
+ .TextField > .border {
1445
+ border-bottom: 1px solid #e0e0e0;
1446
+ height: 1px;
1447
+ position: relative;
1429
1448
  }
1430
1449
 
1431
- .AutocompleteSelect.inlineSelected.hasSelected {
1432
- padding-top: 7px;
1450
+ .TextField > .border .line {
1451
+ left: 50%;
1452
+ width: 0;
1453
+ height: 2px;
1454
+ min-height: 2px;
1455
+ background-color: #00bcd4;
1456
+ transition: all 0.2s ease;
1457
+ position: absolute;
1433
1458
  }
1434
1459
 
1435
- .AutocompleteSelect.inlineSelected > .label {
1436
- width: 100%;
1437
- height: 100%;
1460
+ .TextField > .error {
1461
+ text-align: left;
1462
+ font-size: 10px;
1463
+ min-height: 0;
1464
+ line-height: 14px;
1465
+ color: #f44336;
1466
+ visibility: hidden;
1467
+ opacity: 0;
1468
+ transition: all 0.2s ease;
1438
1469
  }
1439
1470
 
1440
- .AutocompleteSelect.inlineSelected > .label.active {
1441
- z-index: 0;
1471
+ .TextField.focused > label, .TextField.withValue > label {
1472
+ top: 4px;
1473
+ font-size: 12px;
1474
+ line-height: 14px;
1442
1475
  }
1443
1476
 
1444
- .AutocompleteSelect.inlineSelected .input {
1445
- width: unset;
1446
- flex-basis: 50px;
1447
- flex-grow: 1;
1477
+ .TextField.errored > .error {
1478
+ visibility: visible;
1479
+ opacity: 1;
1448
1480
  }
1449
1481
 
1450
- .AutocompleteSelect.inlineSelected .input::after {
1451
- content: attr(data-value);
1452
- visibility: hidden;
1453
- white-space: pre;
1454
- font: inherit;
1455
- min-width: 2px;
1456
- border: 0;
1457
- margin: 0;
1458
- outline: 0;
1459
- float: left;
1460
- display: inline-block;
1461
- margin-top: -24px;
1462
- font-size: 14px;
1463
- padding: 2px;
1482
+ .TextField.errored > .border {
1483
+ border-bottom-color: #f44336;
1464
1484
  }
1465
1485
 
1466
- .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
1467
- margin-top: 7px;
1486
+ .TextField.errored > label {
1487
+ color: #f44336;
1468
1488
  }
1469
1489
 
1470
- .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
1471
- cursor: pointer;
1472
- margin: 5px 10px 5px 0px;
1473
- display: inline-flex;
1474
- flex-flow: row wrap;
1475
- height: 30px;
1476
- align-items: center;
1477
- background-color: #f0f0f0;
1478
- border-radius: 30px;
1479
- position: relative;
1480
- font-family: Roboto, sans-serif;
1481
- font-size: 14px;
1482
- color: #1e252d;
1490
+ .TextField.focused > label {
1491
+ color: #00bcd4;
1483
1492
  }
1484
1493
 
1485
- .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
1486
- padding-left: 35px;
1487
- padding-right: 10px;
1494
+ .TextField.focused > .border .line {
1495
+ left: 0;
1496
+ width: 100%;
1488
1497
  }
1489
1498
 
1490
- .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
1491
- cursor: pointer;
1492
- min-width: 30px;
1493
- width: 30px;
1494
- height: 30px;
1495
- opacity: 0;
1496
- position: absolute;
1497
- top: 0px;
1498
- left: 0px;
1499
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1500
- background-color: deepskyblue;
1501
- color: white;
1502
- border-radius: 30px;
1503
- display: flex;
1504
- flex-flow: row;
1505
- justify-content: center;
1506
- align-items: center;
1507
- animation: anticlockwise 0.15s linear;
1499
+ .TextField.disabled label, .TextField.disabled input {
1500
+ cursor: not-allowed;
1508
1501
  }
1509
1502
 
1510
- .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
1511
- font-size: 22px;
1503
+ .TextField.withLabel {
1504
+ margin-top: 15px;
1512
1505
  }
1513
1506
 
1514
- .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
1515
- width: 30px;
1516
- height: 30px;
1517
- opacity: 1;
1518
- animation: clockwise 0.15s linear;
1519
- overflow: hidden;
1507
+ .TextField input::-webkit-contacts-auto-fill-button {
1508
+ visibility: hidden;
1509
+ display: none !important;
1510
+ pointer-events: none;
1520
1511
  position: absolute;
1512
+ right: 0;
1521
1513
  }
1522
1514
 
1523
- .Checkbox {
1524
- position: relative;
1525
- white-space: pre;
1515
+ .TextField input:-webkit-autofill {
1516
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1526
1517
  }
1527
1518
 
1528
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
1529
- box-sizing: border-box;
1519
+ @keyframes shake {
1520
+ 0%, 100% {
1521
+ transform: translateX(0);
1522
+ }
1523
+ 20%, 60% {
1524
+ transform: translateX(-5px);
1525
+ }
1526
+ 40%, 80% {
1527
+ transform: translateX(5px);
1528
+ }
1529
+ }
1530
+ .TextField .shake {
1531
+ animation-duration: 0.5s;
1532
+ animation-fill-mode: both;
1533
+ animation-timing-function: ease-in-out;
1534
+ animation-name: shake;
1530
1535
  }
1531
1536
 
1532
- .Checkbox label {
1533
- font-family: Roboto, sans-serif;
1534
- font-size: 14px;
1535
- color: #1e252d;
1536
- cursor: pointer;
1537
+ .SpinningProgress {
1538
+ width: 48px;
1539
+ height: 48px;
1540
+ position: relative;
1541
+ margin: 0 auto;
1537
1542
  }
1538
1543
 
1539
- .Checkbox label:before, .Checkbox label:after {
1544
+ .SpinningProgress:before {
1540
1545
  content: "";
1546
+ display: block;
1547
+ padding-top: 100%;
1548
+ }
1549
+
1550
+ .SpinningProgress .circular {
1551
+ animation: rotate 2s linear infinite;
1552
+ height: 100%;
1553
+ transform-origin: center center;
1554
+ width: 100%;
1541
1555
  position: absolute;
1542
- left: 0;
1543
1556
  top: 0;
1557
+ bottom: 0;
1558
+ left: 0;
1559
+ right: 0;
1560
+ margin: auto;
1544
1561
  }
1545
1562
 
1546
- .Checkbox label:before {
1547
- width: 20px;
1548
- height: 20px;
1549
- background: #fff;
1550
- border: 2px solid #252525;
1551
- border-radius: 2px;
1552
- cursor: pointer;
1553
- transition: background 0.3s;
1563
+ .SpinningProgress .line {
1564
+ stroke: black;
1565
+ stroke-width: 2px;
1566
+ stroke-dasharray: 1, 96;
1567
+ stroke-dashoffset: 0;
1568
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1554
1569
  }
1555
1570
 
1556
- .Checkbox input[type=checkbox] {
1557
- outline: 0;
1558
- margin-right: 10px;
1559
- visibility: hidden;
1571
+ @keyframes rotate {
1572
+ 100% {
1573
+ transform: rotate(360deg);
1574
+ }
1575
+ }
1576
+ @keyframes dash {
1577
+ 0% {
1578
+ stroke-dasharray: 1, 96;
1579
+ stroke-dashoffset: 0;
1580
+ }
1581
+ 50% {
1582
+ stroke-dasharray: 43, 96;
1583
+ stroke-dashoffset: -17px;
1584
+ }
1585
+ 100% {
1586
+ stroke-dasharray: 43, 96;
1587
+ stroke-dashoffset: -53px;
1588
+ }
1589
+ }
1590
+ .Button.FloatingActionButton {
1591
+ position: absolute;
1592
+ right: 16px;
1593
+ bottom: 16px;
1594
+ width: 56px;
1595
+ height: 56px;
1596
+ padding: 16px;
1597
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1560
1598
  }
1561
1599
 
1562
- .Checkbox input[type=checkbox]:checked + label:before {
1563
- background: #4AC263;
1564
- border: none;
1600
+ .Button.FloatingActionButton.raised {
1601
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
1565
1602
  }
1566
1603
 
1567
- .Checkbox input[type=checkbox]:checked + label:after {
1568
- transform: rotate(-45deg);
1569
- top: 6px;
1570
- left: 4px;
1571
- width: 12px;
1572
- height: 6px;
1573
- border: 2px solid #fff;
1574
- border-top-style: none;
1575
- border-right-style: none;
1604
+ .Button.FloatingActionButton.mini {
1605
+ width: 40px;
1606
+ height: 40px;
1607
+ padding: 8px;
1576
1608
  }
1577
1609
 
1578
- .Checkbox input[type=checkbox]:disabled + label {
1579
- color: gray;
1610
+ .Button.FloatingActionButton.hidden {
1611
+ bottom: -100px;
1580
1612
  }
1581
1613
 
1582
- .Checkbox input[type=checkbox]:disabled + label:before {
1583
- border-color: rgba(0, 0, 0, 0.26);
1614
+ .DNDContainer .DroppableList .Draggable {
1615
+ transform: unset;
1616
+ transition: unset;
1617
+ opacity: 1;
1584
1618
  }
1585
1619
 
1586
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
1587
- background: rgba(0, 0, 0, 0.26);
1620
+ .DNDContainer .DroppableList .Draggable.dragged {
1621
+ transition: unset !important;
1588
1622
  }
1589
1623
 
1590
- .DialogModal {
1591
- overflow: hidden;
1624
+ .DNDContainer .DroppableList.hover .Draggable {
1625
+ transition: transform 0.2s ease-in;
1592
1626
  }
1593
1627
 
1594
- .DialogModal .content {
1595
- top: 20vh;
1628
+ .DNDContainer .DroppableList.resetting .Draggable {
1629
+ transition: transform 0.1s ease-in;
1596
1630
  }
1597
1631
 
1598
- .Dialog {
1599
- background-color: white;
1600
- min-width: 460px;
1601
- max-width: 40vw;
1602
- padding: 15px;
1632
+ .CalendarMonthView {
1633
+ display: flex;
1634
+ flex-flow: column nowrap;
1635
+ height: 100%;
1603
1636
  }
1604
1637
 
1605
- .Dialog .title {
1606
- margin-bottom: 15px;
1607
- padding: 20px 50px 0px 30px;
1608
- font-size: 1.25rem;
1609
- line-height: 2rem;
1610
- font-weight: 400;
1611
- letter-spacing: 0.0125em;
1638
+ .CalendarMonthView > .row {
1639
+ display: flex;
1640
+ flex-flow: row nowrap;
1612
1641
  }
1613
1642
 
1614
- .Dialog .description {
1615
- color: rgba(0, 0, 0, 0.54);
1616
- font-size: 1rem;
1617
- line-height: 1.5rem;
1618
- font-weight: 400;
1619
- letter-spacing: 0.03125em;
1620
- margin-top: 20px;
1621
- padding: 0 24px 24px;
1643
+ .CalendarMonthView .days {
1644
+ flex-grow: 1;
1645
+ position: relative;
1622
1646
  }
1623
1647
 
1624
- .Dialog > div.row {
1625
- margin-bottom: 15px;
1648
+ .CalendarMonthView .day, .CalendarMonthView .header {
1649
+ flex-grow: 1;
1650
+ flex-basis: 1px;
1626
1651
  }
1627
1652
 
1628
- .Dialog > div.row:last-child {
1629
- margin-bottom: 0;
1653
+ .CalendarMonthView .day {
1654
+ height: 100%;
1630
1655
  }
1631
1656
 
1632
1657
  .DNDContainer {
@@ -1661,31 +1686,6 @@
1661
1686
  pointer-events: none;
1662
1687
  }
1663
1688
 
1664
- .CalendarMonthView {
1665
- display: flex;
1666
- flex-flow: column nowrap;
1667
- height: 100%;
1668
- }
1669
-
1670
- .CalendarMonthView > .row {
1671
- display: flex;
1672
- flex-flow: row nowrap;
1673
- }
1674
-
1675
- .CalendarMonthView .days {
1676
- flex-grow: 1;
1677
- position: relative;
1678
- }
1679
-
1680
- .CalendarMonthView .day, .CalendarMonthView .header {
1681
- flex-grow: 1;
1682
- flex-basis: 1px;
1683
- }
1684
-
1685
- .CalendarMonthView .day {
1686
- height: 100%;
1687
- }
1688
-
1689
1689
  .DatePicker {
1690
1690
  position: relative;
1691
1691
  }
@@ -1800,14 +1800,6 @@
1800
1800
  background-color: #51adf6;
1801
1801
  }
1802
1802
 
1803
- .ScrollableTable .Scrollable .scrollbar {
1804
- top: 56px;
1805
- }
1806
-
1807
- .ScrollableTable .Table {
1808
- position: static;
1809
- }
1810
-
1811
1803
  .Table {
1812
1804
  font-family: Roboto, sans-serif;
1813
1805
  font-size: 14px;
@@ -1920,4 +1912,12 @@
1920
1912
  height: 20px;
1921
1913
  padding: 0px;
1922
1914
  background-color: #f0f0f0;
1915
+ }
1916
+
1917
+ .ScrollableTable .Scrollable .scrollbar {
1918
+ top: 56px;
1919
+ }
1920
+
1921
+ .ScrollableTable .Table {
1922
+ position: static;
1923
1923
  }