TokiCLI 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +9 -17
  4. data/.rspec +3 -0
  5. data/.travis.yml +3 -0
  6. data/CHANGELOG.md +4 -0
  7. data/README.md +99 -163
  8. data/Rakefile +5 -0
  9. data/TokiCLI.gemspec +5 -4
  10. data/bin/toki +2 -2
  11. data/lib/API/helpers.rb +27 -170
  12. data/lib/API/toki_api.rb +227 -0
  13. data/lib/API/toki_db.rb +67 -0
  14. data/lib/TokiCLI.rb +270 -5
  15. data/lib/TokiCLI/adnimport.rb +202 -0
  16. data/lib/TokiCLI/fileops.rb +187 -0
  17. data/lib/TokiCLI/status.rb +49 -37
  18. data/lib/TokiCLI/version.rb +1 -1
  19. data/lib/TokiCLI/view.rb +133 -86
  20. data/lib/TokiServer/.bowerrc +3 -0
  21. data/lib/TokiServer/.gitignore +2 -0
  22. data/lib/TokiServer/Gemfile +1 -0
  23. data/lib/TokiServer/bower.json +0 -0
  24. data/lib/TokiServer/bower_components/fastclick/.bower.json +4 -4
  25. data/lib/TokiServer/bower_components/fastclick/bower.json +1 -1
  26. data/lib/TokiServer/bower_components/fastclick/lib/fastclick.js +33 -2
  27. data/lib/TokiServer/bower_components/foundation/.bower.json +5 -4
  28. data/lib/TokiServer/bower_components/foundation/bower.json +2 -1
  29. data/lib/TokiServer/bower_components/foundation/css/foundation.css +2173 -922
  30. data/lib/TokiServer/bower_components/foundation/css/foundation.css.map +7 -0
  31. data/lib/TokiServer/bower_components/foundation/css/normalize.css +53 -16
  32. data/lib/TokiServer/bower_components/foundation/css/normalize.css.map +7 -0
  33. data/lib/TokiServer/bower_components/foundation/js/foundation.js +782 -542
  34. data/lib/TokiServer/bower_components/foundation/js/foundation.min.js +4 -3
  35. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.abide.js +45 -31
  36. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.accordion.js +12 -6
  37. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.alert.js +5 -5
  38. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.clearing.js +34 -10
  39. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.dropdown.js +83 -29
  40. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.equalizer.js +3 -3
  41. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.interchange.js +25 -12
  42. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.joyride.js +112 -40
  43. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.js +19 -5
  44. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.magellan.js +22 -11
  45. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.offcanvas.js +52 -8
  46. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.orbit.js +133 -271
  47. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.reveal.js +27 -20
  48. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.slider.js +73 -33
  49. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.tab.js +88 -31
  50. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.tooltip.js +7 -5
  51. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.topbar.js +44 -24
  52. data/lib/TokiServer/bower_components/foundation/js/vendor/fastclick.js +2 -2
  53. data/lib/TokiServer/bower_components/foundation/js/vendor/modernizr.js +2 -2
  54. data/lib/TokiServer/bower_components/foundation/scss/foundation.scss +38 -38
  55. data/lib/TokiServer/bower_components/foundation/scss/foundation/_functions.scss +3 -3
  56. data/lib/TokiServer/bower_components/foundation/scss/foundation/_settings.scss +417 -271
  57. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_accordion.scss +110 -6
  58. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +2 -2
  59. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_block-grid.scss +2 -2
  60. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +8 -3
  61. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_button-groups.scss +99 -9
  62. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_buttons.scss +66 -28
  63. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_clearing.scss +5 -5
  64. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +4 -4
  65. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_dropdown.scss +48 -35
  66. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_forms.scss +104 -32
  67. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_global.scss +48 -30
  68. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_grid.scss +19 -4
  69. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_icon-bar.scss +293 -0
  70. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_joyride.scss +11 -9
  71. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_keystrokes.scss +4 -4
  72. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_labels.scss +4 -2
  73. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_magellan.scss +1 -1
  74. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_offcanvas.scss +193 -35
  75. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_orbit.scss +92 -147
  76. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_pagination.scss +22 -10
  77. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_panels.scss +10 -7
  78. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +11 -11
  79. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_progress-bars.scss +2 -2
  80. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_range-slider.scss +29 -9
  81. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_reveal.scss +60 -56
  82. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_side-nav.scss +3 -2
  83. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_split-buttons.scss +2 -2
  84. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_sub-nav.scss +2 -2
  85. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_switches.scss +226 -0
  86. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tables.scss +13 -7
  87. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tabs.scss +22 -8
  88. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_thumbs.scss +2 -4
  89. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_toolbar.scss +70 -0
  90. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tooltips.scss +9 -7
  91. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_top-bar.scss +77 -44
  92. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_type.scss +21 -9
  93. data/lib/TokiServer/bower_components/modernizr/.bower.json +4 -4
  94. data/lib/TokiServer/bower_components/modernizr/feature-detects/workers-blobworkers.js +2 -2
  95. data/lib/TokiServer/bower_components/modernizr/grunt.js +1 -1
  96. data/lib/TokiServer/bower_components/modernizr/modernizr.js +2 -2
  97. data/lib/TokiServer/config.rb +0 -0
  98. data/lib/TokiServer/humans.txt +0 -0
  99. data/lib/TokiServer/{itunesicon.rb → itunesicons.rb} +25 -23
  100. data/lib/TokiServer/js/app.js +0 -0
  101. data/lib/TokiServer/public/stylesheets/app.css +2636 -1610
  102. data/lib/TokiServer/robots.txt +0 -0
  103. data/lib/TokiServer/scss/_settings.scss +0 -0
  104. data/lib/TokiServer/scss/app.scss +7 -1
  105. data/lib/TokiServer/tokiserver.rb +239 -244
  106. data/lib/TokiServer/views/activity.erb +42 -0
  107. data/lib/TokiServer/views/apps_total.erb +8 -2
  108. data/lib/TokiServer/views/error.erb +13 -4
  109. data/lib/TokiServer/views/index.erb +36 -27
  110. data/lib/TokiServer/views/logs_total.erb +34 -0
  111. data/spec/TokiCLI_spec.rb +354 -0
  112. data/spec/mock/mock.sqlite3 +0 -0
  113. data/spec/spec_helper.rb +26 -0
  114. metadata +78 -23
  115. data/lib/API/dbapi.rb +0 -488
  116. data/lib/TokiCLI/app.rb +0 -389
  117. data/lib/TokiCLI/authorize.rb +0 -77
  118. data/lib/TokiCLI/export.rb +0 -81
  119. data/lib/TokiCLI/get_channels.rb +0 -22
  120. data/lib/TokiCLI/get_messages.rb +0 -32
  121. data/lib/TokiCLI/import.rb +0 -122
  122. data/lib/TokiCLI/scan.rb +0 -19
  123. data/lib/TokiCLI/search_messages.rb +0 -23
  124. data/lib/TokiServer/README.md +0 -37
  125. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_reveal-new.scss +0 -0
  126. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_switch.scss +0 -294
  127. data/lib/TokiServer/views/name_log.erb +0 -50
  128. data/lib/TokiServer/views/name_split.erb +0 -37
  129. data/lib/TokiServer/views/name_total.erb +0 -34
