material-sass 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -3
  3. data/Rakefile +4 -4
  4. data/assets/javascripts/material-sprockets.js +0 -1
  5. data/assets/javascripts/material.js +2994 -2927
  6. data/assets/javascripts/material.min.js +10 -10
  7. data/assets/javascripts/material/components/expansion-panel.js +1 -3
  8. data/assets/javascripts/material/components/floating-label.js +2 -3
  9. data/assets/javascripts/material/components/nav-drawer.js +10 -32
  10. data/assets/javascripts/material/components/pickdate.js +228 -0
  11. data/assets/javascripts/material/components/selection-control-focus.js +2 -2
  12. data/assets/javascripts/material/components/tab-switch.js +4 -20
  13. data/assets/javascripts/material/components/util.js +16 -1
  14. data/assets/stylesheets/material/_colors.scss +2 -0
  15. data/assets/stylesheets/material/_functions.scss +6 -0
  16. data/assets/stylesheets/material/_mixins.scss +0 -2
  17. data/assets/stylesheets/material/_print.scss +26 -1
  18. data/assets/stylesheets/material/_utilities.scss +1 -0
  19. data/assets/stylesheets/material/base/_base.scss +5 -2
  20. data/assets/stylesheets/material/bootstrap/_breadcrumb.scss +10 -7
  21. data/assets/stylesheets/material/bootstrap/_popover.scss +1 -2
  22. data/assets/stylesheets/material/bootstrap/_transition.scss +6 -10
  23. data/assets/stylesheets/material/material.scss +2 -0
  24. data/assets/stylesheets/material/material/_card.scss +58 -96
  25. data/assets/stylesheets/material/material/_chip.scss +1 -0
  26. data/assets/stylesheets/material/material/_data-table.scss +57 -1
  27. data/assets/stylesheets/material/material/_dialog.scss +2 -2
  28. data/assets/stylesheets/material/material/_expansion-panel.scss +4 -0
  29. data/assets/stylesheets/material/material/_menu.scss +164 -54
  30. data/assets/stylesheets/material/material/_navdrawer.scss +5 -6
  31. data/assets/stylesheets/material/material/_picker.scss +78 -67
  32. data/assets/stylesheets/material/material/_progress.scss +1 -6
  33. data/assets/stylesheets/material/material/_selection-control.scss +1 -1
  34. data/assets/stylesheets/material/material/_slider.scss +157 -0
  35. data/assets/stylesheets/material/material/_snackbar.scss +125 -0
  36. data/assets/stylesheets/material/material/_text-field-input-group.scss +101 -10
  37. data/assets/stylesheets/material/material/_text-field.scss +10 -15
  38. data/assets/stylesheets/material/material/_toolbar.scss +0 -16
  39. data/assets/stylesheets/material/material/_tooltip.scss +2 -2
  40. data/assets/stylesheets/material/mixins/_form.scss +2 -1
  41. data/assets/stylesheets/material/mixins/_nav-divider.scss +2 -2
  42. data/assets/stylesheets/material/mixins/_screenreader.scss +0 -2
  43. data/assets/stylesheets/material/mixins/_text-hide.scss +2 -0
  44. data/assets/stylesheets/material/mixins/_transition.scss +20 -0
  45. data/assets/stylesheets/material/utilities/_background.scss +5 -0
  46. data/assets/stylesheets/material/utilities/_flex.scss +17 -1
  47. data/assets/stylesheets/material/utilities/_position.scss +1 -0
  48. data/assets/stylesheets/material/utilities/_shadows.scss +23 -0
  49. data/assets/stylesheets/material/utilities/_text.scss +18 -0
  50. data/assets/stylesheets/material/variables/_elevation-shadow.scss +53 -47
  51. data/assets/stylesheets/material/variables/_palette.scss +9 -8
  52. data/assets/stylesheets/material/variables/_spacer.scss +2 -0
  53. data/assets/stylesheets/material/variables/_transition.scss +2 -0
  54. data/assets/stylesheets/material/variables/_typography.scss +3 -3
  55. data/assets/stylesheets/material/variables/_variable-bootstrap.scss +9 -8
  56. data/assets/stylesheets/material/variables/_variable-material.scss +56 -18
  57. data/lib/material-sass/version.rb +1 -1
  58. metadata +6 -6
  59. data/assets/javascripts/material/addons/pickadate.js +0 -152
  60. data/assets/stylesheets/material.min.css +0 -13
  61. data/assets/stylesheets/material/mixins/_hex-to-rgba.scss +0 -3
  62. data/assets/stylesheets/material/mixins/_strip-unit.scss +0 -3
