jekyll-theme-mdui 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37823d72bb0e12190af9bb7fee9285daeff95aa7
4
- data.tar.gz: bd56fa645ca7589344d837c411480847d569ecf0
3
+ metadata.gz: 62f035c4acfe1721d2c3b36b1fe38379d9840e2b
4
+ data.tar.gz: 8056e5c007bba4b39d9023d5a26f189f02214a33
5
5
  SHA512:
6
- metadata.gz: 6dc4dac37916ee769ff5660577e0e55147d82626305f687d182c7e918a8865def8095d1e7425c5e609522b6de8e4544bf8b815685c14e27095303871b568636f
7
- data.tar.gz: 17159d657f5a7fc3abdcdca07f359dd071414e45072bbc6785f5561c9d9be52078ba70e2af244b4a6e0e8a2a27823f45e598d2ce0d0d705f093e24caef0c401d
6
+ metadata.gz: 29b083f7bba618039bfa30e5ad8c3400a600e1ca7a3a81a9a8093dd7e98c7daa7efa7636f30b510dc21e680b2ed32d6663958343263e3f686d35efe10dfc1118
7
+ data.tar.gz: 06c729a31f96fd1d7c333782c509111dc1c5e4a1933a4d1600528c2db14ac4fe7bd2a1b1ef3ce44640f10de1b891134c2b329445e00f73963a1cd9b0d4dea911
data/README.md CHANGED
@@ -4,6 +4,14 @@ A Jekyll theme based on mdui
4
4
 