@@ -10,15 +10,15 @@
10
10
  $include-html-joyride-classes: $include-html-classes !default;
11
11
 
12
12
  // Controlling default Joyride styles
13
- $joyride-tip-bg: #333 !default;
13
+ $joyride-tip-bg: $oil !default;
14
14
  $joyride-tip-default-width: 300px !default;
15
15
  $joyride-tip-padding: rem-calc(18 20 24) !default;
16
- $joyride-tip-border: solid 1px #555 !default;
16
+ $joyride-tip-border: solid 1px $charcoal !default;
17
17
  $joyride-tip-radius: 4px !default;
18
18
  $joyride-tip-position-offset: 22px !default;
19
19
 
20
20
  // Here, we're setting the tip font styles
21
- $joyride-tip-font-color: #fff !default;
21
+ $joyride-tip-font-color: $white !default;
22
22
  $joyride-tip-font-size: rem-calc(14) !default;
23
23
  $joyride-tip-header-weight: $font-weight-bold !default;
24
24
 
@@ -28,10 +28,10 @@ $joyride-tip-nub-size: 10px !default;
28
28
  // This adjusts the styles for the timer when its enabled
29
29
  $joyride-tip-timer-width: 50px !default;
30
30
  $joyride-tip-timer-height: 3px !default;