@@ -26,6 +26,7 @@
26
26
  line-height: inherit;
27
27
  margin-right: ($chip-inner-spacer-x - $chip-padding-x);
28
28
  margin-left: $chip-inner-spacer-x;
29
+ min-height: $material-icon-size;
29
30
  min-width: $material-icon-size;
30
31
  order: 1;
31
32
  }
@@ -61,6 +61,54 @@
61
61
  }
62
62
  }
63
63
 
64
+ .card > & {
65
+ &:first-child {
66
+ &,
67
+ > :first-child,
68
+ > :first-child > tr:first-child {
69
+ @include border-top-radius($card-border-radius);
70
+ }
71
+
72
+ > :first-child > tr:first-child {
73
+ // stylelint-disable selector-max-compound-selectors
74
+ td,
75
+ th {
76
+ &:first-child {
77
+ border-top-left-radius: $card-border-radius;
78
+ }
79
+
80
+ &:last-child {
81
+ border-top-right-radius: $card-border-radius;
82
+ }
83
+ }
84
+ // stylelint-enable
85
+ }
86
+ }
87
+
88
+ &:last-child {
89
+ &,
90
+ > :last-child,
91
+ > :last-child > tr:last-child {
92
+ @include border-bottom-radius($card-border-radius);
93
+ }
94
+
95
+ > :last-child > tr:last-child {
96
+ // stylelint-disable selector-max-compound-selectors
97
+ td,
98
+ th {
99
+ &:first-child {
100
+ border-bottom-left-radius: $card-border-radius;
101
+ }
102
+
103
+ &:last-child {
104
+ border-bottom-right-radius: $card-border-radius;
105
+ }
106
+ }
107
+ // stylelint-enable
108
+ }
109
+ }
110
+ }
111
+
64
112
  .table {
65
113
  border-top: $table-border-width solid $table-border-color;
66
114
  }
@@ -82,7 +130,11 @@
82
130
  }
83
131
 
84
132
  .table-bordered {
85
- box-shadow: map-get($table-elevation-shadow, shadow);
133
+ border: $table-border-width solid $table-border-color;
134
+
135
+ .card > & {
136
+ border: 0;
137
+ }
86
138
  }
87
139
 
