jekyll-theme-glueckkanja 0.8.3 → 0.8.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -3
  3. data/_sass/font-awesome/scss/_icons.scss +91 -0
  4. data/_sass/font-awesome/scss/_rotated-flipped.scss +3 -2
  5. data/_sass/font-awesome/scss/_variables.scss +93 -1
  6. data/_sass/font-awesome/scss/brands.scss +1 -4
  7. data/_sass/font-awesome/scss/fontawesome.scss +0 -4
  8. data/_sass/font-awesome/scss/regular.scss +1 -4
  9. data/_sass/font-awesome/scss/solid.scss +1 -4
  10. data/_sass/font-awesome/scss/v4-shims.scss +0 -4
  11. data/assets/favicons/de.svg +5 -0
  12. data/assets/favicons/gk-logo-white.png +0 -0
  13. data/assets/favicons/us.svg +10 -0
  14. data/assets/img/cbp-sprite.png +0 -0
  15. data/assets/js/components/_hs.dropdown.js +612 -0
  16. data/assets/js/components/gmap/hs.map.js +347 -0
  17. data/assets/js/components/hs.ajax-autocomplete.js +103 -0
  18. data/assets/js/components/hs.autocomplete-local-search.js +113 -0
  19. data/assets/js/components/hs.autocomplete.js +125 -0
  20. data/assets/js/components/hs.bg-video.js +70 -0
  21. data/assets/js/components/hs.carousel-materialize.js +75 -0
  22. data/assets/js/components/hs.carousel-owl.js +89 -0
  23. data/assets/js/components/hs.carousel-swiper.js +123 -0
  24. data/assets/js/components/hs.carousel.js +283 -0
  25. data/assets/js/components/hs.chart-pie.js +220 -0
  26. data/assets/js/components/hs.chart.js +155 -0
  27. data/assets/js/components/hs.count-qty.js +92 -0
  28. data/assets/js/components/hs.countdown.js +359 -0
  29. data/assets/js/components/hs.counter.js +220 -0
  30. data/assets/js/components/hs.cubeportfolio.js +163 -0
  31. data/assets/js/components/hs.datepicker.js +149 -0
  32. data/assets/js/components/hs.dropdown.js +522 -0
  33. data/assets/js/components/hs.file-attachement.js +135 -0
  34. data/assets/js/components/hs.flickr.js +180 -0
  35. data/assets/js/components/hs.go-to.js +121 -0
  36. data/assets/js/components/hs.header-fullscreen.js +397 -0
  37. data/assets/js/components/hs.header-side.js +1096 -0
  38. data/assets/js/components/hs.header.js +2128 -0
  39. data/assets/js/components/hs.instagram.js +94 -0
  40. data/assets/js/components/hs.map.pin.js +82 -0
  41. data/assets/js/components/hs.map.svg.js +80 -0
  42. data/assets/js/components/hs.markup-copy.js +102 -0
  43. data/assets/js/components/hs.masked-input.js +74 -0
  44. data/assets/js/components/hs.modal-event.js +134 -0
  45. data/assets/js/components/hs.modal-window.js +422 -0
  46. data/assets/js/components/hs.navigation.js +690 -0
  47. data/assets/js/components/hs.nl-form.js +70 -0
  48. data/assets/js/components/hs.onscroll-animation.js +190 -0
  49. data/assets/js/components/hs.popup.js +310 -0
  50. data/assets/js/components/hs.progress-bar.js +353 -0
  51. data/assets/js/components/hs.rating.js +153 -0
  52. data/assets/js/components/hs.scroll-nav.js +373 -0
  53. data/assets/js/components/hs.scrollbar.js +102 -0
  54. data/assets/js/components/hs.select.js +91 -0
  55. data/assets/js/components/hs.slider.js +99 -0
  56. data/assets/js/components/hs.smart-menu.js +233 -0
  57. data/assets/js/components/hs.step-form-old.js +94 -0
  58. data/assets/js/components/hs.step-form.js +93 -0
  59. data/assets/js/components/hs.sticky-block.js +418 -0
  60. data/assets/js/components/hs.tabs.js +186 -0
  61. data/assets/js/components/hs.twitter.js +111 -0
  62. data/assets/js/components/hs.validation.js +111 -0
  63. data/assets/js/components/hs.video-audio.js +70 -0
  64. data/assets/js/components/text-animation/hs.text-slideshow.js +348 -0
  65. data/assets/js/helpers/hs.bg-video.js +23 -0
  66. data/assets/js/helpers/hs.chart.js +66 -0
  67. data/assets/js/helpers/hs.compressed-form.js +55 -0
  68. data/assets/js/helpers/hs.file-attachments.js +39 -0
  69. data/assets/js/helpers/hs.focus-state.js +37 -0
  70. data/assets/js/helpers/hs.hamburgers.js +69 -0
  71. data/assets/js/helpers/hs.height-calc.js +31 -0
  72. data/assets/js/helpers/hs.hover-blocks.js +43 -0
  73. data/assets/js/helpers/hs.modal-markup.js +89 -0
  74. data/assets/js/helpers/hs.navigation-splitted.js +169 -0
  75. data/assets/js/helpers/hs.not-empty-state.js +34 -0
  76. data/assets/js/helpers/hs.rating.js +45 -0
  77. data/assets/js/helpers/hs.selecter.js +14 -0
  78. data/assets/js/helpers/hs.shortcode-filter.js +39 -0
  79. data/assets/js/hs.core.js +250 -0
  80. data/assets/js/hs.popup.js +155 -0
  81. data/assets/js/vendor/jquery.cubeportfolio.js +6054 -0
  82. data/assets/js/vendor/jquery.fancybox.js +4936 -0
  83. data/assets/nav/pixel-trans.png +0 -0
  84. data/assets/nav/pixel-trans@2x.png +0 -0
  85. metadata +75 -1