31
- $joyride-tip-timer-color: #666 !default;
31
+ $joyride-tip-timer-color: $steel !default;
32
32
 
33
33
  // This changes up the styles for the close button
34
- $joyride-tip-close-color: #777 !default;
34
+ $joyride-tip-close-color: $monsoon !default;
35
35
  $joyride-tip-close-size: 24px !default;
36
36
  $joyride-tip-close-weight: $font-weight-normal !default;
37
37
 
@@ -39,7 +39,7 @@ $joyride-tip-close-weight: $font-weight-normal !default;
39
39
  $joyride-screenfill: rgba(0,0,0,0.5) !default;
40
40
 
41
41
 
42
- // We decided not to make a mixin for this because it relies on
42
+ // We decided not to make a mixin for this because it relies on
43
43
  // predefined classes to work properly.
44
44
  @include exports("joyride") {
45
45
  @if $include-html-joyride-classes {
@@ -73,6 +73,8 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
73
73
  padding: $joyride-tip-padding;
74
74
 
75
75
  .button { margin-bottom: 0 !important; }
76
+
77
+ .joyride-prev-tip { margin-right: 10px; }
76
78
  }
77
79
 
78
80
  /* Add a little css triangle pip, older browser just miss out on the fanciness of it */
@@ -151,7 +153,7 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
151
153
  line-height: .5 !important;
152
154
 
153
155
  &:hover,
154
- &:focus { color: #eee !important; }
156
+ &:focus { color: $smoke !important; }
155
157
  }
156
158
 
157
159
  .joyride-modal-bg {
@@ -168,11 +170,11 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
168
170
  }
169
171
 
170
172
  .joyride-expose-wrapper {
171
- background-color: #ffffff;
173
+ background-color: $white;
172
174
  position: absolute;
173
175
  border-radius: 3px;
174
176
  z-index: 102;
175
- box-shadow: 0 0 15px #ffffff;
177
+ box-shadow: 0 0 15px $white;
176
178
  }
177
179
 
178
180
  .joyride-expose-cover {
@@ -12,15 +12,15 @@ $include-html-keystroke-classes: $include-html-classes !default;
12
12
  // We use these to control text styles.
13
13
  $keystroke-font: "Consolas", "Menlo", "Courier", monospace !default;
14
14
  $keystroke-font-size: inherit !default;
15
- $keystroke-font-color: #222 !default;
16
- $keystroke-font-color-alt: #fff !default;
15
+ $keystroke-font-color: $jet !default;
16
+ $keystroke-font-color-alt: $white !default;
17
17
  $keystroke-function-factor: -7% !default;
18
18
 
19
19
  // We use this to control keystroke padding.
20
20
  $keystroke-padding: rem-calc(2 4 0) !default;
21
21
 
22
22
  // We use these to control background and border styles.
23
- $keystroke-bg: scale-color(#fff, $lightness: $keystroke-function-factor) !default;
23
+ $keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor) !default;
24
24
  $keystroke-border-style: solid !default;
25
25
  $keystroke-border-width: 1px !default;
26
26
  $keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor) !default;
@@ -30,7 +30,7 @@ $keystroke-radius: $global-radius !default;
30
30
  // @mixins
31
31
  //
32
32
  // We use this mixin to create keystroke styles.
33
- // $bg - Default: $keystroke-bg || scale-color(#fff, $lightness: $keystroke-function-factor) !default;
33
+ // $bg - Default: $keystroke-bg || scale-color($white, $lightness: $keystroke-function-factor) !default;
34
34
  @mixin keystroke($bg:$keystroke-bg) {
35
35
  // This find the lightness percentage of the background color.
36
36
  $bg-lightness: lightness($bg);
@@ -16,8 +16,8 @@ $label-radius: $global-radius !default;
16
16
  // We use these to style the label text
17
17
  $label-font-sizing: rem-calc(11) !default;
18
18
  $label-font-weight: $font-weight-normal !default;
19
- $label-font-color: #333 !default;
20
- $label-font-color-alt: #fff !default;
19
+ $label-font-color: $oil !default;
20
+ $label-font-color-alt: $white !default;
21
21
  $label-font-family: $body-font-family !default;
22
22
 
23
23
  //
@@ -97,8 +97,10 @@ $label-font-family: $body-font-family !default;
97
97
  &.round { @include label-style(false, $radius:1000px); }
98
98
 
99
99
  &.alert { @include label-style($alert-color); }
100
+ &.warning { @include label-style($warning-color); }
100
101
  &.success { @include label-style($success-color); }
101
102
  &.secondary { @include label-style($secondary-color); }
103
+ &.info { @include label-style($info-color); }
102
104
  }
103
105
  }
