material_components_web-sass 0.11.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,8 @@
28
28
  justify-content: flex-end;
29
29
  padding: 0;
30
30
  box-sizing: border-box;
31
+ border-radius: 2px;
32
+ overflow: hidden;
31
33
 
32
34
  &__primary {
33
35
  padding: 16px;
@@ -32,10 +32,29 @@ $mdc-dialog-dark-theme-bg-color: #303030 !default;
32
32
  .mdc-dialog {
33
33
  display: flex;
34
34
  position: fixed;
35
+ top: 0;
36
+ left: 0;
35
37
  align-items: center;
36
38
  justify-content: center;
37
- opacity: 0;
38
- z-index: -1;
39
+ width: 100%;
40
+ height: 100%;
41
+ visibility: hidden;
42
+ z-index: 2;
43
+
44
+ &__backdrop {
45
+ position: fixed;
46
+ top: 0;
47
+ left: 0;
48
+ align-items: center;
49
+ justify-content: center;
50
+ width: 100%;
51
+ height: 100%;
52
+
53
+ @include mdc-theme-prop(background-color, text-primary-on-light);
54
+
55
+ opacity: 0;
56
+ z-index: -1;
57
+ }
39
58
 
40
59
  &__surface {
41
60
  display: inline-flex;
@@ -47,7 +66,6 @@ $mdc-dialog-dark-theme-bg-color: #303030 !default;
47
66
  min-width: 640px;
48
67
  max-width: 865px;
49
68
  transform: translateY(150px) scale(.8);
50
- transition: mdc-animation-enter(opacity, 120ms), mdc-animation-enter(transform, 120ms);
51
69
  border-radius: 2px;
52
70
 
53
71
  @include mdc-theme-prop(background-color, background);
@@ -66,22 +84,6 @@ $mdc-dialog-dark-theme-bg-color: #303030 !default;
66
84
  opacity: 0;
67
85
  }
68
86
 
69
- &__backdrop {
70
- display: flex;
71
- position: fixed;
72
- top: 0;
73
- left: 0;
74
- align-items: center;
75
- justify-content: center;
76
- width: 100%;
77
- height: 100%;
78
-
79
- @include mdc-theme-prop(background-color, text-primary-on-light);
80
-
81
- opacity: 0;
82
- z-index: -1;
83
- }
84
-
85
87
  &__header {
86
88
  display: flex;
87
89
  align-items: center;
@@ -131,6 +133,14 @@ $mdc-dialog-dark-theme-bg-color: #303030 !default;
131
133
  align-items: center;
132
134
  justify-content: flex-end;
133
135
  padding: 8px;
136
+
137
+ &__button {
138
+ margin-right: 8px;
139
+
140
+ &:last-child {
141
+ margin-right: 0;
142
+ }
143
+ }
134
144
  }
135
145
 
136
146
  // TODO: Replace with breakpoint variable
@@ -145,28 +155,34 @@ $mdc-dialog-dark-theme-bg-color: #303030 !default;
145
155
  line-height: 24px;
146
156
  }
147
157
  }
148
- }
149
158
 
