pageflow-outline-navigation-bar 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.jshintrc +13 -0
  4. data/.rubocop.yml +24 -0
  5. data/.rubocop_hound.yml +1065 -0
  6. data/.scss-lint.yml +145 -0
  7. data/CHANGELOG.md +7 -0
  8. data/Gemfile +4 -0
  9. data/README.md +42 -0
  10. data/Rakefile +10 -0
  11. data/app/assets/images/pageflow/outline_navigation_bar/indicator.png +0 -0
  12. data/app/assets/images/pageflow/outline_navigation_bar/volume_control_sprite.png +0 -0
  13. data/app/assets/javascript/pageflow/outline_navigation_bar.js +26 -0
  14. data/app/assets/javascript/pageflow/outline_navigation_bar/events.js +30 -0
  15. data/app/assets/javascript/pageflow/outline_navigation_bar/expander.js +34 -0
  16. data/app/assets/javascript/pageflow/outline_navigation_bar/fullscreen_button.js +24 -0
  17. data/app/assets/javascript/pageflow/outline_navigation_bar/hide_text_button.js +17 -0
  18. data/app/assets/javascript/pageflow/outline_navigation_bar/menu_item.js +41 -0
  19. data/app/assets/javascript/pageflow/outline_navigation_bar/navigator.js +35 -0
  20. data/app/assets/javascript/pageflow/outline_navigation_bar/panels.js +54 -0
  21. data/app/assets/javascript/pageflow/outline_navigation_bar/resizer.js +32 -0
  22. data/app/assets/javascript/pageflow/outline_navigation_bar/scroller.js +144 -0
  23. data/app/assets/javascript/pageflow/outline_navigation_bar/widget.js +227 -0
  24. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default.scss +87 -0
  25. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/credits_box.scss +28 -0
  26. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/cross_dependant_styles.css.scss +6 -0
  27. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/icons/icon_font.scss +177 -0
  28. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/icons/sprite.scss +140 -0
  29. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/menu_item.scss +107 -0
  30. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/menu_items.scss +33 -0
  31. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/mixins.scss +5 -0
  32. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/mobile_images.scss +54 -0
  33. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/mobile_panel.scss +61 -0
  34. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/mobile_sharing.scss +57 -0
  35. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/panel.scss +19 -0
  36. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/parent_page_button.scss +46 -0
  37. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/prevent_focus_rect_on_pointer_down.scss +4 -0
  38. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/scroller.scss +93 -0
  39. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/share_box.scss +20 -0
  40. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/toggle.scss +73 -0
  41. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/volume_box.scss +48 -0
  42. data/app/assets/stylesheets/pageflow/outline_navigation_bar/themes/default/widget_margin.scss +27 -0
  43. data/app/views/pageflow/outline_navigation_bar/_widget.html.erb +12 -0
  44. data/app/views/pageflow/outline_navigation_bar/widget/_buttons.html.erb +71 -0
  45. data/app/views/pageflow/outline_navigation_bar/widget/_chapter.html.erb +5 -0
  46. data/app/views/pageflow/outline_navigation_bar/widget/_home_button.html.erb +8 -0
  47. data/app/views/pageflow/outline_navigation_bar/widget/_link.html.erb +3 -0
  48. data/app/views/pageflow/outline_navigation_bar/widget/_mobile_panels.html.erb +28 -0
  49. data/app/views/pageflow/outline_navigation_bar/widget/_overview_button.html.erb +8 -0
  50. data/app/views/pageflow/outline_navigation_bar/widget/_scroller.html.erb +13 -0
  51. data/app/views/pageflow/outline_navigation_bar/widget/_toggles.html.erb +32 -0
  52. data/config/locales/de.yml +8 -0
  53. data/config/locales/en.yml +8 -0
  54. data/lib/pageflow-outline-navigation-bar.rb +17 -0
  55. data/lib/pageflow/outline_navigation_bar/engine.rb +9 -0
  56. data/lib/pageflow/outline_navigation_bar/expandable_widget_type.rb +17 -0
  57. data/lib/pageflow/outline_navigation_bar/fixed_widget_type.rb +17 -0
  58. data/lib/pageflow/outline_navigation_bar/plugin.rb +12 -0
  59. data/lib/pageflow/outline_navigation_bar/version.rb +5 -0
  60. data/lib/pageflow/outline_navigation_bar/widget_type.rb +14 -0
  61. data/pageflow-outline-navigation-bar.gemspec +26 -0
  62. metadata +160 -0