104
106
  }
@@ -9,7 +9,7 @@
9
9
  //
10
10
  $include-html-magellan-classes: $include-html-classes !default;
11
11
 
12
- $magellan-bg: #fff !default;
12
+ $magellan-bg: $white !default;
13
13
  $magellan-padding: 10px !default;
14
14
 
15
15
  @include exports("magellan") {
@@ -8,10 +8,11 @@
8
8
  // Off Canvas Tab Bar Variables
9
9
  $include-html-off-canvas-classes: $include-html-classes !default;
10
10
 
11
- $tabbar-bg: #333 !default;
11
+ $tabbar-bg: $oil !default;
12
12
  $tabbar-height: rem-calc(45) !default;
13
+ $tabbar-icon-width: $tabbar-height !default;
13
14
  $tabbar-line-height: $tabbar-height !default;
14
- $tabbar-color: #fff !default;
15
+ $tabbar-color: $white !default;
15
16
  $tabbar-middle-padding: 0 rem-calc(10) !default;
16
17
 
17
18
  // Off Canvas Divider Styles
@@ -20,50 +21,57 @@ $tabbar-right-section-border: $tabbar-left-section-border;
20
21
 
21
22
 
22
23
  // Off Canvas Tab Bar Headers
23
- $tabbar-header-color: #fff !default;
24
+ $tabbar-header-color: $white !default;
24
25
  $tabbar-header-weight: $font-weight-bold !default;
25
26
  $tabbar-header-line-height: $tabbar-height !default;
26
27
  $tabbar-header-margin: 0 !default;
27
28
 
28
29
  // Off Canvas Menu Variables
29
30
  $off-canvas-width: rem-calc(250) !default;
30
- $off-canvas-bg: #333 !default;
31
+ $off-canvas-bg: $oil !default;
32
+ $off-canvas-bg-hover: scale-color($tabbar-bg, $lightness: -30%) !default;
31
33
 
32
34
  // Off Canvas Menu List Variables
33
35
  $off-canvas-label-padding: 0.3rem rem-calc(15) !default;
34
- $off-canvas-label-color: #999 !default;
36
+ $off-canvas-label-color: $aluminum !default;
35
37
  $off-canvas-label-text-transform: uppercase !default;
38
+ $off-canvas-label-font-size: rem-calc(12) !default;
36
39
  $off-canvas-label-font-weight: $font-weight-bold !default;
37
- $off-canvas-label-bg: #444 !default;
40
+ $off-canvas-label-bg: $tuatara !default;
38
41
  $off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default;
39
42
  $off-canvas-label-border-bottom: none !default;
40
43
  $off-canvas-label-margin:0 !default;
41
44
  $off-canvas-link-padding: rem-calc(10, 15) !default;
42
- $off-canvas-link-color: rgba(#FFF, 0.7) !default;
45
+ $off-canvas-link-color: rgba($white, 0.7) !default;
43
46
  $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%) !default;
47
+ $off-canvas-back-bg: #444 !default;
48
+ $off-canvas-back-border-top: $off-canvas-label-border-top !default;
49
+ $off-canvas-back-border-bottom: $off-canvas-label-border-bottom !default;
50
+ $off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%) !default;
51
+ $off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default;
52
+ $off-canvas-back-hover-border-bottom: none !default;
44
53
 
45
54
  // Off Canvas Menu Icon Variables
46
- $tabbar-menu-icon-color: #FFF !default;
55
+ $tabbar-menu-icon-color: $white !default;
47
56
  $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%) !default;
48
57
 
49
58
  $tabbar-menu-icon-text-indent: rem-calc(35) !default;
50
- $tabbar-menu-icon-width: $tabbar-height !default;
59
+ $tabbar-menu-icon-width: $tabbar-icon-width !default;
51
60
  $tabbar-menu-icon-height: $tabbar-height !default;
52
- $tabbar-menu-icon-line-height: rem-calc(33) !default;
53
61
  $tabbar-menu-icon-padding: 0 !default;
54
62
 
