Ditty News Ticker - Version 2.1.7

Version Description

  • Removed mtphr_dnt_default_sanitized_tick filter
  • Added mtphr_dnt_sanitized_tick filter
  • Added mtphr_dnt_mixed_ticks_meta filter
  • Added mtphr_dnt_mixed_tick_array filter
  • Added mtphr_dnt_list_heading_class filter
  • Added mtphr_dnt_list_item filter
  • Added mtphr_dnt_list_item_class filter
  • Updated mixed ticker function
  • Modified default ticker data
Download this release

Release Info

Developer metaphorcreations
Plugin Icon 128x128 Ditty News Ticker
Version 2.1.7
Comparing to
See all releases

Code changes from version 2.1.6 to 2.1.7

Files changed (60) hide show
  1. assets/css/style-admin.css +53 -54
  2. assets/css/style.css +340 -115
  3. assets/js/min/script-admin-min.js +1 -1
  4. assets/js/script-admin.js +1 -1
  5. assets/sass/bourbon/_bourbon.scss +54 -0
  6. assets/sass/bourbon/helpers/_buttons-list.scss +14 -0
  7. assets/sass/bourbon/helpers/_scales.scss +27 -0
  8. assets/sass/bourbon/helpers/_text-inputs-list.scss +26 -0
  9. assets/sass/bourbon/library/_border-color.scss +26 -0
  10. assets/sass/bourbon/library/_border-radius.scss +85 -0
  11. assets/sass/bourbon/library/_border-style.scss +25 -0
  12. assets/sass/bourbon/library/_border-width.scss +25 -0
  13. assets/sass/bourbon/library/_buttons.scss +84 -0
  14. assets/sass/bourbon/library/_clearfix.scss +25 -0
  15. assets/sass/bourbon/library/_contrast-switch.scss +82 -0
  16. assets/sass/bourbon/library/_ellipsis.scss +37 -0
  17. assets/sass/bourbon/library/_font-face.scss +66 -0
  18. assets/sass/bourbon/library/_font-stacks.scss +249 -0
  19. assets/sass/bourbon/library/_hide-text.scss +24 -0
  20. assets/sass/bourbon/library/_hide-visually.scss +67 -0
  21. assets/sass/bourbon/library/_margin.scss +37 -0
  22. assets/sass/bourbon/library/_modular-scale.scss +121 -0
  23. assets/sass/bourbon/library/_overflow-wrap.scss +24 -0
  24. assets/sass/bourbon/library/_padding.scss +36 -0
  25. assets/sass/bourbon/library/_position.scss +64 -0
  26. assets/sass/bourbon/library/_prefixer.scss +38 -0
  27. assets/sass/bourbon/library/_shade.scss +33 -0
  28. assets/sass/bourbon/library/_size.scss +51 -0
  29. assets/sass/bourbon/library/_strip-unit.scss +17 -0
  30. assets/sass/bourbon/library/_text-inputs.scss +163 -0
  31. assets/sass/bourbon/library/_timing-functions.scss +38 -0
  32. assets/sass/bourbon/library/_tint.scss +33 -0
  33. assets/sass/bourbon/library/_triangle.scss +82 -0
  34. assets/sass/bourbon/library/_value-prefixer.scss +38 -0
  35. assets/sass/bourbon/settings/_settings.scss +75 -0
  36. assets/sass/bourbon/utilities/_assign-inputs.scss +29 -0
  37. assets/sass/bourbon/utilities/_compact-shorthand.scss +39 -0
  38. assets/sass/bourbon/utilities/_contrast-ratio.scss +31 -0
  39. assets/sass/bourbon/utilities/_directional-property.scss +71 -0
  40. assets/sass/bourbon/utilities/_font-source-declaration.scss +52 -0
  41. assets/sass/bourbon/utilities/_gamma.scss +21 -0
  42. assets/sass/bourbon/utilities/_lightness.scss +24 -0
  43. assets/sass/bourbon/utilities/_retrieve-bourbon-setting.scss +16 -0
  44. assets/sass/bourbon/utilities/_unpack-shorthand.scss +29 -0
  45. assets/sass/bourbon/validators/_contains-falsy.scss +20 -0
  46. assets/sass/bourbon/validators/_contains.scss +27 -0
  47. assets/sass/bourbon/validators/_is-color.scss +13 -0
  48. assets/sass/bourbon/validators/_is-length.scss +15 -0
  49. assets/sass/bourbon/validators/_is-number.scss +15 -0
  50. assets/sass/bourbon/validators/_is-size.scss +18 -0
  51. assets/sass/style-admin.scss +22 -51
  52. assets/sass/style.scss +2 -0
  53. config.codekit3 +614 -13
  54. ditty-news-ticker.php +3 -2
  55. includes/admin/fields/helpers.php +90 -58
  56. includes/admin/filters.php +10 -15
  57. includes/admin/functions.php +48 -0
  58. includes/admin/meta-boxes.php +20 -14
  59. includes/functions.php +25 -9
  60. readme.txt +12 -1
assets/css/style-admin.css CHANGED
@@ -112,10 +112,9 @@
112
  #mtphr-dnt-code-copy .button {
113
  color: #FFF;
114
  border-color: #333333;
115
- background: gray;
116
  margin: 2px 0;
117
  box-shadow: none;
118
- -webkit-transition: background-color .25s ease, border-color .25s ease;
119
  transition: background-color .25s ease, border-color .25s ease; }
120
  #mtphr-dnt-code-copy .button:hover {
121
  background-color: #999999; }
@@ -196,8 +195,6 @@
196
  background: #FFF;
197
  border: 1px solid #dfdfdf;
198
  padding: 3px 24px 3px 3px;
199
- -webkit-border-radius: 3px;
200
- -moz-border-radius: 3px;
201
  border-radius: 3px; }
202
 
203
  .mtphr-dnt-single-image img {
@@ -245,7 +242,21 @@
245
  overflow: hidden; }
246
 
247
  .mtphr-dnt-list-heading {
248
- display: block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  font-weight: bold;
250
  color: #FFF;
251
  text-decoration: none;
@@ -253,18 +264,23 @@
253
  padding: 5px 10px;
254
  margin: -10px -10px 10px;
255
  cursor: pointer;
256
- -webkit-transition: background-color .25s ease, border-radius .25s ease;
257
  transition: background-color .25s ease, border-radius .25s ease; }
258
  .mtphr-dnt-list-heading:active, .mtphr-dnt-list-heading:focus {
259
  box-shadow: none;
260
  outline: none; }
261
  .mtphr-dnt-list-heading .dashicons-menu {
262
  color: #FFF;
263
- margin-right: 8px; }
 
 
 
264
 
265
  .mtphr-dnt-list-buttons {
266
- float: right;
267
- margin: -5px -10px; }
 
 
 
268
  .mtphr-dnt-list-buttons a {
269
  float: left;
270
  display: block;
@@ -287,32 +303,36 @@
287
  font-size: 15px;
288
  line-height: 31px; }
289
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  .mtphr-dnt-list-field {
291
  color: #333333;
292
- margin-bottom: 20px; }
293
- .mtphr-dnt-list-field:last-child {
294
- margin-bottom: 0; }
295
 
296
  .mtphr-dnt-list-placeholder {
297
  width: 100%;
298
  height: 40px;
299
- border: 3px dashed #e6e6e6;
300
  border-radius: 5px;
301
  margin: 5px 0;
302
  box-sizing: border-box; }
303
 
304
- @media (min-width: 768px) {
305
- .mtphr-dnt-list-item > td {
306
- display: table-cell !important; }
307
- .mtphr-dnt-list-handle {
308
- padding: 5px 2px 0 0; }
309
- .mtphr-dnt-list-add-delete {
310
- width: 30px;
311
- padding: 5px 0 0 2px; }
312
- .mtphr-dnt-list-add-delete a {
313
- float: none;
314
- margin-left: 0; } }
315
-
316
  /* --------------------------------------------------------- */
317
  /* !Sort Fields */
318
  /* --------------------------------------------------------- */
@@ -325,7 +345,7 @@
325
  .mtphr-dnt-sort-placeholder {
326
  width: 100%;
327
  height: 40px;
328
- border: 3px dashed #e6e6e6;
329
  border-radius: 5px;
330
  margin: 5px 0;
331
  box-sizing: border-box; }
@@ -353,7 +373,6 @@
353
  padding: 10px;
354
  border-radius: 5px;
355
  cursor: pointer;
356
- -webkit-transition: background-color .25s ease, border-radius .25s ease;
357
  transition: background-color .25s ease, border-radius .25s ease; }
358
  .mtphr-dnt-sort-heading:active, .mtphr-dnt-sort-heading:focus {
359
  box-shadow: none;
@@ -378,7 +397,6 @@
378
  background: #FFF;
379
  border-radius: 12px;
380
  margin: -2px 8px -3px 0;
381
- -webkit-transition: color .25s ease;
382
  transition: color .25s ease; }
383
  .mtphr-dnt-sort-heading .dashicons-menu {
384
  color: #333333;
@@ -471,7 +489,7 @@
471
  #mtphr-dnt-metabox-group-toggles a.active:hover {
472
  background-color: #58ca68; }
473
  #mtphr-dnt-metabox-group-toggles a:hover {
474
- background-color: #4d4d4d; }
475
  #mtphr-dnt-metabox-group-toggles a.focus, #mtphr-dnt-metabox-group-toggles a.active {
476
  box-shadow: none;
477
  outline: none; }
@@ -490,10 +508,9 @@
490
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button {
491
  color: #FFF;
492
  border-color: #333333;
493
- background: gray;
494
  margin: 2px 0;
495
  box-shadow: none;
496
- -webkit-transition: background-color .25s ease, border-color .25s ease;
497
  transition: background-color .25s ease, border-color .25s ease; }
