fastlane-plugin-polidea 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +52 -0
  4. data/lib/fastlane/plugin/polidea.rb +16 -0
  5. data/lib/fastlane/plugin/polidea/actions/extract_app_icon.rb +155 -0
  6. data/lib/fastlane/plugin/polidea/actions/extract_app_name.rb +91 -0
  7. data/lib/fastlane/plugin/polidea/actions/extract_version.rb +96 -0
  8. data/lib/fastlane/plugin/polidea/actions/get_binary_size.rb +53 -0
  9. data/lib/fastlane/plugin/polidea/actions/mailgun.rb +173 -0
  10. data/lib/fastlane/plugin/polidea/actions/polidea_store_action.rb +248 -0
  11. data/lib/fastlane/plugin/polidea/actions/qr_generator.rb +76 -0
  12. data/lib/fastlane/plugin/polidea/actions/s3.rb +551 -0
  13. data/lib/fastlane/plugin/polidea/helper/polidea_helper.rb +12 -0
  14. data/lib/fastlane/plugin/polidea/templates/images/icon-placeholder.png +0 -0
  15. data/lib/fastlane/plugin/polidea/templates/images/logo.png +0 -0
  16. data/lib/fastlane/plugin/polidea/templates/images/polidea-facebook-icon.png +0 -0
  17. data/lib/fastlane/plugin/polidea/templates/images/polidea-github-icon.png +0 -0
  18. data/lib/fastlane/plugin/polidea/templates/images/polidea-logo.png +0 -0
  19. data/lib/fastlane/plugin/polidea/templates/images/polidea-twitter-icon.png +0 -0
  20. data/lib/fastlane/plugin/polidea/templates/installation-page/css/installation-page.css +3142 -0
  21. data/lib/fastlane/plugin/polidea/templates/installation-page/css/installation-page.css.map +7 -0
  22. data/lib/fastlane/plugin/polidea/templates/installation-page/img/bg.png +0 -0
  23. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg.jpg +0 -0
  24. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1024.jpg +0 -0
  25. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1280.jpg +0 -0
  26. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1360.jpg +0 -0
  27. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1440.jpg +0 -0
  28. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1680.jpg +0 -0
  29. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_768.jpg +0 -0
  30. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_ipad_1024.jpg +0 -0
  31. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_ipad_768.jpg +0 -0
  32. data/lib/fastlane/plugin/polidea/templates/installation-page/img/logo.svg +32 -0
  33. data/lib/fastlane/plugin/polidea/templates/installation-page/img/logo_square.svg +12 -0
  34. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation.min.js +10 -0
  35. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.abide.js +294 -0
  36. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.accordion.js +65 -0
  37. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.alert.js +43 -0
  38. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.clearing.js +558 -0
  39. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.dropdown.js +313 -0
  40. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.equalizer.js +74 -0
  41. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.interchange.js +344 -0
  42. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.joyride.js +915 -0
  43. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.js +625 -0
  44. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.magellan.js +189 -0
  45. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.offcanvas.js +139 -0
  46. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.orbit.js +472 -0
  47. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.reveal.js +443 -0
  48. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.slider.js +231 -0
  49. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.tab.js +167 -0
  50. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.tooltip.js +298 -0
  51. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.topbar.js +436 -0
  52. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/aes.js +35 -0
  53. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/enc-base64-min.js +8 -0
  54. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/fastclick.js +9 -0
  55. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/jquery.cookie.js +8 -0
  56. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/jquery.js +26 -0
  57. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/modernizr.js +8 -0
  58. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/pbkdf2.js +19 -0
  59. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/placeholder.js +2 -0
  60. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/fonts.scss +64 -0
  61. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation.scss +45 -0
  62. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/_functions.scss +101 -0
  63. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/_settings.scss +1441 -0
  64. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_accordion.scss +156 -0
  65. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_alert-boxes.scss +126 -0
  66. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_block-grid.scss +132 -0
  67. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_breadcrumbs.scss +132 -0
  68. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_button-groups.scss +200 -0
  69. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_buttons.scss +252 -0
  70. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_clearing.scss +247 -0
  71. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_dropdown-buttons.scss +129 -0
  72. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_dropdown.scss +248 -0
  73. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_flex-video.scss +51 -0
  74. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_forms.scss +570 -0
  75. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_global.scss +447 -0
  76. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_grid.scss +275 -0
  77. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_icon-bar.scss +293 -0
  78. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_inline-lists.scss +57 -0
  79. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_joyride.scss +222 -0
  80. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_keystrokes.scss +61 -0
  81. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_labels.scss +105 -0
  82. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_magellan.scss +34 -0
  83. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_offcanvas.scss +510 -0
  84. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_orbit.scss +368 -0
  85. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_pagination.scss +162 -0
  86. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_panels.scss +93 -0
  87. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_pricing-tables.scss +150 -0
  88. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_progress-bars.scss +79 -0
  89. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_range-slider.scss +168 -0
  90. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_reveal.scss +220 -0
  91. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_side-nav.scss +116 -0
  92. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_split-buttons.scss +191 -0
  93. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_sub-nav.scss +125 -0
  94. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_switches.scss +226 -0
  95. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_tables.scss +135 -0
  96. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_tabs.scss +123 -0
  97. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_thumbs.scss +66 -0
  98. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_toolbar.scss +70 -0
  99. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_tooltips.scss +142 -0
  100. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_top-bar.scss +676 -0
  101. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_type.scss +523 -0
  102. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_visibility.scss +408 -0
  103. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/installation-page.scss +171 -0
  104. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/normalize.scss +425 -0
  105. data/lib/fastlane/plugin/polidea/templates/installation_template.erb +58 -0
  106. data/lib/fastlane/plugin/polidea/templates/mailgun_template.erb +1225 -0
  107. data/lib/fastlane/plugin/polidea/version.rb +5 -0
  108. metadata +323 -0
