Skip to content

Commit 38b681c

Browse files
authored
Fix icon display in Firefox. Fixes #73 (#114)
* Avoid non-spec-compliant `::after` in `<input>`
1 parent 4d41da8 commit 38b681c

File tree

3 files changed

+26
-8
lines changed

3 files changed

+26
-8
lines changed

lib/js/index.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,11 @@ class DateTimePicker extends Events {
137137
this.$('.c-datepicker__clock--pm')
138138
.addEventListener('click', e => this.clickPm(e), false);
139139

140+
this.$('.js-show-calendar')
141+
.addEventListener('click', e => this.clickShowCalendar(e), false);
142+
this.$('.js-show-clock')
143+
.addEventListener('click', e => this.clickShowClock(e), false)
144+
140145
return this;
141146
}
142147

@@ -211,6 +216,16 @@ class DateTimePicker extends Events {
211216
return this;
212217
}
213218

219+
clickShowCalendar() {
220+
this.$(".js-show-calendar").classList.add("is-selected");
221+
this.$(".js-show-clock").classList.remove("is-selected");
222+
}
223+
224+
clickShowClock() {
225+
this.$(".js-show-clock").classList.add("is-selected");
226+
this.$(".js-show-calendar").classList.remove("is-selected");
227+
}
228+
214229
data(val) {
215230
return (val ? this.set(val) : this.value);
216231
}

lib/scss/material-datetime-picker.scss

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,11 @@ $primary: #00bcd4;
157157
}
158158
}
159159

160-
.c-datepicker--show-time:checked ~ .c-datepicker__header .c-datepicker__header-date__time {
160+
.c-datepicker--show-time.is-selected ~ .c-datepicker__header .c-datepicker__header-date__time {
161161
opacity: 1
162162
}
163163

164-
.c-datepicker--show-calendar:checked {
164+
.c-datepicker--show-calendar.is-selected {
165165
~ .c-datepicker__header {
166166
.c-datepicker__header-date__month, .c-datepicker__header-date__day {
167167
opacity: 1
@@ -277,7 +277,8 @@ $primary: #00bcd4;
277277

278278
.c-datepicker__toggle {
279279
top: 170px;
280-
width: 23px;
280+
width: 36px;
281+
height: 30px;
281282
visibility: hidden;
282283
opacity: 0.5;
283284
z-index: 1;
@@ -292,15 +293,15 @@ $primary: #00bcd4;
292293
left: 10px;
293294
}
294295

295-
.c-datepicker__toggle:checked {
296+
.c-datepicker__toggle.is-selected {
296297
opacity: 1;
297298
}
298299

299-
.c-datepicker--show-time:checked ~ .c-datepicker__calendar {
300+
.c-datepicker--show-time.is-selected ~ .c-datepicker__calendar {
300301
display: none;
301302
}
302303

303-
.c-datepicker--show-calendar:checked ~ .c-datepicker__clock {
304+
.c-datepicker--show-calendar.is-selected ~ .c-datepicker__clock {
304305
display: none;
305306
}
306307

lib/template/datepicker.template.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
export default () => `
22
<div class="c-datepicker">
3-
<input class="c-datepicker__toggle c-datepicker__toggle--right c-datepicker--show-time" type="radio" name="date-toggle" value="time" >
3+
<a class="c-datepicker__toggle c-datepicker__toggle--right c-datepicker--show-time js-show-clock" title="show time picker">
4+
</a>
45
5-
<input class="c-datepicker__toggle c-datepicker__toggle--left c-datepicker--show-calendar" type="radio" name="date-toggle" value="calendar" checked>
6+
<a class="c-datepicker__toggle c-datepicker__toggle--left c-datepicker--show-calendar is-selected js-show-calendar" title="show date picker">
7+
</a>
68
79
<div class="c-datepicker__header">
810
<div class="c-datepicker__header-day">

0 commit comments

Comments
 (0)