498
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button:hover {
499
  background-color: #999999; }
@@ -512,7 +529,7 @@
512
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button.button-primary i {
513
  opacity: 1; }
514
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button.mtphr-dnt-get-more {
515
- background: #4d4d4d; }
516
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button.mtphr-dnt-get-more:hover {
517
  background-color: #595959; }
518
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button i {
@@ -520,7 +537,6 @@
520
  line-height: 16px;
521
  margin: 2px 0 0 -5px;
522
  opacity: .5;
523
- -webkit-transition: opacity .25s ease;
524
  transition: opacity .25s ease; }
525
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button i:before {
526
  vertical-align: middle; }
@@ -548,7 +564,7 @@
548
 
549
  .mtphr-dnt-heading {
550
  background-color: #f2f2f2;
551
- border-bottom: 1px solid #e6e6e6;
552
  margin: -20px -20px 20px;
553
  padding: 10px 20px; }
554
  .mtphr-dnt-heading h3 {
@@ -671,26 +687,9 @@
671
  /* --------------------------------------------------------- */
672
  /* !Default Ticks Metabox */
673
  /* --------------------------------------------------------- */
674
- @media (min-width: 768px) {
675
- .mtphr-dnt-list-field-mtphr_dnt_ticks_link {
676
- float: left;
677
- width: 50%;
678
- margin-right: 1.5%; }
679
- .mtphr-dnt-list-field-mtphr_dnt_ticks_target {
680
- float: left;
681
- width: auto;
682
- margin-right: 1.5%; } }
683
-
684
- /* --------------------------------------------------------- */
685
- /* !Mixed Ticks Metabox */
686
- /* --------------------------------------------------------- */
687
- @media (min-width: 768px) {
688
- .mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_type,
689
- .mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all {
690
- float: left;
691
- margin-right: 30px; }
692
- .mtphr-dnt-field-mtphr_dnt_mixed_ticks .mtphr-dnt-list-field {
693
- margin-bottom: 0; } }
694
 
695
  /* --------------------------------------------------------- */
696
  /* !Scroll Mode Metabox */
112
  #mtphr-dnt-code-copy .button {
113
  color: #FFF;
114
  border-color: #333333;
115
+ background: #807f7f;
116
  margin: 2px 0;
117
  box-shadow: none;
 
118
  transition: background-color .25s ease, border-color .25s ease; }
119
  #mtphr-dnt-code-copy .button:hover {
120
  background-color: #999999; }
195
  background: #FFF;
196
  border: 1px solid #dfdfdf;
197
  padding: 3px 24px 3px 3px;
 
 
198
  border-radius: 3px; }
199
 
200
  .mtphr-dnt-single-image img {
242
  overflow: hidden; }
243
 
244
  .mtphr-dnt-list-heading {
245
+ display: -webkit-box;
246
+ display: -ms-flexbox;
247
+ display: flex;
248
+ -webkit-box-orient: horizontal;
249
+ -webkit-box-direction: normal;
250
+ -ms-flex-direction: row;
251
+ flex-direction: row;
252
+ -webkit-box-align: center;
253
+ -ms-flex-align: center;
254
+ align-items: center;
255
+ -webkit-box-pack: start;
256
+ -ms-flex-pack: start;
257
+ justify-content: flex-start;
258
+ -ms-flex-wrap: wrap;
259
+ flex-wrap: wrap;
260
  font-weight: bold;
261
  color: #FFF;
262
  text-decoration: none;
264
  padding: 5px 10px;
265
  margin: -10px -10px 10px;
266
  cursor: pointer;
 
267
  transition: background-color .25s ease, border-radius .25s ease; }
268
  .mtphr-dnt-list-heading:active, .mtphr-dnt-list-heading:focus {
269
  box-shadow: none;
270
  outline: none; }
271
  .mtphr-dnt-list-heading .dashicons-menu {
272
  color: #FFF;
273
+ margin-right: 8px;
274
+ -webkit-box-ordinal-group: 11;
275
+ -ms-flex-order: 10;
276
+ order: 10; }
277
 
278
  .mtphr-dnt-list-buttons {
279
+ margin: -5px -10px;
280
+ margin-left: auto;
281
+ -webkit-box-ordinal-group: 21;
282
+ -ms-flex-order: 20;
283
+ order: 20; }
284
  .mtphr-dnt-list-buttons a {
285
  float: left;
286
  display: block;
303
  font-size: 15px;
304
  line-height: 31px; }
305
 
306
+ .mtphr-dnt-list-item-contents {
307
+ display: -webkit-box;
308
+ display: -ms-flexbox;
309
+ display: flex;
310
+ -webkit-box-orient: horizontal;
311
+ -webkit-box-direction: normal;
312
+ -ms-flex-direction: row;
313
+ flex-direction: row;
314
+ -webkit-box-align: start;
315
+ -ms-flex-align: start;
316
+ align-items: flex-start;
317
+ -webkit-box-pack: start;
318
+ -ms-flex-pack: start;
319
+ justify-content: flex-start;
320
+ -ms-flex-wrap: wrap;
321
+ flex-wrap: wrap; }
322
+
323
  .mtphr-dnt-list-field {
324
  color: #333333;
325
+ margin-right: 20px;
326
+ margin-bottom: 15px; }
 
327
 
328
  .mtphr-dnt-list-placeholder {
329
  width: 100%;
330
  height: 40px;
331
+ border: 3px dashed #e6e5e5;
332
  border-radius: 5px;
333
  margin: 5px 0;
334
  box-sizing: border-box; }
335
 
 
 
 
 
 
 
 
 
 
 
 
 
336
  /* --------------------------------------------------------- */
337
  /* !Sort Fields */
338
  /* --------------------------------------------------------- */
345
  .mtphr-dnt-sort-placeholder {
346
  width: 100%;
347
  height: 40px;
348
+ border: 3px dashed #e6e5e5;
349
  border-radius: 5px;
350
  margin: 5px 0;
351
  box-sizing: border-box; }
373
  padding: 10px;
374
  border-radius: 5px;
375
  cursor: pointer;
 
376
  transition: background-color .25s ease, border-radius .25s ease; }
377
  .mtphr-dnt-sort-heading:active, .mtphr-dnt-sort-heading:focus {
378
  box-shadow: none;
397
  background: #FFF;
398
  border-radius: 12px;
399
  margin: -2px 8px -3px 0;
 
400
  transition: color .25s ease; }
401
  .mtphr-dnt-sort-heading .dashicons-menu {
402
  color: #333333;
489
  #mtphr-dnt-metabox-group-toggles a.active:hover {
490
  background-color: #58ca68; }
491
  #mtphr-dnt-metabox-group-toggles a:hover {
492
+ background-color: #4d4c4c; }
493
  #mtphr-dnt-metabox-group-toggles a.focus, #mtphr-dnt-metabox-group-toggles a.active {
494
  box-shadow: none;
495
  outline: none; }
508
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button {
509
  color: #FFF;
510
  border-color: #333333;
511
+ background: #807f7f;
512
  margin: 2px 0;
513
  box-shadow: none;
 
514
  transition: background-color .25s ease, border-color .25s ease; }
515
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button:hover {
516
  background-color: #999999; }
529
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button.button-primary i {
530
  opacity: 1; }
531
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button.mtphr-dnt-get-more {
532
+ background: #4d4c4c; }
533
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button.mtphr-dnt-get-more:hover {
534
  background-color: #595959; }
535
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button i {
537
  line-height: 16px;
538
  margin: 2px 0 0 -5px;
539
  opacity: .5;
 
540
  transition: opacity .25s ease; }
541
  .wp-core-ui #mtphr-dnt-settings-select .mtphr-dnt-button i:before {
542
  vertical-align: middle; }
564
 
565
  .mtphr-dnt-heading {
566
  background-color: #f2f2f2;
567
+ border-bottom: 1px solid #e6e5e5;
568
  margin: -20px -20px 20px;
569
  padding: 10px 20px; }
570
  .mtphr-dnt-heading h3 {
687
  /* --------------------------------------------------------- */
688
  /* !Default Ticks Metabox */
689
  /* --------------------------------------------------------- */
690
+ .mtphr-dnt-list-field-mtphr_dnt_ticks_tick {
691
+ width: 100%;
692
+ margin-right: 0; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
693
 
694
  /* --------------------------------------------------------- */
695
  /* !Scroll Mode Metabox */
assets/css/style.css CHANGED
@@ -1,180 +1,405 @@
1
- .mtphr-dnt img { max-width: 100%; height: auto; }
 
 
2
 
3
- .mtphr-dnt-wrapper { position: relative; width: 100%; }
 
 
4
 
5
- .mtphr-dnt-inline-title { float: left; padding-right: 5px; }
 
 
6
 
7
- .mtphr-dnt-tick-container { position: relative; }
 
8
 
9
- .mtphr-dnt-tick-contents { position: relative; overflow: hidden; }
 
 
10
 
11
- .mtphr-dnt-tick { margin: 0; }
 
 
 
12
 
13
- .mtphr-dnt-tick img.emoji { max-width: none; }
 
 
 
14
 
15
- .mtphr-dnt-rotate .mtphr-dnt-tick, .mtphr-dnt-scroll .mtphr-dnt-tick { position: absolute; display: none; }
 
16
 
17
- .mtphr-dnt-rotate .mtphr-dnt-tick { opacity: 0; }
 
 
18
 
19
- .mtphr-dnt-scroll-left .mtphr-dnt-tick, .mtphr-dnt-scroll-right .mtphr-dnt-tick { white-space: nowrap; }
20
-
21
- .mtphr-dnt-trim-ticks .mtphr-dnt-tick * { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
 
 
22
 
23
  /* --------------------------------------------------------- */
24
  /* !Rotate */
25
  /* --------------------------------------------------------- */
26
- /* .mtphr-dnt-rotate { .unslider { overflow:auto; margin:0; padding:0; li, ol, ul { list-style:none; margin:0; padding:0; border:none; } } .unslider-wrap { position:relative; &.unslider-carousel { > .mtphr-dnt-tick { float:left; } } } .unslider-vertical { > ul { height:100%; } li { float:none; width:100%; } } .unslider-fade { position:relative; .unslider-wrap { .mtphr-dnt-tick { position:absolute; left:0; top:0; right:0; z-index:8; &.unslider-active { z-index:10; } } } } .unslider-arrow { position:absolute; left:20px; z-index:2; cursor:pointer; &.next { left:auto; right:20px; } } .unslider-nav { text-align: center; ol { display: inline-block; } li { float: left; margin: 0 5px; cursor: pointer; &.unslider-active { color: green; } } } } */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  /* --------------------------------------------------------- */
28
  /* !Spinner */
29
  /* --------------------------------------------------------- */
30
- .mtphr-dnt-icon-spinner { position: absolute; left: 50%; top: 50%; width: 30px; height: 30px; font-size: 30px; color: #FFF; margin: -15px 0 0 -15px; -webkit-animation: mtphr-dnt-spinner-rotation 0.8s infinite linear; -moz-animation: mtphr-dnt-spinner-rotation 0.8s infinite linear; -o-animation: mtphr-dnt-spinner-rotation 0.8s infinite linear; animation: mtphr-dnt-spinner-rotation 0.8s infinite linear; }
31
-
32
- @-webkit-keyframes mtphr-dnt-spinner-rotation { from { -webkit-transform: rotate(0deg); }
33
- to { -webkit-transform: rotate(359deg); } }
34
-
35
- @-moz-keyframes mtphr-dnt-spinner-rotation { from { -moz-transform: rotate(0deg); }
36
- to { -moz-transform: rotate(359deg); } }
37
-
38
- @-o-keyframes mtphr-dnt-spinner-rotation { from { -o-transform: rotate(0deg); }
39
- to { -o-transform: rotate(359deg); } }
40
-
41
- @keyframes mtphr-dnt-spinner-rotation { from { transform: rotate(0deg); }
42
- to { transform: rotate(359deg); } }
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  /* --------------------------------------------------------- */
45
  /* !Images */
46
  /* --------------------------------------------------------- */
47
- .mtphr-dnt-image-caption { line-height: 1.2em; }
48
-
49
- .mtphr-dnt-image-container { position: relative; display: block; }
50
-
51
- .mtphr-dnt-image-container > * { margin: 10px 0; }
52
-
53
- .mtphr-dnt-image-container > *:first-child { margin-top: 0; }
54
-
55
- .mtphr-dnt-image-container > *:last-child { margin-bottom: 0; }
56
-
57
- .mtphr-dnt-image-container.mtphr-dnt-image-caption-top .mtphr-dnt-image-photo, .mtphr-dnt-image-container.mtphr-dnt-image-caption-bottom .mtphr-dnt-image-photo { margin-top: 0; margin-bottom: 0; }
58
-
59
- .mtphr-dnt-image-container.mtphr-dnt-image-caption-top .mtphr-dnt-image-caption, .mtphr-dnt-image-container.mtphr-dnt-image-caption-bottom .mtphr-dnt-image-caption { position: absolute; left: 0; bottom: 0; z-index: 9; box-sizing: border-box; width: 100%; margin: 0 !important; padding: 12px 20px; color: #FFF; background: rgba(0, 0, 0, 0.7); }
60
-
61
- .mtphr-dnt-image-container.mtphr-dnt-image-caption-top .mtphr-dnt-image-caption { bottom: auto; top: 0; }
62
-
63
- .mtphr-dnt-image-container.mtphr-dnt-image-caption-hover { display: block; }
64
-
65
- .mtphr-dnt-image-container.mtphr-dnt-image-caption-hover .mtphr-dnt-image-caption { opacity: 0; -webkit-transition: opacity 0.25s ease; transition: opacity 0.25s ease; }
66
-
67
- .mtphr-dnt-image-container.mtphr-dnt-image-caption-hover:hover .mtphr-dnt-image-caption { opacity: 1; }
68
-
69
- .mtphr-dnt-image-container .mtphr-dnt-image-photo { line-height: 0; }
70
-
71
- .mtphr-dnt-image-container .mtphr-dnt-image-photo a { display: inline-block; max-width: 100%; }
72
-
73
- .mtphr-dnt-image-container .mtphr-dnt-image-photo img { display: block; max-width: 100%; height: auto; line-height: 0; }
74
-
75
- .mtphr-dnt-image-container .mtphr-dnt-image-placeholder, .mtphr-dnt-image-container .mtphr-dnt-image-placeholder-loading { position: relative; display: none; width: 100%; max-width: 100%; background: #000; line-height: 0; }
76
-
77
- .mtphr-dnt-grid .mtphr-dnt-image-container { width: 100% !important; }
78
-
79
- .mtphr-dnt-grid .mtphr-dnt-image-container .mtphr-dnt-image-placeholder, .mtphr-dnt-grid .mtphr-dnt-image-container .mtphr-dnt-image-placeholder-loading { width: 100% !important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
 
81
  /* Directional nav
82
  ------------------------------------------------------------ */
83
- .mtphr-dnt .mtphr-dnt-nav { position: absolute; top: 50%; text-decoration: none; margin-top: -19px; }
 
 
 
 
84
 
85
- .mtphr-dnt-nav i { display: block; width: 38px; height: 38px; font-size: 38px; line-height: 38px; color: #DDD; color: rgba(221, 221, 221, 0.8); }
 
 
 
 
 
 
 
86
 
87
- .mtphr-dnt-nav:hover { text-decoration: none !important; }
 
88
 
89
- .mtphr-dnt-nav:focus { outline: none; }
 
90
 
91
- .mtphr-dnt-nav-prev { left: 10px; }
 
92
 
93
- .mtphr-dnt-nav-next { right: 10px; background-position: -38px 0; }
 
 
94
 
95
- .mtphr-dnt-nav-hide { opacity: 0; -webkit-transition: opacity 0.3s linear; -moz-transition: opacity 0.3s linear; -o-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
 
 
96
 
97
- .mtphr-dnt-tick-container:hover .mtphr-dnt-nav-hide { opacity: 1; }
 
98
 
99
  /* Control nav
100
  ------------------------------------------------------------ */
101
- .mtphr-dnt-control-links { text-align: center; margin: 15px 0px 0px; }
 
 
102
 
103
- .mtphr-dnt-control-links a { text-decoration: none; }
 
104
 
105
- .mtphr-dnt-control-number { padding: 2px 5px; }
 
106
 
107
- .mtphr-dnt-control-button { display: inline-block; margin: 0 2px; }
 
 
108
 
109
- .mtphr-dnt-control-button i { display: block; width: 18px; height: 18px; font-size: 18px; line-height: 18px; color: #CCC; }
 
 
 
 
 
 
110
 
111
- .mtphr-dnt-control-button:hover { text-decoration: none !important; }
 
112
 
113
- .mtphr-dnt-control-button.active i { color: #777; }
 
114
 
115
- .mtphr-dnt-control-button:focus { outline: none; }
 
116
 
117
  /* --------------------------------------------------------- */
118
  /* !Play & Pause */
119
  /* --------------------------------------------------------- */
120
- .mtphr-dnt-play-pause { float: right; color: inherit; text-decoration: none; }
121
-
122
- .mtphr-dnt-play-pause:hover i { opacity: 1; text-decoration: none; }
123
-
124
- .mtphr-dnt-play-pause:active, .mtphr-dnt-play-pause:focus { outline: none; text-decoration: none; }
125
-
126
- .mtphr-dnt-play-pause.paused i.mtphr-dnt-icon-play { display: none; }
127
-
128
- .mtphr-dnt-play-pause.paused i.mtphr-dnt-icon-pause { display: inline-block; }
129
-
130
- .mtphr-dnt-play-pause i { display: inline-block; box-sizing: border-box; width: 40px; height: 40px; font-size: 25px; line-height: 33px; text-align: center; color: #FFF; background-color: #333; border-radius: 20px; opacity: .8; -webkit-transition: opacity 0.25s ease; transition: opacity 0.25s ease; }
131
-
132
- .mtphr-dnt-play-pause i:before { vertical-align: middle; }
133
-
134
- .mtphr-dnt-play-pause i.mtphr-dnt-icon-play { padding-left: 4px; }
135
-
136
- .mtphr-dnt-play-pause i.mtphr-dnt-icon-pause { display: none; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
 
138
  /* --------------------------------------------------------- */
139
  /* !Edit link */
140
  /* --------------------------------------------------------- */
141
- .mtphr-dnt-edit-link { position: absolute; top: 0; left: 0; z-index: 999; font-family: Arial, sans-serif !important; font-size: 14px !important; line-height: 16px !important; color: #666; background: #FFF; padding: 6px 8px 4px 7px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; filter: alpha(opacity=50); -moz-opacity: .5; -khtml-opacity: .5; opacity: .5; -webkit-transition: opacity 0.2s linear; -moz-transition: opacity 0.2s linear; -o-transition: opacity 0.2s linear; transition: opacity 0.2s linear; }
142
-
143
- .mtphr-dnt-edit-link:hover { color: #666; filter: alpha(opacity=100); -moz-opacity: 1; -khtml-opacity: 1; opacity: 1; }
144
-
145
- .mtphr-dnt-edit-link i { float: left; display: block; margin: 1px 3px 0 0; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
 
147
  /* --------------------------------------------------------- */
148
  /* !Paging */
149
  /* --------------------------------------------------------- */
150
- .mtphr-dnt-tick-paging { text-align: center; list-style: none; }
 
 
151
 
152
- .mtphr-dnt-tick-paging a, .mtphr-dnt-tick-paging span { margin: 0 4px; }
 
 
153
 
154
  /* --------------------------------------------------------- */
155
  /* !Grid */
156
  /* --------------------------------------------------------- */
157
- .mtphr-dnt-grid { width: 100%; border-spacing: 0; }
 
 
158
 
159
- .mtphr-dnt-grid td { border: none; }
 
160
 
161
- .mtphr-dnt-grid-remove-padding tr > td:first-child { padding-left: 0 !important; }
 
162
 
163
- .mtphr-dnt-grid-remove-padding tr > td:last-child { padding-right: 0 !important; }
 
164
 
165
- .mtphr-dnt-grid-remove-padding tr:first-child td { padding-top: 0 !important; }
 
166
 
167
- .mtphr-dnt-grid-remove-padding tr:last-child td { padding-bottom: 0 !important; }
 
168
 
169
  /* Add clearfix
170
  ------------------------------------------------------------ */
171
- .mtphr-dnt-clearfix { *zoom: 1; }
172
-
173
- .mtphr-dnt-clearfix:before, .mtphr-dnt-clearfix:after { display: table; line-height: 0; content: ""; }
174
-
175
- .mtphr-dnt-clearfix:after { clear: both; }
176
-
177
- /** Default styles @since 1.0.0 */
178
- .mtphr-dnt-styled .mtphr-dnt-posts-nav-prev { float: left; }
179
-
180
- .mtphr-dnt-styled .mtphr-dnt-posts-nav-next { float: right; }
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .mtphr-dnt img {
2
+ max-width: 100%;
3
+ height: auto; }
4
 
5
+ .mtphr-dnt-wrapper {
6
+ position: relative;
7
+ width: 100%; }
8
 
9
+ .mtphr-dnt-inline-title {
10
+ float: left;
11
+ padding-right: 5px; }
12
 
13
+ .mtphr-dnt-tick-container {
14
+ position: relative; }
15
 
16
+ .mtphr-dnt-tick-contents {
17
+ position: relative;
18
+ overflow: hidden; }
19
 
20
+ .mtphr-dnt-tick {
21
+ margin: 0; }
22
+ .mtphr-dnt-tick img.emoji {
23
+ max-width: none; }
24
 
25
+ .mtphr-dnt-rotate .mtphr-dnt-tick,
26
+ .mtphr-dnt-scroll .mtphr-dnt-tick {
27
+ position: absolute;
28
+ display: none; }
29
 
30
+ .mtphr-dnt-rotate .mtphr-dnt-tick {
31
+ opacity: 0; }
32
 
33
+ .mtphr-dnt-scroll-left .mtphr-dnt-tick,
34
+ .mtphr-dnt-scroll-right .mtphr-dnt-tick {
35
+ white-space: nowrap; }
36
 
37
+ .mtphr-dnt-trim-ticks .mtphr-dnt-tick * {
38
+ margin-top: 0 !important;
39
+ margin-bottom: 0 !important;
40
+ padding-top: 0 !important;
41
+ padding-bottom: 0 !important; }
42
 
43
  /* --------------------------------------------------------- */
44
  /* !Rotate */
45
  /* --------------------------------------------------------- */
46
+ /*
47
+ .mtphr-dnt-rotate {
48
+ .unslider {
49
+ overflow:auto;
50
+ margin:0;
51
+ padding:0;
52
+ li, ol, ul {
53
+ list-style:none;
54
+ margin:0;
55
+ padding:0;
56
+ border:none;
57
+ }
58
+ }
59
+ .unslider-wrap {
60
+ position:relative;
61
+ &.unslider-carousel {
62
+ > .mtphr-dnt-tick {
63
+ float:left;
64
+ }
65
+ }
66
+ }
67
+ .unslider-vertical {
68
+ > ul {
69
+ height:100%;
70
+ }
71
+ li {
72
+ float:none;
73
+ width:100%;
74
+ }
75
+ }
76
+ .unslider-fade {
77
+ position:relative;
78
+ .unslider-wrap {
79
+ .mtphr-dnt-tick {
80
+ position:absolute;
81
+ left:0;
82
+ top:0;
83
+ right:0;
84
+ z-index:8;
85
+ &.unslider-active {
86
+ z-index:10;
87
+ }
88
+ }
89
+ }
90
+ }
91
+ .unslider-arrow {
92
+ position:absolute;
93
+ left:20px;
94
+ z-index:2;
95
+ cursor:pointer;
96
+ &.next {
97
+ left:auto;
98
+ right:20px;
99
+ }
100
+ }
101
+ .unslider-nav {
102
+ text-align: center;
103
+ ol {
104
+ display: inline-block;
105
+ }
106
+ li {
107
+ float: left;
108
+ margin: 0 5px;
109
+ cursor: pointer;
110
+ &.unslider-active {
111
+ color: green;
112
+ }
113
+ }
114
+ }
115
+ }
116
+ */
117
  /* --------------------------------------------------------- */
118
  /* !Spinner */
119
  /* --------------------------------------------------------- */
120
+ .mtphr-dnt-icon-spinner {
121
+ position: absolute;
122
+ left: 50%;
123
+ top: 50%;
124
+ width: 30px;
125
+ height: 30px;
126
+ font-size: 30px;
127
+ color: #FFF;
128
+ margin: -15px 0 0 -15px;
129
+ -webkit-animation: mtphr-dnt-spinner-rotation .8s infinite linear;
130
+ animation: mtphr-dnt-spinner-rotation .8s infinite linear; }
131
+
132
+ @-webkit-keyframes mtphr-dnt-spinner-rotation {
133
+ from {
134
+ -webkit-transform: rotate(0deg); }
135
+ to {
136
+ -webkit-transform: rotate(359deg); } }
137
+
138
+ @keyframes mtphr-dnt-spinner-rotation {
139
+ from {
140
+ -webkit-transform: rotate(0deg);
141
+ transform: rotate(0deg); }
142
+ to {
143
+ -webkit-transform: rotate(359deg);
144
+ transform: rotate(359deg); } }
145
 
146
  /* --------------------------------------------------------- */
147
  /* !Images */
148
  /* --------------------------------------------------------- */
149
+ .mtphr-dnt-image-caption {
150
+ line-height: 1.2em; }
151
+
152
+ .mtphr-dnt-image-container {
153
+ position: relative;
154
+ display: block; }
155
+ .mtphr-dnt-image-container > * {
156
+ margin: 10px 0; }
157
+ .mtphr-dnt-image-container > *:first-child {
158
+ margin-top: 0; }
159
+ .mtphr-dnt-image-container > *:last-child {
160
+ margin-bottom: 0; }
161
+ .mtphr-dnt-image-container.mtphr-dnt-image-caption-top .mtphr-dnt-image-photo, .mtphr-dnt-image-container.mtphr-dnt-image-caption-bottom .mtphr-dnt-image-photo {
162
+ margin-top: 0;
163
+ margin-bottom: 0; }
164
+ .mtphr-dnt-image-container.mtphr-dnt-image-caption-top .mtphr-dnt-image-caption, .mtphr-dnt-image-container.mtphr-dnt-image-caption-bottom .mtphr-dnt-image-caption {
165
+ position: absolute;
166
+ left: 0;
167
+ bottom: 0;
168
+ z-index: 9;
169
+ box-sizing: border-box;
170
+ width: 100%;
171
+ margin: 0 !important;
172
+ padding: 12px 20px;
173
+ color: #FFF;
174
+ background: rgba(0, 0, 0, 0.7); }
175
+ .mtphr-dnt-image-container.mtphr-dnt-image-caption-top .mtphr-dnt-image-caption {
176
+ bottom: auto;
177
+ top: 0; }
178
+ .mtphr-dnt-image-container.mtphr-dnt-image-caption-hover {
179
+ display: block; }
180
+ .mtphr-dnt-image-container.mtphr-dnt-image-caption-hover .mtphr-dnt-image-caption {
181
+ opacity: 0;
182
+ transition: opacity .25s ease; }
183
+ .mtphr-dnt-image-container.mtphr-dnt-image-caption-hover:hover .mtphr-dnt-image-caption {
184
+ opacity: 1; }
185
+ .mtphr-dnt-image-container .mtphr-dnt-image-photo {
186
+ line-height: 0; }
187
+ .mtphr-dnt-image-container .mtphr-dnt-image-photo a {
188
+ display: inline-block;
189
+ max-width: 100%; }
190
+ .mtphr-dnt-image-container .mtphr-dnt-image-photo img {
191
+ display: block;
192
+ max-width: 100%;
193
+ height: auto;
194
+ line-height: 0; }
195
+ .mtphr-dnt-image-container .mtphr-dnt-image-placeholder,
196
+ .mtphr-dnt-image-container .mtphr-dnt-image-placeholder-loading {
197
+ position: relative;
198
+ display: none;
199
+ width: 100%;
200
+ max-width: 100%;
201
+ background: #000;
202
+ line-height: 0; }
203
+ .mtphr-dnt-grid .mtphr-dnt-image-container {
204
+ width: 100% !important; }
205
+ .mtphr-dnt-grid .mtphr-dnt-image-container .mtphr-dnt-image-placeholder,
206
+ .mtphr-dnt-grid .mtphr-dnt-image-container .mtphr-dnt-image-placeholder-loading {
207
+ width: 100% !important; }
208
 
209
  /* Directional nav
210
  ------------------------------------------------------------ */
211
+ .mtphr-dnt .mtphr-dnt-nav {
212
+ position: absolute;
213
+ top: 50%;
214
+ text-decoration: none;
215
+ margin-top: -19px; }
216
 
217
+ .mtphr-dnt-nav i {
218
+ display: block;
219
+ width: 38px;
220
+ height: 38px;
221
+ font-size: 38px;
222
+ line-height: 38px;
223
+ color: #DDD;
224
+ color: rgba(221, 221, 221, 0.8); }
225
 
226
+ .mtphr-dnt-nav:hover {
227
+ text-decoration: none !important; }
228
 
229
+ .mtphr-dnt-nav:focus {
230
+ outline: none; }
231
 
232
+ .mtphr-dnt-nav-prev {
233
+ left: 10px; }
234
 
235
+ .mtphr-dnt-nav-next {
236
+ right: 10px;
237
+ background-position: -38px 0; }
238
 
239
+ .mtphr-dnt-nav-hide {
240
+ opacity: 0;
241
+ transition: opacity .3s linear; }
242
 
243
+ .mtphr-dnt-tick-container:hover .mtphr-dnt-nav-hide {
244
+ opacity: 1; }
245
 
246
  /* Control nav
247
  ------------------------------------------------------------ */
248
+ .mtphr-dnt-control-links {
249
+ text-align: center;
250
+ margin: 15px 0px 0px; }
251
 
252
+ .mtphr-dnt-control-links a {
253
+ text-decoration: none; }
254
 
255
+ .mtphr-dnt-control-number {
256
+ padding: 2px 5px; }
257
 
258
+ .mtphr-dnt-control-button {
259
+ display: inline-block;
260
+ margin: 0 2px; }
261
 
262
+ .mtphr-dnt-control-button i {
263
+ display: block;
264
+ width: 18px;
265
+ height: 18px;
266
+ font-size: 18px;
267
+ line-height: 18px;
268
+ color: #CCC; }
269
 
270
+ .mtphr-dnt-control-button:hover {
271
+ text-decoration: none !important; }
272
 
273
+ .mtphr-dnt-control-button.active i {
274
+ color: #777; }
275
 
276
+ .mtphr-dnt-control-button:focus {
277
+ outline: none; }
278
 
279
  /* --------------------------------------------------------- */
280
  /* !Play & Pause */
281
  /* --------------------------------------------------------- */
282
+ .mtphr-dnt-play-pause {
283
+ float: right;
284
+ color: inherit;
285
+ text-decoration: none; }
286
+ .mtphr-dnt-play-pause:hover i {
287
+ opacity: 1;
288
+ text-decoration: none; }
289
+ .mtphr-dnt-play-pause:active, .mtphr-dnt-play-pause:focus {
290
+ outline: none;
291
+ text-decoration: none; }
292
+ .mtphr-dnt-play-pause.paused i.mtphr-dnt-icon-play {
293
+ display: none; }
294
+ .mtphr-dnt-play-pause.paused i.mtphr-dnt-icon-pause {
295
+ display: inline-block; }
296
+ .mtphr-dnt-play-pause i {
297
+ display: inline-block;
298
+ box-sizing: border-box;
299
+ width: 40px;
300
+ height: 40px;
301
+ font-size: 25px;
302
+ line-height: 33px;
303
+ text-align: center;
304
+ color: #FFF;
305
+ background-color: #333;
306
+ border-radius: 20px;
307
+ opacity: .8;
308
+ transition: opacity .25s ease; }
309
+ .mtphr-dnt-play-pause i:before {
310
+ vertical-align: middle; }
311
+ .mtphr-dnt-play-pause i.mtphr-dnt-icon-play {
312
+ padding-left: 4px; }
313
+ .mtphr-dnt-play-pause i.mtphr-dnt-icon-pause {
314
+ display: none; }
315
 
316
  /* --------------------------------------------------------- */
317
  /* !Edit link */
318
  /* --------------------------------------------------------- */
319
+ .mtphr-dnt-edit-link {
320
+ position: absolute;
321
+ top: 0;
322
+ left: 0;
323
+ z-index: 999;
324
+ font-family: Arial, sans-serif !important;
325
+ font-size: 14px !important;
326
+ line-height: 16px !important;
327
+ color: #666;
328
+ background: #FFF;
329
+ padding: 6px 8px 4px 7px;
330
+ border-radius: 5px;
331
+ filter: alpha(opacity=50);
332
+ -moz-opacity: .5;
333
+ -khtml-opacity: .5;
334
+ opacity: .5;
335
+ transition: opacity .2s linear; }
336
+
337
+ .mtphr-dnt-edit-link:hover {
338
+ color: #666;
339
+ filter: alpha(opacity=100);
340
+ -moz-opacity: 1;
341
+ -khtml-opacity: 1;
342
+ opacity: 1; }
343
+
344
+ .mtphr-dnt-edit-link i {
345
+ float: left;
346
+ display: block;
347
+ margin: 1px 3px 0 0; }
348
 
349
  /* --------------------------------------------------------- */
350
  /* !Paging */
351
  /* --------------------------------------------------------- */
352
+ .mtphr-dnt-tick-paging {
353
+ text-align: center;
354
+ list-style: none; }
355
 
356
+ .mtphr-dnt-tick-paging a,
357
+ .mtphr-dnt-tick-paging span {
358
+ margin: 0 4px; }
359
 
360
  /* --------------------------------------------------------- */
361
  /* !Grid */
362
  /* --------------------------------------------------------- */
363
+ .mtphr-dnt-grid {
364
+ width: 100%;
365
+ border-spacing: 0; }
366
 
367
+ .mtphr-dnt-grid td {
368
+ border: none; }
369
 
370
+ .mtphr-dnt-grid-remove-padding tr > td:first-child {
371
+ padding-left: 0 !important; }
372
 
373
+ .mtphr-dnt-grid-remove-padding tr > td:last-child {
374
+ padding-right: 0 !important; }
375
 
376
+ .mtphr-dnt-grid-remove-padding tr:first-child td {
377
+ padding-top: 0 !important; }
378
 
379
+ .mtphr-dnt-grid-remove-padding tr:last-child td {
380
+ padding-bottom: 0 !important; }
381
 
382
  /* Add clearfix
383
  ------------------------------------------------------------ */
384
+ .mtphr-dnt-clearfix {
385
+ *zoom: 1; }
386
+
387
+ .mtphr-dnt-clearfix:before,
388
+ .mtphr-dnt-clearfix:after {
389
+ display: table;
390
+ line-height: 0;
391
+ content: ""; }
392
+
393
+ .mtphr-dnt-clearfix:after {
394
+ clear: both; }
395
+
396
+ /**
397
+ * Default styles
398
+ *
399
+ * @since 1.0.0
400
+ */
401
+ .mtphr-dnt-styled .mtphr-dnt-posts-nav-prev {
402
+ float: left; }
403
+
404
+ .mtphr-dnt-styled .mtphr-dnt-posts-nav-next {
405
+ float: right; }
assets/js/min/script-admin-min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function($){function t(t,e){$("#mtphr-dnt-"+e+"-metaboxes > div").stop(!0,!0).hide();for(var i=t.attr("metabox").split(" "),n=0;n<i.length;n++)$("#"+i[n]).show();t.siblings("a").removeClass("button-primary"),t.addClass("button-primary"),t.siblings("input").val(t.attr("href").substring(1))}function e(t){t.find("input").is(":checked")?t.next().fadeOut():t.next().fadeIn()}var i=$("#mtphr-dnt-settings-select"),n=$("#wpadminbar");i.mtphr_dnt_affix({offset:{top:function(){return $(window).width()<601?this.top=i.offset().top+5:this.top=i.offset().top-n.height()+5}}}),$(".mtphr-dnt-metabox-group-toggle").click(function(t){t.preventDefault();var e=$(this).attr("href");$(".mtphr-dnt-metabox-group-toggle").removeClass("active"),$(".mtphr-dnt-metabox-group").removeClass("active"),$(this).addClass("active"),$(e).addClass("active"),$('input[name="_mtphr_dnt_admin_tab"]').val(e)}),$(".mtphr-dnt-codemirror-css").each(function(){var t=$(this).children("textarea");CodeMirror.fromTextArea(t[0],{mode:"css",lineNumbers:!0,lineWrapping:!0,viewportMargin:1/0})}),$(".mtphr-dnt-codemirror-js").each(function(){var t=$(this).children("textarea");CodeMirror.fromTextArea(t[0],{mode:"htmlmixed",lineNumbers:!0,lineWrapping:!0}).setSize(!1,140)}),$(".mtphr-dnt-code-select").click(function(t){t.preventDefault();var e=$(this).siblings("pre"),i,n,r=e[0];$.browser.msie?(i=document.body.createTextRange(),i.moveToElementText(r),i.select()):$.browser.mozilla||$.browser.opera?(n=window.getSelection(),i=document.createRange(),i.selectNodeContents(r),n.removeAllRanges(),n.addRange(i)):($.browser.safari||$.browser.chrome)&&(n=window.getSelection(),n.setBaseAndExtent(r,0,r,1))}),$('input[name="_mtphr_dnt_admin_javascript"]').length&&$('input[name="_mtphr_dnt_admin_javascript"]').val("ok"),$(".mtphr-dnt-type-toggle.button-primary").length&&t($(".mtphr-dnt-type-toggle.button-primary"),"type"),$(".mtphr-dnt-mode-toggle.button-primary").length&&t($(".mtphr-dnt-mode-toggle.button-primary"),"mode"),$(".mtphr-dnt-type-toggle").click(function(e){e.preventDefault(),$(this).hasClass("button-primary")||t($(this),"type")}),$(".mtphr-dnt-mode-toggle").click(function(e){e.preventDefault(),$(this).hasClass("button-primary")||t($(this),"mode")}),$(".mtphr-dnt-sort").length>0&&($(".mtphr-dnt-sort").sortable({handle:".mtphr-dnt-sort-heading",items:".mtphr-dnt-sort-item",axis:"y",opacity:.7,placeholder:{element:function(t){return $('<div class="mtphr-dnt-sort-placeholder" style="height:'+$(t).innerHeight()+'px;"></div>')[0]},update:function(){}},helper:function(t,e){var i=e.children(),n=e.clone();return n.children().each(function(t){$(this).width(i.eq(t).width()),$(this).height(i.eq(t).height())}),n}}),$(".mtphr-dnt-sort-heading.optional").live("click",function(t){t.preventDefault();var e=$(this).parents(".mtphr-dnt-sort-item"),i=$(this).next(".mtphr-dnt-sort-item-fields"),n=$(this).children("input");e.hasClass("active")?(e.removeClass("active"),n.val("off"),i.length&&i.stop(!0,!0).slideUp(1e3,"easeOutQuint")):(e.addClass("active"),n.val("on"),i.length&&i.stop(!0,!0).slideDown(1e3,"easeOutQuint"))})),$(".mtphr-dnt-list").mtphr_dnt_list(),$(".mtphr-dnt-single-image").find(".mtphr-dnt-delete").live("click",function(t){t.preventDefault();var e=$(this).parent(),i=e.siblings(".mtphr-dnt-single-image-upload");e.siblings("input").val(""),e.remove(),i.show()}),$(".mtphr-dnt-single-image-upload").live("click",function(t){t.preventDefault();var e=$(this),i=e.parent(),n=i.children("input"),r;return r?void r.open():(r=wp.media({title:ditty_news_ticker_vars.img_title,button:{text:ditty_news_ticker_vars.img_button,size:"small"},multiple:!1,library:{type:"image"}}),r.on("select",function(){var t=r.state().get("selection").toJSON();if(t.length>0){n.val(t[0].id);var a={action:"mtphr_dnt_single_image_ajax",attachment:t[0],security:ditty_news_ticker_vars.security};jQuery.post(ajaxurl,a,function(t){e.hide(),i.append(t)})}}),r.open(),!1)});var r={content:{attr:"data-tooltip"},style:{classes:"qtip-light qtip-rounded qtip-shadow"}};$('.mtphr-dnt-help[data-tooltip!=""]').qtip(r),$('.mtphr-dnt-help[data-tooltip!=""]').click(function(t){t.preventDefault()}),$(".mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all").find("input").live("click",function(){e($(this).parents(".mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all"))}),$(".mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all").each(function(){e($(this))})}),function($){var t={init:function(t){return this.each(function(){function e(){a.find(".mtphr-dnt-list-item").length>1?(a.find(".mtphr-dnt-list-handle").show(),a.find(".mtphr-dnt-list-delete").show()):(a.find(".mtphr-dnt-list-handle").hide(),a.find(".mtphr-dnt-list-delete").hide())}function i(){a.find(".mtphr-dnt-list-item").each(function(t){$(this).find("textarea, input, select").each(function(){var e,i;if($(this).hasClass("wp-editor-area")){var n=$(this).parents(".mtphr-dnt-field-type-wysiwyg");e=n.attr("data-name"),i=n.attr("data-key")}else e=$(this).attr("data-name"),i=$(this).attr("data-key");e&&i&&$(this).attr("name",e+"["+t+"]["+i+"]")})}),e()}function n(t,e){var n=t.clone();n.find("textarea, input, select").each(function(){"checkbox"===$(this).attr("type")||"radio"===$(this).attr("type")?$(this).removeAttr("checked"):$(this).val("")}),n.find("textarea").each(function(){if($(this).hasClass("wp-editor-area")){var t=$(this).parents(".mtphr-dnt-field-type-wysiwyg"),e=t.attr("data-name");t.children(".wp-core-ui").remove();var n={action:"mtphr_dnt_wysiwyg_ajax",name:e,security:ditty_news_ticker_vars.security};jQuery.post(ajaxurl,n,function(e){var n=$(e),r=n.find("textarea").attr("id");t.append(e),"object"==typeof tinyMCE&&"function"==typeof tinyMCE.execCommand&&tinyMCE.execCommand("mceAddEditor",!1,r),i()})}}),n.hide(),t.after(n),n.fadeIn().addClass(e),n.find('.mtphr-dnt-help[data-tooltip!=""]').qtip(s),i(),a.trigger("mtphr_dnt_list_item_added",[n,e])}var r={};t&&$.extend(r,t);var a=$(this),s={content:{attr:"data-tooltip"},style:{classes:"qtip-light qtip-rounded qtip-shadow"}};a.sortable({handle:".mtphr-dnt-list-heading",items:".mtphr-dnt-list-item",axis:"y",opacity:.7,placeholder:{element:function(t){return $('<div class="mtphr-dnt-sort-placeholder" style="height:'+$(t).innerHeight()+'px;"></div>')[0]},update:function(){}},helper:function(t,e){var i=e.children(),n=e.clone();return n.children().each(function(t){$(this).width(i.eq(t).width()),$(this).height(i.eq(t).height())}),n}}),a.find(".mtphr-dnt-list-delete").live("click",function(t){t.preventDefault(),$(this).parents(".mtphr-dnt-list-item").fadeOut(function(){$(this).remove(),i()})}),a.find(".mtphr-dnt-list-add").live("click",function(t){t.preventDefault(),n($(this).parents(".mtphr-dnt-list-item"))}),a.on("mtphr_dnt_list_add_item",function(t,e,i){n(e,i)}),i()})}};$.fn.mtphr_dnt_list=function(e){return t[e]?t[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void $.error("Method "+e+" does not exist in mtphr_dnt_list"):t.init.apply(this,arguments)}}(jQuery);
1
+ jQuery(document).ready(function($){function t(t,e){$("#mtphr-dnt-"+e+"-metaboxes > div").stop(!0,!0).hide();for(var i=t.attr("metabox").split(" "),n=0;n<i.length;n++)$("#"+i[n]).show();t.siblings("a").removeClass("button-primary"),t.addClass("button-primary"),t.siblings("input").val(t.attr("href").substring(1))}function e(t){t.find("input").is(":checked")?t.next().fadeOut():t.next().fadeIn()}var i=$("#mtphr-dnt-settings-select"),n=$("#wpadminbar");i.mtphr_dnt_affix({offset:{top:function(){return $(window).width()<601?this.top=i.offset().top+5:this.top=i.offset().top-n.height()+5}}}),$(".mtphr-dnt-metabox-group-toggle").click(function(t){t.preventDefault();var e=$(this).attr("href");$(".mtphr-dnt-metabox-group-toggle").removeClass("active"),$(".mtphr-dnt-metabox-group").removeClass("active"),$(this).addClass("active"),$(e).addClass("active"),$('input[name="_mtphr_dnt_admin_tab"]').val(e)}),$(".mtphr-dnt-codemirror-css").each(function(){var t=$(this).children("textarea");CodeMirror.fromTextArea(t[0],{mode:"css",lineNumbers:!0,lineWrapping:!0,viewportMargin:1/0})}),$(".mtphr-dnt-codemirror-js").each(function(){var t=$(this).children("textarea");CodeMirror.fromTextArea(t[0],{mode:"htmlmixed",lineNumbers:!0,lineWrapping:!0}).setSize(!1,140)}),$(".mtphr-dnt-code-select").click(function(t){t.preventDefault();var e=$(this).siblings("pre"),i,n,r=e[0];$.browser.msie?(i=document.body.createTextRange(),i.moveToElementText(r),i.select()):$.browser.mozilla||$.browser.opera?(n=window.getSelection(),i=document.createRange(),i.selectNodeContents(r),n.removeAllRanges(),n.addRange(i)):($.browser.safari||$.browser.chrome)&&(n=window.getSelection(),n.setBaseAndExtent(r,0,r,1))}),$('input[name="_mtphr_dnt_admin_javascript"]').length&&$('input[name="_mtphr_dnt_admin_javascript"]').val("ok"),$(".mtphr-dnt-type-toggle.button-primary").length&&t($(".mtphr-dnt-type-toggle.button-primary"),"type"),$(".mtphr-dnt-mode-toggle.button-primary").length&&t($(".mtphr-dnt-mode-toggle.button-primary"),"mode"),$(".mtphr-dnt-type-toggle").click(function(e){e.preventDefault(),$(this).hasClass("button-primary")||t($(this),"type")}),$(".mtphr-dnt-mode-toggle").click(function(e){e.preventDefault(),$(this).hasClass("button-primary")||t($(this),"mode")}),$(".mtphr-dnt-sort").length>0&&($(".mtphr-dnt-sort").sortable({handle:".mtphr-dnt-sort-heading",items:".mtphr-dnt-sort-item",axis:"y",opacity:.7,placeholder:{element:function(t){var e=$(t).innerHeight();return $('<div class="mtphr-dnt-sort-placeholder" style="height:'+e+'px;"></div>')[0]},update:function(){}},helper:function(t,e){var i=e.children(),n=e.clone();return n.children().each(function(t){$(this).width(i.eq(t).width()),$(this).height(i.eq(t).height())}),n}}),$(".mtphr-dnt-sort-heading.optional").live("click",function(t){t.preventDefault();var e=$(this).parents(".mtphr-dnt-sort-item"),i=$(this).next(".mtphr-dnt-sort-item-fields"),n=$(this).children("input");e.hasClass("active")?(e.removeClass("active"),n.val("off"),i.length&&i.stop(!0,!0).slideUp(1e3,"easeOutQuint")):(e.addClass("active"),n.val("on"),i.length&&i.stop(!0,!0).slideDown(1e3,"easeOutQuint"))})),$(".mtphr-dnt-list").mtphr_dnt_list(),$(".mtphr-dnt-single-image").find(".mtphr-dnt-delete").live("click",function(t){t.preventDefault();var e=$(this).parent(),i=e.siblings(".mtphr-dnt-single-image-upload");e.siblings("input").val(""),e.remove(),i.show()}),$(".mtphr-dnt-single-image-upload").live("click",function(t){t.preventDefault();var e=$(this),i=e.parent(),n=i.children("input"),r;return r?void r.open():(r=wp.media({title:ditty_news_ticker_vars.img_title,button:{text:ditty_news_ticker_vars.img_button,size:"small"},multiple:!1,library:{type:"image"}}),r.on("select",function(){var t=r.state().get("selection").toJSON();if(t.length>0){n.val(t[0].id);var a={action:"mtphr_dnt_single_image_ajax",attachment:t[0],security:ditty_news_ticker_vars.security};jQuery.post(ajaxurl,a,function(t){e.hide(),i.append(t)})}}),r.open(),!1)});var r={content:{attr:"data-tooltip"},style:{classes:"qtip-light qtip-rounded qtip-shadow"}};$('.mtphr-dnt-help[data-tooltip!=""]').qtip(r),$("body").on("click",'.mtphr-dnt-help[data-tooltip!=""]',function(t){t.preventDefault()}),$(".mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all").find("input").live("click",function(){e($(this).parents(".mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all"))}),$(".mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all").each(function(){e($(this))})}),function($){var t={init:function(t){return this.each(function(){function e(){a.find(".mtphr-dnt-list-item").length>1?(a.find(".mtphr-dnt-list-handle").show(),a.find(".mtphr-dnt-list-delete").show()):(a.find(".mtphr-dnt-list-handle").hide(),a.find(".mtphr-dnt-list-delete").hide())}function i(){a.find(".mtphr-dnt-list-item").each(function(t){$(this).find("textarea, input, select").each(function(){var e,i;if($(this).hasClass("wp-editor-area")){var n=$(this).parents(".mtphr-dnt-field-type-wysiwyg");e=n.attr("data-name"),i=n.attr("data-key")}else e=$(this).attr("data-name"),i=$(this).attr("data-key");e&&i&&$(this).attr("name",e+"["+t+"]["+i+"]")})}),e()}function n(t,e){var n=t.clone();n.find("textarea, input, select").each(function(){"checkbox"===$(this).attr("type")||"radio"===$(this).attr("type")?$(this).removeAttr("checked"):$(this).val("")}),n.find("textarea").each(function(){if($(this).hasClass("wp-editor-area")){var t=$(this).parents(".mtphr-dnt-field-type-wysiwyg"),e=t.attr("data-name");t.children(".wp-core-ui").remove();var n={action:"mtphr_dnt_wysiwyg_ajax",name:e,security:ditty_news_ticker_vars.security};jQuery.post(ajaxurl,n,function(e){var n=$(e),r=n.find("textarea").attr("id");t.append(e),"object"==typeof tinyMCE&&"function"==typeof tinyMCE.execCommand&&tinyMCE.execCommand("mceAddEditor",!1,r),i()})}}),n.hide(),t.after(n),n.fadeIn().addClass(e),n.find('.mtphr-dnt-help[data-tooltip!=""]').qtip(s),i(),a.trigger("mtphr_dnt_list_item_added",[n,e])}var r={};t&&$.extend(r,t);var a=$(this),s={content:{attr:"data-tooltip"},style:{classes:"qtip-light qtip-rounded qtip-shadow"}};a.sortable({handle:".mtphr-dnt-list-heading",items:".mtphr-dnt-list-item",axis:"y",opacity:.7,placeholder:{element:function(t){var e=$(t).innerHeight();return $('<div class="mtphr-dnt-sort-placeholder" style="height:'+e+'px;"></div>')[0]},update:function(){}},helper:function(t,e){var i=e.children(),n=e.clone();return n.children().each(function(t){$(this).width(i.eq(t).width()),$(this).height(i.eq(t).height())}),n}}),a.find(".mtphr-dnt-list-delete").live("click",function(t){t.preventDefault(),$(this).parents(".mtphr-dnt-list-item").fadeOut(function(){$(this).remove(),i()})}),a.find(".mtphr-dnt-list-add").live("click",function(t){t.preventDefault(),n($(this).parents(".mtphr-dnt-list-item"))}),a.on("mtphr_dnt_list_add_item",function(t,e,i){n(e,i)}),i()})}};$.fn.mtphr_dnt_list=function(e){return t[e]?t[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void $.error("Method "+e+" does not exist in mtphr_dnt_list"):t.init.apply(this,arguments)}}(jQuery);
assets/js/script-admin.js CHANGED
@@ -308,7 +308,7 @@ jQuery( document ).ready( function($) {
308
  }
309
  };
310
  $('.mtphr-dnt-help[data-tooltip!=""]').qtip( qtipConfig );
311
- $('.mtphr-dnt-help[data-tooltip!=""]').click( function(e) {
312
  e.preventDefault();
313
  });
314
 
308
  }
309
  };
310
  $('.mtphr-dnt-help[data-tooltip!=""]').qtip( qtipConfig );
311
+ $('body').on( 'click', '.mtphr-dnt-help[data-tooltip!=""]', function(e) {
312
  e.preventDefault();
313
  });
314
 
assets/sass/bourbon/_bourbon.scss ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Bourbon 5.0.0-beta.7
2
+ // http://bourbon.io
3
+ // Copyright 2011 thoughtbot, inc.
4
+ // MIT License
5
+
6
+ @import "helpers/buttons-list";
7
+ @import "helpers/scales";
8
+ @import "helpers/text-inputs-list";
9
+
10
+ @import "settings/settings";
11
+
12
+ @import "validators/contains";
13
+ @import "validators/contains-falsy";
14
+ @import "validators/is-color";
15
+ @import "validators/is-length";
16
+ @import "validators/is-number";
17
+ @import "validators/is-size";
18
+
19
+ @import "utilities/assign-inputs";
20
+ @import "utilities/compact-shorthand";
21
+ @import "utilities/directional-property";
22
+ @import "utilities/font-source-declaration";
23
+ @import "utilities/gamma";
24
+ @import "utilities/lightness";
25
+ @import "utilities/contrast-ratio";
26
+ @import "utilities/retrieve-bourbon-setting";
27
+ @import "utilities/unpack-shorthand";
28
+
29
+ @import "library/border-color";
30
+ @import "library/border-radius";
31
+ @import "library/border-style";
32
+ @import "library/border-width";
33
+ @import "library/buttons";
34
+ @import "library/clearfix";
35
+ @import "library/contrast-switch";
36
+ @import "library/ellipsis";
37
+ @import "library/font-face";
38
+ @import "library/font-stacks";
39
+ @import "library/hide-text";
40
+ @import "library/hide-visually";
41
+ @import "library/margin";
42
+ @import "library/modular-scale";
43
+ @import "library/overflow-wrap";
44
+ @import "library/padding";
45
+ @import "library/position";
46
+ @import "library/prefixer";
47
+ @import "library/shade";
48
+ @import "library/size";
49
+ @import "library/strip-unit";
50
+ @import "library/text-inputs";
51
+ @import "library/timing-functions";
52
+ @import "library/tint";
53
+ @import "library/triangle";
54
+ @import "library/value-prefixer";
assets/sass/bourbon/helpers/_buttons-list.scss ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// A list of all HTML button elements.
4
+ ///
5
+ /// @type list
6
+ ///
7
+ /// @access private
8
+
9
+ $_buttons-list: (
10
+ "button",
11
+ "[type='button']",
12
+ "[type='reset']",
13
+ "[type='submit']",
14
+ );
assets/sass/bourbon/helpers/_scales.scss ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ ////
4
+ /// Pre-defined scales for use with the `modular-scale` function.
5
+ ///
6
+ /// @type number (unitless)
7
+ ///
8
+ /// @see {function} modular-scale
9
+ ////
10
+
11
+ $minor-second: 1.067;
12
+ $major-second: 1.125;
13
+ $minor-third: 1.2;
14
+ $major-third: 1.25;
15
+ $perfect-fourth: 1.333;
16
+ $augmented-fourth: 1.414;
17
+ $perfect-fifth: 1.5;
18
+ $minor-sixth: 1.6;
19
+ $golden: 1.618;
20
+ $major-sixth: 1.667;
21
+ $minor-seventh: 1.778;
22
+ $major-seventh: 1.875;
23
+ $octave: 2;
24
+ $major-tenth: 2.5;
25
+ $major-eleventh: 2.667;
26
+ $major-twelfth: 3;
27
+ $double-octave: 4;
assets/sass/bourbon/helpers/_text-inputs-list.scss ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// A list of all _text-based_ HTML inputs.
4
+ ///
5
+ /// @type list
6
+ ///
7
+ /// @access private
8
+
9
+ $_text-inputs-list: (
10
+ "[type='color']",
11
+ "[type='date']",
12
+ "[type='datetime']",
13
+ "[type='datetime-local']",
14
+ "[type='email']",
15
+ "[type='month']",
16
+ "[type='number']",
17
+ "[type='password']",
18
+ "[type='search']",
19
+ "[type='tel']",
20
+ "[type='text']",
21
+ "[type='time']",
22
+ "[type='url']",
23
+ "[type='week']",
24
+ "input:not([type])",
25
+ "textarea",
26
+ );
assets/sass/bourbon/library/_border-color.scss ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a concise, one-line method for setting `border-color` on specific
4
+ /// edges of a box. Use a `null` value to “skip” edges of the box with standard
5
+ /// CSS shorthand.
6
+ ///
7
+ /// @argument {list} $values
8
+ /// List of colors; accepts CSS shorthand.
9
+ ///
10
+ /// @example scss
11
+ /// .element {
12
+ /// @include border-color(#a60b55 #76cd9c null #e8ae1a);
13
+ /// }
14
+ ///
15
+ /// // CSS Output
16
+ /// .element {
17
+ /// border-left-color: #e8ae1a;
18
+ /// border-right-color: #76cd9c;
19
+ /// border-top-color: #a60b55;
20
+ /// }
21
+ ///
22
+ /// @require {mixin} _directional-property
23
+
24
+ @mixin border-color($values) {
25
+ @include _directional-property(border, color, $values);
26
+ }
assets/sass/bourbon/library/_border-radius.scss ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a concise, one-line method for setting `border-radius` on both the
4
+ /// top-left and top-right of a box.
5
+ ///
6
+ /// @argument {number (with unit)} $radii
7
+ ///
8
+ /// @example scss
9
+ /// .element {
10
+ /// @include border-top-radius(4px);
11
+ /// }
12
+ ///
13
+ /// // CSS Output
14
+ /// .element {
15
+ /// border-top-left-radius: 4px;
16
+ /// border-top-right-radius: 4px;
17
+ /// }
18
+
19
+ @mixin border-top-radius($radii) {
20
+ border-top-left-radius: $radii;
21
+ border-top-right-radius: $radii;
22
+ }
23
+
24
+ /// Provides a concise, one-line method for setting `border-radius` on both the
25
+ /// top-right and bottom-right of a box.
26
+ ///
27
+ /// @argument {number (with unit)} $radii
28
+ ///
29
+ /// @example scss
30
+ /// .element {
31
+ /// @include border-right-radius(3px);
32
+ /// }
33
+ ///
34
+ /// // CSS Output
35
+ /// .element {
36
+ /// border-bottom-right-radius: 3px;
37
+ /// border-top-right-radius: 3px;
38
+ /// }
39
+
40
+ @mixin border-right-radius($radii) {
41
+ border-bottom-right-radius: $radii;
42
+ border-top-right-radius: $radii;
43
+ }
44
+
45
+ /// Provides a concise, one-line method for setting `border-radius` on both the
46
+ /// bottom-left and bottom-right of a box.
47
+ ///
48
+ /// @argument {number (with unit)} $radii
49
+ ///
50
+ /// @example scss
51
+ /// .element {
52
+ /// @include border-bottom-radius(2px);
53
+ /// }
54
+ ///
55
+ /// // CSS Output
56
+ /// .element {
57
+ /// border-bottom-left-radius: 2px;
58
+ /// border-bottom-right-radius: 2px;
59
+ /// }
60
+
61
+ @mixin border-bottom-radius($radii) {
62
+ border-bottom-left-radius: $radii;
63
+ border-bottom-right-radius: $radii;
64
+ }
65
+
66
+ /// Provides a concise, one-line method for setting `border-radius` on both the
67
+ /// top-left and bottom-left of a box.
68
+ ///
69
+ /// @argument {number (with unit)} $radii
70
+ ///
71
+ /// @example scss
72
+ /// .element {
73
+ /// @include border-left-radius(1px);
74
+ /// }
75
+ ///
76
+ /// // CSS Output
77
+ /// .element {
78
+ /// border-bottom-left-radius: 1px;
79
+ /// border-top-left-radius: 1px;
80
+ /// }
81
+
82
+ @mixin border-left-radius($radii) {
83
+ border-bottom-left-radius: $radii;
84
+ border-top-left-radius: $radii;
85
+ }
assets/sass/bourbon/library/_border-style.scss ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a concise, one-line method for setting `border-style` on specific
4
+ /// edges of a box. Use a `null` value to “skip” edges of the box with standard
5
+ /// CSS shorthand.
6
+ ///
7
+ /// @argument {list} $values
8
+ /// List of border styles; accepts CSS shorthand.
9
+ ///
10
+ /// @example scss
11
+ /// .element {
12
+ /// @include border-style(dashed null solid);
13
+ /// }
14
+ ///
15
+ /// // CSS Output
16
+ /// .element {
17
+ /// border-bottom-style: solid;
18
+ /// border-top-style: dashed;
19
+ /// }
20
+ ///
21
+ /// @require {mixin} _directional-property
22
+
23
+ @mixin border-style($values) {
24
+ @include _directional-property(border, style, $values);
25
+ }
assets/sass/bourbon/library/_border-width.scss ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a concise, one-line method for setting `border-width` on specific
4
+ /// edges of a box. Use a `null` value to “skip” edges of the box with standard
5
+ /// CSS shorthand.
6
+ ///
7
+ /// @argument {list} $values
8
+ /// List of border widths; accepts CSS shorthand.
9
+ ///
10
+ /// @example scss
11
+ /// .element {
12
+ /// @include border-width(1em null 20px);
13
+ /// }
14
+ ///
15
+ /// // CSS Output
16
+ /// .element {
17
+ /// border-bottom-width: 20px;
18
+ /// border-top-width: 1em;
19
+ /// }
20
+ ///
21
+ /// @require {mixin} _directional-property
22
+
23
+ @mixin border-width($values) {
24
+ @include _directional-property(border, width, $values);
25
+ }
assets/sass/bourbon/library/_buttons.scss ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ ////
4
+ /// @type list
5
+ ///
6
+ /// @require {function} _assign-inputs
7
+ ///
8
+ /// @require {variable} $_buttons-list
9
+ ////
10
+
11
+ /// A list of all HTML button elements. Please note that you must interpolate
12
+ /// the variable (`#{}`) to use it as a selector.
13
+ ///
14
+ /// @example scss
15
+ /// #{$all-buttons} {
16
+ /// background-color: #f00;
17
+ /// }
18
+ ///
19
+ /// // CSS Output
20
+ /// button,
21
+ /// [type='button'],
22
+ /// [type='reset'],
23
+ /// [type='submit'] {
24
+ /// background-color: #f00;
25
+ /// }
26
+
27
+ $all-buttons: _assign-inputs($_buttons-list);
28
+
29
+ /// A list of all HTML button elements with the `:active` pseudo-class applied.
30
+ /// Please note that you must interpolate the variable (`#{}`) to use it as a
31
+ /// selector.
32
+ ///
33
+ /// @example scss
34
+ /// #{$all-buttons-active} {
35
+ /// background-color: #00f;
36
+ /// }
37
+ ///
38
+ /// // CSS Output
39
+ /// button:active,
40
+ /// [type='button']:active,
41
+ /// [type='reset']:active,
42
+ /// [type='submit']:active {
43
+ /// background-color: #00f;
44
+ /// }
45
+
46
+ $all-buttons-active: _assign-inputs($_buttons-list, active);
47
+
48
+ /// A list of all HTML button elements with the `:focus` pseudo-class applied.
49
+ /// Please note that you must interpolate the variable (`#{}`) to use it as a
50
+ /// selector.
51
+ ///
52
+ /// @example scss
53
+ /// #{$all-buttons-focus} {
54
+ /// background-color: #0f0;
55
+ /// }
56
+ ///
57
+ /// // CSS Output
58
+ /// button:focus,
59
+ /// [type='button']:focus,
60
+ /// [type='reset']:focus,
61
+ /// [type='submit']:focus {
62
+ /// background-color: #0f0;
63
+ /// }
64
+
65
+ $all-buttons-focus: _assign-inputs($_buttons-list, focus);
66
+
67
+ /// A list of all HTML button elements with the `:hover` pseudo-class applied.
68
+ /// Please note that you must interpolate the variable (`#{}`) to use it as a
69
+ /// selector.
70
+ ///
71
+ /// @example scss
72
+ /// #{$all-buttons-hover} {
73
+ /// background-color: #0f0;
74
+ /// }
75
+ ///
76
+ /// // CSS Output
77
+ /// button:hover,
78
+ /// [type='button']:hover,
79
+ /// [type='reset']:hover,
80
+ /// [type='submit']:hover {
81
+ /// background-color: #0f0;
82
+ /// }
83
+
84
+ $all-buttons-hover: _assign-inputs($_buttons-list, hover);
assets/sass/bourbon/library/_clearfix.scss ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides an easy way to include a clearfix for containing floats.
4
+ ///
5
+ /// @link https://goo.gl/yP5hiZ
6
+ ///
7
+ /// @example scss
8
+ /// .element {
9
+ /// @include clearfix;
10
+ /// }
11
+ ///
12
+ /// // CSS Output
13
+ /// .element::after {
14
+ /// clear: both;
15
+ /// content: "";
16
+ /// display: block;
17
+ /// }
18
+
19
+ @mixin clearfix {
20
+ &::after {
21
+ clear: both;
22
+ content: "";
23
+ display: block;
24
+ }
25
+ }
assets/sass/bourbon/library/_contrast-switch.scss ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Switches between two colors based on the contrast to another color. It’s
4
+ /// like a [ternary operator] for color contrast and can be useful for building
5
+ /// a button system.
6
+ ///
7
+ /// The calculation of the contrast ratio is based on the [WCAG 2.0
8
+ /// specification]. However, we cannot guarantee full compliance, though all of
9
+ /// our manual testing passed.
10
+ ///
11
+ /// [ternary operator]: https://goo.gl/ccfLqi
12
+ /// [WCAG 2.0 specification]: https://goo.gl/zhQuYA
13
+ ///
14
+ /// @argument {color} $base-color
15
+ /// The color to evaluate lightness against.
16
+ ///
17
+ /// @argument {color} $dark-color [#000]
18
+ /// The color to be output when `$base-color` is light. Can also be set
19
+ /// globally using the `contrast-switch-dark-color` key in the
20
+ /// Bourbon settings.
21
+ ///
22
+ /// @argument {color} $light-color [#fff]
23
+ /// The color to be output when `$base-color` is dark. Can also be set
24
+ /// globally using the `contrast-switch-light-color` key in the
25
+ /// Bourbon settings.
26
+ ///
27
+ /// @return {color}
28
+ ///
29
+ /// @example scss
30
+ /// .element {
31
+ /// color: contrast-switch(#bae6e6);
32
+ /// }
33
+ ///
34
+ /// // CSS Output
35
+ /// .element {
36
+ /// color: #000;
37
+ /// }
38
+ ///
39
+ /// @example scss
40
+ /// .element {
41
+ /// $button-color: #2d72d9;
42
+ /// background-color: $button-color;
43
+ /// color: contrast-switch($button-color, #222, #eee);
44
+ /// }
45
+ ///
46
+ /// // CSS Output
47
+ /// .element {
48
+ /// background-color: #2d72d9;
49
+ /// color: #eee;
50
+ /// }
51
+ ///
52
+ /// @require {function} _retrieve-bourbon-setting
53
+ ///
54
+ /// @require {function} _is-color
55
+ ///
56
+ /// @require {function} _contrast-ratio
57
+ ///
58
+ /// @since 5.0.0
59
+
60
+ @function contrast-switch(
61
+ $base-color,
62
+ $dark-color: _retrieve-bourbon-setting("contrast-switch-dark-color"),
63
+ $light-color: _retrieve-bourbon-setting("contrast-switch-light-color")
64
+ ) {
65
+
66
+ @if not _is-color($base-color) {
67
+ @error "`#{$base-color}` is not a valid color for the `$base-color` " +
68
+ "argument in the `contrast-switch` function.";
69
+ } @else if not _is-color($dark-color) {
70
+ @error "`#{$dark-color}` is not a valid color for the `$dark-color` " +
71
+ "argument in the `contrast-switch` function.";
72
+ } @else if not _is-color($light-color) {
73
+ @error "`#{$light-color}` is not a valid color for the `$light-color` " +
74
+ "argument in the `contrast-switch` function.";
75
+ } @else {
76
+ $-contrast-to-dark: _contrast-ratio($base-color, $dark-color);
77
+ $-contrast-to-light: _contrast-ratio($base-color, $light-color);
78
+ $-prefer-dark: $-contrast-to-dark >= $-contrast-to-light;
79
+
80
+ @return if($-prefer-dark, $dark-color, $light-color);
81
+ }
82
+ }
assets/sass/bourbon/library/_ellipsis.scss ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Truncates text and adds an ellipsis to represent overflow.
4
+ ///
5
+ /// @argument {number} $width [100%]
6
+ /// The `max-width` for the string to respect before being truncated.
7
+ ///
8
+ /// @argument {string} $display [inline-block]
9
+ /// Sets the display-value of the element.
10
+ ///
11
+ /// @example scss
12
+ /// .element {
13
+ /// @include ellipsis;
14
+ /// }
15
+ ///
16
+ /// // CSS Output
17
+ /// .element {
18
+ /// display: inline-block;
19
+ /// max-width: 100%;
20
+ /// overflow: hidden;
21
+ /// text-overflow: ellipsis;
22
+ /// white-space: nowrap;
23
+ /// word-wrap: normal;
24
+ /// }
25
+
26
+ @mixin ellipsis(
27
+ $width: 100%,
28
+ $display: inline-block
29
+ ) {
30
+
31
+ display: $display;
32
+ max-width: $width;
33
+ overflow: hidden;
34
+ text-overflow: ellipsis;
35
+ white-space: nowrap;
36
+ word-wrap: normal;
37
+ }
assets/sass/bourbon/library/_font-face.scss ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Generates an `@font-face` declaration. You can choose the specific file
4
+ /// formats you need to output; the mixin supports `eot`, `ttf`, `svg`, `woff2`
5
+ /// and `woff`. The mixin also supports usage with the Rails Asset Pipeline,
6
+ /// which you can enable per use, or globally in the `$bourbon()` settings.
7
+ ///
8
+ /// @argument {string} $font-family
9
+ ///
10
+ /// @argument {string} $file-path
11
+ ///
12
+ /// @argument {string} $asset-pipeline [false]
13
+ /// Set to `true` if you’re using the Rails Asset Pipeline (place the fonts
14
+ /// in `app/assets/fonts/`). Can also be set globally using the
15
+ /// `rails-asset-pipeline` key in the Bourbon settings.
16
+ ///
17
+ /// @argument {string | list} $file-formats [("ttf", "woff2", "woff")]
18
+ /// List of the font file formats to include. Can also be set globally using
19
+ /// the `global-font-file-formats` key in the Bourbon settings.
20
+ ///
21
+ /// @content
22
+ /// Any additional CSS properties that are included in the `@include`
23
+ /// directive will be output within the `@font-face` declaration, e.g. you can
24
+ /// pass in `font-weight`, `font-style` and/or `unicode-range`.
25
+ ///
26
+ /// @example scss
27
+ /// @include font-face(
28
+ /// "source-sans-pro",
29
+ /// "fonts/source-sans-pro-regular",
30
+ /// ("woff2", "woff")
31
+ /// ) {
32
+ /// font-style: normal;
33
+ /// font-weight: 400;
34
+ /// }
35
+ ///
36
+ /// // CSS Output
37
+ /// @font-face {
38
+ /// font-family: "source-sans-pro";
39
+ /// src: url("fonts/source-sans-pro-regular.woff2") format("woff2"),
40
+ /// url("fonts/source-sans-pro-regular.woff") format("woff");
41
+ /// font-style: normal;
42
+ /// font-weight: 400;
43
+ /// }
44
+ ///
45
+ /// @require {function} _font-source-declaration
46
+ ///
47
+ /// @require {function} _retrieve-bourbon-setting
48
+
49
+ @mixin font-face(
50
+ $font-family,
51
+ $file-path,
52
+ $file-formats: _retrieve-bourbon-setting("global-font-file-formats"),
53
+ $asset-pipeline: _retrieve-bourbon-setting("rails-asset-pipeline")
54
+ ) {
55
+
56
+ @font-face {
57
+ font-family: $font-family;
58
+ src: _font-source-declaration(
59
+ $font-family,
60
+ $file-path,
61
+ $asset-pipeline,
62
+ $file-formats
63
+ );
64
+ @content;
65
+ }
66
+ }
assets/sass/bourbon/library/_font-stacks.scss ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// A variable that outputs a Helvetica font stack.
4
+ ///
5
+ /// @link https://goo.gl/uSJvZe
6
+ ///
7
+ /// @type list
8
+ ///
9
+ /// @example scss
10
+ /// .element {
11
+ /// font-family: $font-stack-helvetica;
12
+ /// }
13
+ ///
14
+ /// // CSS Output
15
+ /// .element {
16
+ /// font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
17
+ /// }
18
+
19
+ $font-stack-helvetica: (
20
+ "Helvetica Neue",
21
+ "Helvetica",
22
+ "Arial",
23
+ sans-serif,
24
+ );
25
+
26
+ /// A variable that outputs a Lucida Grande font stack.
27
+ ///
28
+ /// @link https://goo.gl/R5UyYE
29
+ ///
30
+ /// @type list
31
+ ///
32
+ /// @example scss
33
+ /// .element {
34
+ /// font-family: $font-stack-lucida-grande;
35
+ /// }
36
+ ///
37
+ /// // CSS Output
38
+ /// .element {
39
+ /// font-family: "Lucida Grande", "Lucida Sans Unicode", "Geneva", "Verdana", sans-serif;
40
+ /// }
41
+
42
+ $font-stack-lucida-grande: (
43
+ "Lucida Grande",
44
+ "Lucida Sans Unicode",
45
+ "Geneva",
46
+ "Verdana",
47
+ sans-serif,
48
+ );
49
+
50
+ /// A variable that outputs a Verdana font stack.
51
+ ///
52
+ /// @link https://goo.gl/yGXWSS
53
+ ///
54
+ /// @type list
55
+ ///
56
+ /// @example scss
57
+ /// .element {
58
+ /// font-family: $font-stack-verdana;
59
+ /// }
60
+ ///
61
+ /// // CSS Output
62
+ /// .element {
63
+ /// font-family: "Verdana", "Geneva", sans-serif;
64
+ /// }
65
+
66
+ $font-stack-verdana: (
67
+ "Verdana",
68
+ "Geneva",
69
+ sans-serif,
70
+ );
71
+
72
+ /// A variable that outputs a system font stack.
73
+ ///
74
+ /// @link https://goo.gl/LHRZIf
75
+ ///
76
+ /// @type list
77
+ ///
78
+ /// @example scss
79
+ /// .element {
80
+ /// font-family: $font-stack-system;
81
+ /// }
82
+ ///
83
+ /// // CSS Output
84
+ /// .element {
85
+ /// font-family: -apple-system, BlinkMacSystemFont, "Avenir Next", "Avenir", "Segoe UI", "Lucida Grande", "Helvetica Neue", "Helvetica", "Fira Sans", "Roboto", "Noto", "Droid Sans", "Cantarell", "Oxygen", "Ubuntu", "Franklin Gothic Medium", "Century Gothic", "Liberation Sans", sans-serif;
86
+ /// }
87
+
88
+ $font-stack-system: (
89
+ -apple-system,
90
+ BlinkMacSystemFont,
91
+ "Avenir Next",
92
+ "Avenir",
93
+ "Segoe UI",
94
+ "Lucida Grande",
95
+ "Helvetica Neue",
96
+ "Helvetica",
97
+ "Fira Sans",
98
+ "Roboto",
99
+ "Noto",
100
+ "Droid Sans",
101
+ "Cantarell",
102
+ "Oxygen",
103
+ "Ubuntu",
104
+ "Franklin Gothic Medium",
105
+ "Century Gothic",
106
+ "Liberation Sans",
107
+ sans-serif,
108
+ );
109
+
110
+ /// A variable that outputs a Garamond font stack.
111
+ ///
112
+ /// @link https://goo.gl/QQFEkV
113
+ ///
114
+ /// @type list
115
+ ///
116
+ /// @example scss
117
+ /// .element {
118
+ /// font-family: $font-stack-garamond;
119
+ /// }
120
+ ///
121
+ /// // CSS Output
122
+ /// .element {
123
+ /// font-family: "Garamond", "Baskerville", "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
124
+ /// }
125
+
126
+ $font-stack-garamond: (
127
+ "Garamond",
128
+ "Baskerville",
129
+ "Baskerville Old Face",
130
+ "Hoefler Text",
131
+ "Times New Roman",
132
+ serif,
133
+ );
134
+
135
+ /// A variable that outputs a Georgia font stack.
136
+ ///
137
+ /// @link https://goo.gl/wtzVPy
138
+ ///
139
+ /// @type list
140
+ ///
141
+ /// @example scss
142
+ /// .element {
143
+ /// font-family: $font-stack-georgia;
144
+ /// }
145
+ ///
146
+ /// // CSS Output
147
+ /// .element {
148
+ /// font-family: "Georgia", "Times", "Times New Roman", serif;
149
+ /// }
150
+
151
+ $font-stack-georgia: (
152
+ "Georgia",
153
+ "Times",
154
+ "Times New Roman",
155
+ serif,
156
+ );
157
+
158
+ /// A variable that outputs a Hoefler Text font stack.
159
+ ///
160
+ /// @link https://goo.gl/n7U7zx
161
+ ///
162
+ /// @type list
163
+ ///
164
+ /// @example scss
165
+ /// .element {
166
+ /// font-family: $font-stack-hoefler-text;
167
+ /// }
168
+ ///
169
+ /// // CSS Output
170
+ /// .element {
171
+ /// font-family: "Hoefler Text", "Baskerville Old Face", "Garamond", "Times New Roman", serif;
172
+ /// }
173
+
174
+ $font-stack-hoefler-text: (
175
+ "Hoefler Text",
176
+ "Baskerville Old Face",
177
+ "Garamond",
178
+ "Times New Roman",
179
+ serif,
180
+ );
181
+
182
+ /// A variable that outputs a Consolas font stack.
183
+ ///
184
+ /// @link https://goo.gl/iKrtqv
185
+ ///
186
+ /// @type list
187
+ ///
188
+ /// @example scss
189
+ /// .element {
190
+ /// font-family: $font-stack-consolas;
191
+ /// }
192
+ ///
193
+ /// // CSS Output
194
+ /// .element {
195
+ /// font-family: "Consolas", "monaco", monospace;
196
+ /// }
197
+
198
+ $font-stack-consolas: (
199
+ "Consolas",
200
+ "monaco",
201
+ monospace,
202
+ );
203
+
204
+ /// A variable that outputs a Courier New font stack.
205
+ ///
206
+ /// @link https://goo.gl/bHfWMP
207
+ ///
208
+ /// @type list
209
+ ///
210
+ /// @example scss
211
+ /// .element {
212
+ /// font-family: $font-stack-courier-new;
213
+ /// }
214
+ ///
215
+ /// // CSS Output
216
+ /// .element {
217
+ /// font-family: "Courier New", "Courier", "Lucida Sans Typewriter", "Lucida Typewriter", monospace;
218
+ /// }
219
+
220
+ $font-stack-courier-new: (
221
+ "Courier New",
222
+ "Courier",
223
+ "Lucida Sans Typewriter",
224
+ "Lucida Typewriter",
225
+ monospace,
226
+ );
227
+
228
+ /// A variable that outputs a Monaco font stack.
229
+ ///
230
+ /// @link https://goo.gl/9PgKDO
231
+ ///
232
+ /// @type list
233
+ ///
234
+ /// @example scss
235
+ /// .element {
236
+ /// font-family: $font-stack-monaco;
237
+ /// }
238
+ ///
239
+ /// // CSS Output
240
+ /// .element {
241
+ /// font-family: "Monaco", "Consolas", "Lucida Console", monospace;
242
+ /// }
243
+
244
+ $font-stack-monaco: (
245
+ "Monaco",
246
+ "Consolas",
247
+ "Lucida Console",
248
+ monospace,
249
+ );
assets/sass/bourbon/library/_hide-text.scss ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Hides the text in an element, commonly used to show an image instead. Some
4
+ /// elements will need block-level styles applied.
5
+ ///
6
+ /// @link https://goo.gl/EvLRIu
7
+ ///
8
+ /// @example scss
9
+ /// .element {
10
+ /// @include hide-text;
11
+ /// }
12
+ ///
13
+ /// // CSS Output
14
+ /// .element {
15
+ /// overflow: hidden;
16
+ /// text-indent: 101%;
17
+ /// white-space: nowrap;
18
+ /// }
19
+
20
+ @mixin hide-text {
21
+ overflow: hidden;
22
+ text-indent: 101%;
23
+ white-space: nowrap;
24
+ }
assets/sass/bourbon/library/_hide-visually.scss ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Hides an element visually while still allowing the content to be accessible
4
+ /// to assistive technology, e.g. screen readers. Passing `unhide` will reverse
5
+ /// the affects of the hiding, which is handy for showing the element on focus,
6
+ /// for example.
7
+ ///
8
+ /// @link https://goo.gl/Vf1TGn
9
+ ///
10
+ /// @argument {string} $toggle [hide]
11
+ /// Accepts `hide` or `unhide`. `unhide` reverses the affects of `hide`.
12
+ ///
13
+ /// @example scss
14
+ /// .element {
15
+ /// @include hide-visually;
16
+ ///
17
+ /// &:active,
18
+ /// &:focus {
19
+ /// @include hide-visually(unhide);
20
+ /// }
21
+ /// }
22
+ ///
23
+ /// // CSS Output
24
+ /// .element {
25
+ /// border: 0;
26
+ /// clip: rect(1px, 1px, 1px, 1px);
27
+ /// clip-path: circle(1% at 1% 1%);
28
+ /// height: 1px;
29
+ /// overflow: hidden;
30
+ /// padding: 0;
31
+ /// position: absolute;
32
+ /// width: 1px;
33
+ /// }
34
+ ///
35
+ /// .hide-visually:active,
36
+ /// .hide-visually:focus {
37
+ /// clip: auto;
38
+ /// clip-path: none;
39
+ /// height: auto;
40
+ /// overflow: visible;
41
+ /// position: static;
42
+ /// width: auto;
43
+ /// }
44
+ ///
45
+ /// @since 5.0.0
46
+
47
+ @mixin hide-visually($toggle: hide) {
48
+ @if $toggle == "hide" {
49
+ border: 0;
50
+ clip: rect(1px, 1px, 1px, 1px);
51
+ clip-path: circle(1% at 1% 1%);
52
+ height: 1px;
53
+ overflow: hidden;
54
+ padding: 0;
55
+ position: absolute;
56
+ white-space: nowrap;
57
+ width: 1px;
58
+ } @else if $toggle == "unhide" {
59
+ clip: auto;
60
+ clip-path: none;
61
+ height: auto;
62
+ overflow: visible;
63
+ position: static;
64
+ white-space: inherit;
65
+ width: auto;
66
+ }
67
+ }
assets/sass/bourbon/library/_margin.scss ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a concise, one-line method for setting `margin` on specific edges
4
+ /// of a box. Use a `null` value to “skip” edges of the box with standard
5
+ /// CSS shorthand.
6
+ ///
7
+ /// @argument {list} $values
8
+ /// List of margin values; accepts CSS shorthand.
9
+ ///
10
+ /// @example scss
11
+ /// .element {
12
+ /// @include margin(null auto);
13
+ /// }
14
+ ///
15
+ /// // CSS Output
16
+ /// .element {
17
+ /// margin-left: auto;
18
+ /// margin-right: auto;
19
+ /// }
20
+ ///
21
+ /// @example scss
22
+ /// .element {
23
+ /// @include margin(10px 3em 20vh null);
24
+ /// }
25
+ ///
26
+ /// // CSS Output
27
+ /// .element {
28
+ /// margin-bottom: 20vh;
29
+ /// margin-right: 3em;
30
+ /// margin-top: 10px;
31
+ /// }
32
+ ///
33
+ /// @require {mixin} _directional-property
34
+
35
+ @mixin margin($values) {
36
+ @include _directional-property(margin, null, $values);
37
+ }
assets/sass/bourbon/library/_modular-scale.scss ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Increments up or down a defined scale and returns an adjusted value. This
4
+ /// helps establish consistent measurements and spacial relationships throughout
5
+ /// your project. We provide a list of commonly used scales as
6
+ /// [pre-defined variables][scales].
7
+ ///
8
+ /// [scales]: https://github.com/thoughtbot/bourbon/blob/master/core/bourbon/settings/_scales.scss
9
+ ///
10
+ /// @argument {number (unitless)} $increment
11
+ /// How many steps to increment up or down the scale.
12
+ ///
13
+ /// @argument {number (with unit) | list} $value [1em]
14
+ /// The base value the scale starts at. Can also be set globally using the
15
+ /// `modular-scale-base` key in the Bourbon settings.
16
+ ///
17
+ /// @argument {number (unitless)} $ratio [1.25]
18
+ /// The ratio the scale is built on. Can also be set globally using the
19
+ /// `modular-scale-ratio` key in the Bourbon settings.
20
+ ///
21
+ /// @return {number (with unit)}
22
+ ///
23
+ /// @example scss
24
+ /// .element {
25
+ /// font-size: modular-scale(2);
26
+ /// }
27
+ ///
28
+ /// // CSS Output
29
+ /// .element {
30
+ /// font-size: 1.5625em;
31
+ /// }
32
+ ///
33
+ /// @example scss
34
+ /// .element {
35
+ /// margin-right: modular-scale(3, 2em);
36
+ /// }
37
+ ///
38
+ /// // CSS Output
39
+ /// .element {
40
+ /// margin-right: 3.90625em;
41
+ /// }
42
+ ///
43
+ /// @example scss
44
+ /// .element {
45
+ /// font-size: modular-scale(3, 1em 1.6em, $major-seventh);
46
+ /// }
47
+ ///
48
+ /// // CSS Output
49
+ /// .element {
50
+ /// font-size: 3em;
51
+ /// }
52
+ ///
53
+ /// @example scss
54
+ /// // Globally change the base ratio
55
+ /// $bourbon: (
56
+ /// "modular-scale-ratio": 1.2,
57
+ /// );
58
+ ///
59
+ /// .element {
60
+ /// font-size: modular-scale(3);
61
+ /// }
62
+ ///
63
+ /// // CSS Output
64
+ /// .element {
65
+ /// font-size: 1.728em;
66
+ /// }
67
+ ///
68
+ /// @require {function} _retrieve-bourbon-setting
69
+
70
+ @function modular-scale(
71
+ $increment,
72
+ $value: _retrieve-bourbon-setting("modular-scale-base"),
73
+ $ratio: _retrieve-bourbon-setting("modular-scale-ratio")
74
+ ) {
75
+
76
+ $v1: nth($value, 1);
77
+ $v2: nth($value, length($value));
78
+ $value: $v1;
79
+
80
+ // scale $v2 to just above $v1
81
+ @while $v2 > $v1 {
82
+ $v2: ($v2 / $ratio); // will be off-by-1
83
+ }
84
+ @while $v2 < $v1 {
85
+ $v2: ($v2 * $ratio); // will fix off-by-1
86
+ }
87
+
88
+ // check AFTER scaling $v2 to prevent double-counting corner-case
89
+ $double-stranded: $v2 > $v1;
90
+
91
+ @if $increment > 0 {
92
+ @for $i from 1 through $increment {
93
+ @if $double-stranded and ($v1 * $ratio) > $v2 {
94
+ $value: $v2;
95
+ $v2: ($v2 * $ratio);
96
+ } @else {
97
+ $v1: ($v1 * $ratio);
98
+ $value: $v1;
99
+ }
100
+ }
101
+ }
102
+
103
+ @if $increment < 0 {
104
+ // adjust $v2 to just below $v1
105
+ @if $double-stranded {
106
+ $v2: ($v2 / $ratio);
107
+ }
108
+
109
+ @for $i from $increment through -1 {
110
+ @if $double-stranded and ($v1 / $ratio) < $v2 {
111
+ $value: $v2;
112
+ $v2: ($v2 / $ratio);
113
+ } @else {
114
+ $v1: ($v1 / $ratio);
115
+ $value: $v1;
116
+ }
117
+ }
118
+ }
119
+
120
+ @return $value;
121
+ }
assets/sass/bourbon/library/_overflow-wrap.scss ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Outputs the `overflow-wrap` property and its legacy name `word-wrap` to
4
+ /// support browsers that do not yet use `overflow-wrap`.
5
+ ///
6
+ /// @argument {string} $wrap [break-word]
7
+ /// Accepted CSS values are `normal`, `break-word`, `inherit`, `initial`,
8
+ /// or `unset`.
9
+ ///
10
+ /// @example scss
11
+ /// .wrapper {
12
+ /// @include overflow-wrap;
13
+ /// }
14
+ ///
15
+ /// // CSS Output
16
+ /// .wrapper {
17
+ /// word-wrap: break-word;
18
+ /// overflow-wrap: break-word;
19
+ /// }
20
+
21
+ @mixin overflow-wrap($wrap: break-word) {
22
+ word-wrap: $wrap;
23
+ overflow-wrap: $wrap;
24
+ }
assets/sass/bourbon/library/_padding.scss ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a concise method for targeting `padding` on specific sides of a
4
+ /// box. Use a `null` value to “skip” a side.
5
+ ///
6
+ /// @argument {list} $values
7
+ /// List of padding values; accepts CSS shorthand.
8
+ ///
9
+ /// @example scss
10
+ /// .element-one {
11
+ /// @include padding(null 1rem);
12
+ /// }
13
+ ///
14
+ /// // CSS Output
15
+ /// .element-one {
16
+ /// padding-left: 1rem;
17
+ /// padding-right: 1rem;
18
+ /// }
19
+ ///
20
+ /// @example scss
21
+ /// .element-two {
22
+ /// @include padding(10vh null 10px 5%);
23
+ /// }
24
+ ///
25
+ /// // CSS Output
26
+ /// .element-two {
27
+ /// padding-bottom: 10px;
28
+ /// padding-left: 5%;
29
+ /// padding-top: 10vh;
30
+ /// }
31
+ ///
32
+ /// @require {mixin} _directional-property
33
+
34
+ @mixin padding($values) {
35
+ @include _directional-property(padding, null, $values);
36
+ }
assets/sass/bourbon/library/_position.scss ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a concise, one-line method for setting an element’s positioning
4
+ /// properties: `position`, `top`, `right`, `bottom` and `left`. Use a `null`
5
+ /// value to “skip” an edge of the box.
6
+ ///
7
+ /// @argument {string} $position
8
+ /// A CSS position value.
9
+ ///
10
+ /// @argument {list} $box-edge-values
11
+ /// List of lengths; accepts CSS shorthand.
12
+ ///
13
+ /// @example scss
14
+ /// .element {
15
+ /// @include position(relative, 0 null null 10em);
16
+ /// }
17
+ ///
18
+ /// // CSS Output
19
+ /// .element {
20
+ /// left: 10em;
21
+ /// position: relative;
22
+ /// top: 0;
23
+ /// }
24
+ ///
25
+ /// @example scss
26
+ /// .element {
27
+ /// @include position(absolute, 0);
28
+ /// }
29
+ ///
30
+ /// // CSS Output
31
+ /// .element {
32
+ /// position: absolute;
33
+ /// top: 0;
34
+ /// right: 0;
35
+ /// bottom: 0;
36
+ /// left: 0;
37
+ /// }
38
+ ///
39
+ /// @require {function} _is-length
40
+ ///
41
+ /// @require {function} _unpack-shorthand
42
+
43
+ @mixin position(
44
+ $position,
45
+ $box-edge-values
46
+ ) {
47
+
48
+ $box-edge-values: _unpack-shorthand($box-edge-values);
49
+
50
+ $offsets: (
51
+ top: nth($box-edge-values, 1),
52
+ right: nth($box-edge-values, 2),
53
+ bottom: nth($box-edge-values, 3),
54
+ left: nth($box-edge-values, 4),
55
+ );
56
+
57
+ position: $position;
58
+
59
+ @each $offset, $value in $offsets {
60
+ @if _is-length($value) {
61
+ #{$offset}: $value;
62
+ }
63
+ }
64
+ }
assets/sass/bourbon/library/_prefixer.scss ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Generates vendor prefixes.
4
+ ///
5
+ /// @argument {string} $property
6
+ /// Property to prefix.
7
+ ///
8
+ /// @argument {string} $value
9
+ /// Value to use.
10
+ ///
11
+ /// @argument {list} $prefixes
12
+ /// Vendor prefixes to output.
13
+ ///
14
+ /// @example scss
15
+ /// .element {
16
+ /// @include prefixer(appearance, none, ("webkit", "moz"));
17
+ /// }
18
+ ///
19
+ /// // CSS Output
20
+ /// .element {
21
+ /// -webkit-appearance: none;
22
+ /// -moz-appearance: none;
23
+ /// appearance: none;
24
+ /// }
25
+ ///
26
+ /// @author Hugo Giraudel
27
+
28
+ @mixin prefixer(
29
+ $property,
30
+ $value,
31
+ $prefixes: ()
32
+ ) {
33
+
34
+ @each $prefix in $prefixes {
35
+ #{"-" + $prefix + "-" + $property}: $value;
36
+ }
37
+ #{$property}: $value;
38
+ }
assets/sass/bourbon/library/_shade.scss ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Mixes a color with black.
4
+ ///
5
+ /// @argument {color} $color
6
+ ///
7
+ /// @argument {number (percentage)} $percent
8
+ /// The amount of black to be mixed in.
9
+ ///
10
+ /// @return {color}
11
+ ///
12
+ /// @example scss
13
+ /// .element {
14
+ /// background-color: shade(#ffbb52, 60%);
15
+ /// }
16
+ ///
17
+ /// // CSS Output
18
+ /// .element {
19
+ /// background-color: #664a20;
20
+ /// }
21
+
22
+ @function shade(
23
+ $color,
24
+ $percent
25
+ ) {
26
+
27
+ @if not _is-color($color) {
28
+ @error "`#{$color}` is not a valid color for the `$color` argument in " +
29
+ "the `shade` mixin.";
30
+ } @else {
31
+ @return mix(#000, $color, $percent);
32
+ }
33
+ }
assets/sass/bourbon/library/_size.scss ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Sets the `width` and `height` of the element in one statement.
4
+ ///
5
+ /// @argument {number (with unit) | string} $width
6
+ ///
7
+ /// @argument {number (with unit) | string} $height [$width]
8
+ ///
9
+ /// @example scss
10
+ /// .first-element {
11
+ /// @include size(2em);
12
+ /// }
13
+ ///
14
+ /// // CSS Output
15
+ /// .first-element {
16
+ /// width: 2em;
17
+ /// height: 2em;
18
+ /// }
19
+ ///
20
+ /// @example scss
21
+ /// .second-element {
22
+ /// @include size(auto, 10em);
23
+ /// }
24
+ ///
25
+ /// // CSS Output
26
+ /// .second-element {
27
+ /// width: auto;
28
+ /// height: 10em;
29
+ /// }
30
+ ///
31
+ /// @require {function} _is-size
32
+
33
+ @mixin size(
34
+ $width,
35
+ $height: $width
36
+ ) {
37
+
38
+ @if _is-size($height) {
39
+ height: $height;
40
+ } @else {
41
+ @error "`#{$height}` is not a valid length for the `$height` argument " +
42
+ "in the `size` mixin.";
43
+ }
44
+
45
+ @if _is-size($width) {
46
+ width: $width;
47
+ } @else {
48
+ @error "`#{$width}` is not a valid length for the `$width` argument " +
49
+ "in the `size` mixin.";
50
+ }
51
+ }
assets/sass/bourbon/library/_strip-unit.scss ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Strips the unit from a number.
4
+ ///
5
+ /// @argument {number} $value
6
+ ///
7
+ /// @return {number (unitless)}
8
+ ///
9
+ /// @example scss
10
+ /// $dimension: strip-unit(10em);
11
+ ///
12
+ /// // Output
13
+ /// $dimension: 10;
14
+
15
+ @function strip-unit($value) {
16
+ @return ($value / ($value * 0 + 1));
17
+ }
assets/sass/bourbon/library/_text-inputs.scss ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ ////
4
+ /// @type list
5
+ ///
6
+ /// @require {function} _assign-inputs
7
+ ///
8
+ /// @require {variable} $_text-inputs-list
9
+ ////
10
+
11
+ /// A list of all _text-based_ HTML inputs. Please note that you must
12
+ /// interpolate the variable (`#{}`) to use it as a selector.
13
+ ///
14
+ /// @example scss
15
+ /// #{$all-text-inputs} {
16
+ /// border: 1px solid #ccc;
17
+ /// }
18
+ ///
19
+ /// // CSS Output
20
+ /// [type='color'],
21
+ /// [type='date'],
22
+ /// [type='datetime'],
23
+ /// [type='datetime-local'],
24
+ /// [type='email'],
25
+ /// [type='month'],
26
+ /// [type='number'],
27
+ /// [type='password'],
28
+ /// [type='search'],
29
+ /// [type='tel'],
30
+ /// [type='text'],
31
+ /// [type='time'],
32
+ /// [type='url'],
33
+ /// [type='week'],
34
+ /// input:not([type]),
35
+ /// textarea {
36
+ /// border: 1px solid #ccc;
37
+ /// }
38
+
39
+ $all-text-inputs: _assign-inputs($_text-inputs-list);
40
+
41
+ /// A list of all _text-based_ HTML inputs with the `:active` pseudo-class
42
+ /// applied. Please note that you must interpolate the variable (`#{}`) to use
43
+ /// it as a selector.
44
+ ///
45
+ /// @example scss
46
+ /// #{$all-text-inputs-active} {
47
+ /// border: 1px solid #aaa;
48
+ /// }
49
+ ///
50
+ /// // CSS Output
51
+ /// [type='color']:active,
52
+ /// [type='date']:active,
53
+ /// [type='datetime']:active,
54
+ /// [type='datetime-local']:active,
55
+ /// [type='email']:active,
56
+ /// [type='month']:active,
57
+ /// [type='number']:active,
58
+ /// [type='password']:active,
59
+ /// [type='search']:active,
60
+ /// [type='tel']:active,
61
+ /// [type='text']:active,
62
+ /// [type='time']:active,
63
+ /// [type='url']:active,
64
+ /// [type='week']:active,
65
+ /// input:not([type]):active,
66
+ /// textarea:active {
67
+ /// border: 1px solid #aaa;
68
+ /// }
69
+
70
+ $all-text-inputs-active: _assign-inputs($_text-inputs-list, active);
71
+
72
+ /// A list of all _text-based_ HTML inputs with the `:focus` pseudo-class
73
+ /// applied. Please note that you must interpolate the variable (`#{}`) to use
74
+ /// it as a selector.
75
+ ///
76
+ /// @example scss
77
+ /// #{$all-text-inputs-focus} {
78
+ /// border: 1px solid #1565c0;
79
+ /// }
80
+ ///
81
+ /// // CSS Output
82
+ /// [type='color']:focus,
83
+ /// [type='date']:focus,
84
+ /// [type='datetime']:focus,
85
+ /// [type='datetime-local']:focus,
86
+ /// [type='email']:focus,
87
+ /// [type='month']:focus,
88
+ /// [type='number']:focus,
89
+ /// [type='password']:focus,
90
+ /// [type='search']:focus,
91
+ /// [type='tel']:focus,
92
+ /// [type='text']:focus,
93
+ /// [type='time']:focus,
94
+ /// [type='url']:focus,
95
+ /// [type='week']:focus,
96
+ /// input:not([type]):focus,
97
+ /// textarea:focus {
98
+ /// border: 1px solid #1565c0;
99
+ /// }
100
+
101
+ $all-text-inputs-focus: _assign-inputs($_text-inputs-list, focus);
102
+
103
+ /// A list of all _text-based_ HTML inputs with the `:hover` pseudo-class
104
+ /// applied. Please note that you must interpolate the variable (`#{}`) to use
105
+ /// it as a selector.
106
+ ///
107
+ /// @example scss
108
+ /// #{$all-text-inputs-hover} {
109
+ /// border: 1px solid #aaa;
110
+ /// }
111
+ ///
112
+ /// // CSS Output
113
+ /// [type='color']:hover,
114
+ /// [type='date']:hover,
115
+ /// [type='datetime']:hover,
116
+ /// [type='datetime-local']:hover,
117
+ /// [type='email']:hover,
118
+ /// [type='month']:hover,
119
+ /// [type='number']:hover,
120
+ /// [type='password']:hover,
121
+ /// [type='search']:hover,
122
+ /// [type='tel']:hover,
123
+ /// [type='text']:hover,
124
+ /// [type='time']:hover,
125
+ /// [type='url']:hover,
126
+ /// [type='week']:hover,
127
+ /// input:not([type]):hover,
128
+ /// textarea:hover {
129
+ /// border: 1px solid #aaa;
130
+ /// }
131
+
132
+ $all-text-inputs-hover: _assign-inputs($_text-inputs-list, hover);
133
+
134
+ /// A list of all _text-based_ HTML inputs with the `:invalid` pseudo-class
135
+ /// applied. Please note that you must interpolate the variable (`#{}`) to use
136
+ /// it as a selector.
137
+ ///
138
+ /// @example scss
139
+ /// #{$all-text-inputs-invalid} {
140
+ /// border: 1px solid #00f;
141
+ /// }
142
+ ///
143
+ /// // CSS Output
144
+ /// [type='color']:invalid,
145
+ /// [type='date']:invalid,
146
+ /// [type='datetime']:invalid,
147
+ /// [type='datetime-local']:invalid,
148
+ /// [type='email']:invalid,
149
+ /// [type='month']:invalid,
150
+ /// [type='number']:invalid,
151
+ /// [type='password']:invalid,
152
+ /// [type='search']:invalid,
153
+ /// [type='tel']:invalid,
154
+ /// [type='text']:invalid,
155
+ /// [type='time']:invalid,
156
+ /// [type='url']:invalid,
157
+ /// [type='week']:invalid,
158
+ /// input:not([type]):invalid,
159
+ /// textarea:invalid {
160
+ /// border: 1px solid #00f;
161
+ /// }
162
+
163
+ $all-text-inputs-invalid: _assign-inputs($_text-inputs-list, invalid);
assets/sass/bourbon/library/_timing-functions.scss ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ // scss-lint:disable SpaceAfterComma, UnnecessaryMantissa, TrailingZero
4
+
5
+ ////
6
+ /// CSS cubic-bezier timing functions.
7
+ ///
8
+ /// @link https://goo.gl/p8u6SK
9
+ ///
10
+ /// @type string
11
+ ////
12
+
13
+ $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
14
+ $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
15
+ $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
16
+ $ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
17
+ $ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
18
+ $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
19
+ $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
20
+ $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
21
+
22
+ $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
23
+ $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
24
+ $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
25
+ $ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
26
+ $ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
27
+ $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
28
+ $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
29
+ $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
30
+
31
+ $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
32
+ $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
33
+ $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
34
+ $ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
35
+ $ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
36
+ $ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
37
+ $ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
38
+ $ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
assets/sass/bourbon/library/_tint.scss ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Mixes a color with white.
4
+ ///
5
+ /// @argument {color} $color
6
+ ///
7
+ /// @argument {number (percentage)} $percent
8
+ /// The amount of white to be mixed in.
9
+ ///
10
+ /// @return {color}
11
+ ///
12
+ /// @example scss
13
+ /// .element {
14
+ /// background-color: tint(#6ecaa6, 40%);
15
+ /// }
16
+ ///
17
+ /// // CSS Output
18
+ /// .element {
19
+ /// background-color: #a8dfc9;
20
+ /// }
21
+
22
+ @function tint(
23
+ $color,
24
+ $percent
25
+ ) {
26
+
27
+ @if not _is-color($color) {
28
+ @error "`#{$color}` is not a valid color for the `$color` argument in " +
29
+ "the `tint` mixin.";
30
+ } @else {
31
+ @return mix(#fff, $color, $percent);
32
+ }
33
+ }
assets/sass/bourbon/library/_triangle.scss ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Generates a triangle pointing in a specified direction.
4
+ ///
5
+ /// @argument {string} $direction [up]
6
+ /// The direction the triangle should point. Accepts `up`, `up-right`,
7
+ /// `right`, `down-right`, `down`, `down-left`, `left` or `up-left`.
8
+ ///
9
+ /// @argument {color} $color [currentColor]
10
+ /// Color of the triangle.
11
+ ///
12
+ /// @argument {number (with unit)} $width [1rem]
13
+ /// Width of the triangle.
14
+ ///
15
+ /// @argument {number (with unit)} $height [($width / 2)]
16
+ /// Height of the triangle.
17
+ ///
18
+ /// @example scss
19
+ /// .element {
20
+ /// &::before {
21
+ /// @include triangle(up, #b25c9c, 2rem);
22
+ /// content: "";
23
+ /// }
24
+ /// }
25
+ ///
26
+ /// // CSS Output
27
+ /// .element::before {
28
+ /// border-style: solid;
29
+ /// height: 0;
30
+ /// width: 0;
31
+ /// border-color: transparent transparent #b25c9c transparent;
32
+ /// border-width: 0 1rem 1rem;
33
+ /// content: "";
34
+ /// }
35
+
36
+ @mixin triangle(
37
+ $direction: up,
38
+ $color: currentColor,
39
+ $width: 1rem,
40
+ $height: ($width / 2)
41
+ ) {
42
+ @if not index(
43
+ "up" "up-right" "right" "down-right" "down" "down-left" "left" "up-left",
44
+ $direction
45
+ ) {
46
+ @error "Direction must be `up`, `up-right`, `right`, `down-right`, " +
47
+ "`down`, `down-left`, `left` or `up-left`.";
48
+ } @else if not _is-color($color) {
49
+ @error "`#{$color}` is not a valid color for the `$color` argument in " +
50
+ "the `triangle` mixin.";
51
+ } @else {
52
+ border-style: solid;
53
+ height: 0;
54
+ width: 0;
55
+
56
+ @if $direction == "up" {
57
+ border-color: transparent transparent $color;
58
+ border-width: 0 ($width / 2) $height;
59
+ } @else if $direction == "up-right" {
60
+ border-color: transparent $color transparent transparent;
61
+ border-width: 0 $width $width 0;
62
+ } @else if $direction == "right" {
63
+ border-color: transparent transparent transparent $color;
64
+ border-width: ($height / 2) 0 ($height / 2) $width;
65
+ } @else if $direction == "down-right" {
66
+ border-color: transparent transparent $color;
67
+ border-width: 0 0 $width $width;
68
+ } @else if $direction == "down" {
69
+ border-color: $color transparent transparent;
70
+ border-width: $height ($width / 2) 0;
71
+ } @else if $direction == "down-left" {
72
+ border-color: transparent transparent transparent $color;
73
+ border-width: $width 0 0 $width;
74
+ } @else if $direction == "left" {
75
+ border-color: transparent $color transparent transparent;
76
+ border-width: ($height / 2) $width ($height / 2) 0;
77
+ } @else if $direction == "up-left" {
78
+ border-color: $color transparent transparent;
79
+ border-width: $width $width 0 0;
80
+ }
81
+ }
82
+ }
assets/sass/bourbon/library/_value-prefixer.scss ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Generates vendor prefixes for values.
4
+ ///
5
+ /// @argument {string} $property
6
+ /// Property to use.
7
+ ///
8
+ /// @argument {string} $value
9
+ /// Value to prefix.
10
+ ///
11
+ /// @argument {list} $prefixes
12
+ /// Vendor prefixes to output.
13
+ ///
14
+ /// @example scss
15
+ /// .element {
16
+ /// @include value-prefixer(cursor, grab, ("webkit", "moz"));
17
+ /// }
18
+ ///
19
+ /// // CSS Output
20
+ /// .element {
21
+ /// cursor: -webkit-grab;
22
+ /// cursor: -moz-grab;
23
+ /// cursor: grab;
24
+ /// }
25
+ ///
26
+ /// @author Matthew Tobiasz
27
+
28
+ @mixin value-prefixer(
29
+ $property,
30
+ $value,
31
+ $prefixes: ()
32
+ ) {
33
+
34
+ @each $prefix in $prefixes {
35
+ #{$property}: #{"-" + $prefix + "-" + $value};
36
+ }
37
+ #{$property}: $value;
38
+ }
assets/sass/bourbon/settings/_settings.scss ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Default global Bourbon settings. Values in this map are overwritten by any
4
+ /// values set in the `$bourbon` map.
5
+ ///
6
+ /// @type map
7
+ ///
8
+ /// @property {color} contrast-switch-dark-color [#000]
9
+ /// Global dark color for the `contrast-switch` function.
10
+ ///
11
+ /// @property {color} contrast-switch-light-color [#fff]
12
+ /// Global light color for the `contrast-switch` function.
13
+ ///
14
+ /// @property {list} global-font-file-formats [("ttf", "woff2", "woff")]
15
+ /// Global font file formats for the `font-face` mixin.
16
+ ///
17
+ /// @property {number (with unit)} modular-scale-base [1em]
18
+ /// Global base value for the `modular-scale` function.
19
+ ///
20
+ /// @property {number (unitless)} modular-scale-ratio [$major-third (1.25)]
21
+ /// Global base ratio for the `modular-scale` function.
22
+ ///
23
+ /// @property {boolean} rails-asset-pipeline [false]
24
+ /// Set this to `true` when using the Rails Asset Pipeline and Bourbon will
25
+ /// write asset paths using
26
+ /// [sass-rails’ asset helpers](https://github.com/rails/sass-rails#asset-helpers).
27
+ ///
28
+ /// @access private
29
+
30
+ $_bourbon-defaults: (
31
+ "contrast-switch-dark-color": #000,
32
+ "contrast-switch-light-color": #fff,
33
+ "global-font-file-formats": ("ttf", "woff2", "woff"),
34
+ "modular-scale-base": 1em,
35
+ "modular-scale-ratio": $major-third,
36
+ "rails-asset-pipeline": false,
37
+ );
38
+
39
+ /// Global Bourbon settings.
40
+ ///
41
+ /// @name Settings
42
+ ///
43
+ /// @type map
44
+ ///
45
+ /// @property {color} contrast-switch-dark-color [#000]
46
+ /// Global dark color for the `contrast-switch` function.
47
+ ///
48
+ /// @property {color} contrast-switch-light-color [#fff]
49
+ /// Global light color for the `contrast-switch` function.
50
+ ///
51
+ /// @property {list} global-font-file-formats [("ttf", "woff2", "woff")]
52
+ /// Global font file formats for the `font-face` mixin.
53
+ ///
54
+ /// @property {number (with unit)} modular-scale-base [1em]
55
+ /// Global base value for the `modular-scale` function.
56
+ ///
57
+ /// @property {number (unitless)} modular-scale-ratio [$major-third (1.25)]
58
+ /// Global base ratio for the `modular-scale` function.
59
+ ///
60
+ /// @property {boolean} rails-asset-pipeline [false]
61
+ /// Set this to `true` when using the Rails Asset Pipeline and Bourbon will
62
+ /// write asset paths using
63
+ /// [sass-rails’ asset helpers](https://github.com/rails/sass-rails#asset-helpers).
64
+ ///
65
+ /// @example scss
66
+ /// $bourbon: (
67
+ /// "contrast-switch-dark-color": #000,
68
+ /// "contrast-switch-light-color": #fff,
69
+ /// "global-font-file-formats": ("ttf", "woff2", "woff"),
70
+ /// "modular-scale-base": 1em,
71
+ /// "modular-scale-ratio": $major-third,
72
+ /// "rails-asset-pipeline": false,
73
+ /// );
74
+
75
+ $bourbon: () !default;
assets/sass/bourbon/utilities/_assign-inputs.scss ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Append pseudo-classes to a selector(s).
4
+ ///
5
+ /// @argument {list | string} $inputs
6
+ /// A selector, or list of selectors, to apply the pseudo-class to.
7
+ ///
8
+ /// @argument {pseudo-class} $pseudo [null]
9
+ /// The pseudo-class to be appended.
10
+ ///
11
+ /// @return {list}
12
+ ///
13
+ /// @access private
14
+
15
+ @function _assign-inputs(
16
+ $inputs,
17
+ $pseudo: null
18
+ ) {
19
+
20
+ $list: ();
21
+
22
+ @each $input in $inputs {
23
+ $input: unquote($input);
24
+ $input: if($pseudo, $input + ":" + $pseudo, $input);
25
+ $list: append($list, $input, comma);
26
+ }
27
+
28
+ @return $list;
29
+ }
assets/sass/bourbon/utilities/_compact-shorthand.scss ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ // scss-lint:disable ElsePlacement
4
+
5
+ /// Transforms shorthand to its shortest possible form.
6
+ ///
7
+ /// @argument {list} $values
8
+ /// List of directional values.
9
+ ///
10
+ /// @example scss
11
+ /// $values: _compact-shorthand(10px 20px 10px 20px);
12
+ ///
13
+ /// // Output
14
+ /// $values: 10px 20px;
15
+ ///
16
+ /// @return {list}
17
+ ///
18
+ /// @access private
19
+
20
+ @function _compact-shorthand($values) {
21
+ $output: null;
22
+
23
+ $a: nth($values, 1);
24
+ $b: if(length($values) < 2, $a, nth($values, 2));
25
+ $c: if(length($values) < 3, $a, nth($values, 3));
26
+ $d: if(length($values) < 2, $a, nth($values, if(length($values) < 4, 2, 4)));
27
+
28
+ @if $a == 0 { $a: 0; }
29
+ @if $b == 0 { $b: 0; }
30
+ @if $c == 0 { $c: 0; }
31
+ @if $d == 0 { $d: 0; }
32
+
33
+ @if $a == $b and $a == $c and $a == $d { $output: $a; }
34
+ @else if $a == $c and $b == $d { $output: $a $b; }
35
+ @else if $b == $d { $output: $a $b $c; }
36
+ @else { $output: $a $b $c $d; }
37
+
38
+ @return $output;
39
+ }
assets/sass/bourbon/utilities/_contrast-ratio.scss ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Programatically determines the contrast ratio between two colors.
4
+ ///
5
+ /// Note that the alpha channel is ignored.
6
+ ///
7
+ /// @link https://goo.gl/54htLV
8
+ ///
9
+ /// @argument {color (hex)} $color-1
10
+ ///
11
+ /// @argument {color (hex)} $color-2
12
+ ///
13
+ /// @return {number (1-21)}
14
+ ///
15
+ /// @example scss
16
+ /// _contrast-ratio(black, white)
17
+ ///
18
+ /// @require {function} _lightness
19
+ ///
20
+ /// @access private
21
+
22
+ @function _contrast-ratio($color-1, $color-2) {
23
+ $-local-lightness-1: _lightness($color-1) + 0.05;
24
+ $-local-lightness-2: _lightness($color-2) + 0.05;
25
+
26
+ @if $-local-lightness-1 > $-local-lightness-2 {
27
+ @return $-local-lightness-1 / $-local-lightness-2;
28
+ } @else {
29
+ @return $-local-lightness-2 / $-local-lightness-1;
30
+ }
31
+ }
assets/sass/bourbon/utilities/_directional-property.scss ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ // scss-lint:disable SpaceAroundOperator
4
+
5
+ /// Builds directional properties by parsing CSS shorthand values. For example,
6
+ /// a value of `10px null` will output top and bottom directional properties,
7
+ /// but the `null` skips left and right from being output.
8
+ ///
9
+ /// @argument {string} $property
10
+ /// Base property.
11
+ ///
12
+ /// @argument {string} $suffix
13
+ /// Suffix to append. Use `null` to omit.
14
+ ///
15
+ /// @argument {list} $values
16
+ /// List of values to set for the property.
17
+ ///
18
+ /// @example scss
19
+ /// .element {
20
+ /// @include _directional-property(border, width, null 5px);
21
+ /// }
22
+ ///
23
+ /// // CSS Output
24
+ /// .element {
25
+ /// border-right-width: 5px;
26
+ /// border-left-width: 5px;
27
+ /// }
28
+ ///
29
+ /// @require {function} _compact-shorthand
30
+ ///
31
+ /// @require {function} _contains-falsy
32
+ ///
33
+ /// @access private
34
+
35
+ @mixin _directional-property(
36
+ $property,
37
+ $suffix,
38
+ $values
39
+ ) {
40
+
41
+ $top: $property + "-top" + if($suffix, "-#{$suffix}", "");
42
+ $bottom: $property + "-bottom" + if($suffix, "-#{$suffix}", "");
43
+ $left: $property + "-left" + if($suffix, "-#{$suffix}", "");
44
+ $right: $property + "-right" + if($suffix, "-#{$suffix}", "");
45
+ $all: $property + if($suffix, "-#{$suffix}", "");
46
+
47
+ $values: _compact-shorthand($values);
48
+
49
+ @if _contains-falsy($values) {
50
+ @if nth($values, 1) { #{$top}: nth($values, 1); }
51
+
52
+ @if length($values) == 1 {
53
+ @if nth($values, 1) { #{$right}: nth($values, 1); }
54
+ } @else {
55
+ @if nth($values, 2) { #{$right}: nth($values, 2); }
56
+ }
57
+
58
+ @if length($values) == 2 {
59
+ @if nth($values, 1) { #{$bottom}: nth($values, 1); }
60
+ @if nth($values, 2) { #{$left}: nth($values, 2); }
61
+ } @else if length($values) == 3 {
62
+ @if nth($values, 3) { #{$bottom}: nth($values, 3); }
63
+ @if nth($values, 2) { #{$left}: nth($values, 2); }
64
+ } @else if length($values) == 4 {
65
+ @if nth($values, 3) { #{$bottom}: nth($values, 3); }
66
+ @if nth($values, 4) { #{$left}: nth($values, 4); }
67
+ }
68
+ } @else {
69
+ #{$all}: $values;
70
+ }
71
+ }
assets/sass/bourbon/utilities/_font-source-declaration.scss ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Builds the `src` list for an `@font-face` declaration.
4
+ ///
5
+ /// @link https://goo.gl/Ru1bKP
6
+ ///
7
+ /// @argument {string} $font-family
8
+ ///
9
+ /// @argument {string} $file-path
10
+ ///
11
+ /// @argument {boolean} $asset-pipeline
12
+ ///
13
+ /// @argument {list} $file-formats
14
+ ///
15
+ /// @return {list}
16
+ ///
17
+ /// @require {function} _contains
18
+ ///
19
+ /// @access private
20
+
21
+ @function _font-source-declaration(
22
+ $font-family,
23
+ $file-path,
24
+ $asset-pipeline,
25
+ $file-formats
26
+ ) {
27
+
28
+ $src: ();
29
+
30
+ $formats-map: (
31
+ eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"),
32
+ woff2: "#{$file-path}.woff2" format("woff2"),
33
+ woff: "#{$file-path}.woff" format("woff"),
34
+ ttf: "#{$file-path}.ttf" format("truetype"),
35
+ svg: "#{$file-path}.svg##{$font-family}" format("svg"),
36
+ );
37
+
38
+ @each $key, $values in $formats-map {
39
+ @if _contains($file-formats, $key) {
40
+ $file-path: nth($values, 1);
41
+ $font-format: nth($values, 2);
42
+
43
+ @if $asset-pipeline == true {
44
+ $src: append($src, font-url($file-path) $font-format, comma);
45
+ } @else {
46
+ $src: append($src, url($file-path) $font-format, comma);
47
+ }
48
+ }
49
+ }
50
+
51
+ @return $src;
52
+ }
assets/sass/bourbon/utilities/_gamma.scss ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Performs gamma correction on a single color channel.
4
+ ///
5
+ /// Note that Sass does not have a `pow()` function, so the calculation
6
+ /// is approximate.
7
+ ///
8
+ /// @argument {number (0-1)} $channel
9
+ ///
10
+ /// @return {number (0-1)}
11
+ ///
12
+ /// @access private
13
+
14
+ @function _gamma($channel) {
15
+ @if $channel < 0.03928 {
16
+ @return $channel / 12.92;
17
+ } @else {
18
+ $c: ($channel + 0.055) / 1.055;
19
+ @return (133 * $c * $c * $c + 155 * $c * $c) / 288;
20
+ }
21
+ }
assets/sass/bourbon/utilities/_lightness.scss ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Programatically determines the lightness of a color.
4
+ ///
5
+ /// @argument {color (hex)} $hex-color
6
+ ///
7
+ /// @return {number (0-1)}
8
+ ///
9
+ /// @example scss
10
+ /// _lightness($color)
11
+ ///
12
+ /// @access private
13
+
14
+ @function _lightness($hex-color) {
15
+ $-local-red-raw: red(rgba($hex-color, 1));
16
+ $-local-green-raw: green(rgba($hex-color, 1));
17
+ $-local-blue-raw: blue(rgba($hex-color, 1));
18
+
19
+ $-local-red: _gamma($-local-red-raw / 255);
20
+ $-local-green: _gamma($-local-green-raw / 255);
21
+ $-local-blue: _gamma($-local-blue-raw / 255);
22
+
23
+ @return $-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722;
24
+ }
assets/sass/bourbon/utilities/_retrieve-bourbon-setting.scss ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Return a Bourbon setting.
4
+ ///
5
+ /// @argument {string} $setting
6
+ ///
7
+ /// @return {boolean | color | list | number | string}
8
+ ///
9
+ /// @example scss
10
+ /// _retrieve-bourbon-setting(rails-asset-pipeline)
11
+ ///
12
+ /// @access private
13
+
14
+ @function _retrieve-bourbon-setting($setting) {
15
+ @return map-get(map-merge($_bourbon-defaults, $bourbon), $setting);
16
+ }
assets/sass/bourbon/utilities/_unpack-shorthand.scss ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Transforms shorthand that can range from 1-to-4 values to be 4 values.
4
+ ///
5
+ /// @argument {list} $shorthand
6
+ ///
7
+ /// @example scss
8
+ /// .element {
9
+ /// margin: _unpack-shorthand(1em 2em);
10
+ /// }
11
+ ///
12
+ /// // CSS Output
13
+ /// .element {
14
+ /// margin: 1em 2em 1em 2em;
15
+ /// }
16
+ ///
17
+ /// @access private
18
+
19
+ @function _unpack-shorthand($shorthand) {
20
+ @if length($shorthand) == 1 {
21
+ @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1);
22
+ } @else if length($shorthand) == 2 {
23
+ @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2);
24
+ } @else if length($shorthand) == 3 {
25
+ @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2);
26
+ } @else {
27
+ @return $shorthand;
28
+ }
29
+ }
assets/sass/bourbon/validators/_contains-falsy.scss ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Checks if a list does not contain any values.
4
+ ///
5
+ /// @argument {list} $list
6
+ /// The list to check against.
7
+ ///
8
+ /// @return {boolean}
9
+ ///
10
+ /// @access private
11
+
12
+ @function _contains-falsy($list) {
13
+ @each $item in $list {
14
+ @if not $item {
15
+ @return true;
16
+ }
17
+ }
18
+
19
+ @return false;
20
+ }
assets/sass/bourbon/validators/_contains.scss ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Checks if a list contains a value(s).
4
+ ///
5
+ /// @argument {list} $list
6
+ /// The list to check against.
7
+ ///
8
+ /// @argument {list} $values
9
+ /// A single value or list of values to check for.
10
+ ///
11
+ /// @return {boolean}
12
+ ///
13
+ /// @access private
14
+
15
+ @function _contains(
16
+ $list,
17
+ $values...
18
+ ) {
19
+
20
+ @each $value in $values {
21
+ @if type-of(index($list, $value)) != "number" {
22
+ @return false;
23
+ }
24
+ }
25
+
26
+ @return true;
27
+ }
assets/sass/bourbon/validators/_is-color.scss ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Checks for a valid CSS color.
4
+ ///
5
+ /// @argument {string} $color
6
+ ///
7
+ /// @return {boolean}
8
+ ///
9
+ /// @access private
10
+
11
+ @function _is-color($color) {
12
+ @return (type-of($color) == color) or ($color == "currentColor");
13
+ }
assets/sass/bourbon/validators/_is-length.scss ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Checks for a valid CSS length.
4
+ ///
5
+ /// @argument {string} $value
6
+ ///
7
+ /// @return {boolean}
8
+ ///
9
+ /// @access private
10
+
11
+ @function _is-length($value) {
12
+ @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc"
13
+ or index(auto inherit initial 0, $value)
14
+ or (type-of($value) == "number" and not(unitless($value))));
15
+ }
assets/sass/bourbon/validators/_is-number.scss ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Checks for a valid number.
4
+ ///
5
+ /// @argument {number} $value
6
+ ///
7
+ /// @require {function} _contains
8
+ ///
9
+ /// @return {boolean}
10
+ ///
11
+ /// @access private
12
+
13
+ @function _is-number($value) {
14
+ @return _contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value);
15
+ }
assets/sass/bourbon/validators/_is-size.scss ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /// Checks for a valid CSS size.
4
+ ///
5
+ /// @argument {string} $value
6
+ ///
7
+ /// @return {boolean}
8
+ ///
9
+ /// @require {function} _contains
10
+ ///
11
+ /// @require {function} _is-length
12
+ ///
13
+ /// @access private
14
+
15
+ @function _is-size($value) {
16
+ @return _is-length($value)
17
+ or _contains("fill" "fit-content" "min-content" "max-content", $value);
18
+ }
assets/sass/style-admin.scss CHANGED
@@ -5,6 +5,8 @@
5
 
6
  */
7
 
 
 
8
  /* --------------------------------------------------------- */
9
  /* !Variables */
10
  /* --------------------------------------------------------- */
@@ -324,7 +326,11 @@ $red: hsl(0, 100%, 50%);
324
  overflow: hidden;
325
  }
326
  .mtphr-dnt-list-heading {
327
- display: block;
 
 
 
 
328
  font-weight: bold;
329
  color: #FFF;
330
  text-decoration: none;
@@ -341,11 +347,13 @@ $red: hsl(0, 100%, 50%);
341
  .dashicons-menu {
342
  color: #FFF;
343
  margin-right: 8px;
 
344
  }
345
  }
346
  .mtphr-dnt-list-buttons {
347
- float: right;
348
  margin: -5px -10px;
 
 
349
  a {
350
  float: left;
351
  display: block;
@@ -382,12 +390,17 @@ $red: hsl(0, 100%, 50%);
382
  line-height: 31px;
383
  }
384
  }
 
 
 
 
 
 
 
385
  .mtphr-dnt-list-field {
386
  color: $dark-gray;
387
- margin-bottom: 20px;
388
- &:last-child {
389
- margin-bottom: 0;
390
- }
391
  }
392
  .mtphr-dnt-list-placeholder {
393
  width: 100%;
@@ -398,24 +411,6 @@ $red: hsl(0, 100%, 50%);
398
  box-sizing: border-box;
399
  }
400
 
401
- @media (min-width: 768px) {
402
- .mtphr-dnt-list-item > td {
403
- display: table-cell !important;
404
- }
405
- .mtphr-dnt-list-handle {
406
- padding: 5px 2px 0 0;
407
- }
408
- .mtphr-dnt-list-add-delete {
409
- width: 30px;
410
- padding: 5px 0 0 2px;
411
- a {
412
- float: none;
413
- margin-left: 0;
414
- }
415
- }
416
- }
417
-
418
-
419
 
420
  /* --------------------------------------------------------- */
421
  /* !Sort Fields */
@@ -880,33 +875,9 @@ $red: hsl(0, 100%, 50%);
880
  /* !Default Ticks Metabox */
881
  /* --------------------------------------------------------- */
882
 
883
- @media (min-width: 768px) {
884
- .mtphr-dnt-list-field-mtphr_dnt_ticks_link {
885
- float: left;
886
- width: 50%;
887
- margin-right: 1.5%;
888
- }
889
- .mtphr-dnt-list-field-mtphr_dnt_ticks_target {
890
- float: left;
891
- width: auto;
892
- margin-right: 1.5%;
893
- }
894
- }
895
-
896
-
897
- /* --------------------------------------------------------- */
898
- /* !Mixed Ticks Metabox */
899
- /* --------------------------------------------------------- */
900
-
901
- @media (min-width: 768px) {
902
- .mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_type,
903
- .mtphr-dnt-list-field-mtphr_dnt_mixed_ticks_all {
904
- float: left;
905
- margin-right: 30px;
906
- }
907
- .mtphr-dnt-field-mtphr_dnt_mixed_ticks .mtphr-dnt-list-field {
908
- margin-bottom: 0;
909
- }
910
  }
911
 
912
 
5
 
6
  */
7
 
8
+ @import "bourbon/bourbon";
9
+
10
  /* --------------------------------------------------------- */
11
  /* !Variables */
12
  /* --------------------------------------------------------- */
326
  overflow: hidden;
327
  }
328
  .mtphr-dnt-list-heading {
329
+ display: flex;
330
+ flex-direction: row;
331
+ align-items: center;
332
+ justify-content: flex-start;
333
+ flex-wrap: wrap;
334
  font-weight: bold;
335
  color: #FFF;
336
  text-decoration: none;
347
  .dashicons-menu {
348
  color: #FFF;
349
  margin-right: 8px;
350
+ order: 10;
351
  }
352
  }
353
  .mtphr-dnt-list-buttons {
 
354
  margin: -5px -10px;
355
+ margin-left: auto;
356
+ order: 20;
357
  a {
358
  float: left;
359
  display: block;
390
  line-height: 31px;
391
  }
392
  }
393
+ .mtphr-dnt-list-item-contents {
394
+ display: flex;
395
+ flex-direction: row;
396
+ align-items: flex-start;
397
+ justify-content: flex-start;
398
+ flex-wrap: wrap;
399
+ }
400
  .mtphr-dnt-list-field {
401
  color: $dark-gray;
402
+ margin-right: 20px;
403
+ margin-bottom: 15px;
 
 
404
  }
405
  .mtphr-dnt-list-placeholder {
406
  width: 100%;
411
  box-sizing: border-box;
412
  }
413
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
414
 
415
  /* --------------------------------------------------------- */
416
  /* !Sort Fields */
875
  /* !Default Ticks Metabox */
876
  /* --------------------------------------------------------- */
877
 
878
+ .mtphr-dnt-list-field-mtphr_dnt_ticks_tick {
879
+ width: 100%;
880
+ margin-right: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
881
  }
882
 
883
 
assets/sass/style.scss CHANGED
@@ -1,3 +1,5 @@
 
 
1
  .mtphr-dnt img {
2
  max-width: 100%;
3
  height: auto;
1
+ @import "bourbon/bourbon";
2
+
3
  .mtphr-dnt img {
4
  max-width: 100%;
5
  height: auto;
config.codekit3 CHANGED
@@ -7,7 +7,7 @@
7
  "uuidString": "0B43A184-D1FE-4DF7-BE71-3FAE2291CFE5"
8
  }
9
  ],
10
- "creatorBuild": "25704",
11
  "files": {
12
  "\/assets\/css\/codemirror.css": {
13
  "aP": 0,
@@ -236,8 +236,606 @@
236
  "oAP": "\/assets\/qtip\/jquery.qtip.min.map",
237
  "oF": 0
238
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  "\/assets\/sass\/style-admin.scss": {
240
- "aP": 0,
241
  "bl": 0,
242
  "dP": 10,
243
  "dS": 0,
@@ -250,7 +848,7 @@
250
  "uL": 1
251
  },
252
  "\/assets\/sass\/style.scss": {
253
- "aP": 0,
254
  "bl": 0,
255
  "dP": 10,
256
  "dS": 0,
@@ -351,6 +949,12 @@
351
  "oAP": "\/includes\/admin\/filters.php",
352
  "oF": 0
353
  },
 
 
 
 
 
 
354
  "\/includes\/admin\/meta-boxes.php": {
355
  "ft": 8192,
356
  "oA": 2,
@@ -1518,6 +2122,10 @@
1518
  "active": 0,
1519
  "optionString": ""
1520
  },
 
 
 
 
1521
  "no-redeclare": {
1522
  "active": 1,
1523
  "optionString": "{'builtinGlobals': false}"
@@ -2342,14 +2950,6 @@
2342
  "orderOutput": 0,
2343
  "outputStyle": 1
2344
  },
2345
- "languageDefaultsJSX": {
2346
- "autoOutputAction": 0,
2347
- "autoOutputPathFilenamePattern": "*.js",
2348
- "autoOutputPathRelativePath": "",
2349
- "autoOutputPathReplace1": "jsx",
2350
- "autoOutputPathReplace2": "js",
2351
- "autoOutputPathStyle": 0
2352
- },
2353
  "languageDefaultsKIT": {
2354
  "autoOutputAction": 0,
2355
  "autoOutputPathFilenamePattern": "*.html",
@@ -2412,7 +3012,7 @@
2412
  "autoOutputPathReplace1": "",
2413
  "autoOutputPathReplace2": "",
2414
  "autoOutputPathStyle": 0,
2415
- "enableLossy": 1,
2416
  "quality": 100
2417
  },
2418
  "languageDefaultsPUG": {
@@ -2436,7 +3036,7 @@
2436
  "debugStyle": 0,
2437
  "decimalPrecision": 10,
2438
  "outputStyle": 0,
2439
- "shouldRunAutoprefixer": 0,
2440
  "shouldRunBless": 0,
2441
  "useLibsass": 1
2442
  },
@@ -2498,6 +3098,7 @@
2498
  },
2499
  "languageDefaultsUserDefined": [
2500
  ],
 
2501
  "previewPathAddition": "",
2502
  "skippedFoldersString": "log, _logs, logs, _cache, cache, \/storage\/framework\/sessions, node_modules",
2503
  "sourceFolderName": "source",
7
  "uuidString": "0B43A184-D1FE-4DF7-BE71-3FAE2291CFE5"
8
  }
9
  ],
10
+ "creatorBuild": "25849",
11
  "files": {
12
  "\/assets\/css\/codemirror.css": {
13
  "aP": 0,
236
  "oAP": "\/assets\/qtip\/jquery.qtip.min.map",
237
  "oF": 0
238
  },
239
+ "\/assets\/sass\/bourbon\/_bourbon.scss": {
240
+ "aP": 1,
241
+ "bl": 0,
242
+ "dP": 10,
243
+ "dS": 0,
244
+ "ft": 4,
245
+ "ma": 0,
246
+ "oA": 1,
247
+ "oAP": "\/assets\/sass\/css\/_bourbon.css",
248
+ "oF": 0,
249
+ "oS": 0,
250
+ "uL": 1
251
+ },
252
+ "\/assets\/sass\/bourbon\/helpers\/_buttons-list.scss": {
253
+ "aP": 1,
254
+ "bl": 0,
255
+ "dP": 10,
256
+ "dS": 0,
257
+ "ft": 4,
258
+ "ma": 0,
259
+ "oA": 1,
260
+ "oAP": "\/assets\/sass\/bourbon\/css\/_buttons-list.css",
261
+ "oF": 0,
262
+ "oS": 0,
263
+ "uL": 1
264
+ },
265
+ "\/assets\/sass\/bourbon\/helpers\/_scales.scss": {
266
+ "aP": 1,
267
+ "bl": 0,
268
+ "dP": 10,
269
+ "dS": 0,
270
+ "ft": 4,
271
+ "ma": 0,
272
+ "oA": 1,
273
+ "oAP": "\/assets\/sass\/bourbon\/css\/_scales.css",
274
+ "oF": 0,
275
+ "oS": 0,
276
+ "uL": 1
277
+ },
278
+ "\/assets\/sass\/bourbon\/helpers\/_text-inputs-list.scss": {
279
+ "aP": 1,
280
+ "bl": 0,
281
+ "dP": 10,
282
+ "dS": 0,
283
+ "ft": 4,
284
+ "ma": 0,
285
+ "oA": 1,
286
+ "oAP": "\/assets\/sass\/bourbon\/css\/_text-inputs-list.css",
287
+ "oF": 0,
288
+ "oS": 0,
289
+ "uL": 1
290
+ },
291
+ "\/assets\/sass\/bourbon\/library\/_border-color.scss": {
292
+ "aP": 1,
293
+ "bl": 0,
294
+ "dP": 10,
295
+ "dS": 0,
296
+ "ft": 4,
297
+ "ma": 0,
298
+ "oA": 1,
299
+ "oAP": "\/assets\/sass\/bourbon\/css\/_border-color.css",
300
+ "oF": 0,
301
+ "oS": 0,
302
+ "uL": 1
303
+ },
304
+ "\/assets\/sass\/bourbon\/library\/_border-radius.scss": {
305
+ "aP": 1,
306
+ "bl": 0,
307
+ "dP": 10,
308
+ "dS": 0,
309
+ "ft": 4,
310
+ "ma": 0,
311
+ "oA": 1,
312
+ "oAP": "\/assets\/sass\/bourbon\/css\/_border-radius.css",
313
+ "oF": 0,
314
+ "oS": 0,
315
+ "uL": 1
316
+ },
317
+ "\/assets\/sass\/bourbon\/library\/_border-style.scss": {
318
+ "aP": 1,
319
+ "bl": 0,
320
+ "dP": 10,
321
+ "dS": 0,
322
+ "ft": 4,
323
+ "ma": 0,
324
+ "oA": 1,
325
+ "oAP": "\/assets\/sass\/bourbon\/css\/_border-style.css",
326
+ "oF": 0,
327
+ "oS": 0,
328
+ "uL": 1
329
+ },
330
+ "\/assets\/sass\/bourbon\/library\/_border-width.scss": {
331
+ "aP": 1,
332
+ "bl": 0,
333
+ "dP": 10,
334
+ "dS": 0,
335
+ "ft": 4,
336
+ "ma": 0,
337
+ "oA": 1,
338
+ "oAP": "\/assets\/sass\/bourbon\/css\/_border-width.css",
339
+ "oF": 0,
340
+ "oS": 0,
341
+ "uL": 1
342
+ },
343
+ "\/assets\/sass\/bourbon\/library\/_buttons.scss": {
344
+ "aP": 1,
345
+ "bl": 0,
346
+ "dP": 10,
347
+ "dS": 0,
348
+ "ft": 4,
349
+ "ma": 0,
350
+ "oA": 1,
351
+ "oAP": "\/assets\/sass\/bourbon\/css\/_buttons.css",
352
+ "oF": 0,
353
+ "oS": 0,
354
+ "uL": 1
355
+ },
356
+ "\/assets\/sass\/bourbon\/library\/_clearfix.scss": {
357
+ "aP": 1,
358
+ "bl": 0,
359
+ "dP": 10,
360
+ "dS": 0,
361
+ "ft": 4,
362
+ "ma": 0,
363
+ "oA": 1,
364
+ "oAP": "\/assets\/sass\/bourbon\/css\/_clearfix.css",
365
+ "oF": 0,
366
+ "oS": 0,
367
+ "uL": 1
368
+ },
369
+ "\/assets\/sass\/bourbon\/library\/_contrast-switch.scss": {
370
+ "aP": 1,
371
+ "bl": 0,
372
+ "dP": 10,
373
+ "dS": 0,
374
+ "ft": 4,
375
+ "ma": 0,
376
+ "oA": 1,
377
+ "oAP": "\/assets\/sass\/bourbon\/css\/_contrast-switch.css",
378
+ "oF": 0,
379
+ "oS": 0,
380
+ "uL": 1
381
+ },
382
+ "\/assets\/sass\/bourbon\/library\/_ellipsis.scss": {
383
+ "aP": 1,
384
+ "bl": 0,
385
+ "dP": 10,
386
+ "dS": 0,
387
+ "ft": 4,
388
+ "ma": 0,
389
+ "oA": 1,
390
+ "oAP": "\/assets\/sass\/bourbon\/css\/_ellipsis.css",
391
+ "oF": 0,
392
+ "oS": 0,
393
+ "uL": 1
394
+ },
395
+ "\/assets\/sass\/bourbon\/library\/_font-face.scss": {
396
+ "aP": 1,
397
+ "bl": 0,
398
+ "dP": 10,
399
+ "dS": 0,
400
+ "ft": 4,
401
+ "ma": 0,
402
+ "oA": 1,
403
+ "oAP": "\/assets\/sass\/bourbon\/css\/_font-face.css",
404
+ "oF": 0,
405
+ "oS": 0,
406
+ "uL": 1
407
+ },
408
+ "\/assets\/sass\/bourbon\/library\/_font-stacks.scss": {
409
+ "aP": 1,
410
+ "bl": 0,
411
+ "dP": 10,
412
+ "dS": 0,
413
+ "ft": 4,
414
+ "ma": 0,
415
+ "oA": 1,
416
+ "oAP": "\/assets\/sass\/bourbon\/css\/_font-stacks.css",
417
+ "oF": 0,
418
+ "oS": 0,
419
+ "uL": 1
420
+ },
421
+ "\/assets\/sass\/bourbon\/library\/_hide-text.scss": {
422
+ "aP": 1,
423
+ "bl": 0,
424
+ "dP": 10,
425
+ "dS": 0,
426
+ "ft": 4,
427
+ "ma": 0,
428
+ "oA": 1,
429
+ "oAP": "\/assets\/sass\/bourbon\/css\/_hide-text.css",
430
+ "oF": 0,
431
+ "oS": 0,
432
+ "uL": 1
433
+ },
434
+ "\/assets\/sass\/bourbon\/library\/_hide-visually.scss": {
435
+ "aP": 1,
436
+ "bl": 0,
437
+ "dP": 10,
438
+ "dS": 0,
439
+ "ft": 4,
440
+ "ma": 0,
441
+ "oA": 1,
442
+ "oAP": "\/assets\/sass\/bourbon\/css\/_hide-visually.css",
443
+ "oF": 0,
444
+ "oS": 0,
445
+ "uL": 1
446
+ },
447
+ "\/assets\/sass\/bourbon\/library\/_margin.scss": {
448
+ "aP": 1,
449
+ "bl": 0,
450
+ "dP": 10,
451
+ "dS": 0,
452
+ "ft": 4,
453
+ "ma": 0,
454
+ "oA": 1,
455
+ "oAP": "\/assets\/sass\/bourbon\/css\/_margin.css",
456
+ "oF": 0,
457
+ "oS": 0,
458
+ "uL": 1
459
+ },
460
+ "\/assets\/sass\/bourbon\/library\/_modular-scale.scss": {
461
+ "aP": 1,
462
+ "bl": 0,
463
+ "dP": 10,
464
+ "dS": 0,
465
+ "ft": 4,
466
+ "ma": 0,
467
+ "oA": 1,
468
+ "oAP": "\/assets\/sass\/bourbon\/css\/_modular-scale.css",
469
+ "oF": 0,
470
+ "oS": 0,
471
+ "uL": 1
472
+ },
473
+ "\/assets\/sass\/bourbon\/library\/_overflow-wrap.scss": {
474
+ "aP": 1,
475
+ "bl": 0,
476
+ "dP": 10,
477
+ "dS": 0,
478
+ "ft": 4,
479
+ "ma": 0,
480
+ "oA": 1,
481
+ "oAP": "\/assets\/sass\/bourbon\/css\/_overflow-wrap.css",
482
+ "oF": 0,
483
+ "oS": 0,
484
+ "uL": 1
485
+ },
486
+ "\/assets\/sass\/bourbon\/library\/_padding.scss": {
487
+ "aP": 1,
488
+ "bl": 0,
489
+ "dP": 10,
490
+ "dS": 0,
491
+ "ft": 4,
492
+ "ma": 0,
493
+ "oA": 1,
494
+ "oAP": "\/assets\/sass\/bourbon\/css\/_padding.css",
495
+ "oF": 0,
496
+ "oS": 0,
497
+ "uL": 1
498
+ },
499
+ "\/assets\/sass\/bourbon\/library\/_position.scss": {
500
+ "aP": 1,
501
+ "bl": 0,
502
+ "dP": 10,
503
+ "dS": 0,
504
+ "ft": 4,
505
+ "ma": 0,
506
+ "oA": 1,
507
+ "oAP": "\/assets\/sass\/bourbon\/css\/_position.css",
508
+ "oF": 0,
509
+ "oS": 0,
510
+ "uL": 1
511
+ },
512
+ "\/assets\/sass\/bourbon\/library\/_prefixer.scss": {
513
+ "aP": 1,
514
+ "bl": 0,
515
+ "dP": 10,
516
+ "dS": 0,
517
+ "ft": 4,
518
+ "ma": 0,
519
+ "oA": 1,
520
+ "oAP": "\/assets\/sass\/bourbon\/css\/_prefixer.css",
521
+ "oF": 0,
522
+ "oS": 0,
523
+ "uL": 1
524
+ },
525
+ "\/assets\/sass\/bourbon\/library\/_shade.scss": {
526
+ "aP": 1,
527
+ "bl": 0,
528
+ "dP": 10,
529
+ "dS": 0,
530
+ "ft": 4,
531
+ "ma": 0,
532
+ "oA": 1,
533
+ "oAP": "\/assets\/sass\/bourbon\/css\/_shade.css",
534
+ "oF": 0,
535
+ "oS": 0,
536
+ "uL": 1
537
+ },
538
+ "\/assets\/sass\/bourbon\/library\/_size.scss": {
539
+ "aP": 1,
540
+ "bl": 0,
541
+ "dP": 10,
542
+ "dS": 0,
543
+ "ft": 4,
544
+ "ma": 0,
545
+ "oA": 1,
546
+ "oAP": "\/assets\/sass\/bourbon\/css\/_size.css",
547
+ "oF": 0,
548
+ "oS": 0,
549
+ "uL": 1
550
+ },
551
+ "\/assets\/sass\/bourbon\/library\/_strip-unit.scss": {
552
+ "aP": 1,
553
+ "bl": 0,
554
+ "dP": 10,
555
+ "dS": 0,
556
+ "ft": 4,
557
+ "ma": 0,
558
+ "oA": 1,
559
+ "oAP": "\/assets\/sass\/bourbon\/css\/_strip-unit.css",
560
+ "oF": 0,
561
+ "oS": 0,
562
+ "uL": 1
563
+ },
564
+ "\/assets\/sass\/bourbon\/library\/_text-inputs.scss": {
565
+ "aP": 1,
566
+ "bl": 0,
567
+ "dP": 10,
568
+ "dS": 0,
569
+ "ft": 4,
570
+ "ma": 0,
571
+ "oA": 1,
572
+ "oAP": "\/assets\/sass\/bourbon\/css\/_text-inputs.css",
573
+ "oF": 0,
574
+ "oS": 0,
575
+ "uL": 1
576
+ },
577
+ "\/assets\/sass\/bourbon\/library\/_timing-functions.scss": {
578
+ "aP": 1,
579
+ "bl": 0,
580
+ "dP": 10,
581
+ "dS": 0,
582
+ "ft": 4,
583
+ "ma": 0,
584
+ "oA": 1,
585
+ "oAP": "\/assets\/sass\/bourbon\/css\/_timing-functions.css",
586
+ "oF": 0,
587
+ "oS": 0,
588
+ "uL": 1
589
+ },
590
+ "\/assets\/sass\/bourbon\/library\/_tint.scss": {
591
+ "aP": 1,
592
+ "bl": 0,
593
+ "dP": 10,
594
+ "dS": 0,
595
+ "ft": 4,
596
+ "ma": 0,
597
+ "oA": 1,
598
+ "oAP": "\/assets\/sass\/bourbon\/css\/_tint.css",
599
+ "oF": 0,
600
+ "oS": 0,
601
+ "uL": 1
602
+ },
603
+ "\/assets\/sass\/bourbon\/library\/_triangle.scss": {
604
+ "aP": 1,
605
+ "bl": 0,
606
+ "dP": 10,
607
+ "dS": 0,
608
+ "ft": 4,
609
+ "ma": 0,
610
+ "oA": 1,
611
+ "oAP": "\/assets\/sass\/bourbon\/css\/_triangle.css",
612
+ "oF": 0,
613
+ "oS": 0,
614
+ "uL": 1
615
+ },
616
+ "\/assets\/sass\/bourbon\/library\/_value-prefixer.scss": {
617
+ "aP": 1,
618
+ "bl": 0,
619
+ "dP": 10,
620
+ "dS": 0,
621
+ "ft": 4,
622
+ "ma": 0,
623
+ "oA": 1,
624
+ "oAP": "\/assets\/sass\/bourbon\/css\/_value-prefixer.css",
625
+ "oF": 0,
626
+ "oS": 0,
627
+ "uL": 1
628
+ },
629
+ "\/assets\/sass\/bourbon\/settings\/_settings.scss": {
630
+ "aP": 1,
631
+ "bl": 0,
632
+ "dP": 10,
633
+ "dS": 0,
634
+ "ft": 4,
635
+ "ma": 0,
636
+ "oA": 1,
637
+ "oAP": "\/assets\/sass\/bourbon\/css\/_settings.css",
638
+ "oF": 0,
639
+ "oS": 0,
640
+ "uL": 1
641
+ },
642
+ "\/assets\/sass\/bourbon\/utilities\/_assign-inputs.scss": {
643
+ "aP": 1,
644
+ "bl": 0,
645
+ "dP": 10,
646
+ "dS": 0,
647
+ "ft": 4,
648
+ "ma": 0,
649
+ "oA": 1,
650
+ "oAP": "\/assets\/sass\/bourbon\/css\/_assign-inputs.css",
651
+ "oF": 0,
652
+ "oS": 0,
653
+ "uL": 1
654
+ },
655
+ "\/assets\/sass\/bourbon\/utilities\/_compact-shorthand.scss": {
656
+ "aP": 1,
657
+ "bl": 0,
658
+ "dP": 10,
659
+ "dS": 0,
660
+ "ft": 4,
661
+ "ma": 0,
662
+ "oA": 1,
663
+ "oAP": "\/assets\/sass\/bourbon\/css\/_compact-shorthand.css",
664
+ "oF": 0,
665
+ "oS": 0,
666
+ "uL": 1
667
+ },
668
+ "\/assets\/sass\/bourbon\/utilities\/_contrast-ratio.scss": {
669
+ "aP": 1,
670
+ "bl": 0,
671
+ "dP": 10,
672
+ "dS": 0,
673
+ "ft": 4,
674
+ "ma": 0,
675
+ "oA": 1,
676
+ "oAP": "\/assets\/sass\/bourbon\/css\/_contrast-ratio.css",
677
+ "oF": 0,
678
+ "oS": 0,
679
+ "uL": 1
680
+ },
681
+ "\/assets\/sass\/bourbon\/utilities\/_directional-property.scss": {
682
+ "aP": 1,
683
+ "bl": 0,
684
+ "dP": 10,
685
+ "dS": 0,
686
+ "ft": 4,
687
+ "ma": 0,
688
+ "oA": 1,
689
+ "oAP": "\/assets\/sass\/bourbon\/css\/_directional-property.css",
690
+ "oF": 0,
691
+ "oS": 0,
692
+ "uL": 1
693
+ },
694
+ "\/assets\/sass\/bourbon\/utilities\/_font-source-declaration.scss": {
695
+ "aP": 1,
696
+ "bl": 0,
697
+ "dP": 10,
698
+ "dS": 0,
699
+ "ft": 4,
700
+ "ma": 0,
701
+ "oA": 1,
702
+ "oAP": "\/assets\/sass\/bourbon\/css\/_font-source-declaration.css",
703
+ "oF": 0,
704
+ "oS": 0,
705
+ "uL": 1
706
+ },
707
+ "\/assets\/sass\/bourbon\/utilities\/_gamma.scss": {
708
+ "aP": 1,
709
+ "bl": 0,
710
+ "dP": 10,
711
+ "dS": 0,
712
+ "ft": 4,
713
+ "ma": 0,
714
+ "oA": 1,
715
+ "oAP": "\/assets\/sass\/bourbon\/css\/_gamma.css",
716
+ "oF": 0,
717
+ "oS": 0,
718
+ "uL": 1
719
+ },
720
+ "\/assets\/sass\/bourbon\/utilities\/_lightness.scss": {
721
+ "aP": 1,
722
+ "bl": 0,
723
+ "dP": 10,
724
+ "dS": 0,
725
+ "ft": 4,
726
+ "ma": 0,
727
+ "oA": 1,
728
+ "oAP": "\/assets\/sass\/bourbon\/css\/_lightness.css",
729
+ "oF": 0,
730
+ "oS": 0,
731
+ "uL": 1
732
+ },
733
+ "\/assets\/sass\/bourbon\/utilities\/_retrieve-bourbon-setting.scss": {
734
+ "aP": 1,
735
+ "bl": 0,
736
+ "dP": 10,
737
+ "dS": 0,
738
+ "ft": 4,
739
+ "ma": 0,
740
+ "oA": 1,
741
+ "oAP": "\/assets\/sass\/bourbon\/css\/_retrieve-bourbon-setting.css",
742
+ "oF": 0,
743
+ "oS": 0,
744
+ "uL": 1
745
+ },
746
+ "\/assets\/sass\/bourbon\/utilities\/_unpack-shorthand.scss": {
747
+ "aP": 1,
748
+ "bl": 0,
749
+ "dP": 10,
750
+ "dS": 0,
751
+ "ft": 4,
752
+ "ma": 0,
753
+ "oA": 1,
754
+ "oAP": "\/assets\/sass\/bourbon\/css\/_unpack-shorthand.css",
755
+ "oF": 0,
756
+ "oS": 0,
757
+ "uL": 1
758
+ },
759
+ "\/assets\/sass\/bourbon\/validators\/_contains-falsy.scss": {
760
+ "aP": 1,
761
+ "bl": 0,
762
+ "dP": 10,
763
+ "dS": 0,
764
+ "ft": 4,
765
+ "ma": 0,
766
+ "oA": 1,
767
+ "oAP": "\/assets\/sass\/bourbon\/css\/_contains-falsy.css",
768
+ "oF": 0,
769
+ "oS": 0,
770
+ "uL": 1
771
+ },
772
+ "\/assets\/sass\/bourbon\/validators\/_contains.scss": {
773
+ "aP": 1,
774
+ "bl": 0,
775
+ "dP": 10,
776
+ "dS": 0,
777
+ "ft": 4,
778
+ "ma": 0,
779
+ "oA": 1,
780
+ "oAP": "\/assets\/sass\/bourbon\/css\/_contains.css",
781
+ "oF": 0,
782
+ "oS": 0,
783
+ "uL": 1
784
+ },
785
+ "\/assets\/sass\/bourbon\/validators\/_is-color.scss": {
786
+ "aP": 1,
787
+ "bl": 0,
788
+ "dP": 10,
789
+ "dS": 0,
790
+ "ft": 4,
791
+ "ma": 0,
792
+ "oA": 1,
793
+ "oAP": "\/assets\/sass\/bourbon\/css\/_is-color.css",
794
+ "oF": 0,
795
+ "oS": 0,
796
+ "uL": 1
797
+ },
798
+ "\/assets\/sass\/bourbon\/validators\/_is-length.scss": {
799
+ "aP": 1,
800
+ "bl": 0,
801
+ "dP": 10,
802
+ "dS": 0,
803
+ "ft": 4,
804
+ "ma": 0,
805
+ "oA": 1,
806
+ "oAP": "\/assets\/sass\/bourbon\/css\/_is-length.css",
807
+ "oF": 0,
808
+ "oS": 0,
809
+ "uL": 1
810
+ },
811
+ "\/assets\/sass\/bourbon\/validators\/_is-number.scss": {
812
+ "aP": 1,
813
+ "bl": 0,
814
+ "dP": 10,
815
+ "dS": 0,
816
+ "ft": 4,
817
+ "ma": 0,
818
+ "oA": 1,
819
+ "oAP": "\/assets\/sass\/bourbon\/css\/_is-number.css",
820
+ "oF": 0,
821
+ "oS": 0,
822
+ "uL": 1
823
+ },
824
+ "\/assets\/sass\/bourbon\/validators\/_is-size.scss": {
825
+ "aP": 1,
826
+ "bl": 0,
827
+ "dP": 10,
828
+ "dS": 0,
829
+ "ft": 4,
830
+ "ma": 0,
831
+ "oA": 1,
832
+ "oAP": "\/assets\/sass\/bourbon\/css\/_is-size.css",
833
+ "oF": 0,
834
+ "oS": 0,
835
+ "uL": 1
836
+ },
837
  "\/assets\/sass\/style-admin.scss": {
838
+ "aP": 1,
839
  "bl": 0,
840
  "dP": 10,
841
  "dS": 0,
848
  "uL": 1
849
  },
850
  "\/assets\/sass\/style.scss": {
851
+ "aP": 1,
852
  "bl": 0,
853
  "dP": 10,
854
  "dS": 0,
949
  "oAP": "\/includes\/admin\/filters.php",
950
  "oF": 0
951
  },
952
+ "\/includes\/admin\/functions.php": {
953
+ "ft": 8192,
954
+ "oA": 2,
955
+ "oAP": "\/includes\/admin\/functions.php",
956
+ "oF": 0
957
+ },
958
  "\/includes\/admin\/meta-boxes.php": {
959
  "ft": 8192,
960
  "oA": 2,
2122
  "active": 0,
2123
  "optionString": ""
2124
  },
2125
+ "no-prototype-builtins": {
2126
+ "active": 0,
2127
+ "optionString": ""
2128
+ },
2129
  "no-redeclare": {
2130
  "active": 1,
2131
  "optionString": "{'builtinGlobals': false}"
2950
  "orderOutput": 0,
2951
  "outputStyle": 1
2952
  },
 
 
 
 
 
 
 
 
2953
  "languageDefaultsKIT": {
2954
  "autoOutputAction": 0,
2955
  "autoOutputPathFilenamePattern": "*.html",
3012
  "autoOutputPathReplace1": "",
3013
  "autoOutputPathReplace2": "",
3014
  "autoOutputPathStyle": 0,
3015
+ "optimizerType": 1,
3016
  "quality": 100
3017
  },
3018
  "languageDefaultsPUG": {
3036
  "debugStyle": 0,
3037
  "decimalPrecision": 10,
3038
  "outputStyle": 0,
3039
+ "shouldRunAutoprefixer": 1,
3040
  "shouldRunBless": 0,
3041
  "useLibsass": 1
3042
  },
3098
  },
3099
  "languageDefaultsUserDefined": [
3100
  ],
3101
+ "overrideExternalServerCSS": 0,
3102
  "previewPathAddition": "",
3103
  "skippedFoldersString": "log, _logs, logs, _cache, cache, \/storage\/framework\/sessions, node_modules",
3104
  "sourceFolderName": "source",
ditty-news-ticker.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://dittynewsticker.com/
5
  Description: Ditty News Ticker is a multi-functional data display plugin
6
  Text Domain: ditty-news-ticker
7
  Domain Path: languages
8
- Version: 2.1.6
9
  Author: Metaphor Creations
10
  Author URI: http://www.metaphorcreations.com
11
  Contributors: metaphorcreations
@@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31
 
32
 
33
 
34
- define ( 'MTPHR_DNT_VERSION', '2.1.6' );
35
  define ( 'MTPHR_DNT_DIR', trailingslashit(plugin_dir_path(__FILE__)) );
36
 
37
 
@@ -55,6 +55,7 @@ if( is_admin() ) {
55
  require_once( MTPHR_DNT_DIR.'includes/admin/fields/helpers.php' );
56
  require_once( MTPHR_DNT_DIR.'includes/admin/fields/fields.php' );
57
  require_once( MTPHR_DNT_DIR.'includes/admin/filters.php' );
 
58
  require_once( MTPHR_DNT_DIR.'includes/admin/upgrades.php' );
59
  require_once( MTPHR_DNT_DIR.'includes/admin/scripts.php' );
60
  } else {
5
  Description: Ditty News Ticker is a multi-functional data display plugin
6
  Text Domain: ditty-news-ticker
7
  Domain Path: languages
8
+ Version: 2.1.7
9
  Author: Metaphor Creations
10
  Author URI: http://www.metaphorcreations.com
11
  Contributors: metaphorcreations
31
 
32
 
33
 
34
+ define ( 'MTPHR_DNT_VERSION', '2.1.7' );
35
  define ( 'MTPHR_DNT_DIR', trailingslashit(plugin_dir_path(__FILE__)) );
36
 
37
 
55
  require_once( MTPHR_DNT_DIR.'includes/admin/fields/helpers.php' );
56
  require_once( MTPHR_DNT_DIR.'includes/admin/fields/fields.php' );
57
  require_once( MTPHR_DNT_DIR.'includes/admin/filters.php' );
58
+ require_once( MTPHR_DNT_DIR.'includes/admin/functions.php' );
59
  require_once( MTPHR_DNT_DIR.'includes/admin/upgrades.php' );
60
  require_once( MTPHR_DNT_DIR.'includes/admin/scripts.php' );
61
  } else {
includes/admin/fields/helpers.php CHANGED
@@ -356,19 +356,31 @@ function mtphr_dnt_animate_select( $name, $value, $default=false ) {
356
 
357
 
358
  /* --------------------------------------------------------- */
359
- /* !List helper functions - 2.0.0 */
360
  /* --------------------------------------------------------- */
361
 
362
  if( !function_exists('mtphr_dnt_list_heading') ) {
363
- function mtphr_dnt_list_heading() {
364
-
365
- $html = '';
366
- $html .= '<div class="mtphr-dnt-list-heading mtphr-dnt-clearfix">';
367
- $html .= '<i class="dashicons dashicons-menu"></i>';
368
- $html .= '<div class="mtphr-dnt-list-buttons">';
369
- $html .= '<a class="mtphr-dnt-list-delete" href="#"><i class="dashicons dashicons-no"></i></a>';
370
- $html .= '<a class="mtphr-dnt-list-add" href="#"><i class="dashicons dashicons-plus"></i></a>';
371
- $html .= '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
372
  $html .= '</div>';
373
  return $html;
374
  }
@@ -377,60 +389,80 @@ function mtphr_dnt_list_heading() {
377
  if( !function_exists('mtphr_dnt_list_item') ) {
378
  function mtphr_dnt_list_item( $name, $fields=array(), $val=false ) {
379
 
380
- echo '<div class="mtphr-dnt-list-item mtphr-dnt-clearfix">';
381
- echo mtphr_dnt_list_heading();
382
-
383
- // If this is a single field
384
- if( isset($fields['type']) && !is_array($fields['type']) ) {
385
-
386
- // Create the field
387
- if( function_exists('mtphr_dnt_field_'.$fields['type']) ) {
388
- $fields['subheading'] = isset($fields['heading']) ? $fields['heading'] : '';
389
- $fields['subhelp'] = isset($fields['help']) ? $fields['help'] : '';
390
- $fields['name'] = $name.'[]';
391
- $fields['value'] = $val;
392
- call_user_func( 'mtphr_dnt_field_'.$fields['type'], $fields );
393
- }
394
-
395
- // If this is multiple fields
396
- } else {
 
 
 
 
 
397
 
398
- if( is_array($fields) && count($fields) > 0 ) {
399
- foreach( $fields as $fname=>$field ) {
400
-
401
- // Set some default values
402
- $defaults = array(
403
- 'heading' => '',
404
- 'type' => '',
405
- 'help' => ''
406
- );
407
- $field = wp_parse_args( $field, $defaults );
408
-
409
- // Append the field data
410
- $field['name'] = $name.'['.$fname.']';
411
- $field['value'] = isset($val[$fname]) ? $val[$fname] : '';
412
- $field['atts'] = array(
413
- 'data-name' => $name,
414
- 'data-key' => $fname
415
- );
416
-
417
- // Set a field class
418
- $class = mtphr_dnt_list_item_class( $field );
419
- echo '<div class="'.$class.'">';
420
 
421
- // Create the field
422
- if( function_exists('mtphr_dnt_field_'.$field['type']) ) {
423
- $field['subheading'] = isset($field['heading']) ? $field['heading'] : '';
424
- $field['subhelp'] = isset($field['help']) ? $field['help'] : '';
425
- call_user_func( 'mtphr_dnt_field_'.$field['type'], $field );
426
- }
427
 
428
- echo '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  }
430
  }
431
- }
432
-
433
  echo '</div>';
 
 
434
  }
435
  }
436
 
356
 
357
 
358
  /* --------------------------------------------------------- */
359
+ /* !List helper functions - 2.1.7 */
360
  /* --------------------------------------------------------- */
361
 
362
  if( !function_exists('mtphr_dnt_list_heading') ) {
363
+ function mtphr_dnt_list_heading( $name, $fields=array(), $val=false ) {
364
+
365
+ $classes = array();
366
+ $classes[] = 'mtphr-dnt-list-heading';
367
+ $classes[] = 'mtphr-dnt-clearfix';
368
+ $classes = apply_filters( 'mtphr_dnt_list_heading_class', $classes, $name, $fields, $val );
369
+ if( !empty( $class ) ) {
370
+ if( !is_array( $class ) ) {
371
+ $class = preg_split( '#\s+#', $class );
372
+ }
373
+ $classes = array_merge( $classes, $class );
374
+ } else {
375
+ // Ensure that we always coerce class to being an array.
376
+ $class = array();
377
+ }
378
+ $classes = array_map( 'esc_attr', $classes );
379
+
380
+ $html = '<div class="'.join( ' ', $classes ).'">';
381
+ ob_start();
382
+ do_action( 'mtphr_dnt_list_heading', $name, $fields, $val );
383
+ $html .= ob_get_clean();
384
  $html .= '</div>';
385
  return $html;
386
  }
389
  if( !function_exists('mtphr_dnt_list_item') ) {
390
  function mtphr_dnt_list_item( $name, $fields=array(), $val=false ) {
391
 
392
+ $classes = array();
393
+ $classes[] = 'mtphr-dnt-list-item';
394
+ $classes[] = 'mtphr-dnt-clearfix';
395
+ $classes = apply_filters( 'mtphr_dnt_list_item_class', $classes, $name, $fields, $val );
396
+ if( !empty( $class ) ) {
397
+ if( !is_array( $class ) ) {
398
+ $class = preg_split( '#\s+#', $class );
399
+ }
400
+ $classes = array_merge( $classes, $class );
401
+ } else {
402
+ // Ensure that we always coerce class to being an array.
403
+ $class = array();
404
+ }
405
+ $classes = array_map( 'esc_attr', $classes );
406
+
407
+ ob_start();
408
+
409
+ echo '<div class="'.join( ' ', $classes ).'">';
410
+ echo mtphr_dnt_list_heading( $name, $fields, $val );
411
+ echo '<div class="mtphr-dnt-list-item-contents">';
412
+ // If this is a single field
413
+ if( isset($fields['type']) && !is_array($fields['type']) ) {
414
 
415
+ // Create the field
416
+ if( function_exists('mtphr_dnt_field_'.$fields['type']) ) {
417
+ $fields['subheading'] = isset($fields['heading']) ? $fields['heading'] : '';
418
+ $fields['subhelp'] = isset($fields['help']) ? $fields['help'] : '';
419
+ $fields['name'] = $name.'[]';
420
+ $fields['value'] = $val;
421
+ call_user_func( 'mtphr_dnt_field_'.$fields['type'], $fields );
422
+ }
423
+
424
+ // If this is multiple fields
425
+ } else {
 
 
 
 
 
 
 
 
 
 
 
426
 
427
+ if( is_array($fields) && count($fields) > 0 ) {
428
+ foreach( $fields as $fname=>$field ) {
 
 
 
 
429
 
430
+ // Set some default values
431
+ $defaults = array(
432
+ 'heading' => '',
433
+ 'type' => '',
434
+ 'help' => ''
435
+ );
436
+ $field = wp_parse_args( $field, $defaults );
437
+
438
+ // Append the field data
439
+ $field['name'] = $name.'['.$fname.']';
440
+ $field['value'] = isset($val[$fname]) ? $val[$fname] : '';
441
+ $field['atts'] = array(
442
+ 'data-name' => $name,
443
+ 'data-key' => $fname
444
+ );
445
+
446
+ // Set a field class
447
+ $class = mtphr_dnt_list_item_class( $field );
448
+ echo '<div class="'.$class.'">';
449
+
450
+ // Create the field
451
+ if( function_exists('mtphr_dnt_field_'.$field['type']) ) {
452
+ $field['subheading'] = isset($field['heading']) ? $field['heading'] : '';
453
+ $field['subhelp'] = isset($field['help']) ? $field['help'] : '';
454
+ call_user_func( 'mtphr_dnt_field_'.$field['type'], $field );
455
+ }
456
+
457
+ echo '</div>';
458
+ }
459
  }
460
  }
461
+
462
+ echo '</div>';
463
  echo '</div>';
464
+
465
+ echo apply_filters( 'mtphr_dnt_list_item', ob_get_clean(), $name, $fields, $val, $classes );
466
  }
467
  }
468
 
includes/admin/filters.php CHANGED
@@ -1,20 +1,15 @@
1
  <?php
2
 
3
- function mtphr_dnt_plugin_upgrade(){
4
 
5
- $active_version = get_option( 'mtphr_dnt_active_version', '0' );
 
 
 
 
 
 
 
 
 
6
 
7
- // Outdated
8
- if( version_compare($active_version, MTPHR_DNT_VERSION, '<') ) {
9
 
10
- /*
11
- // Run specific upgrade routines
12
- if( version_compare( $active_version, '1.4.6', '<' ) ) {
13
- mtphr_dnt_upgrade_to_version_1_4_6();
14
- }
15
- */
16
-
17
- update_option( 'mtphr_dnt_active_version', MTPHR_DNT_VERSION );
18
- }
19
- }
20
- //add_action( 'admin_init', 'mtphr_dnt_plugin_upgrade' );
1
  <?php
2
 
 
3
 
4
+ /**
5
+ * List heading actions
6
+ *
7
+ * @access public
8
+ * @since 1.0.0
9
+ */
10
+ add_action( 'mtphr_dnt_list_heading', 'mtphr_dnt_list_heading_drag', 10 );
11
+ add_action( 'mtphr_dnt_list_heading', 'mtphr_dnt_list_heading_buttons', 20 );
12
+
13
+
14
 
 
 
15
 
 
 
 
 
 
 
 
 
 
 
 
includes/admin/functions.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ /**
5
+ * Add the drag icon to the list heading
6
+ *
7
+ * @access public
8
+ * @since 1.0.0
9
+ */
10
+ function mtphr_dnt_list_heading_drag() {
11
+ echo '<i class="dashicons dashicons-menu"></i>';
12
+ }
13
+
14
+
15
+ /**
16
+ * Add the action buttons to the list heading
17
+ *
18
+ * @access public
19
+ * @since 1.0.0
20
+ */
21
+ function mtphr_dnt_list_heading_buttons() {
22
+ ?>
23
+ <div class="mtphr-dnt-list-buttons">
24
+ <a class="mtphr-dnt-list-delete" href="#"><i class="dashicons dashicons-no"></i></a>
25
+ <a class="mtphr-dnt-list-add" href="#"><i class="dashicons dashicons-plus"></i></a>
26
+ </div>
27
+ <?php
28
+ }
29
+
30
+
31
+ function mtphr_dnt_plugin_upgrade(){
32
+
33
+ $active_version = get_option( 'mtphr_dnt_active_version', '0' );
34
+
35
+ // Outdated
36
+ if( version_compare($active_version, MTPHR_DNT_VERSION, '<') ) {
37
+
38
+ /*
39
+ // Run specific upgrade routines
40
+ if( version_compare( $active_version, '1.4.6', '<' ) ) {
41
+ mtphr_dnt_upgrade_to_version_1_4_6();
42
+ }
43
+ */
44
+
45
+ update_option( 'mtphr_dnt_active_version', MTPHR_DNT_VERSION );
46
+ }
47
+ }
48
+ //add_action( 'admin_init', 'mtphr_dnt_plugin_upgrade' );
includes/admin/meta-boxes.php CHANGED
@@ -1222,6 +1222,7 @@ function mtphr_dnt_metabox_save( $post_id ) {
1222
  }
1223
 
1224
  // Save the default ticks
 
1225
  if( isset($_POST['_mtphr_dnt_ticks']) ) {
1226
 
1227
  $force_breaks = ( isset($_POST['_mtphr_dnt_line_breaks']) && $_POST['_mtphr_dnt_line_breaks'] != '' ) ? 1 : '';
@@ -1231,41 +1232,46 @@ function mtphr_dnt_metabox_save( $post_id ) {
1231
  $allowed_tags['div']['data-href'] = true;
1232
  $allowed_tags['div']['data-width'] = true;
1233
 
1234
- $sanitized_ticks = array();
1235
  if( count($_POST['_mtphr_dnt_ticks']) > 0 ) {
1236
  foreach( $_POST['_mtphr_dnt_ticks'] as $tick ) {
1237
 
1238
- $sanitized_tick = apply_filters( 'mtphr_dnt_default_sanitized_tick', array(
1239
  'tick' => isset($tick['tick']) ? wp_kses($tick['tick'], $allowed_tags) : '',
1240
  'link' => isset($tick['link']) ? esc_url($tick['link']) : '',
1241
  'target' => isset($tick['target']) ? $tick['target'] : '',
1242
  'nofollow' => isset( $tick['nofollow'] ) ? $tick['nofollow'] : ''
1243
- ), $tick);
1244
 
1245
- $sanitized_ticks[] = $sanitized_tick;
 
 
1246
  }
1247
  }
1248
-
1249
- if( $admin_javascript == 'ok' ) {
1250
- update_post_meta( $post_id, '_mtphr_dnt_ticks', $sanitized_ticks );
1251
- }
1252
  }
1253
 
1254
  // Save the mixed ticks
 
1255
  if( isset($_POST['_mtphr_dnt_mixed_ticks']) ) {
1256
- $sanitized_ticks = array();
1257
  if( count($_POST['_mtphr_dnt_mixed_ticks']) > 0 ) {
1258
  foreach( $_POST['_mtphr_dnt_mixed_ticks'] as $tick ) {
1259
- $sanitized_ticks[] = array(
 
1260
  'type' => isset($tick['type']) ? $tick['type'] : '',
1261
  'offset' => isset($tick['offset']) ? intval($tick['offset']) : 0,
1262
  'all' => (isset($tick['all']) && $tick['all'] == 'on') ? $tick['all'] : ''
1263
- );
 
 
 
 
1264
  }
1265
  }
1266
- if( $admin_javascript == 'ok' ) {
1267
- update_post_meta( $post_id, '_mtphr_dnt_mixed_ticks', $sanitized_ticks );
1268
- }
1269
  }
1270
 
1271
  // Save the scroll settings
1222
  }
1223
 
1224
  // Save the default ticks
1225
+ $sanitized_ticks = array();
1226
  if( isset($_POST['_mtphr_dnt_ticks']) ) {
1227
 
1228
  $force_breaks = ( isset($_POST['_mtphr_dnt_line_breaks']) && $_POST['_mtphr_dnt_line_breaks'] != '' ) ? 1 : '';
1232
  $allowed_tags['div']['data-href'] = true;
1233
  $allowed_tags['div']['data-width'] = true;
1234
 
 
1235
  if( count($_POST['_mtphr_dnt_ticks']) > 0 ) {
1236
  foreach( $_POST['_mtphr_dnt_ticks'] as $tick ) {
1237
 
1238
+ $sanitized_tick = apply_filters( 'mtphr_dnt_sanitized_tick', array(
1239
  'tick' => isset($tick['tick']) ? wp_kses($tick['tick'], $allowed_tags) : '',
1240
  'link' => isset($tick['link']) ? esc_url($tick['link']) : '',
1241
  'target' => isset($tick['target']) ? $tick['target'] : '',
1242
  'nofollow' => isset( $tick['nofollow'] ) ? $tick['nofollow'] : ''
1243
+ ), $tick, '_mtphr_dnt_ticks');
1244
 
1245
+ if( $sanitized_tick ) {
1246
+ $sanitized_ticks[] = $sanitized_tick;
1247
+ }
1248
  }
1249
  }
1250
+ }
1251
+ if( $admin_javascript == 'ok' ) {
1252
+ update_post_meta( $post_id, '_mtphr_dnt_ticks', $sanitized_ticks );
 
1253
  }
1254
 
1255
  // Save the mixed ticks
1256
+ $sanitized_ticks = array();
1257
  if( isset($_POST['_mtphr_dnt_mixed_ticks']) ) {
 
1258
  if( count($_POST['_mtphr_dnt_mixed_ticks']) > 0 ) {
1259
  foreach( $_POST['_mtphr_dnt_mixed_ticks'] as $tick ) {
1260
+
1261
+ $sanitized_tick = apply_filters( 'mtphr_dnt_sanitized_tick', array(
1262
  'type' => isset($tick['type']) ? $tick['type'] : '',
1263
  'offset' => isset($tick['offset']) ? intval($tick['offset']) : 0,
1264
  'all' => (isset($tick['all']) && $tick['all'] == 'on') ? $tick['all'] : ''
1265
+ ), $tick, '_mtphr_dnt_mixed_ticks');
1266
+
1267
+ if( $sanitized_tick ) {
1268
+ $sanitized_ticks[] = $sanitized_tick;
1269
+ }
1270
  }
1271
  }
1272
+ }
1273
+ if( $admin_javascript == 'ok' ) {
1274
+ update_post_meta( $post_id, '_mtphr_dnt_mixed_ticks', $sanitized_ticks );
1275
  }
1276
 
1277
  // Save the scroll settings
includes/functions.php CHANGED
@@ -342,7 +342,7 @@ function render_mtphr_dnt_rotate_ticker( $id='', $class='', $meta_data=false ) {
342
 
343
 
344
  /* --------------------------------------------------------- */
345
- /* !Create the default ticks - 1.3.1 */
346
  /* --------------------------------------------------------- */
347
 
348
  function mtphr_dnt_default_ticks( $ticks, $id, $meta_data ) {
@@ -372,7 +372,11 @@ function mtphr_dnt_default_ticks( $ticks, $id, $meta_data ) {
372
  $contents = apply_filters('mtphr_dnt_tick', $contents, $text, $link );
373
 
374
  // Save the output to the tick array
375
- $new_ticks[] = $contents;
 
 
 
 
376
  }
377
  }
378
  }
@@ -388,7 +392,7 @@ add_filter( 'mtphr_dnt_tick_array', 'mtphr_dnt_default_ticks', 10, 3 );
388
 
389
 
390
  /* --------------------------------------------------------- */
391
- /* !Create the mixed ticks - 1.4.12 */
392
  /* --------------------------------------------------------- */
393
 
394
  if( !function_exists('mtphr_dnt_mixed_ticks') ) {
@@ -407,8 +411,12 @@ function mtphr_dnt_mixed_ticks( $id, $meta_data ) {
407
 
408
  // Get the ticks
409
  if( isset($meta_data['_mtphr_dnt_mixed_ticks']) && is_array($meta_data['_mtphr_dnt_mixed_ticks']) && count($meta_data['_mtphr_dnt_mixed_ticks']) > 0 ) {
 
 
 
 
410
  foreach( $meta_data['_mtphr_dnt_mixed_ticks'] as $i => $tick ) {
411
-
412
  // Make sure the tick type exists
413
  if( array_key_exists( $tick['type'], $types ) && !array_key_exists( $tick['type'], $ticks_cache ) ) {
414
 
@@ -424,25 +432,33 @@ function mtphr_dnt_mixed_ticks( $id, $meta_data ) {
424
  if( isset($tick['all']) && $tick['all'] == 'on' && isset($ticks_cache[$tick['type']]) ) {
425
 
426
  if( is_array($ticks_cache[$tick['type']]) && count($ticks_cache[$tick['type']]) > 0 ) {
427
- foreach( $ticks_cache[$tick['type']] as $i=>$all_tick ) {
 
 
 
428
  $dnt_ticks[] = array(
429
  'type' => $tick['type'],
430
- 'tick' => $all_tick
 
431
  );
432
  }
433
  }
434
 
435
  // Or, add just the select offset to the array
436
  } elseif( isset($ticks_cache[$tick['type']][intval($tick['offset'])]) ) {
 
 
 
437
  $dnt_ticks[] = array(
438
  'type' => $tick['type'],
439
- 'tick' => $ticks_cache[$tick['type']][intval($tick['offset'])]
 
440
  );
441
  }
442
  }
443
  }
444
-
445
  // Return the new ticks
446
- return $dnt_ticks;
447
  }
448
  }
342
 
343
 
344
  /* --------------------------------------------------------- */
345
+ /* !Create the default ticks - 2.1.7 */
346
  /* --------------------------------------------------------- */
347
 
348
  function mtphr_dnt_default_ticks( $ticks, $id, $meta_data ) {
372
  $contents = apply_filters('mtphr_dnt_tick', $contents, $text, $link );
373
 
374
  // Save the output to the tick array
375
+ $new_ticks[] = array(
376
+ 'tick' => $contents,
377
+ 'type' => 'default',
378
+ 'meta' => $tick
379
+ );
380
  }
381
  }
382
  }
392
 
393
 
394
  /* --------------------------------------------------------- */
395
+ /* !Create the mixed ticks - 2.1.7 */
396
  /* --------------------------------------------------------- */
397
 
398
  if( !function_exists('mtphr_dnt_mixed_ticks') ) {
411
 
412
  // Get the ticks
413
  if( isset($meta_data['_mtphr_dnt_mixed_ticks']) && is_array($meta_data['_mtphr_dnt_mixed_ticks']) && count($meta_data['_mtphr_dnt_mixed_ticks']) > 0 ) {
414
+
415
+ // Add a prefilter to the metadata
416
+ $meta_data = apply_filters( 'mtphr_dnt_mixed_ticks_meta', $meta_data, $id );
417
+
418
  foreach( $meta_data['_mtphr_dnt_mixed_ticks'] as $i => $tick ) {
419
+
420
  // Make sure the tick type exists
421
  if( array_key_exists( $tick['type'], $types ) && !array_key_exists( $tick['type'], $ticks_cache ) ) {
422
 
432
  if( isset($tick['all']) && $tick['all'] == 'on' && isset($ticks_cache[$tick['type']]) ) {
433
 
434
  if( is_array($ticks_cache[$tick['type']]) && count($ticks_cache[$tick['type']]) > 0 ) {
435
+ foreach( $ticks_cache[$tick['type']] as $i=>$mixed_tick ) {
436
+
437
+ $mixed_tick = apply_filters( 'mtphr_dnt_mixed_tick', $mixed_tick, $tick );
438
+ $content = is_array( $mixed_tick ) ? $mixed_tick['tick'] : $mixed_tick;
439
  $dnt_ticks[] = array(
440
  'type' => $tick['type'],
441
+ 'tick' => $content,
442
+ 'meta' => $mixed_tick['meta']
443
  );
444
  }
445
  }
446
 
447
  // Or, add just the select offset to the array
448
  } elseif( isset($ticks_cache[$tick['type']][intval($tick['offset'])]) ) {
449
+
450
+ $mixed_tick = apply_filters( 'mtphr_dnt_mixed_tick', $ticks_cache[$tick['type']][intval($tick['offset'])], $tick );
451
+ $content = is_array( $mixed_tick ) ? $mixed_tick['tick'] : $mixed_tick;
452
  $dnt_ticks[] = array(
453
  'type' => $tick['type'],
454
+ 'tick' => $content,
455
+ 'meta' => $mixed_tick['meta']
456
  );
457
  }
458
  }
459
  }
460
+ //echo '<pre>';print_r($ticks_cache);echo '</pre>';
461
  // Return the new ticks
462
+ return apply_filters( 'mtphr_dnt_mixed_tick_array', $dnt_ticks, $id, $meta_data );
463
  }
464
  }
readme.txt CHANGED
@@ -72,6 +72,17 @@ The most common cause for an unresponsive ticker (when using scroll or rotate mo
72
 
73
  == Changelog ==
74
 
 
 
 
 
 
 
 
 
 
 
 
75
  = 2.1.6 =
76
  * Added mtphr_dnt_default_sanitized_tick filter
77
 
@@ -414,4 +425,4 @@ The most common cause for an unresponsive ticker (when using scroll or rotate mo
414
 
415
  == Upgrade Notice ==
416
 
417
- Added mtphr_dnt_default_sanitized_tick filter
72
 
73
  == Changelog ==
74
 
75
+ = 2.1.7 =
76
+ * Removed mtphr_dnt_default_sanitized_tick filter
77
+ * Added mtphr_dnt_sanitized_tick filter
78
+ * Added mtphr_dnt_mixed_ticks_meta filter
79
+ * Added mtphr_dnt_mixed_tick_array filter
80
+ * Added mtphr_dnt_list_heading_class filter
81
+ * Added mtphr_dnt_list_item filter
82
+ * Added mtphr_dnt_list_item_class filter
83
+ * Updated mixed ticker function
84
+ * Modified default ticker data
85
+
86
  = 2.1.6 =
87
  * Added mtphr_dnt_default_sanitized_tick filter
88
 
425
 
426
  == Upgrade Notice ==
427
 
428
+ Multiple updates