55
63
  $tabbar-hamburger-icon-width: rem-calc(16) !default;
56
64
  $tabbar-hamburger-icon-left: false !default;
57
65
  $tabbar-hamburger-icon-top: false !default;
58
- $tapbar-hamburger-icon-thickness: 1px !default;
59
- $tapbar-hamburger-icon-gap: 6px !default;
66
+ $tabbar-hamburger-icon-thickness: 1px !default;
67
+ $tabbar-hamburger-icon-gap: 6px !default;
60
68
 
61
69
  // Off Canvas Back-Link Overlay
62
70
  $off-canvas-overlay-transition: background 300ms ease !default;
63
71
  $off-canvas-overlay-cursor: pointer !default;
64
- $off-canvas-overlay-box-shadow: -4px 0 4px rgba(#000, 0.5), 4px 0 4px rgba(#000, 0.5) !default;
65
- $off-canvas-overlay-background: rgba(#FFF, 0.2) !default;
66
- $off-canvas-overlay-background-hover: rgba(#FFF, 0.05) !default;
72
+ $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5) !default;
73
+ $off-canvas-overlay-background: rgba($white, 0.2) !default;
74
+ $off-canvas-overlay-background-hover: rgba($white, 0.05) !default;
67
75
 
68
76
  // Transition Variables
69
77
  $menu-slide: "transform 500ms ease" !default;
@@ -99,18 +107,21 @@ $menu-slide: "transform 500ms ease" !default;
99
107
  top: 0;
100
108
  bottom: 0;
101
109
  position: absolute;
110
+ overflow-x: hidden;
102
111
  overflow-y: auto;
103
112
  background: $off-canvas-bg;
104
113
  z-index: 1001;
105
114
  box-sizing: content-box;
106
115
  transition: transform 500ms ease 0s;
107
116
  -webkit-overflow-scrolling: touch;
117
+ -ms-overflow-style: -ms-autohiding-scrollbar;
118
+
108
119
  @if $position == left {
109
- @include translate3d(-100%,0,0);
120
+ @include translate3d(-100.5%,0,0);
110
121
  left: 0;
111
122
  }
112
123
  @if $position == right {
113
- @include translate3d(100%,0,0);
124
+ @include translate3d(100.5%,0,0);
114
125
  right: 0;
115
126
  }
116
127
  }
@@ -147,9 +158,9 @@ $menu-slide: "transform 500ms ease" !default;
147
158
  background: $tabbar-bg;
148
159
  color: $tabbar-color;
149
160
  height: $tabbar-height;
150
- line-height: $tabbar-height;
161
+ line-height: $tabbar-line-height;
151
162
 
152
- // make sure it's below the .exit-offcanvas link
163
+ // make sure it's below the .exit-off-canvas link
153
164
  position: relative;
154
165
  // z-index: 999;
155
166
 
@@ -166,7 +177,7 @@ $menu-slide: "transform 500ms ease" !default;
166
177
  // SMALL SECTIONS
167
178
  // These are small sections on the left and right that contain the off-canvas toggle buttons;
168
179
  @mixin tabbar-small-section($position) {
169
- width: $tabbar-height;
180
+ width: $tabbar-icon-width;
170
181
  height: $tabbar-height;
171
182
  position: absolute;
172
183
  top: 0;
@@ -188,20 +199,22 @@ $menu-slide: "transform 500ms ease" !default;
188
199
  text-align: center;
189
200
  height: $tabbar-height;
190
201
  top: 0;
191
- @media #{$medium-up} { text-align: left; }
202
+ @media #{$medium-up} {
203
+ &.left, &.right { text-align: left; }
204
+ }
192
205
 
193
206
  // still need to make these non-presentational
194
207
  &.left {
195
208
  left: 0;
196
- right: $tabbar-height;
209
+ right: $tabbar-icon-width;
197
210
  }
198
211
  &.right {
199
- left: $tabbar-height;
212
+ left: $tabbar-icon-width;
200
213
  right: 0;
201
214
  }
202
215
  &.middle {
203
- left: $tabbar-height;
204
- right: $tabbar-height;
216
+ left: $tabbar-icon-width;
217
+ right: $tabbar-icon-width;
205
218
  }
206
219
  }
207
220
 
@@ -214,9 +227,11 @@ $menu-slide: "transform 500ms ease" !default;
214
227
 
