Skip to content

Commit 9907fd7

Browse files
committed
Date Range picker dark mode support
1 parent ee72d99 commit 9907fd7

File tree

9 files changed

+88
-3
lines changed

9 files changed

+88
-3
lines changed

src/main/java/gwt/material/design/incubator/client/dark/IncubatorDarkThemeLoader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package gwt.material.design.incubator.client.dark;
2121

2222
import gwt.material.design.client.theme.dark.DarkThemeLoader;
23+
import gwt.material.design.incubator.client.daterange.DateRangeDarkTheme;
2324
import gwt.material.design.incubator.client.google.addresslookup.AddressLookupDarkTheme;
2425
import gwt.material.design.incubator.client.placeholder.PlaceholderDarkTheme;
2526
import gwt.material.design.incubator.client.progress.ProgressLineBarDarkTheme;
@@ -30,6 +31,7 @@ public class IncubatorDarkThemeLoader extends DarkThemeLoader {
3031

3132
public IncubatorDarkThemeLoader() {
3233
super(new AddressLookupDarkTheme(),
34+
new DateRangeDarkTheme(),
3335
new GroupToggleDarkTheme(),
3436
new PlaceholderDarkTheme(),
3537
new ProgressLineBarDarkTheme(),

src/main/java/gwt/material/design/incubator/client/daterange/DateRangeClientBundle.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,7 @@ public interface DateRangeClientBundle extends ClientBundle {
4141

4242
@Source("resources/css/daterangepicker-materialize.min.css")
4343
TextResource dateRangePickerOverrideCss();
44+
45+
@Source("resources/css/daterangepicker-dark.min.css")
46+
TextResource dateRangeDarkCss();
4447
}

src/main/java/gwt/material/design/incubator/client/daterange/DateRangeClientDebugBundle.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,7 @@ public interface DateRangeClientDebugBundle extends ClientBundle {
4040

4141
@Source("resources/css/daterangepicker-materialize.css")
4242
TextResource dateRangePickerOverrideDebugCss();
43+
44+
@Source("resources/css/daterangepicker-dark.css")
45+
TextResource dateRangeDarkCss();
4346
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package gwt.material.design.incubator.client.daterange;
2+
3+
import gwt.material.design.addins.client.dark.AddinsWidgetDarkTheme;
4+
import gwt.material.design.incubator.client.AddinsIncubator;
5+
import gwt.material.design.incubator.client.tag.TagClientBundle;
6+
import gwt.material.design.incubator.client.tag.TagDebugClientBundle;
7+
8+
public class DateRangeDarkTheme extends AddinsWidgetDarkTheme {
9+
10+
public DateRangeDarkTheme() {
11+
super(AddinsIncubator.isDebug() ? DateRangeClientDebugBundle.INSTANCE.dateRangeDarkCss() : DateRangeClientBundle.INSTANCE.dateRangeDarkCss());
12+
}
13+
}

src/main/java/gwt/material/design/incubator/client/daterange/DateRangePicker.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import gwt.material.design.client.ui.html.Label;
4848
import gwt.material.design.incubator.client.AddinsIncubator;
4949
import gwt.material.design.incubator.client.base.matcher.DateMonthMatcher;
50+
import gwt.material.design.incubator.client.dark.IncubatorDarkThemeReloader;
5051
import gwt.material.design.incubator.client.daterange.constants.DateRangeElementSelector;
5152
import gwt.material.design.incubator.client.daterange.events.*;
5253
import gwt.material.design.incubator.client.daterange.events.SelectionEvent;
@@ -182,6 +183,8 @@ protected void load() {
182183
getHandlerRegistry().registerHandler(Window.addResizeHandler(event -> detectPosition()));
183184

184185
setId(DOM.createUniqueId());
186+
187+
IncubatorDarkThemeReloader.get().reload(DateRangeDarkTheme.class);
185188
}
186189

187190
protected void detectPosition() {
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
.daterangepicker,
2+
.daterangepicker .calendar-table,
3+
.daterangepicker td.off,
4+
.daterangepicker td.off.in-range,
5+
.daterangepicker td.off.start-date,
6+
.daterangepicker td.off.end-date {
7+
background-color: #2e3033;
8+
border-color: #2e3033;
9+
}
10+
11+
.daterangepicker:after {
12+
border-bottom: 6px solid #2e3033;
13+
}
14+
15+
.daterangepicker:before {
16+
border-bottom: 7px solid #2e3033;
17+
}
18+
19+
.daterangepicker th.month {
20+
color: rgba(255, 255, 255, .6);
21+
}
22+
23+
.daterangepicker .calendar-table .next span,
24+
.daterangepicker .calendar-table .prev span {
25+
border: solid white;
26+
border-width: 0 2px 2px 0;
27+
}
28+
29+
.daterangepicker .drp-buttons {
30+
border-top: 1px solid #3d3d3d;
31+
}
32+
33+
.daterangepicker td.active,
34+
.daterangepicker td.active:hover,
35+
.daterangepicker td.in-range.active:not(.off) {
36+
background-color: #bb86fc;
37+
color: #292929;
38+
}
39+
40+
.daterangepicker td.available:hover,
41+
.daterangepicker th.available:hover {
42+
background-color: #2e3033;
43+
}
44+
45+
.daterangepicker td.available:hover:after {
46+
border: 2px solid #bb86fc;
47+
}
48+
49+
.daterangepicker td.in-range,
50+
.daterangepicker td.available.in-range:hover:not(.active) {
51+
background-color: rgba(187, 134, 252, .08);
52+
color: #bb86fc;
53+
}
54+
55+
button.cancelBtn {
56+
color: #bb86fc;
57+
}
58+
59+
.daterangepicker:not(.single) .drp-buttons {
60+
background-color: #2e3033;
61+
}

src/main/resources/gwt/material/design/incubator/client/daterange/resources/css/daterangepicker-dark.min.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/resources/gwt/material/design/incubator/client/daterange/resources/css/daterangepicker-materialize.css

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,10 @@
2626
.daterangepicker .calendar-table th.next {
2727
position: absolute;
2828
right: 0;
29-
top: 12px;
3029
}
3130

3231
.daterangepicker .calendar-table th.prev {
3332
position: absolute;
34-
top: 12px;
3533
left: 0px;
3634
}
3735

@@ -65,6 +63,7 @@
6563
.daterangepicker td.in-range,
6664
.daterangepicker td.available.in-range:hover:not(.active) {
6765
background-color: #e3f2fd;
66+
color: #42a5f5;
6867
}
6968

7069
.daterangepicker td.available:hover {

src/main/resources/gwt/material/design/incubator/client/daterange/resources/css/daterangepicker-materialize.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)