150
- .mdc-dialog--open {
151
- display: flex;
152
- top: 0;
153
- left: 0;
154
- align-items: center;
155
- justify-content: center;
156
- width: 100%;
157
- height: 100%;
158
- opacity: 1;
159
- z-index: 2;
159
+ &--animating {
160
+ visibility: visible;
161
+
162
+ .mdc-dialog__backdrop {
163
+ transition: mdc-animation-enter(opacity, 120ms);
164
+ }
160
165
 
161
- .mdc-dialog__surface {
162
- transform: translateY(0) scale(1);
163
- transition: mdc-animation-enter(opacity, 120ms), mdc-animation-enter(transform, 120ms);
164
- opacity: 1;
166
+ .mdc-dialog--open .mdc-dialog__surface {
167
+ transition: mdc-animation-enter(opacity, 120ms), mdc-animation-enter(transform, 120ms);
168
+ }
169
+
170
+ .mdc-dialog__surface {
171
+ transition: mdc-animation-enter(opacity, 120ms), mdc-animation-enter(transform, 120ms);
172
+ }
165
173
  }
166
174
 
167
- .mdc-dialog__backdrop {
168
- transition: mdc-animation-enter(opacity, 120ms);
169
- opacity: .3;
175
+ &--open {
176
+ visibility: visible;
177
+
178
+ .mdc-dialog__backdrop {
179
+ opacity: .3;
180
+ }
181
+
182
+ .mdc-dialog__surface {
183
+ transform: translateY(0) scale(1);
184
+ opacity: 1;
185
+ }
170
186
  }
171
187
  }
172
188
 
@@ -41,8 +41,8 @@ $mdc-permanent-drawer-dark-theme-bg-color: #212121 !default;
41
41
 
42
42
  display: inline-flex;
43
43
  flex-direction: column;
44
+ flex: 0 0 auto;
44
45
  width: $mdc-permanent-drawer-width;
45
- height: 100%;
46
46
  box-sizing: border-box;
47
47
  overflow: hidden;
48
48
 
@@ -65,7 +65,7 @@
65
65
 
66
66
  @include mdc-slideable-drawer;
67
67
 
68
- @include mdc-rtl(".mdc-temporary-drawer__drawer") {
68
+ @include mdc-rtl(".mdc-temporary-drawer") {
69
69
  @include mdc-slideable-drawer-rtl;
70
70
  }
71
71
 
@@ -0,0 +1,150 @@
1
+ //
2
+ // Copyright 2017 Google Inc. All Rights Reserved.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ @keyframes primary-indeterminate-translate {
18
+ 0% {
19
+ transform: translateX(0);
20
+ }
21
+
22
+ 20% {
23
+ animation-timing-function: cubic-bezier(.5, 0, .701732, .495819);
24
+ transform: translateX(0);
25
+ }
26
+
27
+ 59.15% {
28
+ animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352);
29
+ transform: translateX(83.67142%);
30
+ }
31
+
32
+ 100% {
33
+ transform: translateX(200.611057%);
34
+ }
35
+ }
36
+
37
+ @keyframes primary-indeterminate-scale {
38
+ 0% {
39
+ transform: scaleX(.08);
40
+ }
41
+
42
+ 36.65% {
43
+ animation-timing-function: cubic-bezier(.334731, .12482, .785844, 1);
44
+ transform: scaleX(.08);
45
+ }
46
+
47
+ 69.15% {
48
+ animation-timing-function: cubic-bezier(.06, .11, .6, 1);
49
+ transform: scaleX(.661479);
50
+ }
51
+
52
+ 100% {
53
+ transform: scaleX(.08);
54
+ }
55
+ }
56
+
57
+ @keyframes secondary-indeterminate-translate {
58
+ 0% {
59
+ animation-timing-function: cubic-bezier(.15, 0, .515058, .409685);
60
+ transform: translateX(0);
61
+ }
62
+
63
+ 25% {
64
+ animation-timing-function: cubic-bezier(.31033, .284058, .8, .733712);
65
+ transform: translateX(37.651913%);
66
+ }
67
+
68
+ 48.35% {
69
+ animation-timing-function: cubic-bezier(.4, .627035, .6, .902026);
70
+ transform: translateX(84.386165%);
71
+ }
72
+
73
+ 100% {
74
+ transform: translateX(160.277782%);
75
+ }
76
+ }
77
+
78
+ @keyframes secondary-indeterminate-scale {
79
+ 0% {
80
+ animation-timing-function: cubic-bezier(.205028, .057051, .57661, .453971);
81
+ transform: scaleX(.08);
82
+ }
83
+
84
+ 19.15% {
85
+ animation-timing-function: cubic-bezier(.152313, .196432, .648374, 1.004315);
86
+ transform: scaleX(.457104);
87
+ }
88
+
89
+ 44.15% {
90
+ animation-timing-function: cubic-bezier(.257759, -.003163, .211762, 1.38179);
91
+ transform: scaleX(.72796);
92
+ }
93
+
94
+ 100% {
95
+ transform: scaleX(.08);
96
+ }
97
+ }
98
+
99
+ @keyframes buffering {
100
+ to {
101
+ transform: translateX(-10px);
102
+ }
103
+ }
104
+
105
+ @keyframes primary-indeterminate-translate-reverse {
106
+ 0% {
107
+ transform: translateX(0);
108
+ }
109
+
110
+ 20% {
111
+ animation-timing-function: cubic-bezier(.5, 0, .701732, .495819);
112
+ transform: translateX(0);
113
+ }
114
+
115
+ 59.15% {
116
+ animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352);
117
+ transform: translateX(-83.67142%);
118
+ }
119
+
120
+ 100% {
121
+ transform: translateX(-200.611057%);
122
+ }
123
+ }
124
+
125
+ @keyframes secondary-indeterminate-translate-reverse {
126
+ 0% {
127
+ animation-timing-function: cubic-bezier(.15, 0, .515058, .409685);
128
+ transform: translateX(0);
129
+ }
130
+
131
+ 25% {
132
+ animation-timing-function: cubic-bezier(.31033, .284058, .8, .733712);
133
+ transform: translateX(-37.651913%);
134
+ }
135
+
136
+ 48.35% {
137
+ animation-timing-function: cubic-bezier(.4, .627035, .6, .902026);
138
+ transform: translateX(-84.386165%);
139
+ }
140
+
141
+ 100% {
142
+ transform: translateX(-160.277782%);
143
+ }
144
+ }
145
+
146
+ @keyframes buffering-reverse {
147
+ to {
148
+ transform: translateX(10px);
149
+ }
150
+ }
@@ -0,0 +1,135 @@
1
+ // Copyright 2017 Google Inc. All Rights Reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ @import "@material/animation/functions";
16
+ @import "@material/theme/mixins";
17
+ @import "./keyframes";
18
+
19
+ .mdc-linear-progress {
20
+ position: relative;
21
+ width: 100%;
22
+ height: 4px;
23
+ transform: translateZ(0);
24
+ transition: mdc-animation-exit(opacity, 250ms);
25
+ overflow: hidden;
26
+
27
+ &__bar {
28
+ animation: none;
29
+ position: absolute;
30
+ width: 100%;
31
+ height: 100%;
32
+ transform-origin: top left;
33
+ transition: mdc-animation-exit(transform, 250ms);
34
+ }
35
+
36
+ &__bar-inner {
37
+ @include mdc-theme-prop(background-color, primary);
38
+
39
+ animation: none;
40
+ display: inline-block;
41
+ position: absolute;
42
+ width: 100%;
43
+ height: 100%;
44
+ }
45
+
46
+ &--accent .mdc-linear-progress__bar-inner {
47
+ @include mdc-theme-prop(background-color, accent);
48
+ }
49
+
50
+ &__buffering-dots {
51
+ position: absolute;
52
+ width: 100%;
53
+ height: 100%;
54
+ // SVG is optimized for data URI (https://codepen.io/tigt/post/optimizing-svgs-in-data-uris)
55
+ // stylelint-disable-next-line function-url-quotes
56
+ background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E");
57
+ background-repeat: repeat-x;
58
+ background-size: 10px 4px;
59
+ animation: buffering 250ms infinite linear;
60
+ }
61
+
62
+ &__buffer {
63
+ position: absolute;
64
+ width: 100%;
65
+ height: 100%;
66
+ transform-origin: top left;
67
+ transition: mdc-animation-exit(transform, 250ms);
68
+ background-color: #e6e6e6;
69
+ }
70
+
71
+ &__secondary-bar {
72
+ visibility: hidden;
73
+ }
74
+
75
+ &--indeterminate {
76
+ .mdc-linear-progress__bar {
77
+ transition: none;
78
+ }
79
+
80
+ .mdc-linear-progress__primary-bar {
81
+ animation: primary-indeterminate-translate 2s infinite linear;
82
+ left: -145.166611%;
83
+
84
+ > .mdc-linear-progress__bar-inner {
85
+ animation: primary-indeterminate-scale 2s infinite linear;
86
+ }
87
+ }
88
+
89
+ .mdc-linear-progress__secondary-bar {
90
+ animation: secondary-indeterminate-translate 2s infinite linear;
91
+ left: -54.888891%;
92
+ visibility: visible;
93
+
94
+ > .mdc-linear-progress__bar-inner {
95
+ animation: secondary-indeterminate-scale 2s infinite linear;
96
+ }
97
+ }
98
+ }
99
+
100
+ &--reversed {
101
+ .mdc-linear-progress__bar,
102
+ .mdc-linear-progress__buffer {
103
+ right: 0;
104
+ transform-origin: center right;
105
+ }
106
+
107
+ .mdc-linear-progress__primary-bar {
108
+ animation-name: primary-indeterminate-translate-reverse;
109
+ }
110
+
111
+ .mdc-linear-progress__secondary-bar {
112
+ animation-name: secondary-indeterminate-translate-reverse;
113
+ }
114
+
115
+ .mdc-linear-progress__buffering-dots {
116
+ animation: buffering-reverse 250ms infinite linear;
117
+ }
118
+ }
119
+
120
+ &--closed {
121
+ opacity: 0;
122
+ }
123
+ }
124
+
125
+ .mdc-linear-progress--indeterminate.mdc-linear-progress--reversed {
126
+ .mdc-linear-progress__primary-bar {
127
+ right: -145.166611%;
128
+ left: auto;
129
+ }
130
+
131
+ .mdc-linear-progress__secondary-bar {
132
+ right: -54.888891%;
133
+ left: auto;
134
+ }
135
+ }
@@ -157,11 +157,11 @@ a.mdc-list-item {
157
157
  @include mdc-ripple-base;
158
158
  @include mdc-ripple-bg((pseudo: "::before"));
159
159
  @include mdc-ripple-fg((pseudo: "::after"));
160
+ @include mdc-rtl-reflexive-position(left, $mdc-list-side-padding * -1);
160
161
 
161
162
  position: relative;
162
163
  // Cause the upgraded list item to cover the entirety of the list, causing ripples to emanate
163
164
  // across the entire list element.
164
- left: $mdc-list-side-padding * -1;
165
165
  width: 100%;
166
166
  padding: 0 $mdc-list-side-padding;
167
167
  overflow: hidden;