@@ -0,0 +1,1096 @@
1
+ /**
2
+ * HSHeaderSide Component.
3
+ *
4
+ * @author Htmlstream
5
+ * @version 1.0
6
+ * @requires HSScrollBar component (hs.scrollbar.js v1.0.0), jQuery(v2.0.0)
7
+ *
8
+ */
9
+ ;(function ($) {
10
+ 'use strict';
11
+
12
+ $.HSCore.components.HSHeaderSide = {
13
+
14
+ /**
15
+ * Base configuration.
16
+ *
17
+ * @private
18
+ */
19
+ _baseConfig: {
20
+ headerBreakpoint: null,
21
+ breakpointsMap: {
22
+ 'md': 768,
23
+ 'sm': 576,
24
+ 'lg': 992,
25
+ 'xl': 1200
26
+ },
27
+ afterOpen: function(){},
28
+ afterClose: function(){}
29
+ },
30
+
31
+ /**
32
+ * Contains collection of all initialized items on the page.
33
+ *
34
+ * @private
35
+ */
36
+ _pageCollection: $(),
37
+
38
+ /**
39
+ * Initializtion of the component.
40
+ *
41
+ * @param {jQuery} collection
42
+ * @param {Object} config
43
+ *
44
+ * @public
45
+ * @returns {jQuery}
46
+ */
47
+ init: function(collection, config) {
48
+
49
+ var _self = this;
50
+
51
+ if(!collection || !collection.length) return $();
52
+
53
+ this.$w = $(window);
54
+
55
+ config = config && $.isPlainObject(config) ? config : {};
56
+
57
+ this._bindGlobalEvents();
58
+
59
+ return collection.each(function(i, el){
60
+
61
+ var $this = $(el),
62
+ itemConfig = $.extend(true, {}, _self._baseConfig, config, $this.data());
63
+
64
+ if( $this.data('HSHeaderSide') ) return;
65
+
66
+ $this.data('HSHeaderSide', _self._factoryMethod( $this, itemConfig ) );
67
+
68
+ _self._pageCollection = _self._pageCollection.add($this);
69
+
70
+ });
71
+
72
+ },
73
+
74
+ /**
75
+ * Binds necessary global events.
76
+ *
77
+ * @private
78
+ */
79
+ _bindGlobalEvents: function() {
80
+
81
+ var _self = this;
82
+
83
+ this.$w.on('resize.HSHeaderSide', function(e){
84
+
85
+ if(_self.resizeTimeoutId) clearTimeout(_self.resizeTimeoutId);
86
+
87
+ _self.resizeTimeoutId = setTimeout(function(){
88
+
89
+ _self._pageCollection.each(function(i, el){
90
+
91
+ var HSHeaderSide = $(el).data('HSHeaderSide');
92
+
93
+ if(!HSHeaderSide.config.headerBreakpoint) return;
94
+
95
+ if(_self.$w.width() < HSHeaderSide.config.breakpointsMap[HSHeaderSide.config.headerBreakpoint] && HSHeaderSide.isInit()) {
96
+ HSHeaderSide.destroy();
97
+ }
98
+ else if(_self.$w.width() >= HSHeaderSide.config.breakpointsMap[HSHeaderSide.config.headerBreakpoint] && !HSHeaderSide.isInit()) {
99
+ HSHeaderSide.init();
100
+ }
101
+
102
+ });
103
+
104
+ }, 10);
105
+
106
+ });
107
+
108
+ $(document).on('keyup.HSHeaderSide', function(e){
109
+
110
+ if(e.keyCode && e.keyCode === 27) {
111
+
112
+ _self._pageCollection.each(function(i,el){
113
+
114
+ var HSHeaderSide = $(el).data('HSHeaderSide'),
115
+ hamburgers = HSHeaderSide.invoker;
116
+
117
+ if(!HSHeaderSide) return;
118
+ if(hamburgers.length && hamburgers.find('.is-active').length) hamburgers.find('.is-active').removeClass('is-active');
119
+ HSHeaderSide.hide();
120
+
121
+ });
122
+
123
+ }
124
+
125
+ });
126
+
127
+ },
128
+
129
+ /**
130
+ * Returns an object which would be describe the Header behavior.
131
+ *
132
+ * @private
133
+ * @returns {HSHeaderSide*}
134
+ */
135
+ _factoryMethod: function(element, config) {
136
+
137
+ // static
138
+ if( !config.headerBehavior ) {
139
+ return new (config['headerPosition'] == "left" ? HSHeaderSideStaticLeft : HSHeaderSideStaticRight)(element, config);
140
+ }
141
+
142
+ // overlay
143
+ if( config.headerBehavior && config.headerBehavior == 'overlay' ) {
144
+ return new (config['headerPosition'] == "left" ? HSHeaderSideOverlayLeft : HSHeaderSideOverlayRight)(element, config);
145
+ }
146
+
147
+ // push
148
+ if( config.headerBehavior && config.headerBehavior == 'push' ) {
149
+ return new (config['headerPosition'] == "left" ? HSHeaderSidePushLeft : HSHeaderSidePushRight)(element, config);
150
+ }
151
+
152
+ }
153
+
154
+ }
155
+
156
+ /**
157
+ * Provides an abstract interface for the side header.
158
+ *
159
+ * @param {jQuery} element
160
+ * @param {Object} config
161
+ *
162
+ */
163
+ function _HSHeaderSideAbstract(element, config) {
164
+
165
+ /**
166
+ * Contains link to the current element.
167
+ *
168
+ * @public
169
+ */
170
+ this.element = element;
171
+
172
+ /**
173
+ * Contains configuration object.
174
+ *
175
+ * @public
176
+ */
177
+ this.config = config;
178
+
179
+
180
+ /**
181
+ * Contains link to the window object.
182
+ *
183
+ * @public
184
+ */
185
+ this.$w = $(window);
186
+
187
+ /**
188
+ * Contains name of methods which should be implemented in derived class.
189
+ * Each of these methods except 'isInit' must return link to the current object.
190
+ *
191
+ * @private
192
+ */
193
+ this._abstractMethods = ['init', 'destroy', 'show', 'hide', 'isInit'];
194
+
195
+
196
+ /**
197
+ * Runs initialization of the object.
198
+ *
199
+ * @private
200
+ */
201
+ this._build = function() {
202
+
203
+ if( !this.config.headerBreakpoint ) return this.init();
204
+
205
+ if( this.config.breakpointsMap[ this.config.headerBreakpoint ] <= this.$w.width() ) {
206
+ return this.init();
207
+ }
208
+ else {
209
+ return this.destroy();
210
+ }
211
+ };
212
+
213
+
214
+ /**
215
+ * Checks whether derived class implements necessary abstract events.
216
+ *
217
+ * @private
218
+ */
219
+ this._isCorrectDerrivedClass = function() {
220
+
221
+ var _self = this;
222
+
223
+ this._abstractMethods.forEach(function(method){
224
+
225
+ if(!(method in _self) || !$.isFunction(_self[method])) {
226
+
227
+ throw new Error("HSHeaderSide: Derived class must implement " + method + " method.");
228
+
229
+ }
230
+
231
+ });
232
+
233
+ this._build();
234
+
235
+ };
236
+
237
+ setTimeout(this._isCorrectDerrivedClass.bind(this), 10);
238
+
239
+ };
240
+
241
+ /**
242
+ * HSHeaderSide constructor function.
243
+ *
244
+ * @extends _HSHeaderSideAbstract
245
+ *
246
+ * @param {jQuery} element
247
+ * @param {Object} config
248
+ *
249
+ * @constructor
250
+ */
251
+ function HSHeaderSideStaticLeft( element, config ) {
252
+
253
+ _HSHeaderSideAbstract.call(this, element, config);
254
+
255
+ Object.defineProperty(this, 'scrollContainer', {
256
+ get: function() {
257
+ return this.element.find('.u-header__sections-container');
258
+ }
259
+ });
260
+
261
+ this.body = $('body');
262
+
263
+ };
264
+
265
+
266
+ /**
267
+ * Initialization of the HSHeaderSideStaticLeft instance.
268
+ *
269
+ * @public
270
+ * @returns {HSHeaderSideStaticLeft}
271
+ */
272
+ HSHeaderSideStaticLeft.prototype.init = function() {
273
+
274
+ this.body.addClass('u-body--header-side-static-left');
275
+
276
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
277
+ $.HSCore.components.HSScrollBar.init( this.scrollContainer );
278
+ }
279
+
280
+ return this;
281
+
282
+ };
283
+
284
+ /**
285
+ * Destroys the HSHeaderSideStaticLeft instance.
286
+ *
287
+ * @public
288
+ * @returns {HSHeaderSideStaticLeft}
289
+ */
290
+ HSHeaderSideStaticLeft.prototype.destroy = function() {
291
+
292
+ this.body.removeClass('u-body--header-side-static-left');
293
+
294
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
295
+ $.HSCore.components.HSScrollBar.destroy( this.scrollContainer );
296
+ }
297
+
298
+ return this;
299
+
300
+ };
301
+
302
+ /**
303
+ * Checks whether instance has been initialized.
304
+ *
305
+ * @public
306
+ * @returns {Boolean}
307
+ */
308
+ HSHeaderSideStaticLeft.prototype.isInit = function() {
309
+
310
+ return this.body.hasClass('u-body--header-side-static-left');
311
+
312
+ };
313
+
314
+ /**
315
+ * Shows the Header.
316
+ *
317
+ * @public
318
+ * @returns {HSHeaderSideStaticLeft}
319
+ */
320
+ HSHeaderSideStaticLeft.prototype.show = function() {
321
+ return this;
322
+ };
323
+
324
+ /**
325
+ * Hides the Header.
326
+ *
327
+ * @public
328
+ * @returns {HSHeaderSideStaticLeft}
329
+ */
330
+ HSHeaderSideStaticLeft.prototype.hide = function() {
331
+ return this;
332
+ };
333
+
334
+ /**
335
+ * HSHeaderSide constructor function.
336
+ *
337
+ * @extends _HSHeaderSideAbstract
338
+ *
339
+ * @param {jQuery} element
340
+ * @param {Object} config
341
+ *
342
+ * @constructor
343
+ */
344
+ function HSHeaderSideStaticRight( element, config ) {
345
+
346
+ _HSHeaderSideAbstract.call(this, element, config);
347
+
348
+ Object.defineProperty(this, 'scrollContainer', {
349
+ get: function() {
350
+ return this.element.find('.u-header__sections-container');
351
+ }
352
+ });
353
+
354
+ this.body = $('body');
355
+
356
+ };
357
+
358
+
359
+ /**
360
+ * Initialization of the HSHeaderSideStaticRight instance.
361
+ *
362
+ * @public
363
+ * @returns {HSHeaderSideStaticRight}
364
+ */
365
+ HSHeaderSideStaticRight.prototype.init = function() {
366
+
367
+ this.body.addClass('u-body--header-side-static-right');
368
+
369
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
370
+ $.HSCore.components.HSScrollBar.init( this.scrollContainer );
371
+ }
372
+
373
+ return this;
374
+
375
+ };
376
+
377
+ /**
378
+ * Destroys the HSHeaderSideStaticRight instance.
379
+ *
380
+ * @public
381
+ * @returns {HSHeaderSideStaticRight}
382
+ */
383
+ HSHeaderSideStaticRight.prototype.destroy = function() {
384
+
385
+ this.body.removeClass('u-body--header-side-static-right');
386
+
387
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
388
+ $.HSCore.components.HSScrollBar.destroy( this.scrollContainer );
389
+ }
390
+
391
+ return this;
392
+
393
+ };
394
+
395
+ /**
396
+ * Checks whether instance has been initialized.
397
+ *
398
+ * @public
399
+ * @returns {Boolean}
400
+ */
401
+ HSHeaderSideStaticRight.prototype.isInit = function() {
402
+
403
+ return this.body.hasClass('u-body--header-side-static-right');
404
+
405
+ };
406
+
407
+ /**
408
+ * Shows the Header.
409
+ *
410
+ * @public
411
+ * @returns {HSHeaderSideStaticRight}
412
+ */
413
+ HSHeaderSideStaticRight.prototype.show = function() {
414
+ return this;
415
+ };
416
+
417
+ /**
418
+ * Hides the Header.
419
+ *
420
+ * @public
421
+ * @returns {HSHeaderSideStaticRight}
422
+ */
423
+ HSHeaderSideStaticRight.prototype.hide = function() {
424
+ return this;
425
+ };
426
+
427
+ /**
428
+ * HSHeaderSide constructor function.
429
+ *
430
+ * @extends _HSHeaderSideAbstract
431
+ *
432
+ * @param {jQuery} element
433
+ * @param {Object} config
434
+ *
435
+ * @constructor
436
+ */
437
+ function HSHeaderSideOverlayLeft( element, config ) {
438
+
439
+ _HSHeaderSideAbstract.call(this, element, config);
440
+
441
+ Object.defineProperty(this, 'scrollContainer', {
442
+ get: function() {
443
+ return this.element.find('.u-header__sections-container');
444
+ }
445
+ });
446
+
447
+ Object.defineProperty(this, 'isShown', {
448
+ get: function() {
449
+ return this.body.hasClass('u-body--header-side-opened');
450
+ }
451
+ });
452
+
453
+ Object.defineProperty(this, 'overlayClasses', {
454
+ get: function() {
455
+ return this.element.data('header-overlay-classes') ? this.element.data('header-overlay-classes') : '';
456
+ }
457
+ });
458
+
459
+ Object.defineProperty(this, 'headerClasses', {
460
+ get: function() {
461
+ return this.element.data('header-classes') ? this.element.data('header-classes') : '';
462
+ }
463
+ });
464
+
465
+ this.body = $('body');
466
+ this.invoker = $('[data-target="#'+this.element.attr('id')+'"]');
467
+
468
+ };
469
+
470
+
471
+ /**
472
+ * Initialization of the HSHeaderSideOverlayLeft instance.
473
+ *
474
+ * @public
475
+ * @returns {HSHeaderSideOverlayLeft}
476
+ */
477
+ HSHeaderSideOverlayLeft.prototype.init = function() {
478
+
479
+ var _self = this;
480
+
481
+ this.body.addClass('u-body--header-side-overlay-left');
482
+
483
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
484
+ $.HSCore.components.HSScrollBar.init( this.scrollContainer );
485
+ }
486
+
487
+ if(this.invoker.length) {
488
+ this.invoker.on('click.HSHeaderSide', function(e){
489
+
490
+ if(_self.isShown) {
491
+ _self.hide();
492
+ }
493
+ else {
494
+ _self.show();
495
+ }
496
+
497
+ e.preventDefault();
498
+ }).css('display', 'block');
499
+ }
500
+
501
+ if(!this.overlay) {
502
+
503
+ this.overlay = $('<div></div>', {
504
+ class: 'u-header__overlay ' + _self.overlayClasses
505
+ });
506
+
507
+ }
508
+
509
+ this.overlay.on('click.HSHeaderSide', function(e){
510
+ var hamburgers = _self.invoker.length ? _self.invoker.find('.is-active') : $();
511
+ if(hamburgers.length) hamburgers.removeClass('is-active');
512
+ _self.hide();
513
+ });
514
+
515
+ this.element.addClass(this.headerClasses).append(this.overlay);
516
+
517
+ return this;
518
+
519
+ };
520
+
521
+ /**
522
+ * Destroys the HSHeaderSideOverlayLeft instance.
523
+ *
524
+ * @public
525
+ * @returns {HSHeaderSideOverlayLeft}
526
+ */
527
+ HSHeaderSideOverlayLeft.prototype.destroy = function() {
528
+
529
+ this.body.removeClass('u-body--header-side-overlay-left');
530
+ this.hide();
531
+
532
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
533
+ $.HSCore.components.HSScrollBar.destroy( this.scrollContainer );
534
+ }
535
+
536
+ this.element.removeClass(this.headerClasses);
537
+ if(this.invoker.length) {
538
+ this.invoker.off('click.HSHeaderSide').css('display', 'none');
539
+ }
540
+ if(this.overlay) {
541
+ this.overlay.off('click.HSHeaderSide');
542
+ this.overlay.remove();
543
+ this.overlay = null;
544
+ }
545
+
546
+ return this;
547
+
548
+ };
549
+
550
+ /**
551
+ * Checks whether instance has been initialized.
552
+ *
553
+ * @public
554
+ * @returns {Boolean}
555
+ */
556
+ HSHeaderSideOverlayLeft.prototype.isInit = function() {
557
+
558
+ return this.body.hasClass('u-body--header-side-overlay-left');
559
+
560
+ };
561
+
562
+ /**
563
+ * Shows the Header.
564
+ *
565
+ * @public
566
+ * @returns {HSHeaderSideOverlayLeft}
567
+ */
568
+ HSHeaderSideOverlayLeft.prototype.show = function() {
569
+
570
+ this.body.addClass('u-body--header-side-opened');
571
+
572
+ return this;
573
+ };
574
+
575
+ /**
576
+ * Hides the Header.
577
+ *
578
+ * @public
579
+ * @returns {HSHeaderSideOverlayLeft}
580
+ */
581
+ HSHeaderSideOverlayLeft.prototype.hide = function() {
582
+
583
+ // var hamburgers = this.invoker.length ? this.invoker.find('.is-active') : $();
584
+ // if(hamburgers.length) hamburgers.removeClass('is-active');
585
+
586
+ this.body.removeClass('u-body--header-side-opened');
587
+
588
+ return this;
589
+ };
590
+
591
+ /**
592
+ * HSHeaderSide constructor function.
593
+ *
594
+ * @extends _HSHeaderSideAbstract
595
+ *
596
+ * @param {jQuery} element
597
+ * @param {Object} config
598
+ *
599
+ * @constructor
600
+ */
601
+ function HSHeaderSidePushLeft( element, config ) {
602
+
603
+ _HSHeaderSideAbstract.call(this, element, config);
604
+
605
+ Object.defineProperty(this, 'scrollContainer', {
606
+ get: function() {
607
+ return this.element.find('.u-header__sections-container');
608
+ }
609
+ });
610
+
611
+ Object.defineProperty(this, 'isShown', {
612
+ get: function() {
613
+ return this.body.hasClass('u-body--header-side-opened');
614
+ }
615
+ });
616
+
617
+ Object.defineProperty(this, 'overlayClasses', {
618
+ get: function() {
619
+ return this.element.data('header-overlay-classes') ? this.element.data('header-overlay-classes') : '';
620
+ }
621
+ });
622
+
623
+ Object.defineProperty(this, 'headerClasses', {
624
+ get: function() {
625
+ return this.element.data('header-classes') ? this.element.data('header-classes') : '';
626
+ }
627
+ });
628
+
629
+ Object.defineProperty(this, 'bodyClasses', {
630
+ get: function() {
631
+ return this.element.data('header-body-classes') ? this.element.data('header-body-classes') : '';
632
+ }
633
+ });
634
+
635
+ this.body = $('body');
636
+ this.invoker = $('[data-target="#'+this.element.attr('id')+'"]');
637
+
638
+ };
639
+
640
+
641
+ /**
642
+ * Initialization of the HSHeaderSidePushLeft instance.
643
+ *
644
+ * @public
645
+ * @returns {HSHeaderSidePushLeft}
646
+ */
647
+ HSHeaderSidePushLeft.prototype.init = function() {
648
+
649
+ var _self = this;
650
+
651
+ this.body.addClass('u-body--header-side-push-left');
652
+
653
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
654
+ $.HSCore.components.HSScrollBar.init( this.scrollContainer );
655
+ }
656
+
657
+ if(this.invoker.length) {
658
+ this.invoker.on('click.HSHeaderSide', function(e){
659
+
660
+ if(_self.isShown) {
661
+ _self.hide();
662
+ }
663
+ else {
664
+ _self.show();
665
+ }
666
+
667
+ e.preventDefault();
668
+ }).css('display', 'block');
669
+ }
670
+
671
+ if(!this.overlay) {
672
+
673
+ this.overlay = $('<div></div>', {
674
+ class: 'u-header__overlay ' + _self.overlayClasses
675
+ });
676
+
677
+ }
678
+
679
+ this.overlay.on('click.HSHeaderSide', function(e){
680
+ var hamburgers = _self.invoker.length ? _self.invoker.find('.is-active') : $();
681
+ if(hamburgers.length) hamburgers.removeClass('is-active');
682
+ _self.hide();
683
+ });
684
+
685
+ this.element.addClass(this.headerClasses).append(this.overlay);
686
+ this.body.addClass(this.bodyClasses);
687
+
688
+ return this;
689
+
690
+ };
691
+
692
+ /**
693
+ * Destroys the HSHeaderSidePushLeft instance.
694
+ *
695
+ * @public
696
+ * @returns {HSHeaderSidePushLeft}
697
+ */
698
+ HSHeaderSidePushLeft.prototype.destroy = function() {
699
+
700
+ this.body.removeClass('u-body--header-side-push-left');
701
+ this.hide();
702
+
703
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
704
+ $.HSCore.components.HSScrollBar.destroy( this.scrollContainer );
705
+ }
706
+
707
+ this.element.removeClass(this.headerClasses);
708
+ this.body.removeClass(this.bodyClasses);
709
+ if(this.invoker.length){
710
+ this.invoker.off('click.HSHeaderSide').css('display', 'none');
711
+ }
712
+ if(this.overlay) {
713
+ this.overlay.off('click.HSHeaderSide');
714
+ this.overlay.remove();
715
+ this.overlay = null;
716
+ }
717
+
718
+ return this;
719
+
720
+ };
721
+
722
+ /**
723
+ * Checks whether instance has been initialized.
724
+ *
725
+ * @public
726
+ * @returns {Boolean}
727
+ */
728
+ HSHeaderSidePushLeft.prototype.isInit = function() {
729
+
730
+ return this.body.hasClass('u-body--header-side-push-left');
731
+
732
+ };
733
+
734
+ /**
735
+ * Shows the Header.
736
+ *
737
+ * @public
738
+ * @returns {HSHeaderSidePushLeft}
739
+ */
740
+ HSHeaderSidePushLeft.prototype.show = function() {
741
+
742
+ this.body.addClass('u-body--header-side-opened');
743
+
744
+ return this;
745
+ };
746
+
747
+ /**
748
+ * Hides the Header.
749
+ *
750
+ * @public
751
+ * @returns {HSHeaderSidePushLeft}
752
+ */
753
+ HSHeaderSidePushLeft.prototype.hide = function() {
754
+
755
+ this.body.removeClass('u-body--header-side-opened');
756
+
757
+ return this;
758
+ };
759
+
760
+ /**
761
+ * HSHeaderSide constructor function.
762
+ *
763
+ * @extends _HSHeaderSideAbstract
764
+ *
765
+ * @param {jQuery} element
766
+ * @param {Object} config
767
+ *
768
+ * @constructor
769
+ */
770
+ function HSHeaderSideOverlayRight( element, config ) {
771
+
772
+ _HSHeaderSideAbstract.call(this, element, config);
773
+
774
+ Object.defineProperty(this, 'scrollContainer', {
775
+ get: function() {
776
+ return this.element.find('.u-header__sections-container');
777
+ }
778
+ });
779
+
780
+ Object.defineProperty(this, 'isShown', {
781
+ get: function() {
782
+ return this.body.hasClass('u-body--header-side-opened');
783
+ }
784
+ });
785
+
786
+ Object.defineProperty(this, 'overlayClasses', {
787
+ get: function() {
788
+ return this.element.data('header-overlay-classes') ? this.element.data('header-overlay-classes') : '';
789
+ }
790
+ });
791
+
792
+ Object.defineProperty(this, 'headerClasses', {
793
+ get: function() {
794
+ return this.element.data('header-classes') ? this.element.data('header-classes') : '';
795
+ }
796
+ });
797
+
798
+ this.body = $('body');
799
+ this.invoker = $('[data-target="#'+this.element.attr('id')+'"]');
800
+
801
+ };
802
+
803
+
804
+ /**
805
+ * Initialization of the HSHeaderSideOverlayRight instance.
806
+ *
807
+ * @public
808
+ * @returns {HSHeaderSideOverlayRight}
809
+ */
810
+ HSHeaderSideOverlayRight.prototype.init = function() {
811
+
812
+ var _self = this;
813
+
814
+ this.body.addClass('u-body--header-side-overlay-right');
815
+
816
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
817
+ $.HSCore.components.HSScrollBar.init( this.scrollContainer );
818
+ }
819
+
820
+ if(this.invoker.length) {
821
+ this.invoker.on('click.HSHeaderSide', function(e){
822
+
823
+ if(_self.isShown) {
824
+ _self.hide();
825
+ }
826
+ else {
827
+ _self.show();
828
+ }
829
+
830
+ e.preventDefault();
831
+ }).css('display', 'block');
832
+ }
833
+
834
+ if(!this.overlay) {
835
+
836
+ this.overlay = $('<div></div>', {
837
+ class: 'u-header__overlay ' + _self.overlayClasses
838
+ });
839
+
840
+ }
841
+
842
+ this.overlay.on('click.HSHeaderSide', function(e){
843
+ var hamburgers = _self.invoker.length ? _self.invoker.find('.is-active') : $();
844
+ if(hamburgers.length) hamburgers.removeClass('is-active');
845
+ _self.hide();
846
+ });
847
+
848
+ this.element.addClass(this.headerClasses).append(this.overlay);
849
+
850
+ return this;
851
+
852
+ };
853
+
854
+ /**
855
+ * Destroys the HSHeaderSideOverlayRight instance.
856
+ *
857
+ * @public
858
+ * @returns {HSHeaderSideOverlayRight}
859
+ */
860
+ HSHeaderSideOverlayRight.prototype.destroy = function() {
861
+
862
+ this.body.removeClass('u-body--header-side-overlay-right');
863
+ this.hide();
864
+
865
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
866
+ $.HSCore.components.HSScrollBar.destroy( this.scrollContainer );
867
+ }
868
+
869
+ this.element.removeClass(this.headerClasses);
870
+ if(this.invoker.length) {
871
+ this.invoker.off('click.HSHeaderSide').css('display', 'none');
872
+ }
873
+ if(this.overlay) {
874
+ this.overlay.off('click.HSHeaderSide');
875
+ this.overlay.remove();
876
+ this.overlay = null;
877
+ }
878
+
879
+ return this;
880
+
881
+ };
882
+
883
+ /**
884
+ * Checks whether instance has been initialized.
885
+ *
886
+ * @public
887
+ * @returns {Boolean}
888
+ */
889
+ HSHeaderSideOverlayRight.prototype.isInit = function() {
890
+
891
+ return this.body.hasClass('u-body--header-side-overlay-right');
892
+
893
+ };
894
+
895
+ /**
896
+ * Shows the Header.
897
+ *
898
+ * @public
899
+ * @returns {HSHeaderSideOverlayRight}
900
+ */
901
+ HSHeaderSideOverlayRight.prototype.show = function() {
902
+
903
+ this.body.addClass('u-body--header-side-opened');
904
+
905
+ return this;
906
+ };
907
+
908
+ /**
909
+ * Hides the Header.
910
+ *
911
+ * @public
912
+ * @returns {HSHeaderSideOverlayRight}
913
+ */
914
+ HSHeaderSideOverlayRight.prototype.hide = function() {
915
+
916
+ // var hamburgers = this.invoker.length ? this.invoker.find('.is-active') : $();
917
+ // if(hamburgers.length) hamburgers.removeClass('is-active');
918
+
919
+ this.body.removeClass('u-body--header-side-opened');
920
+
921
+ return this;
922
+ };
923
+
924
+ /**
925
+ * HSHeaderSide constructor function.
926
+ *
927
+ * @extends _HSHeaderSideAbstract
928
+ *
929
+ * @param {jQuery} element
930
+ * @param {Object} config
931
+ *
932
+ * @constructor
933
+ */
934
+ function HSHeaderSidePushRight( element, config ) {
935
+
936
+ _HSHeaderSideAbstract.call(this, element, config);
937
+
938
+ Object.defineProperty(this, 'scrollContainer', {
939
+ get: function() {
940
+ return this.element.find('.u-header__sections-container');
941
+ }
942
+ });
943
+
944
+ Object.defineProperty(this, 'isShown', {
945
+ get: function() {
946
+ return this.body.hasClass('u-body--header-side-opened');
947
+ }
948
+ });
949
+
950
+ Object.defineProperty(this, 'overlayClasses', {
951
+ get: function() {
952
+ return this.element.data('header-overlay-classes') ? this.element.data('header-overlay-classes') : '';
953
+ }
954
+ });
955
+
956
+ Object.defineProperty(this, 'headerClasses', {
957
+ get: function() {
958
+ return this.element.data('header-classes') ? this.element.data('header-classes') : '';
959
+ }
960
+ });
961
+
962
+ Object.defineProperty(this, 'bodyClasses', {
963
+ get: function() {
964
+ return this.element.data('header-body-classes') ? this.element.data('header-body-classes') : '';
965
+ }
966
+ });
967
+
968
+ this.body = $('body');
969
+ this.invoker = $('[data-target="#'+this.element.attr('id')+'"]');
970
+
971
+ };
972
+
973
+
974
+ /**
975
+ * Initialization of the HSHeaderSidePushRight instance.
976
+ *
977
+ * @public
978
+ * @returns {HSHeaderSidePushRight}
979
+ */
980
+ HSHeaderSidePushRight.prototype.init = function() {
981
+
982
+ var _self = this;
983
+
984
+ this.body.addClass('u-body--header-side-push-right');
985
+
986
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
987
+ $.HSCore.components.HSScrollBar.init( this.scrollContainer );
988
+ }
989
+
990
+ if(this.invoker.length) {
991
+ this.invoker.on('click.HSHeaderSide', function(e){
992
+
993
+ if(_self.isShown) {
994
+ _self.hide();
995
+ }
996
+ else {
997
+ _self.show();
998
+ }
999
+
1000
+ e.preventDefault();
1001
+ }).css('display', 'block');
1002
+ }
1003
+
1004
+ if(!this.overlay) {
1005
+
1006
+ this.overlay = $('<div></div>', {
1007
+ class: 'u-header__overlay ' + _self.overlayClasses
1008
+ });
1009
+
1010
+ }
1011
+
1012
+ this.overlay.on('click.HSHeaderSide', function(e){
1013
+ var hamburgers = _self.invoker.length ? _self.invoker.find('.is-active') : $();
1014
+ if(hamburgers.length) hamburgers.removeClass('is-active');
1015
+ _self.hide();
1016
+ });
1017
+
1018
+ this.element.addClass(this.headerClasses).append(this.overlay);
1019
+ this.body.addClass(this.bodyClasses);
1020
+
1021
+ return this;
1022
+
1023
+ };
1024
+
1025
+ /**
1026
+ * Destroys the HSHeaderSidePushRight instance.
1027
+ *
1028
+ * @public
1029
+ * @returns {HSHeaderSidePushRight}
1030
+ */
1031
+ HSHeaderSidePushRight.prototype.destroy = function() {
1032
+
1033
+ this.body.removeClass('u-body--header-side-push-right');
1034
+ this.hide();
1035
+
1036
+ if( $.HSCore.components.HSScrollBar && this.scrollContainer.length ) {
1037
+ $.HSCore.components.HSScrollBar.destroy( this.scrollContainer );
1038
+ }
1039
+
1040
+ this.element.removeClass(this.headerClasses);
1041
+ this.body.removeClass(this.bodyClasses);
1042
+ if(this.invoker.length){
1043
+ this.invoker.off('click.HSHeaderSide').css('display', 'none');
1044
+ }
1045
+ if(this.overlay) {
1046
+ this.overlay.off('click.HSHeaderSide');
1047
+ this.overlay.remove();
1048
+ this.overlay = null;
1049
+ }
1050
+
1051
+ return this;
1052
+
1053
+ };
1054
+
1055
+ /**
1056
+ * Checks whether instance has been initialized.
1057
+ *
1058
+ * @public
1059
+ * @returns {Boolean}
1060
+ */
1061
+ HSHeaderSidePushRight.prototype.isInit = function() {
1062
+
1063
+ return this.body.hasClass('u-body--header-side-push-right');
1064
+
1065
+ };
1066
+
1067
+ /**
1068
+ * Shows the Header.
1069
+ *
1070
+ * @public
1071
+ * @returns {HSHeaderSidePushRight}
1072
+ */
1073
+ HSHeaderSidePushRight.prototype.show = function() {
1074
+
1075
+ this.body.addClass('u-body--header-side-opened');
1076
+
1077
+ return this;
1078
+ };
1079
+
1080
+ /**
1081
+ * Hides the Header.
1082
+ *
1083
+ * @public
1084
+ * @returns {HSHeaderSidePushRight}
1085
+ */
1086
+ HSHeaderSidePushRight.prototype.hide = function() {
1087
+
1088
+ // var hamburgers = this.invoker.length ? this.invoker.find('.is-active') : $();
1089
+ // if(hamburgers.length) hamburgers.removeClass('is-active');
1090
+
1091
+ this.body.removeClass('u-body--header-side-opened');
1092
+
1093
+ return this;
1094
+ };
1095
+
1096
+ })(jQuery);