215
228
  li {
216
229
  label {
230
+ display: block;
217
231
  padding: $off-canvas-label-padding;
218
232
  color: $off-canvas-label-color;
219
233
  text-transform: $off-canvas-label-text-transform;
234
+ font-size: $off-canvas-label-font-size;
220
235
  font-weight: $off-canvas-label-font-weight;
221
236
  background: $off-canvas-label-bg;
222
237
  border-top: $off-canvas-label-border-top;
@@ -228,8 +243,10 @@ $menu-slide: "transform 500ms ease" !default;
228
243
  padding: $off-canvas-link-padding;
229
244
  color: $off-canvas-link-color;
230
245
  border-bottom: $off-canvas-link-border-bottom;
231
- &:hover { background: scale-color($tabbar-bg, $lightness: -30%); }
232
246
  transition: background 300ms ease;
247
+ &:hover {
248
+ background: $off-canvas-bg-hover;
249
+ }
233
250
  }
234
251
  }
235
252
 
@@ -282,10 +299,9 @@ $menu-slide: "transform 500ms ease" !default;
282
299
  // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future.
283
300
  .tab-bar .menu-icon {
284
301
  text-indent: $tabbar-menu-icon-text-indent;
285
- width: $tabbar-height;
286
- height: $tabbar-height;
302
+ width: $tabbar-menu-icon-width;
303
+ height: $tabbar-menu-icon-height;
287
304
  display: block;
288
- line-height: $tabbar-menu-icon-line-height;
289
305
  padding: $tabbar-menu-icon-padding;
290
306
  color: $tabbar-menu-icon-color;
291
307
  position: relative;
@@ -297,12 +313,12 @@ $menu-slide: "transform 500ms ease" !default;
297
313
  // $width - Width of hamburger icon in rem Default: $tabbar-hamburger-icon-width.
298
314
  // $left - If false, icon will be centered horizontally || explicitly set value in rem Default: $tabbar-hamburger-icon-left= False
299
315
  // $top - If false, icon will be centered vertically || explicitly set value in rem Default: = False
300
- // $thickness - thickness of lines in hamburger icon, set value in px Default: $tapbar-hamburger-icon-thickness = 1px
301
- // $gap - spacing between the lines in hamburger icon, set value in px Default: $tapbar-hamburger-icon-gap = 6px
316
+ // $thickness - thickness of lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-thickness = 1px
317
+ // $gap - spacing between the lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-gap = 6px
302
318
  // $color - icon color Default: $tabbar-menu-icon-color
303
319
  // $hover-color - icon color when hovered Default: $tabbar-menu-icon-hover
304
320
  // $offcanvas - Set to true
305
- @include hamburger($tabbar-hamburger-icon-width, $tabbar-hamburger-icon-left, $tabbar-hamburger-icon-top, $tapbar-hamburger-icon-thickness, $tapbar-hamburger-icon-gap, $tabbar-menu-icon-color, $tabbar-menu-icon-hover, true)
321
+ @include hamburger($tabbar-hamburger-icon-width, $tabbar-hamburger-icon-left, $tabbar-hamburger-icon-top, $tabbar-hamburger-icon-thickness, $tabbar-hamburger-icon-gap, $tabbar-menu-icon-color, $tabbar-menu-icon-hover, true)
306
322
  }
307
323
 
308
324
  .left-off-canvas-menu { @include off-canvas-menu($position: left); }
@@ -336,10 +352,29 @@ $menu-slide: "transform 500ms ease" !default;
336
352
  transform: none;
337
353
  z-index: 1003;
338
354
  }
339
- .exit-offcanvas-menu {
340
- @include back-link;
341
- z-index: 1002;
355
+ .exit-off-canvas { @include back-link; }
356
+ }
357
+ .offcanvas-overlap-left {
358
+ .right-off-canvas-menu {
359
+ -ms-transform: none;
360
+ -webkit-transform: none;
361
+ -moz-transform: none;
362
+ -o-transform: none;
363
+ transform: none;
364
+ z-index: 1003;
365
+ }
366
+ .exit-off-canvas { @include back-link; }
367
+ }
368
+ .offcanvas-overlap-right {
369
+ .left-off-canvas-menu {
370
+ -ms-transform: none;
371
+ -webkit-transform: none;
372
+ -moz-transform: none;
373
+ -o-transform: none;
374
+ transform: none;
375
+ z-index: 1003;
342
376
  }
377
+ .exit-off-canvas { @include back-link; }
343
378
  }