@@ -0,0 +1,61 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+
7
+ //
8
+ // @variables
9
+ //
10
+ $include-html-keystroke-classes: $include-html-classes !default;
11
+
12
+ // We use these to control text styles.
13
+ $keystroke-font: "Consolas", "Menlo", "Courier", monospace !default;
14
+ $keystroke-font-size: inherit !default;
15
+ $keystroke-font-color: $jet !default;
16
+ $keystroke-font-color-alt: $white !default;
17
+ $keystroke-function-factor: -7% !default;
18
+
19
+ // We use this to control keystroke padding.
20
+ $keystroke-padding: rem-calc(2 4 0) !default;
21
+
22
+ // We use these to control background and border styles.
23
+ $keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor) !default;
24
+ $keystroke-border-style: solid !default;
25
+ $keystroke-border-width: 1px !default;
26
+ $keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor) !default;
27
+ $keystroke-radius: $global-radius !default;
28
+
29
+ //
30
+ // @mixins
31
+ //
32
+ // We use this mixin to create keystroke styles.
33
+ // $bg - Default: $keystroke-bg || scale-color($white, $lightness: $keystroke-function-factor) !default;
34
+ @mixin keystroke($bg:$keystroke-bg) {
35
+ // This find the lightness percentage of the background color.
36
+ $bg-lightness: lightness($bg);
37
+
38
+ background-color: $bg;
39
+ border-color: scale-color($bg, $lightness: $keystroke-function-factor);
40
+
41
+ // We adjust the font color based on the brightness of the background.
42
+ @if $bg-lightness > 70% { color: $keystroke-font-color; }
43
+ @else { color: $keystroke-font-color-alt; }
44
+
45
+ border-style: $keystroke-border-style;
46
+ border-width: $keystroke-border-width;
47
+ margin: 0;
48
+ font-family: $keystroke-font;
49
+ font-size: $keystroke-font-size;
50
+ padding: $keystroke-padding;
51
+ }
52
+
53
+ @include exports("keystroke") {
54
+ @if $include-html-keystroke-classes {
55
+ .keystroke,
56
+ kbd {
57
+ @include keystroke;
58
+ @include radius($keystroke-radius);
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,105 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+
7
+ //
8
+ // @variables
9
+ //
10
+ $include-html-label-classes: $include-html-classes !default;
11
+
12
+ // We use these to style the labels
13
+ $label-padding: rem-calc(4 8 6) !default;
14
+ $label-radius: $global-radius !default;
15
+
16
+ // We use these to style the label text
17
+ $label-font-sizing: rem-calc(11) !default;
18
+ $label-font-weight: $font-weight-normal !default;
19
+ $label-font-color: $oil !default;
20
+ $label-font-color-alt: $white !default;
21
+ $label-font-family: $body-font-family !default;
22
+
23
+ //
24
+ // @mixins
25
+ //
26
+ // We use this mixin to create a default label base.
27
+ @mixin label-base {
28
+ font-weight: $label-font-weight;
29
+ font-family: $label-font-family;
30
+ text-align: center;
31
+ text-decoration: none;
32
+ line-height: 1;
33
+ white-space: nowrap;
34
+ display: inline-block;
35
+ position: relative;
36
+ margin-bottom: inherit;
37
+ }
38
+
39
+ // @mixins
40
+ //
41
+ // We use this mixin to add label size styles.
42
+ // $padding - Used to determine label padding. Default: $label-padding || rem-calc(3 10 4) !default
43
+ // $text-size - Used to determine label text-size. Default: $text-size found in settings
44
+ @mixin label-size($padding:$label-padding, $text-size:$label-font-sizing) {
45
+ @if $padding { padding: $padding; }
46
+ @if $text-size { font-size: $text-size; }
47
+ }
48
+
49
+ // @mixins
50
+ //
51
+ // We use this mixin to add label styles.
52
+ // $bg - Default: $primary-color (found in settings file)
53
+ // $radius - Default: false, Options: true, sets radius to $global-radius (found in settings file)
54
+ @mixin label-style($bg:$primary-color, $radius:false) {
55
+
56
+ // We control which background color comes through
57
+ @if $bg {
58
+
59
+ // This find the lightness percentage of the background color.
60
+ $bg-lightness: lightness($bg);
61
+
62
+ background-color: $bg;
63
+
64
+ // We control the text color for you based on the background color.
65
+ @if $bg-lightness < 70% { color: $label-font-color-alt; }
66
+ @else { color: $label-font-color; }
67
+ }
68
+
69
+ // We use this to control the radius on labels.
70
+ @if $radius == true { @include radius($label-radius); }
71
+ @else if $radius { @include radius($radius); }
72
+
73
+ }
74
+
75
+ // @mixins
76
+ //
77
+ // We use this to add close buttons to alerts
78
+ // $padding - Default: $label-padding,
79
+ // $text-size - Default: $label-font-sizing,
80
+ // $bg - Default: $primary-color(found in settings file)
81
+ // $radius - Default: false, Options: true which sets radius to $global-radius (found in settings file)
82
+ @mixin label($padding:$label-padding, $text-size:$label-font-sizing, $bg:$primary-color, $radius:false) {
83
+
84
+ @include label-base;
85
+ @include label-size($padding, $text-size);
86
+ @include label-style($bg, $radius);
87
+ }
88
+
89
+ @include exports("label") {
90
+ @if $include-html-label-classes {
91
+ .label {
92
+ @include label-base;
93
+ @include label-size;
94
+ @include label-style;
95
+
96
+ &.radius { @include label-style(false, true); }
97
+ &.round { @include label-style(false, $radius:1000px); }
98
+
99
+ &.alert { @include label-style($alert-color); }
100
+ &.warning { @include label-style($warning-color); }
101
+ &.success { @include label-style($success-color); }
102
+ &.secondary { @include label-style($secondary-color); }
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,34 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+
7
+ //
8
+ // @variables
9
+ //
10
+ $include-html-magellan-classes: $include-html-classes !default;
11
+
12
+ $magellan-bg: $white !default;
13
+ $magellan-padding: 10px !default;
14
+
15
+ @include exports("magellan") {
16
+ @if $include-html-magellan-classes {
17
+
18
+ #{data('magellan-expedition')}, #{data('magellan-expedition-clone')} {
19
+ background: $magellan-bg;
20
+ z-index: 50;
21
+ min-width: 100%;
22
+ padding: $magellan-padding;
23
+
24
+ .sub-nav {
25
+ margin-bottom: 0;
26
+ dd { margin-bottom: 0; }
27
+ a {
28
+ line-height: 1.8em;
29
+ }
30
+ }
31
+ }
32
+
33
+ }
34
+ }
@@ -0,0 +1,510 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+ @import "type";
7
+
8
+ // Off Canvas Tab Bar Variables
9
+ $include-html-off-canvas-classes: $include-html-classes !default;
10
+
11
+ $tabbar-bg: $oil !default;
12
+ $tabbar-height: rem-calc(45) !default;
13
+ $tabbar-icon-width: $tabbar-height !default;
14
+ $tabbar-line-height: $tabbar-height !default;
15
+ $tabbar-color: $white !default;
16
+ $tabbar-middle-padding: 0 rem-calc(10) !default;
17
+
18
+ // Off Canvas Divider Styles
19
+ $tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%) !default;
20
+ $tabbar-right-section-border: $tabbar-left-section-border;
21
+
22
+
23
+ // Off Canvas Tab Bar Headers
24
+ $tabbar-header-color: $white !default;
25
+ $tabbar-header-weight: $font-weight-bold !default;
26
+ $tabbar-header-line-height: $tabbar-height !default;
27
+ $tabbar-header-margin: 0 !default;
28
+
29
+ // Off Canvas Menu Variables
30
+ $off-canvas-width: rem-calc(250) !default;
31
+ $off-canvas-bg: $oil !default;
32
+
33
+ // Off Canvas Menu List Variables
34
+ $off-canvas-label-padding: 0.3rem rem-calc(15) !default;
35
+ $off-canvas-label-color: $aluminum !default;
36
+ $off-canvas-label-text-transform: uppercase !default;
37
+ $off-canvas-label-font-size: rem-calc(12) !default;
38
+ $off-canvas-label-font-weight: $font-weight-bold !default;
39
+ $off-canvas-label-bg: $tuatara !default;
40
+ $off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default;
41
+ $off-canvas-label-border-bottom: none !default;
42
+ $off-canvas-label-margin:0 !default;
43
+ $off-canvas-link-padding: rem-calc(10, 15) !default;
44
+ $off-canvas-link-color: rgba($white, 0.7) !default;
45
+ $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%) !default;
46
+ $off-canvas-back-bg: #444 !default;
47
+ $off-canvas-back-border-top: $off-canvas-label-border-top !default;
48
+ $off-canvas-back-border-bottom: $off-canvas-label-border-bottom !default;
49
+ $off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%) !default;
50
+ $off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default;
51
+ $off-canvas-back-hover-border-bottom: none !default;
52
+
53
+ // Off Canvas Menu Icon Variables
54
+ $tabbar-menu-icon-color: $white !default;
55
+ $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%) !default;
56
+
57
+ $tabbar-menu-icon-text-indent: rem-calc(35) !default;
58
+ $tabbar-menu-icon-width: $tabbar-icon-width !default;
59
+ $tabbar-menu-icon-height: $tabbar-height !default;
60
+ $tabbar-menu-icon-padding: 0 !default;
61
+
62
+ $tabbar-hamburger-icon-width: rem-calc(16) !default;
63
+ $tabbar-hamburger-icon-left: false !default;
64
+ $tabbar-hamburger-icon-top: false !default;
65
+ $tabbar-hamburger-icon-thickness: 1px !default;
66
+ $tabbar-hamburger-icon-gap: 6px !default;
67
+
68
+ // Off Canvas Back-Link Overlay
69
+ $off-canvas-overlay-transition: background 300ms ease !default;
70
+ $off-canvas-overlay-cursor: pointer !default;
71
+ $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5) !default;
72
+ $off-canvas-overlay-background: rgba($white, 0.2) !default;
73
+ $off-canvas-overlay-background-hover: rgba($white, 0.05) !default;
74
+
75
+ // Transition Variables
76
+ $menu-slide: "transform 500ms ease" !default;
77
+
78
+
79
+ // MIXINS
80
+ // Remove transition flicker on phones
81
+ @mixin kill-flicker {
82
+ // -webkit-transform: translateZ(0x);
83
+ -webkit-backface-visibility: hidden;
84
+ }
85
+
86
+ // Basic properties for the content wraps
87
+ @mixin wrap-base {
88
+ position: relative;
89
+ width: 100%;
90
+ }
91
+
92
+ @mixin translate3d($tx,$ty,$tz) {
93
+ -ms-transform: translate($tx,$ty);
94
+ -webkit-transform: translate3d($tx,$ty,$tz);
95
+ -moz-transform: translate3d($tx,$ty,$tz);
96
+ -ms-transform: translate3d($tx,$ty,$tz);
97
+ -o-transform: translate3d($tx,$ty,$tz);
98
+ transform: translate3d($tx,$ty,$tz)
99
+ }
100
+
101
+ // basic styles for off-canvas menu container
102
+ @mixin off-canvas-menu($position) {
103
+ @include kill-flicker;
104
+ * { @include kill-flicker; }
105
+ width: $off-canvas-width;
106
+ top: 0;
107
+ bottom: 0;
108
+ position: absolute;
109
+ overflow-x: hidden;
110
+ overflow-y: auto;
111
+ background: $off-canvas-bg;
112
+ z-index: 1001;
113
+ box-sizing: content-box;
114
+ transition: transform 500ms ease 0s;
115
+ -webkit-overflow-scrolling: touch;
116
+ -ms-overflow-style: -ms-autohiding-scrollbar;
117
+
118
+ @if $position == left {
119
+ @include translate3d(-100.5%,0,0);
120
+ left: 0;
121
+ }
122
+ @if $position == right {
123
+ @include translate3d(100.5%,0,0);
124
+ right: 0;
125
+ }
126
+ }
127
+
128
+ // OFF CANVAS WRAP
129
+ // Wrap visible content and prevent scroll bars
130
+ @mixin off-canvas-wrap {
131
+ @include kill-flicker;
132
+ @include wrap-base;
133
+ overflow: hidden;
134
+ &.move-right,
135
+ &.move-left { min-height: 100%; -webkit-overflow-scrolling: touch; }
136
+ }
137
+
138
+ // INNER WRAP
139
+ // Main content area that moves to reveal the off-canvas nav
140
+ @mixin inner-wrap {
141
+ @include kill-flicker;
142
+ @include wrap-base;
143
+ @include clearfix;
144
+ -webkit-transition: -webkit-#{$menu-slide};
145
+ -moz-transition: -moz-#{$menu-slide};
146
+ -ms-transition: -ms-#{$menu-slide};
147
+ -o-transition: -o-#{$menu-slide};
148
+ transition: #{$menu-slide};
149
+ }
150
+
151
+ // TAB BAR
152
+ // This is the tab bar base
153
+ @mixin tab-bar-base {
154
+ @include kill-flicker;
155
+
156
+ // base styles
157
+ background: $tabbar-bg;
158
+ color: $tabbar-color;
159
+ height: $tabbar-height;
160
+ line-height: $tabbar-line-height;
161
+
162
+ // make sure it's below the .exit-off-canvas link
163
+ position: relative;
164
+ // z-index: 999;
165
+
166
+ // Typography
167
+ h1,h2,h3,h4,h5,h6 {
168
+ color: $tabbar-header-color;
169
+ font-weight: $tabbar-header-weight;
170
+ line-height: $tabbar-header-line-height;
171
+ margin: $tabbar-header-margin;
172
+ }
173
+ h1,h2,h3,h4 { font-size: $h5-font-size; }
174
+ }
175
+
176
+ // SMALL SECTIONS
177
+ // These are small sections on the left and right that contain the off-canvas toggle buttons;
178
+ @mixin tabbar-small-section($position) {
179
+ width: $tabbar-icon-width;
180
+ height: $tabbar-height;
181
+ position: absolute;
182
+ top: 0;
183
+ @if $position == left {
184
+ border-right: $tabbar-left-section-border;
185
+ // box-shadow: 1px 0 0 scale-color($tabbar-bg, $lightness: 13%);
186
+ left: 0;
187
+ }
188
+ @if $position == right {
189
+ border-left: $tabbar-right-section-border;
190
+ // box-shadow: -1px 0 0 scale-color($tabbar-bg, $lightness: -50%);
191
+ right:0;
192
+ }
193
+ }
194
+
195
+ @mixin tab-bar-section {
196
+ padding: $tabbar-middle-padding;
197
+ position: absolute;
198
+ text-align: center;
199
+ height: $tabbar-height;
200
+ top: 0;
201
+ @media #{$medium-up} {
202
+ &.left, &.right { text-align: left; }
203
+ }
204
+
205
+ // still need to make these non-presentational
206
+ &.left {
207
+ left: 0;
208
+ right: $tabbar-icon-width;
209
+ }
210
+ &.right {
211
+ left: $tabbar-icon-width;
212
+ right: 0;
213
+ }
214
+ &.middle {
215
+ left: $tabbar-icon-width;
216
+ right: $tabbar-icon-width;
217
+ }
218
+ }
219
+
220
+ // OFF CANVAS LIST
221
+ // This is the list of links in the off-canvas menu
222
+ @mixin off-canvas-list {
223
+ list-style-type: none;
224
+ padding:0;
225
+ margin:0;
226
+
227
+ li {
228
+ label {
229
+ display: block;
230
+ padding: $off-canvas-label-padding;
231
+ color: $off-canvas-label-color;
232
+ text-transform: $off-canvas-label-text-transform;
233
+ font-size: $off-canvas-label-font-size;
234
+ font-weight: $off-canvas-label-font-weight;
235
+ background: $off-canvas-label-bg;
236
+ border-top: $off-canvas-label-border-top;
237
+ border-bottom: $off-canvas-label-border-bottom;
238
+ margin: $off-canvas-label-margin;
239
+ }
240
+ a {
241
+ display: block;
242
+ padding: $off-canvas-link-padding;
243
+ color: $off-canvas-link-color;
244
+ border-bottom: $off-canvas-link-border-bottom;
245
+ &:hover { background: scale-color($tabbar-bg, $lightness: -30%); }
246
+ transition: background 300ms ease;
247
+ }
248
+ }
249
+
250
+ }
251
+
252
+ // BACK LINK
253
+ // This is an overlay that, when clicked, will toggle off the off canvas menu
254
+ @mixin back-link {
255
+ @include kill-flicker;
256
+
257
+ transition: $off-canvas-overlay-transition;
258
+ cursor: $off-canvas-overlay-cursor;
259
+ box-shadow: $off-canvas-overlay-box-shadow;
260
+
261
+ // fill the screen
262
+ display: block;
263
+ position: absolute;
264
+ background: $off-canvas-overlay-background;
265
+ top: 0;
266
+ bottom: 0;
267
+ left:0;
268
+ right:0;
269
+ z-index: 1002;
270
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
271
+
272
+ @media #{$medium-up} {
273
+ &:hover {
274
+ background: $off-canvas-overlay-background-hover;
275
+ }
276
+ }
277
+ }
278
+
279
+ //
280
+ // DEFAULT CLASSES
281
+ //
282
+ @include exports("offcanvas") {
283
+ @if $include-html-off-canvas-classes {
284
+
285
+ .off-canvas-wrap { @include off-canvas-wrap; }
286
+ .inner-wrap { @include inner-wrap; }
287
+
288
+ .tab-bar { @include tab-bar-base; }
289
+
290
+ .left-small { @include tabbar-small-section($position: left); }
291
+ .right-small { @include tabbar-small-section($position: right); }
292
+
293
+ .tab-bar-section { @include tab-bar-section; }
294
+
295
+ // MENU BUTTON
296
+ // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future.
297
+ .tab-bar .menu-icon {
298
+ text-indent: $tabbar-menu-icon-text-indent;
299
+ width: $tabbar-menu-icon-width;
300
+ height: $tabbar-menu-icon-height;
301
+ display: block;
302
+ padding: $tabbar-menu-icon-padding;
303
+ color: $tabbar-menu-icon-color;
304
+ position: relative;
305
+ transform: translate3d(0,0,0);
306
+
307
+ // @include for the hamburger menu-icon
308
+ //
309
+ // Arguments as follows: ($width, $left, $top, $thickness, $gap, $color, $hover-color)
310
+ // $width - Width of hamburger icon in rem Default: $tabbar-hamburger-icon-width.
311
+ // $left - If false, icon will be centered horizontally || explicitly set value in rem Default: $tabbar-hamburger-icon-left= False
312
+ // $top - If false, icon will be centered vertically || explicitly set value in rem Default: = False
313
+ // $thickness - thickness of lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-thickness = 1px
314
+ // $gap - spacing between the lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-gap = 6px
315
+ // $color - icon color Default: $tabbar-menu-icon-color
316
+ // $hover-color - icon color when hovered Default: $tabbar-menu-icon-hover
317
+ // $offcanvas - Set to true
318
+ @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)
319
+ }
320
+
321
+ .left-off-canvas-menu { @include off-canvas-menu($position: left); }
322
+ .right-off-canvas-menu { @include off-canvas-menu($position: right); }
323
+
324
+ ul.off-canvas-list { @include off-canvas-list; }
325
+
326
+
327
+ // ANIMATION CLASSES
328
+ // These classes are added with JS and trigger the actual animation.
329
+ .move-right {
330
+ > .inner-wrap {
331
+ @include translate3d($off-canvas-width,0,0);
332
+ }
333
+ .exit-off-canvas { @include back-link;}
334
+ }
335
+
336
+ .move-left {
337
+ > .inner-wrap {
338
+ @include translate3d(-($off-canvas-width),0,0);
339
+
340
+ }
341
+ .exit-off-canvas { @include back-link; }
342
+ }
343
+ .offcanvas-overlap {
344
+ .left-off-canvas-menu, .right-off-canvas-menu {
345
+ -ms-transform: none;
346
+ -webkit-transform: none;
347
+ -moz-transform: none;
348
+ -o-transform: none;
349
+ transform: none;
350
+ z-index: 1003;
351
+ }
352
+ .exit-off-canvas { @include back-link; }
353
+ }
354
+ .offcanvas-overlap-left {
355
+ .right-off-canvas-menu {
356
+ -ms-transform: none;
357
+ -webkit-transform: none;
358
+ -moz-transform: none;
359
+ -o-transform: none;
360
+ transform: none;
361
+ z-index: 1003;
362
+ }
363
+ .exit-off-canvas { @include back-link; }
364
+ }
365
+ .offcanvas-overlap-right {
366
+ .left-off-canvas-menu {
367
+ -ms-transform: none;
368
+ -webkit-transform: none;
369
+ -moz-transform: none;
370
+ -o-transform: none;
371
+ transform: none;
372
+ z-index: 1003;
373
+ }
374
+ .exit-off-canvas { @include back-link; }
375
+ }
376
+
377
+ // Older browsers
378
+ .no-csstransforms {
379
+ .left-off-canvas-menu { left: -($off-canvas-width); }
380
+ .right-off-canvas-menu { right: -($off-canvas-width); }
381
+
382
+ .move-left > .inner-wrap { right: $off-canvas-width; }
383
+ .move-right > .inner-wrap { left: $off-canvas-width; }
384
+ }
385
+
386
+ }
387
+ }
388
+
389
+ //
390
+ // Off-Canvas Submenu Classes
391
+ //
392
+ @mixin off-canvas-submenu($position) {
393
+ @include kill-flicker;
394
+ * { @include kill-flicker; }
395
+ width: $off-canvas-width;
396
+ top: 0;
397
+ bottom: 0;
398
+ position: absolute;
399
+ margin: 0;
400
+ overflow-x: hidden;
401
+ overflow-y: auto;
402
+ background: $off-canvas-bg;
403
+ z-index: 1002;
404
+ box-sizing: content-box;
405
+ -webkit-overflow-scrolling: touch;
406
+ @if $position == left {
407
+ @include translate3d(-100%,0,0);
408
+ left: 0;
409
+ }
410
+ @if $position == right {
411
+ @include translate3d(100%,0,0);
412
+ right: 0;
413
+ }
414
+ -webkit-transition: -webkit-#{$menu-slide};
415
+ -moz-transition: -moz-#{$menu-slide};
416
+ -ms-transition: -ms-#{$menu-slide};
417
+ -o-transition: -o-#{$menu-slide};
418
+ transition: #{$menu-slide};
419
+
420
+ //back button style like label
421
+ .back > a {
422
+ padding: $off-canvas-label-padding;
423
+ color: $off-canvas-label-color;
424
+ text-transform: $off-canvas-label-text-transform;
425
+ font-weight: $off-canvas-label-font-weight;
426
+ background: $off-canvas-back-bg;
427
+ border-top: $off-canvas-back-border-top;
428
+ border-bottom: $off-canvas-back-border-bottom;
429
+ &:hover {
430
+ background: $off-canvas-back-hover-bg;
431
+ border-top: $off-canvas-back-hover-border-top;
432
+ border-bottom: $off-canvas-back-hover-border-bottom;
433
+ }
434
+ margin: $off-canvas-label-margin;
435
+ @if $position == right {
436
+ @if $text-direction == rtl {
437
+ &:before {
438
+ @include icon-double-arrows($position: left);
439
+ }
440
+ } @else {
441
+ &:after {
442
+ @include icon-double-arrows($position: right);
443
+ }
444
+ }
445
+ }
446
+ @if $position == left {
447
+ @if $text-direction == rtl {
448
+ &:after {
449
+ @include icon-double-arrows($position: right);
450
+ }
451
+ } @else {
452
+ &:before {
453
+ @include icon-double-arrows($position: left);
454
+ }
455
+ }
456
+ }
457
+ }
458
+ }
459
+ //Left double angle quote or Right double angle quote chars
460
+ @mixin icon-double-arrows ($position){
461
+ @if $position == left {
462
+ content: "\AB";
463
+ @if $text-direction == rtl {
464
+ margin-left: 0.5rem;
465
+ } @else {
466
+ margin-right: 0.5rem;
467
+ }
468
+ }
469
+ @if $position == right {
470
+ content: "\BB";
471
+ @if $text-direction == rtl {
472
+ margin-right: 0.5rem;
473
+ } @else {
474
+ margin-left: 0.5rem;
475
+ }
476
+ }
477
+ display: inline;
478
+ }
479
+
480
+ @if $include-html-off-canvas-classes {
481
+ .left-submenu {
482
+ @include off-canvas-submenu($position: left);
483
+ &.move-right {
484
+ @include translate3d(0%,0,0);
485
+ }
486
+ }
487
+
488
+ .right-submenu {
489
+ @include off-canvas-submenu($position: right);
490
+ &.move-left {
491
+ @include translate3d(0%,0,0);
492
+ }
493
+ }
494
+
495
+ @if $text-direction == rtl {
496
+ .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
497
+ @include icon-double-arrows($position: left);
498
+ }
499
+ .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
500
+ @include icon-double-arrows($position: right);
501
+ }
502
+ } @else {
503
+ .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
504
+ @include icon-double-arrows($position: right);
505
+ }
506
+ .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
507
+ @include icon-double-arrows($position: left);
508
+ }
509
+ }
510
+ }