@@ -0,0 +1,28 @@
1
+ $navigation-credits-link-color: $main-color !default;
2
+
3
+ /// Color of links in credits text.
4
+ $outline-navigation-bar-credits-link-color: $navigation-credits-link-color !default;
5
+
6
+ .credits_box {
7
+ font-size: 1em;
8
+ min-width: 230px;
9
+ min-height: 4px;
10
+ bottom: 0;
11
+
12
+ p {
13
+ margin: 0 0 0.5em;
14
+ text-align: left;
15
+ font-size: 1em;
16
+ }
17
+
18
+ a.legal,
19
+ a.copy {
20
+ float: left;
21
+ margin-right: 10px;
22
+ }
23
+
24
+ a {
25
+ @extend %anchor;
26
+ color: $outline-navigation-bar-credits-link-color;
27
+ }
28
+ }
@@ -0,0 +1,6 @@
1
+ .js .widget_outline_navigation_bar_fixed_present,
2
+ .js .widget_outline_navigation_bar_expandable_present {
3
+ .navigation_mobile {
4
+ display: none;
5
+ }
6
+ }
@@ -0,0 +1,177 @@
1
+ @mixin outline-navigation-bar-icons-icon-font(
2
+ $button-background-color,
3
+ $active-button-background-color,
4
+
5
+ $button-icon-color,
6
+ $active-button-icon-color,
7
+ $deactivated-button-icon-color,
8
+
9
+ $share-icon-color,
10
+ $active-share-icon-color
11
+ ) {
12
+ .toggle.buttons,
13
+ .buttons_menu_item {
14
+ > a {
15
+ display: block;
16
+ position: relative;
17
+ padding: 10px 0;
18
+ text-decoration: none;
19
+
20
+ > .button {
21
+ display: block;
22
+ width: 28px;
23
+ height: 28px;
24
+ border-radius: 18px;
25
+ line-height: 28px;
26
+ margin: 0 auto 5px auto;
27
+ position: relative;
28
+ background-color: $button-background-color;
29
+ box-shadow: 1px 2px 1px 0 rgba(0, 0, 0, 0.2);
30
+ color: $button-icon-color;
31
+ font-size: 16px;
32
+ text-shadow: -1px -1px 1px rgba(255, 255, 255, 0.6);
33
+ text-align: center;
34
+ }
35
+
36
+ &:hover > .button,
37
+ &.active > .button {
38
+ background-color: $active-button-background-color;
39
+ color: $active-button-icon-color;
40
+ text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
41
+ }
42
+
43
+ &:active > .button {
44
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
45
+ @include transform(translate(1px, 1px));
46
+ }
47
+ }
48
+ }
49
+
50
+ .buttons_menu_item.top {
51
+ padding-top: 0;
52
+
53
+ .button {
54
+ font-weight: bold;
55
+ @include fa-arrow-circle-up-icon;
56
+ }
57
+ }
58
+
59
+ .buttons_menu_item.home {
60
+ padding-top: 0;
61
+
62
+ .button {
63
+ font-weight: bold;
64
+ @include fa-home-icon;
65
+ }
66
+ }
67
+
68
+ .buttons_menu_item.toggle_overview {
69
+ .button {
70
+ @include fa-th-icon;
71
+ }
72
+ }
73
+
74
+ .buttons_menu_item.fullscreen {
75
+ .button {
76
+ font-weight: bold;
77
+ @include fa-expand-icon;
78
+ }
79
+ }
80
+
81
+ .buttons_menu_item.hide_text {
82
+ .button {
83
+ font-weight: bold;
84
+ @include fa-photo-icon;
85
+ }
86
+ }
87
+
88
+ .buttons_menu_item.share {
89
+ > a > .button {
90
+ font-weight: bold;
91
+ @include fa-share-icon;
92
+ }
93
+ }
94
+
95
+ .buttons_menu_item.credits {
96
+ .button {
97
+ font-weight: bold;
98
+ @include fa-info-icon;
99
+ }
100
+ }
101
+
102
+ .share_box {
103
+ .share {
104
+ width: 45px;
105
+
106
+ &:hover,
107
+ &.active {
108
+ .button:before {
109
+ color: $active-share-icon-color;
110
+ }
111
+ }
112
+ }
113
+
114
+ .button {
115
+ display: block;
116
+ text-align: center;
117
+ }
118
+ }
119
+
120
+ .share_box {
121
+ .button.share_google,
122
+ .button.share_facebook,
123
+ .button.share_twitter {
124
+ font-size: 1.5em;
125
+
126
+ &:before {
127
+ color: $share-icon-color;
128
+ }
129
+ }
130
+
131
+ .button.share_google {
132
+ @include fa-google-plus-icon;
133
+ }
134
+
135
+ .button.share_facebook {
136
+ @include fa-facebook-icon;
137
+ }
138
+
139
+ .button.share_twitter {
140
+ @include fa-twitter-icon;
141
+ }
142
+ }
143
+
144
+ .volume-control:before,
145
+ .volume-slider:before {
146
+ color: $button-background-color;
147
+ position: absolute;
148
+
149
+ @include small-height {
150
+ display: none;
151
+ }
152
+ }
153
+
154
+ .volume-control {
155
+ @include fa-volume-down-icon;
156
+
157
+ &:before {
158
+ right: 25px;
159
+ top: 80%;
160
+ }
161
+ }
162
+
163
+ .volume-slider {
164
+ @include fa-volume-up-icon;
165
+
166
+ &:before {
167
+ right: -5px;
168
+ top: -30%;
169
+ }
170
+ }
171
+
172
+ .toggle.buttons {
173
+ .button {
174
+ @include fa-reorder-icon;
175
+ }
176
+ }
177
+ }
@@ -0,0 +1,140 @@
1
+ @mixin outline-navigation-bar-icons-sprite {
2
+ .menu_item {
3
+ > a {
4
+ display: block;
5
+ height: 100%;
6
+ text-decoration: none;
7
+ margin: 0 4px;
8
+ }
9
+
10
+ .button {
11
+ @extend %pageflow_sprite_icon;
12
+ display: block;
13
+ width: 40px;
14
+ height: 40px;
15
+ margin: 0 auto;
16
+ }
17
+ }
18
+
19
+ .home {
20
+ @include pageflow-sprite-icon-home($target: ".button");
21
+ }
22
+
23
+ .top {
24
+ @include pageflow-sprite-icon-top($target: ".button");
25
+
26
+ &.deactivated {
27
+ @include pageflow-sprite-icon-top("disabled", $target: ".button");
28
+ }
29
+ }
30
+
31
+ .toggle_overview {
32
+ @include pageflow-sprite-icon-overview($target: ".button");
33
+ }
34
+
35
+ .toggle_overview {
36
+ &.deactivated {
37
+ @include pageflow-sprite-icon-overview("disabled", $target: ".button");
38
+ }
39
+ }
40
+
41
+ .fullscreen {
42
+ @include pageflow-sprite-icon-fullscreen($target: ".button");
43
+
44
+ &.active {
45
+ @include pageflow-sprite-icon-fullscreen("active", $target: ".button");
46
+ }
47
+ }
48
+
49
+ .hide_text {
50
+ @include pageflow-sprite-icon-hide-text($target: ".button");
51
+
52
+ &.active {
53
+ @include pageflow-sprite-icon-hide-text("active", $target: ".button");
54
+ }
55
+ }
56
+
57
+ .share {
58
+ @include pageflow-sprite-icon-share($target: ".navigation_share.button");
59
+ }
60
+
61
+ .buttons_menu_item.credits {
62
+ @include pageflow-sprite-icon-credits($target: ".button");
63
+ }
64
+
65
+ .share.google {
66
+ @include pageflow-sprite-icon-google($target: ".button");
67
+
68
+ &.active {
69
+ @include pageflow-sprite-icon-google("active", $target: ".button");
70
+ }
71
+ }
72
+
73
+ .share.twitter {
74
+ @include pageflow-sprite-icon-twitter($target: ".button");
75
+
76
+ &.active {
77
+ @include pageflow-sprite-icon-twitter("active", $target: ".button");
78
+ }
79
+ }
80
+
81
+ .share.facebook {
82
+ @include pageflow-sprite-icon-facebook($target: ".button");
83
+
84
+ &.active {
85
+ @include pageflow-sprite-icon-facebook("active", $target: ".button");
86
+ }
87
+ }
88
+
89
+ .share_box {
90
+ a.share {
91
+ width: 39px;
92
+ }
93
+
94
+ .button {
95
+ margin-left: 5px;
96
+ }
97
+ }
98
+
99
+ .volume-control {
100
+ &:before,
101
+ &:after,
102
+ .volume-level:before {
103
+ content: " ";
104
+ @extend %pageflow_sprite_icon;
105
+ background-repeat: no-repeat;
106
+ position: absolute;
107
+ width: 28px;
108
+ height: 19px;
109
+ }
110
+
111
+ &:after,
112
+ &:before {
113
+ @include small-height {
114
+ display: none;
115
+ }
116
+ }
117
+
118
+ &:before {
119
+ @include pageflow-sprite-icon-volume-down;
120
+ top: 80%;
121
+ }
122
+
123
+ &:after {
124
+ @include pageflow-sprite-icon-volume-up;
125
+ top: 7%;
126
+ }
127
+ }
128
+
129
+ .toggle.buttons {
130
+ .button {
131
+ @extend %pageflow_sprite_icon;
132
+ }
133
+
134
+ @include pageflow-sprite-icon-menu($target: ".button");
135
+
136
+ .active {
137
+ @include pageflow-sprite-icon-menu("active", $target: ".button");
138
+ }
139
+ }
140
+ }
@@ -0,0 +1,107 @@
1
+ .menu_item {
2
+ position: relative;
3
+ list-style: none;
4
+ height: 10%;
5
+ min-height: 63px;
6
+ max-height: 70px;
7
+
8
+ p,
9
+ .label {
10
+ text-align: center;
11
+ color: $basic-text-color;
12
+ font-size: 11px;
13
+ display: block;
14
+ padding: 0;
15
+ }
16
+
17
+ a {
18
+ @include hover {
19
+ p,
20
+ .label {
21
+ color: $main-color;
22
+ }
23
+ }
24
+
25
+ &.active {
26
+ p,
27
+ .label {
28
+ color: $main-color;
29
+ }
30
+ }
31
+
32
+ &.deactivated {
33
+ pointer-events: none;
34
+ opacity: 0.4;
35
+
36
+ .label {
37
+ color: $basic-text-color;
38
+ }
39
+ }
40
+ }
41
+
42
+ @include small-height {
43
+ .label {
44
+ display: none;
45
+ }
46
+ }
47
+
48
+ .menu_box {
49
+ position: absolute;
50
+ right: 70px;
51
+ z-index: 4;
52
+ visibility: hidden;
53
+ background-color: $outline-navigation-bar-menu-box-background-color;
54
+ padding: 15px;
55
+
56
+ p {
57
+ color: $outline-navigation-bar-menu-box-color;
58
+ }
59
+
60
+ &:after {
61
+ content: "";
62
+ position: absolute;
63
+ top: 0;
64
+ right: -5px;
65
+ width: 5px;
66
+ height: 100%;
67
+ }
68
+
69
+ .menu_item {
70
+ display: inline-block;
71
+ }
72
+ }
73
+
74
+ @include hover {
75
+ .menu_box {
76
+ visibility: visible;
77
+ }
78
+ }
79
+
80
+ &:focus,
81
+ &.open,
82
+ &.focused {
83
+ .menu_box {
84
+ visibility: visible;
85
+ }
86
+ }
87
+ }
88
+
89
+ @mixin menu-item-shadow {
90
+ .button:after {
91
+ content: "";
92
+ display: block;
93
+ position: absolute;
94
+ top: 50%;
95
+ left: 50%;
96
+ width: 0;
97
+ height: 0;
98
+ box-shadow: 0 0 20px 12px rgba(0, 0, 0, 0.4);
99
+ z-index: -1;
100
+ }
101
+ }
102
+
103
+ @mixin menu-item-shadow-off {
104
+ .button:after {
105
+ display: none;
106
+ }
107
+ }