344
379
 
345
380
  // Older browsers
@@ -353,3 +388,126 @@ $menu-slide: "transform 500ms ease" !default;
353
388
 
354
389
  }
355
390
  }
391
+
392
+ //
393
+ // Off-Canvas Submenu Classes
394
+ //
395
+ @mixin off-canvas-submenu($position) {
396
+ @include kill-flicker;
397
+ * { @include kill-flicker; }
398
+ width: $off-canvas-width;
399
+ top: 0;
400
+ bottom: 0;
401
+ position: absolute;
402
+ margin: 0;
403
+ overflow-x: hidden;
404
+ overflow-y: auto;
405
+ background: $off-canvas-bg;
406
+ z-index: 1002;
407
+ box-sizing: content-box;
408
+ -webkit-overflow-scrolling: touch;
409
+ @if $position == left {
410
+ @include translate3d(-100%,0,0);
411
+ left: 0;
412
+ }
413
+ @if $position == right {
414
+ @include translate3d(100%,0,0);
415
+ right: 0;
416
+ }
417
+ -webkit-transition: -webkit-#{$menu-slide};
418
+ -moz-transition: -moz-#{$menu-slide};
419
+ -ms-transition: -ms-#{$menu-slide};
420
+ -o-transition: -o-#{$menu-slide};
421
+ transition: #{$menu-slide};
422
+
423
+ //back button style like label
424
+ .back > a {
425
+ padding: $off-canvas-label-padding;
426
+ color: $off-canvas-label-color;
427
+ text-transform: $off-canvas-label-text-transform;
428
+ font-weight: $off-canvas-label-font-weight;
429
+ background: $off-canvas-back-bg;
430
+ border-top: $off-canvas-back-border-top;
431
+ border-bottom: $off-canvas-back-border-bottom;
432
+ &:hover {
433
+ background: $off-canvas-back-hover-bg;
434
+ border-top: $off-canvas-back-hover-border-top;
435
+ border-bottom: $off-canvas-back-hover-border-bottom;
436
+ }
437
+ margin: $off-canvas-label-margin;
438
+ @if $position == right {
439
+ @if $text-direction == rtl {
440
+ &:before {
441
+ @include icon-double-arrows($position: left);
442
+ }
443
+ } @else {
444
+ &:after {
445
+ @include icon-double-arrows($position: right);
446
+ }
447
+ }
448
+ }
449
+ @if $position == left {
450
+ @if $text-direction == rtl {
451
+ &:after {
452
+ @include icon-double-arrows($position: right);
453
+ }
454
+ } @else {
455
+ &:before {
456
+ @include icon-double-arrows($position: left);
457
+ }
458
+ }
459
+ }
460
+ }
461
+ }
462
+ //Left double angle quote or Right double angle quote chars
463
+ @mixin icon-double-arrows ($position){
464
+ @if $position == left {
465
+ content: "\AB";
466
+ @if $text-direction == rtl {
467
+ margin-left: 0.5rem;
468
+ } @else {
469
+ margin-right: 0.5rem;
470
+ }
471
+ }
472
+ @if $position == right {
473
+ content: "\BB";
474
+ @if $text-direction == rtl {
475
+ margin-right: 0.5rem;
476
+ } @else {
477
+ margin-left: 0.5rem;
478
+ }
479
+ }
480
+ display: inline;
481
+ }
482
+
483
+ @if $include-html-off-canvas-classes {
484
+ .left-submenu {
485
+ @include off-canvas-submenu($position: left);
486
+ &.move-right {
487
+ @include translate3d(0%,0,0);
488
+ }
489
+ }
490
+
491
+ .right-submenu {
492
+ @include off-canvas-submenu($position: right);
493
+ &.move-left {
494
+ @include translate3d(0%,0,0);
495
+ }
496
+ }
497
+
498
+ @if $text-direction == rtl {
499
+ .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
500
+ @include icon-double-arrows($position: left);
501
+ }
502
+ .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
503
+ @include icon-double-arrows($position: right);
504
+ }
505
+ } @else {
506
+ .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
507
+ @include icon-double-arrows($position: right);
508
+ }
509
+ .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
510
+ @include icon-double-arrows($position: left);
511
+ }
512
+ }
513
+ }