88
140
  .table-sm {
@@ -210,6 +262,10 @@
210
262
  background-color: $table-dark-bg;
211
263
  color: $table-dark-color;
212
264
 
265
+ &.table-bordered {
266
+ border-color: $table-dark-border-color;
267
+ }
268
+
213
269
  &.table-striped {
214
270
  tbody tr:nth-of-type(odd) {
215
271
  background-color: $table-dark-bg-accent;
@@ -15,7 +15,7 @@
15
15
  .modal-dialog {
16
16
  @include transition-standard-complex(transform);
17
17
 
18
- transform: scale($dialog-scale);
18
+ transform: scale($dialog-transition-scale);
19
19
  }
20
20
  }
21
21
 
@@ -50,7 +50,6 @@
50
50
  .modal-content {
51
51
  @include border-radius($dialog-border-radius);
52
52
 
53
- background-clip: padding-box;
54
53
  background-color: $dialog-content-bg;
55
54
  box-shadow: map-get($dialog-elevation-shadow, shadow);
56
55
  display: flex;
@@ -59,6 +58,7 @@
59
58
  pointer-events: auto;
60
59
  position: relative;
61
60
  vertical-align: baseline;
61
+ width: 100%;
62
62
  }
63
63
 
64
64
  .modal-dialog {
@@ -121,6 +121,10 @@
121
121
  + .expansion-panel {
122
122
  @include border-top-radius($expansion-panel-border-radius);
123
123
 
124
+ &.show {
125
+ margin-top: 0;
126
+ }
127
+
124
128
  .card & {
125
129
  @include border-top-radius(0);
126
130
  }
@@ -21,6 +21,8 @@
21
21
  min-width: $menu-min-width;
22
22
  padding: $menu-padding-y 0;
23
23
  position: absolute;
24
+ top: 100%;
25
+ left: 0;
24
26
  z-index: map-get($menu-elevation-shadow, elevation);
25
27
 
26
28
  &.show {
@@ -38,6 +40,10 @@
38
40
  @include media-breakpoint-up(lg) {
39
41
  animation-duration: $transition-duration-desktop;
40
42
  }
43
+
44
+ @media screen and (prefers-reduced-motion: reduce) {
45
+ animation: none;
46
+ }
41
47
  }
42
48
 
43
49
  &::before {
@@ -64,7 +70,6 @@
64
70
  &::before {
65
71
  @include border-radius($menu-border-radius);
66
72
 
67
- background-clip: padding-box;
68
73
  background-color: $menu-bg;
69
74
  box-shadow: map-get($menu-elevation-shadow, shadow);
70
75
  content: '';
@@ -84,7 +89,7 @@
84
89
  }
85
90
 
86
91
  .menu {
87
- margin-top: (($menu-link-height - ($menu-link-height - $menu-line-height) / 2) * -1 + $menu-padding-y * -1);
92
+ margin-top: (($btn-height + $menu-padding-y) * -1 + ($menu-link-height - $btn-height) / -2);
88
93
 
89
94
  &::before {
90
95
  transform-origin: 0 ($menu-link-height / 2 + $menu-padding-y);
@@ -95,6 +100,163 @@
95
100
  outline: 0;
96
101
  }
97
102
 
103
+ .dropdown-menu-right:not([x-placement]) {
104
+ right: 0;
105
+ left: auto;
106
+
107
+ &.menu::before {
108
+ transform-origin: 100% ($menu-link-height / 2 + $menu-padding-y);
109
+ }
110
+
111
+ &::before {
112
+ transform-origin: 100% 0;
113
+ }
114
+ }
115
+
116
+ .dropleft {
117
+ .dropdown-menu:not([x-placement]) {
118
+ top: 0;
119
+ right: 100%;
120
+ left: auto;
121
+
122
+ &.menu {
123
+ margin-top: 0;
124
+ }
125
+
126
+ &::before {
127
+ transform-origin: 100% 0;
128
+ }
129
+ }
130
+ }
131
+
132
+ .dropright {
133
+ .dropdown-menu:not([x-placement]) {
134
+ top: 0;
135
+ left: 100%;
136
+
137
+ &.menu {
138
+ margin-top: 0;
139
+ }
140
+
141
+ &::before {
142
+ transform-origin: 0 0;
143
+ }
144
+ }
145
+ }
146
+
147
+ .dropup {
148
+ .dropdown-menu:not([x-placement]) {
149
+ top: auto;
150
+ bottom: 100%;
151
+
152
+ &.menu {
153
+ margin-top: 0;
154
+ margin-bottom: (($btn-height + $menu-padding-y) * -1 + ($menu-link-height - $btn-height) / -2);
155
+
156
+ &::before {
157
+ transform-origin: 0 calc(100% - #{$menu-link-height / 2 + $menu-padding-y});
158
+ }
159
+ }
160
+
161
+ &::before {
162
+ transform-origin: 0 100%;
163
+ }
164
+
165
+ > :nth-child(1),
166
+ > :nth-child(2),
167
+ > :nth-child(3) {
168
+ animation-name: dropdown-item-show;
169
+ }
170
+
171
+ > :nth-last-child(1) {
172
+ animation-name: dropdown-item-show-1;
173
+ }
174
+
175
+ > :nth-last-child(2) {
176
+ animation-name: dropdown-item-show-2;
177
+ }
178
+
179
+ > :nth-last-child(3) {
180
+ animation-name: dropdown-item-show-3;
181
+ }
182
+ }
183
+
184
+ .dropdown-menu-right:not([x-placement]) {
185
+ &.menu::before {
186
+ transform-origin: 100% calc(100% - #{$menu-link-height / 2 + $menu-padding-y});
187
+ }
188
+
189
+ &::before {
190
+ transform-origin: 100% 100%;
191
+ }
192
+ }
193
+ }
194
+
195
+ .dropdown-menu[x-placement='bottom-end']::before,
196
+ .dropdown-menu[x-placement='left-start']::before {
197
+ transform-origin: 100% 0;
198
+ }
199
+
200
+ .dropdown-menu[x-placement='top-end'].show,
201
+ .dropdown-menu[x-placement='top-start'].show {
202
+ > :nth-child(1),
203
+ > :nth-child(2),
204
+ > :nth-child(3) {
205
+ animation-name: dropdown-item-show;
206
+ }
207
+
208
+ > :nth-last-child(1) {
209
+ animation-name: dropdown-item-show-1;
210
+ }
211
+
212
+ > :nth-last-child(2) {
213
+ animation-name: dropdown-item-show-2;
214
+ }
215
+
216
+ > :nth-last-child(3) {
217
+ animation-name: dropdown-item-show-3;
218
+ }
219
+ }
220
+
221
+ .dropdown-menu[x-placement='top-end']::before {
222
+ transform-origin: 100% 100%;
223
+ }
224
+
225
+ .dropdown-menu[x-placement='top-start']::before {
226
+ transform-origin: 0 100%;
227
+ }
228
+
229
+ .menu[x-placement='bottom-end']::before {
230
+ transform-origin: 100% ($menu-link-height / 2 + $menu-padding-y);
231
+ }
232
+
233
+ .menu[x-placement='left-start'],
234
+ .menu[x-placement='right-start'] {
235
+ margin-top: 0;
236
+ }
237
+
238
+ .menu[x-placement='left-start']::before {
239
+ transform-origin: 100% 0;
240
+ }
241
+
242
+ .menu[x-placement='right-start']::before {
243
+ transform-origin: 0 0;
244
+ }
245
+
246
+ .menu[x-placement='top-end'],
247
+ .menu[x-placement='top-start'] {
248
+ margin-top: 0;
249
+ margin-bottom: (($btn-height + $menu-padding-y) * -1 + ($menu-link-height - $btn-height) / -2);
250
+ }
251
+
252
+ .menu[x-placement='top-end']::before {
253
+ transform-origin: 100% calc(100% - #{$menu-link-height / 2 + $menu-padding-y});
254
+ }
255
+
256
+ .menu[x-placement='top-start']::before {
257
+ transform-origin: 0 calc(100% - #{$menu-link-height / 2 + $menu-padding-y});
258
+ }
259
+
98
260
  @keyframes dropdown-item-show {
99
261
  0% {
100
262
  opacity: 0;
@@ -187,58 +349,6 @@
187
349
  }
188
350
  }
189
351
 
190
- .dropdown-menu[x-placement='bottom-end']::before,
191
- .dropdown-menu[x-placement='left-start']::before {
192
- transform-origin: 100% 0;
193
- }
194
-
195
- .dropdown-menu[x-placement='top-end'].show,
196
- .dropdown-menu[x-placement='top-start'].show {
197
- > :nth-child(1),
198
- > :nth-child(2),
199
- > :nth-child(3) {
200
- animation-name: dropdown-item-show;
201
- }
202
-
203
- > :nth-last-child(1) {
204
- animation-name: dropdown-item-show-1;
205
- }
206
-
207
- > :nth-last-child(2) {
208
- animation-name: dropdown-item-show-2;
209
- }
210
-
211
- > :nth-last-child(3) {
212
- animation-name: dropdown-item-show-3;
213
- }
214
- }
215
-
216
- .dropdown-menu[x-placement='top-end']::before {
217
- transform-origin: 100% 100%;
218
- }
219
-
220
- .dropdown-menu[x-placement='top-start']::before {
221
- transform-origin: 0 100%;
222
- }
223
-
224
- .menu[x-placement='bottom-end']::before {
225
- transform-origin: 100% ($menu-link-height / 2 + $menu-padding-y);
226
- }
227
-
228
- .menu[x-placement='top-end'],
229
- .menu[x-placement='top-start'] {
230
- margin-top: 0;
231
- margin-bottom: (($menu-link-height - ($menu-link-height - $menu-line-height) / 2) * -1 + $menu-padding-y * -1);
232
- }
233
-
234
- .menu[x-placement='top-end']::before {
235
- transform-origin: 100% calc(100% - #{$menu-link-height / 2 + $menu-padding-y});
236
- }
237
-
238
- .menu[x-placement='top-start']::before {
239
- transform-origin: 0 calc(100% - #{$menu-link-height / 2 + $menu-padding-y});
240
- }
241
-
242
352
  // Cascading menu for desktop
243
353
 
244
354
  .dropdown-menu-sm,
@@ -168,14 +168,17 @@
168
168
  @include media-breakpoint-up($next) {
169
169
  .navdrawer-backdrop-permanent#{$infix} {
170
170
  display: none;
171
+ transition: none;
171
172
  }
172
173
 
173
174
  .navdrawer-backdrop-persistent#{$infix} {
174
175
  display: none;
176
+ transition: none;
175
177
  }
176
178
 
177
179
  .navdrawer-backdrop-temporary#{$infix} {
178
180
  display: none;
181
+ transition: none;
179
182
  }
180
183
 
181
184
  .navdrawer-permanent#{$infix} {
@@ -183,16 +186,11 @@
183
186
  display: block !important; // stylelint-disable-line declaration-no-important
184
187
  right: auto;
185
188
  width: $navdrawer-width;
189
+ z-index: auto;
186
190
 
187
191
  &.navdrawer-permanent-clipped,
188
192
  &.navdrawer-permanent-float {
189
193
  top: $toolbar-height;
190
- z-index: (map-get($toolbar-elevation-shadow, elevation) - 1);
191
- }
192
-
193
- &.navdrawer-permanent-clipped {
194
- border-top: $navdrawer-border-width solid $navdrawer-border-color;
195
- margin-top: ($navdrawer-border-width * -1);
196
194
  }
197
195
 
198
196
  &.navdrawer-permanent-float {
@@ -229,6 +227,7 @@
229
227
  .navdrawer-persistent#{$infix} {
230
228
  right: auto;
231
229
  width: $navdrawer-width;
230
+ z-index: auto;
232
231
 
233
232
  &.navdrawer-persistent-clipped {
234
233
  border-top: $navdrawer-border-width solid $navdrawer-border-color;
@@ -1,110 +1,88 @@
1
1
  .picker {
2
- position: absolute;
3
- user-select: none;
4
- z-index: map-get($picker-elevation-shadow, elevation);
5
- }
6
-
7
- .picker-box {
8
- @include border-bottom-radius($picker-border-radius);
9
-
10
- background-color: $picker-content-bg;
11
- overflow: hidden;
12
- }
13
-
14
- .picker-frame {
15
- @include transition-standard-complex(opacity);
16
-
17
- background-color: $picker-holder-bg;
18
- opacity: 0;
19
- position: absolute;
20
- top: 0;
21
- right: 0;
22
- bottom: 0;
23
- left: 0;
24
- text-align: center;
25
- vertical-align: middle;
26
- white-space: nowrap;
27
-
28
- &::after {
29
- content: '';
30
- display: inline-block;
31
- height: 100%;
32
- vertical-align: middle;
33
- width: 1px;
34
- }
35
-
36
- .picker-opened & {
37
- opacity: 1;
38
- }
39
- }
40
-
41
- .picker-holder {
42
2
  outline: 0;
43
- overflow-x: hidden;
44
- overflow-y: auto;
3
+ overflow: hidden;
45
4
  position: fixed;
46
5
  top: 0;
47
6
  right: 0;
48
7
  bottom: 0;
49
8
  left: 0;
50
9
  transform: translate3d(0, 100%, 0);
51
- transition-delay: $transition-duration-mobile-complex;
10
+ transition-delay: ($transition-duration-mobile + $transition-duration-mobile-complex);
52
11
  transition-duration: 0;
53
12
  transition-property: transform;
13
+ z-index: map-get($picker-elevation-shadow, elevation);
54
14
 
55
15
  @include media-breakpoint-up(sm) {
56
- transition-delay: $transition-duration-tablet-complex;
16
+ transition-delay: ($transition-duration-tablet + $transition-duration-tablet-complex);
57
17
  }
58
18
 
59
19
  @include media-breakpoint-up(lg) {
60
- transition-delay: $transition-duration-desktop-complex;
20
+ transition-delay: ($transition-duration-desktop + $transition-duration-desktop-complex);
61
21
  }
62
22
 
63
- .picker-opened & {
64
- opacity: 1;
23
+ @media screen and (prefers-reduced-motion: reduce) {
24
+ transition: none;
25
+ }
26
+
27
+ &.picker-opened {
65
28
  overflow-x: hidden;
66
29
  overflow-y: auto;
67
30
  transform: translate3d(0, 0, 0);
68
31
  transition: none;
69
-
70
- &::before {
71
- opacity: 1;
72
- }
73
32
  }
74
33
  }
75
34
 
76
- .picker-input {
77
- &.form-control[readonly] {
78
- border-bottom-style: solid;
79
- color: inherit;
80
- cursor: text;
35
+ .picker-frame {
36
+ margin: $picker-margin-y $picker-margin-x;
37
+ }
38
+
39
+ .picker-holder {
40
+ @include transition-standard(opacity);
41
+
42
+ align-items: center;
43
+ background-color: $picker-holder-bg;
44
+ display: flex;
45
+ justify-content: center;
46
+ min-height: 100%;
47
+ min-width: 100%;
48
+ opacity: 0;
49
+ pointer-events: none;
50
+ transition-delay: $transition-duration-mobile-complex;
51
+
52
+ @include media-breakpoint-up(sm) {
53
+ transition-delay: $transition-duration-tablet-complex;
81
54
  }
82
55
 
83
- &.picker-input-active {
84
- border-bottom-color: $textfield-border-color-focus;
56
+ @include media-breakpoint-up(lg) {
57
+ transition-delay: $transition-duration-desktop-complex;
58
+ }
59
+
60
+ .picker-opened & {
61
+ opacity: 1;
62
+ transition-delay: 0s;
85
63
  }
86
64
  }
87
65
 
88
66
  .picker-wrap {
89
67
  @include border-radius($picker-border-radius);
90
- @include transition-standard-complex(transform);
68
+ @include transition-standard-complex(opacity, transform);
91
69
  @include typography-body-1;
92
70
 
93
71
  box-shadow: map-get($picker-elevation-shadow, shadow);
94
- display: inline-block;
95
- margin: $picker-margin-y $picker-margin-x;
96
72
  max-width: ($picker-cell-size * 7 + $picker-inner-spacer-x * 2);
73
+ opacity: 0;
97
74
  outline: 0;
75
+ pointer-events: auto;
98
76
  position: relative;
99
- transform: scale(0.87);
100
- vertical-align: middle;
77
+ transform: scale($picker-transition-scale);
101
78
 
102
79
  @media (orientation: landscape) {
103
- display: inline-flex;
80
+ display: flex;
104
81
  max-width: none;
105
82
  }
106
83
 
107
84
  .picker-opened & {
85
+ opacity: 1;
108
86
  transform: scale(1);
109
87
  }
110
88
  }
@@ -112,11 +90,14 @@
112
90
  // Footer
113
91
 
114
92
  .picker-footer {
93
+ @include border-bottom-radius($picker-border-radius);
94
+
115
95
  display: flex;
116
96
  justify-content: flex-end;
117
97
  padding: $picker-inner-spacer-y $picker-inner-spacer-x;
118
98
 
119
99
  @media (orientation: landscape) {
100
+ border-radius: 0 0 $picker-border-radius 0;
120
101
  padding-right: ($picker-inner-spacer-x * 1.5);
121
102
  padding-left: ($picker-inner-spacer-x * 1.5);
122
103
  }
@@ -139,8 +120,10 @@
139
120
  line-height: $picker-cell-size;
140
121
  margin-right: $picker-inner-spacer-x;
141
122
  margin-left: $picker-inner-spacer-x;
123
+ padding-right: ($picker-cell-size + $picker-inner-spacer-x);
124
+ padding-left: ($picker-cell-size + $picker-inner-spacer-x);
142
125
  position: relative;
143
- vertical-align: middle;
126
+ text-align: center;
144
127
 
145
128
  @media (orientation: landscape) {
146
129
  margin-top: $picker-inner-spacer-y;
@@ -193,13 +176,15 @@
193
176
 
194
177
  .picker-date-display {
195
178
  @include border-top-radius($picker-border-radius);
196
- @include text-align(left);
197
179
 
198
180
  background-color: $picker-header-bg;
199
181
  color: color-yiq($picker-header-bg);
200
182
  padding: $picker-header-padding-y $picker-header-padding-x;
201
183
 
202
184
  @media (orientation: landscape) {
185
+ @include border-left-radius($picker-border-radius);
186
+
187
+ border-top-right-radius: 0;
203
188
  min-width: ($picker-cell-size * 3.5 + $picker-inner-spacer-x * 2);
204
189
  white-space: nowrap;
205
190
  }
@@ -227,6 +212,33 @@
227
212
  }
228
213
  }
229
214
 
215
+ // Misc
216
+
217
+ .picker-box {
218
+ @include border-bottom-radius($picker-border-radius);
219
+
220
+ background-color: $picker-content-bg;
221
+ overflow: hidden;
222
+
223
+ @media (orientation: landscape) {
224
+ @include border-right-radius($picker-border-radius);
225
+
226
+ border-bottom-left-radius: 0;
227
+ }
228
+ }
229
+
230
+ .picker-input {
231
+ &.form-control[readonly] {
232
+ border-bottom-style: solid;
233
+ color: inherit;
234
+ cursor: text;
235
+ }
236
+
237
+ &.picker-input-active {
238
+ border-bottom-color: $textfield-border-color-focus;
239
+ }
240
+ }
241
+
230
242
  // Table
231
243
 
232
244
  .picker-day {
@@ -294,7 +306,6 @@
294
306
  @include transition-standard(opacity);
295
307
 
296
308
  appearance: none;
297
- background-clip: padding-box;
298
309
  background-color: $picker-select-bg;
299
310
  background-image: none;
300
311
  background-position: 100% 50%;