5
5
  [demo](https://blog.kejun.space)
6
6
 
7
+ [![Version](https://img.shields.io/badge/version-0.1.0-green.svg?style=flat-square)]()
8
+ [![Jekyll](https://img.shields.io/badge/Jekyll-3.4+-green.svg?style=flat-square)](https://jekyllrb.com/)
9
+
10
+ [![Build Status](https://img.shields.io/travis/KeJunMao/jekyll-theme-mdui.svg?style=flat-square)](https://travis-ci.org/KeJunMao/jekyll-theme-mdui)
11
+ [![Gem](https://img.shields.io/gem/dt/jekyll-theme-mdui.svg?style=flat-square)](https://rubygems.org/gems/jekyll-theme-mdui/)
12
+
13
+ [![Author](https://img.shields.io/badge/author-KeJun-blue.svg?style=flat-square)](https://blog.kejun.space)
14
+
7
15
  ## Installation
8
16
 
9
17
  We have two ways to install themes.
@@ -88,6 +96,12 @@ gems: # paginate gem
88
96
  url: /pages/menus/search.html # path
89
97
  icon: search # icon from https://www.mdui.org/docs/material_icon
90
98
  ```
99
+ Default does not display the editor.If you want the editor to appear in the menu:
100
+ ```yml
101
+ - name: Editor # name
102
+ url: /pages/editor.html # path
103
+ icon: edit # icon from https://www.mdui.org/docs/material_icon
104
+ ```
91
105
  * sns.yml
92
106
  ```yml
93
107
  - name: bilibili # name,supported:bilibili,facebook,github,gplus,instagram,linkedin,telegram,tumblr,twitter,weibo,zhihu
@@ -190,6 +204,7 @@ If you use the first method to install, you need to download the following files
190
204
  * sw.js
191
205
  * search.json
192
206
  * feed.xml
207
+ * mainifest.json
193
208
  * _data/friends.yml
194
209
  * _data/menus.yml
195
210
  * _data/sns.yml
@@ -17,9 +17,9 @@
17
17
  <div class="mdui-col mdui-text-center" style="line-height:48px">
18
18
  Copyright ©<script>var fd=new Date;document.write("&nbsp;"+fd.getFullYear()+"&nbsp;")</script> {{site.title}}
19
19
  </div>
20
- <div class="mdui-col mdui-text-center">
21
- <div>Powered by Jekyll</div>
22
- <div>Theme-jekyll-theme-mdui</div>
20
+ <div class="mdui-col mdui-text-center mdui-typo">
21
+ <div>Powered by <a href="https://jekyllrb.com">Jekyll</a></div>
22
+ <div>Theme <a href="https://github.com/KeJunMao/jekyll-theme-mdui">jekyll-theme-mdui</a></div>
23
23
  </div>
24
24
  </div>
25
25
  </div>
data/_includes/head.html CHANGED
@@ -19,6 +19,12 @@
19
19
  <link rel="preload" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css" as="style" onload="this.rel='stylesheet'">
20
20
  <noscript><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css"></noscript>
21
21
  {% endif %}
22
+ {% if page.layout == "editor" %}
23
+ <link rel="preload" href="{{ "/assets/css/pickerdata.css" | prepend: site.baseurl }}" as="style" onload="this.rel='stylesheet'">
24
+ <noscript><link rel="stylesheet" href="{{ "/assets/css/pickerdata.css" | prepend: site.baseurl }}"></noscript>
25
+ <link rel="preload" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css" as="style" onload="this.rel='stylesheet'">
26
+ <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css"></noscript>
27
+ {% endif %}
22
28
  <script>
23
29
  /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
24
30
  !function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b}("undefined"!=typeof global?global:this);
@@ -5,6 +5,118 @@
5
5
  {% if page.layout =='search' %}
6
6
  <script src="{{ "/assets/js/jquery.typeahead.min.js" | prepend: site.baseurl }}"></script>
7
7
  {% endif %}
8
+ {% if page.layout =='editor' %}
9
+ <script src="{{ "/assets/js/pickerdata.js" | prepend: site.baseurl }}"></script>
10
+ <script src="{{ "/assets/js/chips.js" | prepend: site.baseurl }}"></script>
11
+ <script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>
12
+ <script>
13
+ $(function(){
14
+ $('.datepicker').pickadate({
15
+ selectMonths: true,
16
+ selectYears: 15
17
+ });
18
+
19
+ $('input:radio[name="group1"]').on("click",function(){
20
+ var categories = $('input:radio[name="group1"]:checked').val();
21
+ if (categories ==="radio_custom"){
22
+
23
+ }
24
+ });
25
+ $('.chips').material_chip();
26
+ $('.chips-initial').material_chip({
27
+ data: [],
28
+ });
29
+ $('.chips-placeholder').material_chip({
30
+ placeholder: 'Enter a tag',
31
+ secondaryPlaceholder: '+Tag',
32
+ });
33
+ $("#imgurl").blur(function(){
34
+ var text = $("#imgurl").val().toLowerCase();
35
+ if (text.indexOf("jpg") >= 0 || text.indexOf("jpeg") >= 0 || text.indexOf("png") >= 0 || text.indexOf("gif") >= 0 || text.indexOf("svg") >= 0 || text.indexOf("webp") >= 0){
36
+ $("#img").attr('src',$("#imgurl").val());
37
+ }
38
+ });
39
+ var simplemde = new SimpleMDE({
40
+ autosave: {
41
+ enabled: true,
42
+ unique_id: "newposts",
43
+ }
44
+ });
45
+ function k_getDate(e,t){
46
+ var date = new Date(e);
47
+ var Y = date.getFullYear() + '-';
48
+ var M = date.getMonth()+1 + '-';
49
+ var D = date.getDate();
50
+ if(t=== true){
51
+ var h = date.getHours() + ':';
52
+ var m = date.getMinutes() + ':';
53
+ var s = date.getSeconds() + ' +0800';
54
+ return Y+M+D+' '+h+m+s;
55
+ }else{
56
+ return Y+M+D;
57
+ }
58
+ };
59
+ function k_getCategores(e){
60
+ if (e.val() == "radio_custom"){
61
+ return $("input[name='radio_custom']").val();
62
+ }else{
63
+ return e.val();
64
+ }
65
+ }
66
+ function k_getTags(e){
67
+ var tags = "";
68
+ for (x in e){
69
+ tags += e[x].tag+" ";
70
+ }
71
+ return tags;
72
+ }
73
+ function k_getFiletitle(e){
74
+ var title = e.toLowerCase().split(" ");
75
+ var newtitle = "";
76
+ for (x in title){
77
+ if (parseInt(x)+1 == title.length){
78
+ newtitle += title[x];
79
+ }else{
80
+ newtitle += title[x]+"-";
81
+ }
82
+ }
83
+ return newtitle;
84
+ }
85
+ var textFile = null,
86
+ makeTextFile = function (text) {
87
+ var data = new Blob([text], {
88
+ type: 'text/plain'
89
+ });
90
+ if (textFile !== null) {
91
+ window.URL.revokeObjectURL(textFile);
92
+ }
93
+
94
+ textFile = window.URL.createObjectURL(data);
95
+
96
+ return textFile;
97
+ };
98
+ var create = document.getElementById('create');
99
+ create.addEventListener('click', function () {
100
+ var filename,filecontent,title,date,categories,tags,img;
101
+ img = $('input[name=img]').val();
102
+ tags = k_getTags($('.chips-initial').material_chip('data'));
103
+ categories = k_getCategores($("input[name='group1']:checked"));
104
+ date = k_getDate($('input[name=date]').val(),true);
105
+ title = $('input[name=title]').val();
106
+ filecontent = "---\nlayout: post\ntitle: "+title+"\ndate: "+date+"\ncategories: "+categories+"\ntags: "+tags+"\nimg: "+img+"\n---\n"+simplemde.value();
107
+ title = k_getFiletitle(title);
108
+ filename = k_getDate($('input[name=date]').val(),false)+'-'+title+'.markdown';
109
+ $("#downloadlink").attr("download",filename);
110
+ var link = document.getElementById('downloadlink');
111
+ link.href = makeTextFile(filecontent);
112
+ link.style.display = 'block';
113
+ }, false);
114
+ $("#downloadlink").click(function(){
115
+ $(this).hide();
116
+ })
117
+ });
118
+ </script>
119
+ {% endif %}
8
120
  <script type="text/javascript">
9
121
  NProgress.configure({
10
122
  showSpinner: true
@@ -9,6 +9,8 @@ layout: compress
9
9
  {% include main.html %}
10
10
  {% include footer.html %}
11
11
  {% include script.html %}
12
+ {% if site.google_analytics != null %}
12
13
  {% include analytics.html %}
14
+ {% endif %}
13
15
  </body>
14
16
  </html>
@@ -0,0 +1,71 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="mdui-container k-editorcontainer">
6
+ <div class="k-posts-list"></div>
7
+ <h3>Title</h3>
8
+ <div class="mdui-textfield">
9
+ <input class="mdui-textfield-input" type="text" name=title maxlength="100"/>
10
+ </div>
11
+ <h3>Date</h3>
12
+ <div class="mdui-textfield">
13
+ <input class="mdui-textfield-input datepicker" name="date" type="date"/>
14
+ </div>
15
+ {% capture categories %}
16
+ {% for c in site.categories %}
17
+ {{c[0]}}
18
+ {% endfor %}
19
+ {% endcapture %}
20
+
21
+ {% assign sortedcategories = categories | split:' ' | sort %}
22
+ <h3>Categories</h3>
23
+ <div class="mdui-row-md-4">
24
+ {% for c in sortedcategories %}
25
+ <div class="mdui-col">
26
+ <label class="mdui-radio">
27
+ <input type="radio" value="{{c}}" name="group1"/>
28
+ <i class="mdui-radio-icon"></i>
29
+ {{c}}
30
+ </label>
31
+ </div>
32
+ {% endfor %}
33
+ <div class="mdui-col">
34
+ <label id="radio_custom" class="mdui-radio mdui-float-left">
35
+ <input type="radio" value="radio_custom" name="group1"/>
36
+ <i class="mdui-radio-icon"></i>
37
+ </label>
38
+ <div style="padding-top: 0px;" class="mdui-textfield">
39
+ <input class="mdui-textfield-input" name="radio_custom" type="text" placeholder="categories"/>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <h3>Tags</h3>
44
+ {% capture tags %}
45
+ {% for t in site.tags %}
46
+ {{t[0]}}
47
+ {% endfor %}
48
+ {% endcapture %}
49
+
50
+ {% assign sortedtags = tags | split:' ' | sort %}
51
+
52
+ {% for t in sortedtags %}
53
+
54
+ {% endfor %}
55
+
56
+ <div class="chips chips-initial"></div>
57
+ <h3>Image</h3>
58
+ <div class="mdui-textfield">
59
+ <input name="img" id="imgurl" class="mdui-textfield-input" type="text" placeholder="ImgUrl"/>
60
+ </div>
61
+ <img id="img" style="max-height:300px;" class="mdui-center" src="" alt="">
62
+ <h3>Content</h3>
63
+ <div class="mdui-textfield" style="z-index: 9999;">
64
+ <textarea class="mdui-textfield-input" placeholder="Description"></textarea>
65
+ </div>
66
+ <button class="mdui-btn mdui-btn-block" id="create">Create file</button>
67
+ <a class="mdui-btn" download="info.markdown" id="downloadlink" style="display: none">Download</a>
68
+ </div>
69
+
70
+
71
+
data/_layouts/post.html CHANGED
@@ -21,7 +21,9 @@ layout: default
21
21
  <div class="mdui-card-content mdui-typo">
22
22
  {{ content }}
23
23
  </div>
24
+ {% if site.disqus_shortname != null %}
24
25
  {% include disqus.html %}
26
+ {% endif %}
25
27
  </div>
26
28
  </div>
27
29
  <div class="mdui-col-md-3 mdui-hidden-sm-down">
data/assets/css/main.css CHANGED
@@ -228,4 +228,9 @@ body,header,#toc-card{
228
228
  width: 100%;
229
229
  padding: 0;
230
230
  }
231
+ }
232
+ @media screen and (max-width: 600px){
233
+ .k-editorcontainer{
234
+ width: 100%;
235
+ padding: 0 20px;
231
236
  }
@@ -0,0 +1,734 @@
1
+ /**
2
+ * The picker input element.
3
+ */
4
+ .picker__table th{
5
+ padding: 15px 5px;
6
+ padding-top: 15px;
7
+ padding-right: 5px;
8
+ padding-bottom: 15px;
9
+ padding-left: 5px;
10
+ display: table-cell;
11
+ text-align: left;
12
+ vertical-align: middle;
13
+ border-radius: 2px;
14
+ }
15
+ .picker__input {
16
+ cursor: default;
17
+ }
18
+
19
+ /**
20
+ * When the picker is opened, the input element is "activated".
21
+ */
22
+ .picker__input.picker__input--active {
23
+ border-color: #0089ec;
24
+ }
25
+
26
+ /**
27
+ * The holder is the only "scrollable" top-level container element.
28
+ */
29
+ .picker__holder {
30
+ width: 100%;
31
+ overflow-y: auto;
32
+ -webkit-overflow-scrolling: touch;
33
+ }
34
+
35
+ /*!
36
+ * Default mobile-first, responsive styling for pickadate.js
37
+ * Demo: http://amsul.github.io/pickadate.js
38
+ */
39
+ /**
40
+ * Note: the root picker element should *NOT* be styled more than what's here.
41
+ */
42
+ /**
43
+ * Make the holder and frame fullscreen.
44
+ */
45
+ .picker__holder,
46
+ .picker__frame {
47
+ bottom: 0;
48
+ left: 0;
49
+ right: 0;
50
+ top: 100%;
51
+ }
52
+
53
+ /**
54
+ * The holder should overlay the entire screen.
55
+ */
56
+ .picker__holder {
57
+ z-index: 10000;
58
+ position: fixed;
59
+ transition: background 0.15s ease-out, top 0s 0.15s;
60
+ -webkit-backface-visibility: hidden;
61
+ }
62
+
63
+ /**
64
+ * The frame that bounds the box contents of the picker.
65
+ */
66
+ .picker__frame {
67
+ position: absolute;
68
+ margin: 0 auto;
69
+ min-width: 256px;
70
+ width: 300px;
71
+ max-height: 350px;
72
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
73
+ filter: alpha(opacity=0);
74
+ -moz-opacity: 0;
75
+ opacity: 0;
76
+ transition: all 0.15s ease-out;
77
+ }
78
+
79
+ @media (min-height: 28.875em) {
80
+ .picker__frame {
81
+ overflow: visible;
82
+ top: auto;
83
+ bottom: -100%;
84
+ max-height: 80%;
85
+ }
86
+ }
87
+
88
+ @media (min-height: 40.125em) {
89
+ .picker__frame {
90
+ margin-bottom: 7.5%;
91
+ }
92
+ }
93
+
94
+ /**
95
+ * The wrapper sets the stage to vertically align the box contents.
96
+ */
97
+ .picker__wrap {
98
+ display: table;
99
+ width: 100%;
100
+ height: 100%;
101
+ }
102
+
103
+ @media (min-height: 28.875em) {
104
+ .picker__wrap {
105
+ display: block;
106
+ }
107
+ }
108
+
109
+ /**
110
+ * The box contains all the picker contents.
111
+ */
112
+ .picker__box {
113
+ background: #ffffff;
114
+ display: table-cell;
115
+ vertical-align: middle;
116
+ }
117
+
118
+ @media (min-height: 28.875em) {
119
+ .picker__box {
120
+ display: block;
121
+ border: 1px solid #777777;
122
+ border-top-color: #898989;
123
+ border-bottom-width: 0;
124
+ border-radius: 5px 5px 0 0;
125
+ box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24);
126
+ }
127
+ }
128
+
129
+ /**
130
+ * When the picker opens...
131
+ */
132
+ .picker--opened .picker__holder {
133
+ top: 0;
134
+ background: transparent;
135
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)";
136
+ zoom: 1;
137
+ background: rgba(0, 0, 0, 0.32);
138
+ transition: background 0.15s ease-out;
139
+ }
140
+
141
+ .picker--opened .picker__frame {
142
+ top: 0;
143
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
144
+ filter: alpha(opacity=100);
145
+ -moz-opacity: 1;
146
+ opacity: 1;
147
+ }
148
+
149
+ @media (min-height: 35.875em) {
150
+ .picker--opened .picker__frame {
151
+ top: 10%;
152
+ bottom: auto;
153
+ }
154
+ }
155
+
156
+ /**
157
+ * For `large` screens, transform into an inline picker.
158
+ */
159
+ /* ==========================================================================
160
+ CUSTOM MATERIALIZE STYLES
161
+ ========================================================================== */
162
+ .picker__input.picker__input--active {
163
+ border-color: #E3F2FD;
164
+ }
165
+
166
+ .picker__frame {
167
+ margin: 0 auto;
168
+ max-width: 325px;
169
+ }
170
+
171
+ @media (min-height: 38.875em) {
172
+ .picker--opened .picker__frame {
173
+ top: 10%;
174
+ bottom: auto;
175
+ }
176
+ }
177
+
178
+ /* ==========================================================================
179
+ $BASE-DATE-PICKER
180
+ ========================================================================== */
181
+ /**
182
+ * The picker box.
183
+ */
184
+ .picker__box {
185
+ padding: 0 1em;
186
+ }
187
+
188
+ /**
189
+ * The header containing the month and year stuff.
190
+ */
191
+ .picker__header {
192
+ text-align: center;
193
+ position: relative;
194
+ margin-top: .75em;
195
+ }
196
+
197
+ /**
198
+ * The month and year labels.
199
+ */
200
+ .picker__month,
201
+ .picker__year {
202
+ display: inline-block;
203
+ margin-left: .25em;
204
+ margin-right: .25em;
205
+ }
206
+
207
+ /**
208
+ * The month and year selectors.
209
+ */
210
+ .picker__select--month,
211
+ .picker__select--year {
212
+ height: 2em;
213
+ padding: 0;
214
+ margin-left: .25em;
215
+ margin-right: .25em;
216
+ }
217
+
218
+ .picker__select--month.browser-default {
219
+ display: inline;
220
+ background-color: #FFFFFF;
221
+ width: 40%;
222
+ }
223
+
224
+ .picker__select--year.browser-default {
225
+ display: inline;
226
+ background-color: #FFFFFF;
227
+ width: 26%;
228
+ }
229
+
230
+ .picker__select--month:focus,
231
+ .picker__select--year:focus {
232
+ border-color: rgba(0, 0, 0, 0.05);
233
+ }
234
+
235
+ /**
236
+ * The month navigation buttons.
237
+ */
238
+ .picker__nav--prev,
239
+ .picker__nav--next {
240
+ position: absolute;
241
+ padding: .5em 1.25em;
242
+ width: 1em;
243
+ height: 1em;
244
+ box-sizing: content-box;
245
+ top: -0.25em;
246
+ }
247
+
248
+ .picker__nav--prev {
249
+ left: -1em;
250
+ padding-right: 1.25em;
251
+ }
252
+
253
+ .picker__nav--next {
254
+ right: -1em;
255
+ padding-left: 1.25em;
256
+ }
257
+
258
+ .picker__nav--disabled,
259
+ .picker__nav--disabled:hover,
260
+ .picker__nav--disabled:before,
261
+ .picker__nav--disabled:before:hover {
262
+ cursor: default;
263
+ background: none;
264
+ border-right-color: #f5f5f5;
265
+ border-left-color: #f5f5f5;
266
+ }
267
+
268
+ /**
269
+ * The calendar table of dates
270
+ */
271
+ .picker__table {
272
+ text-align: center;
273
+ border-collapse: collapse;
274
+ border-spacing: 0;
275
+ table-layout: fixed;
276
+ font-size: 1rem;
277
+ width: 100%;
278
+ margin-top: .75em;
279
+ margin-bottom: .5em;
280
+ }
281
+
282
+ .picker__table th, .picker__table td {
283
+ text-align: center;
284
+ }
285
+
286
+ .picker__table td {
287
+ margin: 0;
288
+ padding: 0;
289
+ }
290
+
291
+ /**
292
+ * The weekday labels
293
+ */
294
+ .picker__weekday {
295
+ width: 14.285714286%;
296
+ font-size: .75em;
297
+ padding-bottom: .25em;
298
+ color: #999999;
299
+ font-weight: 500;
300
+ /* Increase the spacing a tad */
301
+ }
302
+
303
+ @media (min-height: 33.875em) {
304
+ .picker__weekday {
305
+ padding-bottom: .5em;
306
+ }
307
+ }
308
+
309
+ /**
310
+ * The days on the calendar
311
+ */
312
+ .picker__day--today {
313
+ position: relative;
314
+ color: #595959;
315
+ letter-spacing: -.3;
316
+ padding: .75rem 0;
317
+ font-weight: 400;
318
+ border: 1px solid transparent;
319
+ }
320
+
321
+ .picker__day--disabled:before {
322
+ border-top-color: #aaaaaa;
323
+ }
324
+
325
+ .picker__day--infocus:hover {
326
+ cursor: pointer;
327
+ color: #000;
328
+ font-weight: 500;
329
+ }
330
+
331
+ .picker__day--outfocus {
332
+ display: none;
333
+ padding: .75rem 0;
334
+ color: #fff;
335
+ }
336
+
337
+ .picker__day--outfocus:hover {
338
+ cursor: pointer;
339
+ color: #dddddd;
340
+ font-weight: 500;
341
+ }
342
+
343
+ .picker__day--highlighted:hover,
344
+ .picker--focused .picker__day--highlighted {
345
+ cursor: pointer;
346
+ }
347
+
348
+ .picker__day--selected,
349
+ .picker__day--selected:hover,
350
+ .picker--focused .picker__day--selected {
351
+ border-radius: 50%;
352
+ -webkit-transform: scale(0.75);
353
+ transform: scale(0.75);
354
+ background: #0089ec;
355
+ color: #ffffff;
356
+ width: 40px;
357
+ }
358
+
359
+ .picker__day--disabled,
360
+ .picker__day--disabled:hover,
361
+ .picker--focused .picker__day--disabled {
362
+ background: #f5f5f5;
363
+ border-color: #f5f5f5;
364
+ color: #dddddd;
365
+ cursor: default;
366
+ }
367
+
368
+ .picker__day--highlighted.picker__day--disabled,
369
+ .picker__day--highlighted.picker__day--disabled:hover {
370
+ background: #bbbbbb;
371
+ }
372
+
373
+ /**
374
+ * The footer containing the "today", "clear", and "close" buttons.
375
+ */
376
+ .picker__footer {
377
+ text-align: center;
378
+ display: -webkit-flex;
379
+ display: -ms-flexbox;
380
+ display: flex;
381
+ -webkit-align-items: center;
382
+ -ms-flex-align: center;
383
+ align-items: center;
384
+ -webkit-justify-content: space-between;
385
+ -ms-flex-pack: justify;
386
+ justify-content: space-between;
387
+ }
388
+
389
+ .picker__button--today,
390
+ .picker__button--clear,
391
+ .picker__button--close {
392
+ border: 1px solid #ffffff;
393
+ background: #ffffff;
394
+ font-size: .8em;
395
+ padding: .66em 0;
396
+ font-weight: bold;
397
+ width: 33%;
398
+ display: inline-block;
399
+ vertical-align: bottom;
400
+ }
401
+
402
+ .picker__button--today:hover,
403
+ .picker__button--clear:hover,
404
+ .picker__button--close:hover {
405
+ cursor: pointer;
406
+ color: #000000;
407
+ background: #b1dcfb;
408
+ border-bottom-color: #b1dcfb;
409
+ }
410
+
411
+ .picker__button--today:focus,
412
+ .picker__button--clear:focus,
413
+ .picker__button--close:focus {
414
+ background: #b1dcfb;
415
+ border-color: rgba(0, 0, 0, 0.05);
416
+ outline: none;
417
+ }
418
+
419
+ .picker__button--today:before,
420
+ .picker__button--clear:before,
421
+ .picker__button--close:before {
422
+ position: relative;
423
+ display: inline-block;
424
+ height: 0;
425
+ }
426
+
427
+ .picker__button--today:before,
428
+ .picker__button--clear:before {
429
+ content: " ";
430
+ margin-right: .45em;
431
+ }
432
+
433
+ .picker__button--today:before {
434
+ top: -0.05em;
435
+ width: 0;
436
+ border-top: 0.66em solid #0059bc;
437
+ border-left: .66em solid transparent;
438
+ }
439
+
440
+ .picker__button--clear:before {
441
+ top: -0.25em;
442
+ width: .66em;
443
+ border-top: 3px solid #ee2200;
444
+ }
445
+
446
+ .picker__button--close:before {
447
+ content: "\D7";
448
+ top: -0.1em;
449
+ vertical-align: top;
450
+ font-size: 1.1em;
451
+ margin-right: .35em;
452
+ color: #777777;
453
+ }
454
+
455
+ .picker__button--today[disabled],
456
+ .picker__button--today[disabled]:hover {
457
+ background: #f5f5f5;
458
+ border-color: #f5f5f5;
459
+ color: #dddddd;
460
+ cursor: default;
461
+ }
462
+
463
+ .picker__button--today[disabled]:before {
464
+ border-top-color: #aaaaaa;
465
+ }
466
+
467
+ /* ==========================================================================
468
+ CUSTOM MATERIALIZE STYLES
469
+ ========================================================================== */
470
+ .picker__box {
471
+ border-radius: 2px;
472
+ overflow: hidden;
473
+ }
474
+
475
+ .picker__date-display {
476
+ text-align: center;
477
+ background-color: #26a69a;
478
+ color: #fff;
479
+ padding-bottom: 15px;
480
+ font-weight: 300;
481
+ }
482
+
483
+ .picker__nav--prev:hover,
484
+ .picker__nav--next:hover {
485
+ cursor: pointer;
486
+ color: #000000;
487
+ background: #a1ded8;
488
+ }
489
+
490
+ .picker__weekday-display {
491
+ background-color: #1f897f;
492
+ padding: 10px;
493
+ font-weight: 200;
494
+ letter-spacing: .5;
495
+ font-size: 1rem;
496
+ margin-bottom: 15px;
497
+ }
498
+
499
+ .picker__month-display {
500
+ text-transform: uppercase;
501
+ font-size: 2rem;
502
+ }
503
+
504
+ .picker__day-display {
505
+ font-size: 4.5rem;
506
+ font-weight: 400;
507
+ }
508
+
509
+ .picker__year-display {
510
+ font-size: 1.8rem;
511
+ color: rgba(255, 255, 255, 0.4);
512
+ }
513
+
514
+ .picker__box {
515
+ padding: 0;
516
+ }
517
+
518
+ .picker__calendar-container {
519
+ padding: 0 1rem;
520
+ }
521
+
522
+ .picker__calendar-container thead {
523
+ border: none;
524
+ }
525
+
526
+ .picker__table {
527
+ margin-top: 0;
528
+ margin-bottom: .5em;
529
+ }
530
+
531
+ .picker__day--infocus {
532
+ color: #595959;
533
+ letter-spacing: -.3;
534
+ padding: .75rem 0;
535
+ font-weight: 400;
536
+ border: 1px solid transparent;
537
+ }
538
+
539
+ .picker__day.picker__day--today {
540
+ color: #26a69a;
541
+ }
542
+
543
+ .picker__day.picker__day--today.picker__day--selected {
544
+ color: #fff;
545
+ }
546
+
547
+ .picker__weekday {
548
+ font-size: .9rem;
549
+ }
550
+
551
+ .picker__day--selected,
552
+ .picker__day--selected:hover,
553
+ .picker--focused .picker__day--selected {
554
+ border-radius: 50%;
555
+ -webkit-transform: scale(0.9);
556
+ transform: scale(0.9);
557
+ background-color: #26a69a;
558
+ color: #ffffff;
559
+ }
560
+
561
+ .picker__day--selected.picker__day--outfocus,
562
+ .picker__day--selected:hover.picker__day--outfocus,
563
+ .picker--focused .picker__day--selected.picker__day--outfocus {
564
+ background-color: #a1ded8;
565
+ }
566
+
567
+ .picker__footer {
568
+ text-align: right;
569
+ padding: 5px 10px;
570
+ }
571
+
572
+ .picker__close, .picker__today {
573
+ padding: 0 1rem;
574
+ }
575
+
576
+ .picker__nav--prev:before,
577
+ .picker__nav--next:before {
578
+ content: " ";
579
+ border-top: .5em solid transparent;
580
+ border-bottom: .5em solid transparent;
581
+ border-right: 0.75em solid #676767;
582
+ width: 0;
583
+ height: 0;
584
+ display: block;
585
+ margin: 0 auto;
586
+ }
587
+
588
+ .picker__nav--next:before {
589
+ border-right: 0;
590
+ border-left: 0.75em solid #676767;
591
+ }
592
+
593
+ button.picker__today:focus, button.picker__clear:focus, button.picker__close:focus {
594
+ background-color: #a1ded8;
595
+ }
596
+
597
+ /* ==========================================================================
598
+ $BASE-TIME-PICKER
599
+ ========================================================================== */
600
+ /**
601
+ * The list of times.
602
+ */
603
+ .picker__list {
604
+ list-style: none;
605
+ padding: 0.75em 0 4.2em;
606
+ margin: 0;
607
+ }
608
+
609
+ /**
610
+ * The times on the clock.
611
+ */
612
+ .picker__list-item {
613
+ border-bottom: 1px solid #dddddd;
614
+ border-top: 1px solid #dddddd;
615
+ margin-bottom: -1px;
616
+ position: relative;
617
+ background: #ffffff;
618
+ padding: .75em 1.25em;
619
+ }
620
+
621
+ @media (min-height: 46.75em) {
622
+ .picker__list-item {
623
+ padding: .5em 1em;
624
+ }
625
+ }
626
+
627
+ /* Hovered time */
628
+ .picker__list-item:hover {
629
+ cursor: pointer;
630
+ color: #000000;
631
+ background: #b1dcfb;
632
+ border-color: #0089ec;
633
+ z-index: 10;
634
+ }
635
+
636
+ /* Highlighted and hovered/focused time */
637
+ .picker__list-item--highlighted {
638
+ border-color: #0089ec;
639
+ z-index: 10;
640
+ }
641
+
642
+ .picker__list-item--highlighted:hover,
643
+ .picker--focused .picker__list-item--highlighted {
644
+ cursor: pointer;
645
+ color: #000000;
646
+ background: #b1dcfb;
647
+ }
648
+
649
+ /* Selected and hovered/focused time */
650
+ .picker__list-item--selected,
651
+ .picker__list-item--selected:hover,
652
+ .picker--focused .picker__list-item--selected {
653
+ background: #0089ec;
654
+ color: #ffffff;
655
+ z-index: 10;
656
+ }
657
+
658
+ /* Disabled time */
659
+ .picker__list-item--disabled,
660
+ .picker__list-item--disabled:hover,
661
+ .picker--focused .picker__list-item--disabled {
662
+ background: #f5f5f5;
663
+ border-color: #f5f5f5;
664
+ color: #dddddd;
665
+ cursor: default;
666
+ border-color: #dddddd;
667
+ z-index: auto;
668
+ }
669
+
670
+ /**
671
+ * The clear button
672
+ */
673
+ .picker--time .picker__button--clear {
674
+ display: block;
675
+ width: 80%;
676
+ margin: 1em auto 0;
677
+ padding: 1em 1.25em;
678
+ background: none;
679
+ border: 0;
680
+ font-weight: 500;
681
+ font-size: .67em;
682
+ text-align: center;
683
+ text-transform: uppercase;
684
+ color: #666;
685
+ }
686
+
687
+ .picker--time .picker__button--clear:hover,
688
+ .picker--time .picker__button--clear:focus {
689
+ color: #000000;
690
+ background: #b1dcfb;
691
+ background: #ee2200;
692
+ border-color: #ee2200;
693
+ cursor: pointer;
694
+ color: #ffffff;
695
+ outline: none;
696
+ }
697
+
698
+ .picker--time .picker__button--clear:before {
699
+ top: -0.25em;
700
+ color: #666;
701
+ font-size: 1.25em;
702
+ font-weight: bold;
703
+ }
704
+
705
+ .picker--time .picker__button--clear:hover:before,
706
+ .picker--time .picker__button--clear:focus:before {
707
+ color: #ffffff;
708
+ }
709
+
710
+ /* ==========================================================================
711
+ $DEFAULT-TIME-PICKER
712
+ ========================================================================== */
713
+ /**
714
+ * The frame the bounds the time picker.
715
+ */
716
+ .picker--time .picker__frame {
717
+ min-width: 256px;
718
+ max-width: 320px;
719
+ }
720
+
721
+ /**
722
+ * The picker box.
723
+ */
724
+ .picker--time .picker__box {
725
+ font-size: 1em;
726
+ background: #f2f2f2;
727
+ padding: 0;
728
+ }
729
+
730
+ @media (min-height: 40.125em) {
731
+ .picker--time .picker__box {
732
+ margin-bottom: 5em;
733
+ }
734
+ }